openapi: 3.1.0
info:
  title: 'Admin Management: Customers V2'
  version: 1.0.0
paths:
  /stores/{store_hash}/v2/customers:
    get:
      operationId: getCustomers
      summary: List Customers
      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
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: first_name
          in: query
          required: false
          schema:
            type: string
        - name: last_name
          in: query
          required: false
          schema:
            type: string
        - name: company
          in: query
          required: false
          schema:
            type: string
        - name: email
          in: query
          required: false
          schema:
            type: string
        - name: phone
          in: query
          required: false
          schema:
            type: string
        - name: store_credit
          in: query
          required: false
          schema:
            type: string
        - name: customer_group_id
          in: query
          required: false
          schema:
            type: integer
        - name: min_id
          in: query
          required: false
          schema:
            type: integer
        - name: max_id
          in: query
          required: false
          schema:
            type: integer
        - name: min_date_created
          in: query
          required: false
          schema:
            type: string
        - name: max_date_created
          in: query
          required: false
          schema:
            type: string
        - name: min_date_modified
          in: query
          required: false
          schema:
            type: string
        - name: max_date_modified
          in: query
          required: false
          schema:
            type: string
        - name: tax_exempt_category
          in: query
          required: false
          schema:
            type: string
        - 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` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/customer_Full'
    post:
      operationId: createCustomer
      summary: Create Customer
      description: >-
        Creates a *Customer*.

        **Required Fields**

        *   `first_name`

        *   `last_name`

        *   `email`

        **Read Only Fields**

        *   `id`

        *   `date_created`

        *   `date_modified`

        *   `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": {
                "password": "12w69Y217PYR96J"
            }
        }

        ```

        ## Confirming Passwords 

        An additional optional `password_confirmation` field can also be sent, providing password confirmation as a
        service:

        ```json

        {
            "_authentication": {
               "password": "12w69Y217PYR96J",
               "password_confirmation": "12w69Y217PYR96J"
            }
        }

        ```

        ## 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
            }
        }

        ```
      tags:
        - customers
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - 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` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/customer_Full'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                _authentication:
                  $ref: '#/components/schemas/CustomersPostRequestBodyContentApplicationJsonSchemaAuthentication'
                  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)](/developer/api-reference/rest/admin/management/customers/v2/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
    delete:
      operationId: deleteCustomers
      summary: Delete Customers
      description: By default, it deletes all *Customers*. Up to 100 customers per batch can be deleted.
      tags:
        - customers
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - 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` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '204':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
  /stores/{store_hash}/v2/customers/{customer_id}:
    get:
      operationId: getCustomer
      summary: Get Customer
      description: Returns a single *Customer*.
      tags:
        - customers
      parameters:
        - name: customer_id
          in: path
          description: Unique numeric ID of the customer.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - 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` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/customer_Full'
    put:
      operationId: updateCustomer
      summary: Update Customer
      description: >-
        Updates a *Customer*.


        **Read Only Fields**

        *   id

        *   date_created

        *   date_modified

        *   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"
               "password_confirmation": "12w69Y217PYR96J"
            }
        }

        ```

        #### 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
            }
        }

        ```
      tags:
        - customers
      parameters:
        - name: customer_id
          in: path
          description: Unique numeric ID of the customer.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - 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` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/customer_Base'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/customer_Put'
    delete:
      operationId: deleteCustomer
      summary: Delete Customer
      description: Deletes a *Customer*.
      tags:
        - customers
      parameters:
        - name: customer_id
          in: path
          description: Unique numeric ID of the customer.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - 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` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '204':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
  /stores/{store_hash}/v2/customers/count:
    get:
      operationId: getCustomersCount
      summary: Get Count of Customers
      description: Returns a count of all *Customers*.
      tags:
        - customers
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - 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` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count_Full'
  /stores/{store_hash}/v2/customers/{customer_id}/addresses:
    get:
      operationId: getCustomerAddresses
      summary: List 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.
      tags:
        - customerAddresses
      parameters:
        - name: customer_id
          in: path
          description: Unique numeric ID of the customer.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: Number of pages.
          required: false
          schema:
            type: number
            format: double
        - name: limit
          in: query
          description: Count per page.
          required: false
          schema:
            type: number
            format: double
        - 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` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/customerAddress_Full'
    post:
      operationId: createCustomerAddress
      summary: Create 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.)


        **Required Fields**

        *   first_name

        *   last_name

        *   phone

        *   street_1

        *   city

        *   state

        *   zip

        *   country


        **Read Only Fields**

        *   id

        *   country_iso2
      tags:
        - customerAddresses
      parameters:
        - name: customer_id
          in: path
          description: Unique numeric ID of the customer.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - 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` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/customerAddress_Full'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/customerAddress_Base'
    delete:
      operationId: deleteCustomerAddresses
      summary: Delete Customer Address
      description: By default, it deletes all *Customer Addresses*.
      tags:
        - customerAddresses
      parameters:
        - name: customer_id
          in: path
          description: Unique numeric ID of the customer.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: Number of pages.
          required: false
          schema:
            type: number
            format: double
        - name: limit
          in: query
          description: Count per page.
          required: false
          schema:
            type: number
            format: double
        - 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` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '204':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
  /stores/{store_hash}/v2/customers/{customer_id}/addresses/{customer_address_id}:
    get:
      operationId: getCustomerAddress
      summary: Get Customer Address
      description: Returns a *Customer Address*.
      tags:
        - customerAddresses
      parameters:
        - name: customer_id
          in: path
          description: Unique numeric ID of the customer.
          required: true
          schema:
            type: integer
        - name: customer_address_id
          in: path
          description: ID of the customer address.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: Number of pages.
          required: false
          schema:
            type: number
            format: double
        - name: limit
          in: query
          description: Count per page.
          required: false
          schema:
            type: number
            format: double
        - 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` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/customerAddress_Full'
    put:
      operationId: updateCustomerAddress
      summary: Update Customer Address
      description: |-
        Updates a *Customer Address*. 

        **Read Only Fields**
        *   id
        *   country_iso2
      tags:
        - customerAddresses
      parameters:
        - name: customer_id
          in: path
          description: Unique numeric ID of the customer.
          required: true
          schema:
            type: integer
        - name: customer_address_id
          in: path
          description: ID of the customer address.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - 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` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/customerAddress_Full'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: integer
                  description: ID of this customer address. Read-Only.
                customer_id:
                  type: integer
                  description: ID of the associated customer.
                first_name:
                  type: string
                  description: The customer’s first name.
                last_name:
                  type: string
                  description: The customer’s last name.
                company:
                  type: string
                  description: The customer’s company name.
                street_1:
                  type: string
                  description: The customer’s street address, line 1.
                street_2:
                  type: string
                  description: The customer’s street address, line 2.
                city:
                  type: string
                  description: The customer’s city/town/suburb.
                state:
                  type: string
                  description: >-
                    The customer’s state/province. Do not abbreviate the state; spell out the entire word. For example,
                    California. (Cannot be null. As a workaround for addresses that include no state/province string,
                    pass a space as the “state” value.)
                zip:
                  type: string
                  description: The customer’s ZIP or postal code.
                country:
                  type: string
                  description: The customer’s country. Must be the full country name.
                country_iso2:
                  type: string
                  description: 2-letter ISO Alpha-2 code for the customer’s country. Read-Only.
                phone:
                  type: string
                  description: The customer’s phone number.
                address_type:
                  $ref: >-
                    #/components/schemas/CustomersCustomerIdAddressesCustomerAddressIdPutRequestBodyContentApplicationJsonSchemaAddressType
              required:
                - first_name
                - last_name
                - street_1
                - city
                - state
                - zip
                - country
                - phone
    delete:
      operationId: deletesCustomerAddress
      summary: Delete Customer Address
      description: Deletes a *Customer Address*.
      tags:
        - customerAddresses
      parameters:
        - name: customer_id
          in: path
          description: Unique numeric ID of the customer.
          required: true
          schema:
            type: integer
        - name: customer_address_id
          in: path
          description: ID of the customer address.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - 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` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '204':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
  /stores/{store_hash}/v2/customers/{customer_id}/addresses/count:
    get:
      operationId: getCustomerAddressesCount
      summary: Get Count of Customer Addresses
      description: Returns a count of addresses for a customer.
      tags:
        - customerAddresses
      parameters:
        - name: customer_id
          in: path
          description: Unique numeric ID of the customer.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: Number of pages.
          required: false
          schema:
            type: number
            format: double
        - name: limit
          in: query
          description: Count per page.
          required: false
          schema:
            type: number
            format: double
        - 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` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count_Full'
  /stores/{store_hash}/v2/customer_groups:
    get:
      operationId: getCustomerGroups
      summary: List Customer Groups
      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.
      tags:
        - customerGroups
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: Number of pages.
          required: false
          schema:
            type: number
            format: double
        - name: limit
          in: query
          description: Count per page.
          required: false
          schema:
            type: number
            format: double
        - name: name
          in: query
          description: Filter customer groups by exact name match.
          required: false
          schema:
            type: string
        - name: name:like
          in: query
          description: Filter customer groups by name, using a fuzzy matching method.
          required: false
          schema:
            type: string
        - name: is_default
          in: query
          description: Filter by customers who sign up are added to this group by default.
          required: false
          schema:
            type: boolean
        - name: date_created
          in: query
          description: Filter customer groups by date_created. `date_created=2018-09-05T13:43:54`
          required: false
          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`
          required: false
          schema:
            type: string
        - name: date_created:min
          in: query
          description: Filter customer groups by date_created. `date_created:min=2018-09-05`
          required: false
          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`
          required: false
          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`
          required: false
          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`
          required: false
          schema:
            type: string
            format: date-time
        - name: is_group_for_guests
          in: query
          description: Filter whether the group is for guests. There can only be one customer group for guests at a time.
          required: false
          schema:
            type: boolean
        - 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` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/customerGroup_Full'
    post:
      operationId: createCustomerGroup
      summary: Create Customer Group
      description: |-
        Creates a *Customer Group*. 

        **Required Fields**
        * name

        **Note:**
        The default rate limit for this endpoint is 40 concurrent requests.
      tags:
        - customerGroups
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - 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` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/customerGroup_Full'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/customerGroup_Post_Put'
  /stores/{store_hash}/v2/customer_groups/{customer_group_id}:
    get:
      operationId: getCustomerGroup
      summary: Get Customer Group
      description: Returns a *Customer Group*.
      tags:
        - customerGroups
      parameters:
        - name: customer_group_id
          in: path
          description: The ID of the customer group.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: Number of pages.
          required: false
          schema:
            type: number
            format: double
        - name: limit
          in: query
          description: Count per page.
          required: false
          schema:
            type: number
            format: double
        - name: name
          in: query
          description: Name of the customer groups.
          required: false
          schema:
            type: string
        - name: date_created
          in: query
          description: Filter items by date_created. `date_created=2018-09-05T13:43:54`
          required: false
          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`
          required: false
          schema:
            type: string
        - name: date_created:min
          in: query
          description: Filter items by date_created. `date_created:min=2018-09-05`
          required: false
          schema:
            type: string
            format: date-time
        - name: date_modified
          in: query
          description: Filter items by date_modified. `date_modified=2018-09-05T13:45:03`
          required: false
          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`
          required: false
          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`
          required: false
          schema:
            type: string
            format: date-time
        - name: is_default
          in: query
          description: Whether customers who sign up are added to this group by default.
          required: false
          schema:
            type: boolean
        - 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` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          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:
      operationId: updateCustomerGroup
      summary: Update Customer Group
      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:
        - customerGroups
      parameters:
        - name: customer_group_id
          in: path
          description: The ID of the customer group.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - 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` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/customerGroup_Full'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/customerGroup_Post_Put'
    delete:
      operationId: deleteCustomerGroup
      summary: Delete Customer Group
      description: |-
        Deletes a *Customer Group*. 

        **Notes**
        - All existing customers are unassigned from the group when it is deleted.
        - The default rate limit for this endpoint is 40 concurrent requests.
      tags:
        - customerGroups
      parameters:
        - name: customer_group_id
          in: path
          description: The ID of the customer group.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - 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` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '204':
          description: No content. Request was successful but produced no response.
          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:
                $ref: '#/components/schemas/ErrorRequest'
  /stores/{store_hash}/v2/customer_groups/count:
    get:
      operationId: getCustomerGroupsCount
      summary: Get Count of Customer Groups
      description: Returns a count of all *Customer Groups*.
      tags:
        - customerGroups
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - 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` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count_Full'
  /stores/{store_hash}/v2/customers/{customer_id}/validate:
    post:
      operationId: validateCustomerPassword
      summary: Validate Password
      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:


        ```js showLineNumbers copy

        {
            "success": "true"
        }

        ```

        If the password does NOT match, the response will instead be:


        ```js showLineNumbers copy

        {
            "success": "false"
        }

        ```
      tags:
        - customerPasswords
      parameters:
        - name: customer_id
          in: path
          description: Unique numeric ID of the customer.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - 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` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example
            Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


            For more about BigCommerce OAuth scopes, see our [Guide to API
            Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/validatePassword'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                password:
                  type: string
                  description: String to run against customer password. Will return a true or false.
servers:
  - url: https://api.bigcommerce.com
    description: https://api.bigcommerce.com
components:
  schemas:
    CustomerBaseAuthentication:
      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.
      title: CustomerBaseAuthentication
    CustomerBaseAddresses:
      type: object
      properties:
        url:
          type: string
          description: Full URL of where the resource is located.
        resource:
          type: string
          description: Resource being accessed.
      title: CustomerBaseAddresses
    CustomerBaseFormFieldsItems:
      type: object
      properties:
        name:
          type: string
          description: Name of the form field.
        value:
          type:
            - string
            - 'null'
          description: Value of the form field.
      title: CustomerBaseFormFieldsItems
    customer_Full:
      type: object
      properties:
        _authentication:
          $ref: '#/components/schemas/CustomerBaseAuthentication'
          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.
        first_name:
          type: string
          description: First name of the customer.
        last_name:
          type: string
          description: Last name of the customer.
        email:
          type: string
          description: Email address of the customer.
        phone:
          type: string
          description: Phone number of the customer.
        store_credit:
          type: string
          description: The amount of credit the customer has. (Float, Float as String, Integer)
        registration_ip_address:
          type: string
          description: The customer’s IP address when they signed up.
        customer_group_id:
          type: integer
          description: The group to which the customer belongs.
        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: Describes whether the customer accepts product review emails or abandon cart emails. Read-Only.
        addresses:
          $ref: '#/components/schemas/CustomerBaseAddresses'
        form_fields:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/CustomerBaseFormFieldsItems'
          description: Array of custom fields. This is a Read-Only field; do not set or modify its value in a POST or PUT request.
        reset_pass_on_login:
          type: boolean
          description: Force a password change on next login.
        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.
        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.
      required:
        - first_name
        - last_name
        - email
      title: customer_Full
    CustomersPostRequestBodyContentApplicationJsonSchemaAuthentication:
      type: object
      properties: {}
      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)](/developer/api-reference/rest/admin/management/customers/v2/update-customer).
      title: CustomersPostRequestBodyContentApplicationJsonSchemaAuthentication
    CustomerPutAuthentication:
      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.
      title: CustomerPutAuthentication
    CustomerPutAddresses:
      type: object
      properties:
        url:
          type: string
          description: Full URL of where the resource is located.
        resource:
          type: string
          description: Resource being accessed.
      title: CustomerPutAddresses
    CustomerPutFormFieldsItems:
      type: object
      properties:
        name:
          type: string
          description: Name of the form field.
        value:
          type: string
          description: Value of the form field.
      title: CustomerPutFormFieldsItems
    customer_Put:
      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.
        _authentication:
          $ref: '#/components/schemas/CustomerPutAuthentication'
          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.
        first_name:
          type: string
          description: First name of the customer.
        last_name:
          type: string
          description: Last name of the customer.
        email:
          type: string
          description: Email address of the customer.
        phone:
          type: string
          description: Phone number of the customer.
        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)
        registration_ip_address:
          type: string
          description: The customer’s IP address when they signed up.
        customer_group_id:
          type: integer
          description: The group to which the customer belongs.
        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: Describes whether the customer accepts product review emails and abandon cart emails. Read-Only.
        addresses:
          $ref: '#/components/schemas/CustomerPutAddresses'
        form_fields:
          type: array
          items:
            $ref: '#/components/schemas/CustomerPutFormFieldsItems'
          description: Array of custom fields. This is a Read-Only field; do not set or modify its value in a POST or PUT request.
        reset_pass_on_login:
          type: boolean
          description: Force a password change on next login.
      title: customer_Put
    customer_Base:
      type: object
      properties:
        _authentication:
          $ref: '#/components/schemas/CustomerBaseAuthentication'
          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.
        first_name:
          type: string
          description: First name of the customer.
        last_name:
          type: string
          description: Last name of the customer.
        email:
          type: string
          description: Email address of the customer.
        phone:
          type: string
          description: Phone number of the customer.
        store_credit:
          type: string
          description: The amount of credit the customer has. (Float, Float as String, Integer)
        registration_ip_address:
          type: string
          description: The customer’s IP address when they signed up.
        customer_group_id:
          type: integer
          description: The group to which the customer belongs.
        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: Describes whether the customer accepts product review emails or abandon cart emails. Read-Only.
        addresses:
          $ref: '#/components/schemas/CustomerBaseAddresses'
        form_fields:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/CustomerBaseFormFieldsItems'
          description: Array of custom fields. This is a Read-Only field; do not set or modify its value in a POST or PUT request.
        reset_pass_on_login:
          type: boolean
          description: Force a password change on next login.
      required:
        - first_name
        - last_name
        - email
      title: customer_Base
    count_Full:
      type: object
      properties:
        count:
          type: number
          format: double
      title: count_Full
    CustomerAddressBaseAddressType:
      type: string
      enum:
        - residential
        - commercial
      title: CustomerAddressBaseAddressType
    customerAddress_Full:
      type: object
      properties:
        customer_id:
          type: integer
          description: ID of the associated customer.
        first_name:
          type: string
          description: The customer’s first name.
        last_name:
          type: string
          description: The customer’s last name.
        company:
          type: string
          description: The customer’s company name.
        street_1:
          type: string
          description: The customer’s street address, line 1.
        street_2:
          type: string
          description: The customer’s street address, line 2.
        city:
          type: string
          description: The customer’s city/town/suburb.
        state:
          type: string
          description: >-
            The customer’s state/province. Do not abbreviate the state; spell out the entire word. For example,
            California. (Cannot be null. As a workaround for addresses that include no state/province string, pass a
            space as the “state” value.)
        zip:
          type: string
          description: The customer’s ZIP or postal code.
        country:
          type: string
          description: The customer’s country. Must be the full country name.
        phone:
          type: string
          description: The customer’s phone number.
        address_type:
          $ref: '#/components/schemas/CustomerAddressBaseAddressType'
        id:
          type: integer
          description: ID of this customer address. Read-Only.
        country_iso2:
          type: string
          description: 2-letter ISO Alpha-2 code for the customer’s country. Read-Only.
      required:
        - first_name
        - last_name
        - street_1
        - city
        - state
        - zip
        - country
        - phone
      title: customerAddress_Full
    customerAddress_Base:
      type: object
      properties:
        customer_id:
          type: integer
          description: ID of the associated customer.
        first_name:
          type: string
          description: The customer’s first name.
        last_name:
          type: string
          description: The customer’s last name.
        company:
          type: string
          description: The customer’s company name.
        street_1:
          type: string
          description: The customer’s street address, line 1.
        street_2:
          type: string
          description: The customer’s street address, line 2.
        city:
          type: string
          description: The customer’s city/town/suburb.
        state:
          type: string
          description: >-
            The customer’s state/province. Do not abbreviate the state; spell out the entire word. For example,
            California. (Cannot be null. As a workaround for addresses that include no state/province string, pass a
            space as the “state” value.)
        zip:
          type: string
          description: The customer’s ZIP or postal code.
        country:
          type: string
          description: The customer’s country. Must be the full country name.
        phone:
          type: string
          description: The customer’s phone number.
        address_type:
          $ref: '#/components/schemas/CustomerAddressBaseAddressType'
      required:
        - first_name
        - last_name
        - street_1
        - city
        - state
        - zip
        - country
        - phone
      title: customerAddress_Base
    CustomersCustomerIdAddressesCustomerAddressIdPutRequestBodyContentApplicationJsonSchemaAddressType:
      type: string
      enum:
        - residential
        - commercial
      title: CustomersCustomerIdAddressesCustomerAddressIdPutRequestBodyContentApplicationJsonSchemaAddressType
    CategoryAccessLevelFullType:
      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.
      title: CategoryAccessLevelFullType
    categoryAccessLevel_Full:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/CategoryAccessLevelFullType'
          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:
          type: array
          items:
            type: integer
          description: Is an array of category IDs and should be supplied only if `type` is specific.
      title: categoryAccessLevel_Full
    CustomerGroupFullDiscountRulesOneOf0ItemsType:
      type: string
      enum:
        - price_list
        - all
        - category
        - product
      title: CustomerGroupFullDiscountRulesOneOf0ItemsType
    CustomerGroupFullDiscountRulesOneOf0ItemsMethod:
      type: string
      enum:
        - percent
        - fixed
        - price
      title: CustomerGroupFullDiscountRulesOneOf0ItemsMethod
    CustomerGroupFullDiscountRulesOneOf0Items:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/CustomerGroupFullDiscountRulesOneOf0ItemsType'
        method:
          $ref: '#/components/schemas/CustomerGroupFullDiscountRulesOneOf0ItemsMethod'
        amount:
          type: string
          description: A float that specifies the value applied to the price modified. (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.
      title: CustomerGroupFullDiscountRulesOneOf0Items
    CustomerGroupFullDiscountRules0:
      type: array
      items:
        $ref: '#/components/schemas/CustomerGroupFullDiscountRulesOneOf0Items'
      description: A collection of discount rules that are automatically applied to customers who are members of the group.
      title: CustomerGroupFullDiscountRules0
    CustomerGroupFullDiscountRulesOneOf1ItemsType:
      type: string
      enum:
        - price_list
        - all
        - category
        - product
      title: CustomerGroupFullDiscountRulesOneOf1ItemsType
    CustomerGroupFullDiscountRulesOneOf1ItemsMethod:
      type: string
      enum:
        - percent
        - fixed
        - price
      title: CustomerGroupFullDiscountRulesOneOf1ItemsMethod
    CustomerGroupFullDiscountRulesOneOf1Items:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/CustomerGroupFullDiscountRulesOneOf1ItemsType'
        method:
          $ref: '#/components/schemas/CustomerGroupFullDiscountRulesOneOf1ItemsMethod'
        amount:
          type: string
          description: A float that specifies the value applied to the price modified. (Float, Float as String, Integer)
        category_id:
          type: integer
          description: >-
            If a customer group is assigned to a category, `method` and `amount` are not shown. `type` and `category_id`
            are returned.
      title: CustomerGroupFullDiscountRulesOneOf1Items
    CustomerGroupFullDiscountRules1:
      type: array
      items:
        $ref: '#/components/schemas/CustomerGroupFullDiscountRulesOneOf1Items'
      description: >-
        A collection of category-level discount rules that are automatically applied to customers who are members of the
        group.
      title: CustomerGroupFullDiscountRules1
    CustomerGroupFullDiscountRulesOneOf2ItemsType:
      type: string
      enum:
        - price_list
        - all
        - category
        - product
      title: CustomerGroupFullDiscountRulesOneOf2ItemsType
    CustomerGroupFullDiscountRulesOneOf2ItemsMethod:
      type: string
      enum:
        - percent
        - fixed
        - price
      title: CustomerGroupFullDiscountRulesOneOf2ItemsMethod
    CustomerGroupFullDiscountRulesOneOf2Items:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/CustomerGroupFullDiscountRulesOneOf2ItemsType'
        method:
          $ref: '#/components/schemas/CustomerGroupFullDiscountRulesOneOf2ItemsMethod'
        amount:
          type: string
          description: A float that specifies the value applied to the price modified. (Float, Float as String, Integer)
        product_id:
          type: integer
          description: >-
            If a customer group is assigned to a product,`method` and `amount` are not shown. `type` and `product` are
            returned.
      title: CustomerGroupFullDiscountRulesOneOf2Items
    CustomerGroupFullDiscountRules2:
      type: array
      items:
        $ref: '#/components/schemas/CustomerGroupFullDiscountRulesOneOf2Items'
      description: >-
        A collection of product-level discount rules that are automatically applied to customers who are members of the
        group.
      title: CustomerGroupFullDiscountRules2
    CustomerGroupFullDiscountRulesOneOf3ItemsType:
      type: string
      enum:
        - price_list
        - all
        - category
        - product
      title: CustomerGroupFullDiscountRulesOneOf3ItemsType
    CustomerGroupFullDiscountRulesOneOf3ItemsMethod:
      type: string
      enum:
        - percent
        - fixed
        - price
      title: CustomerGroupFullDiscountRulesOneOf3ItemsMethod
    CustomerGroupFullDiscountRulesOneOf3Items:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/CustomerGroupFullDiscountRulesOneOf3ItemsType'
        method:
          $ref: '#/components/schemas/CustomerGroupFullDiscountRulesOneOf3ItemsMethod'
        amount:
          type: string
          description: A float that specifies the value applied to the price modified. (Float, Float as String, Integer)
      title: CustomerGroupFullDiscountRulesOneOf3Items
    CustomerGroupFullDiscountRules3:
      type: array
      items:
        $ref: '#/components/schemas/CustomerGroupFullDiscountRulesOneOf3Items'
      description: >-
        A collection of storewide discount rules that are automatically applied to customers who are members of the
        group.
      title: CustomerGroupFullDiscountRules3
    CustomerGroupFullDiscountRules:
      oneOf:
        - $ref: '#/components/schemas/CustomerGroupFullDiscountRules0'
        - $ref: '#/components/schemas/CustomerGroupFullDiscountRules1'
        - $ref: '#/components/schemas/CustomerGroupFullDiscountRules2'
        - $ref: '#/components/schemas/CustomerGroupFullDiscountRules3'
      title: CustomerGroupFullDiscountRules
    customerGroup_Full:
      type: object
      properties:
        id:
          type: integer
          description: ID of the customer group.
        name:
          type: string
          description: Name of the group.
        is_default:
          type: boolean
          description: Determines whether new customers are assigned to this group by default.
        category_access:
          $ref: '#/components/schemas/categoryAccessLevel_Full'
        discount_rules:
          $ref: '#/components/schemas/CustomerGroupFullDiscountRules'
        date_created:
          type: string
          description: Date on which the customer group was created.
        date_modified:
          type: string
          description: Date on which the customer group was last modified.
        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 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.
      title: customerGroup_Full
    CustomerGroupPostPutDiscountRulesOneOf0ItemsType:
      type: string
      enum:
        - price_list
      title: CustomerGroupPostPutDiscountRulesOneOf0ItemsType
    CustomerGroupPostPutDiscountRulesOneOf0Items:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/CustomerGroupPostPutDiscountRulesOneOf0ItemsType'
        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.
      required:
        - type
      title: CustomerGroupPostPutDiscountRulesOneOf0Items
    CustomerGroupPostPutDiscountRules0:
      type: array
      items:
        $ref: '#/components/schemas/CustomerGroupPostPutDiscountRulesOneOf0Items'
      description: >-
        A singe discount rule that references a price list. If you select `price_list`, it must be the only rule. No
        other discount rule types can be combined with a `price_list` rule. If a `price_list` rule is not used, you can
        have one or many category or product discount rules. Additionally, you can only have a single all rule, but it
        can be combined with multiple category or product discount rules.
      title: CustomerGroupPostPutDiscountRules0
    CustomerGroupPostPutDiscountRulesOneOf1ItemsOneOf0Type:
      type: string
      enum:
        - category
      title: CustomerGroupPostPutDiscountRulesOneOf1ItemsOneOf0Type
    CustomerGroupPostPutDiscountRulesOneOf1ItemsOneOf0Method:
      type: string
      enum:
        - percent
        - fixed
        - price
      title: CustomerGroupPostPutDiscountRulesOneOf1ItemsOneOf0Method
    CustomerGroupPostPutDiscountRulesOneOf1Items0:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/CustomerGroupPostPutDiscountRulesOneOf1ItemsOneOf0Type'
        method:
          $ref: '#/components/schemas/CustomerGroupPostPutDiscountRulesOneOf1ItemsOneOf0Method'
        amount:
          type: string
          description: A float that specifies the value applied to the price modified. (Float, Float as String, Integer)
        category_id:
          type: integer
          description: The category the customer group discount is assigned to.
      required:
        - type
        - method
        - amount
        - category_id
      title: CustomerGroupPostPutDiscountRulesOneOf1Items0
    CustomerGroupPostPutDiscountRulesOneOf1ItemsOneOf1Type:
      type: string
      enum:
        - product
      title: CustomerGroupPostPutDiscountRulesOneOf1ItemsOneOf1Type
    CustomerGroupPostPutDiscountRulesOneOf1ItemsOneOf1Method:
      type: string
      enum:
        - percent
        - fixed
        - price
      title: CustomerGroupPostPutDiscountRulesOneOf1ItemsOneOf1Method
    CustomerGroupPostPutDiscountRulesOneOf1Items1:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/CustomerGroupPostPutDiscountRulesOneOf1ItemsOneOf1Type'
        method:
          $ref: '#/components/schemas/CustomerGroupPostPutDiscountRulesOneOf1ItemsOneOf1Method'
        amount:
          type: string
          description: A float that specifies the value applied to the price modified. (Float, Float as String, Integer)
        product_id:
          type: integer
          description: The `product_id` the customer group discount is assigned to.
      required:
        - type
        - method
        - amount
        - product_id
      title: CustomerGroupPostPutDiscountRulesOneOf1Items1
    CustomerGroupPostPutDiscountRulesOneOf1ItemsOneOf2Type:
      type: string
      enum:
        - all
      title: CustomerGroupPostPutDiscountRulesOneOf1ItemsOneOf2Type
    CustomerGroupPostPutDiscountRulesOneOf1ItemsOneOf2Method:
      type: string
      enum:
        - percent
        - fixed
        - price
      title: CustomerGroupPostPutDiscountRulesOneOf1ItemsOneOf2Method
    CustomerGroupPostPutDiscountRulesOneOf1Items2:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/CustomerGroupPostPutDiscountRulesOneOf1ItemsOneOf2Type'
        method:
          $ref: '#/components/schemas/CustomerGroupPostPutDiscountRulesOneOf1ItemsOneOf2Method'
        amount:
          type: string
          description: A float that specifies the value applied to the price modified. (Float, Float as String, Integer)
      required:
        - type
      description: >-
        You can only have a single `all` discount rule, but you can combine it with multiple category or product
        discount rules.
      title: CustomerGroupPostPutDiscountRulesOneOf1Items2
    CustomerGroupPostPutDiscountRulesOneOf1Items:
      oneOf:
        - $ref: '#/components/schemas/CustomerGroupPostPutDiscountRulesOneOf1Items0'
        - $ref: '#/components/schemas/CustomerGroupPostPutDiscountRulesOneOf1Items1'
        - $ref: '#/components/schemas/CustomerGroupPostPutDiscountRulesOneOf1Items2'
      title: CustomerGroupPostPutDiscountRulesOneOf1Items
    CustomerGroupPostPutDiscountRules1:
      type: array
      items:
        $ref: '#/components/schemas/CustomerGroupPostPutDiscountRulesOneOf1Items'
      description: >-
        A collection of discount rules. You can have one or many category-level or product-level discount rules and one
        sitewide discount rule.
      title: CustomerGroupPostPutDiscountRules1
    CustomerGroupPostPutDiscountRules:
      oneOf:
        - $ref: '#/components/schemas/CustomerGroupPostPutDiscountRules0'
        - $ref: '#/components/schemas/CustomerGroupPostPutDiscountRules1'
      title: CustomerGroupPostPutDiscountRules
    customerGroup_Post_Put:
      type: object
      properties:
        name:
          type: string
          description: Name of the group.
        is_default:
          type: boolean
          description: Determines whether new customers are assigned to this group by default.
        category_access:
          $ref: '#/components/schemas/categoryAccessLevel_Full'
        discount_rules:
          $ref: '#/components/schemas/CustomerGroupPostPutDiscountRules'
        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 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.
      title: customerGroup_Post_Put
    ErrorBasic:
      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
      title: ErrorBasic
    ErrorRequest:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorBasic'
      title: ErrorRequest
    validatePassword:
      type: object
      properties:
        success:
          type: boolean
          description: Will return `true` or `false`.
      title: validatePassword
  securitySchemes:
    X-Auth-Token:
      type: apiKey
      in: header
      name: X-Auth-Token
      description: >-
        ### OAuth scopes


        | UI Name | Permission | Parameter |

        |:--------|:-----------|:----------|

        |  Customers | modify | `store_v2_customers` |

        |  Customers | read-only | `store_v2_customers_read_only` |


        ### Authentication header


        | Header | Argument | Description |

        |:-------|:---------|:------------|

        | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to
        API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


        ### Further reading


        For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example
        Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests).


        For more about BigCommerce OAuth scopes, see our [Guide to API
        Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


        For a list of API status codes, see [API Status
        Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
