openapi: 3.0.0 info: version: '' title: BigCommerce Customers V3 description: |- Create and manage customers. ## Resources * [Customers Overview](/docs/store-operations/customers). termsOfService: https://www.bigcommerce.com/terms contact: name: BigCommerce url: https://www.bigcommerce.com email: support@bigcommerce.com servers: - url: https://api.bigcommerce.com/stores/{store_hash}/v3 variables: store_hash: default: store_hash description: Permanent ID of the BigCommerce store. description: BigCommerce API Gateway security: - X-Auth-Token: [] tags: - name: Addresses - name: Attribute Values - name: Attributes - name: Channel Settings - name: Consent - name: Customer Batch Metafields - name: Customer Metafields - name: Customers - name: Form Field Values - name: Global Settings - name: Stored Instruments - name: Validate Credentials paths: /customers: get: description: >- Returns a list of Customers. Optional filter parameters can be passed in. **Notes** Attribute names are not available on the customer object. summary: BigCommerce Get All Customers tags: - Customers operationId: getCustomers deprecated: false parameters: - name: page in: query description: Page number. `page=1` schema: type: integer - in: query name: limit description: Items count per page. `limit=50` schema: type: number - name: id:in in: query description: |- Filter items by ID. `id:in=4,5,6` style: form explode: false schema: type: array items: type: integer - name: company:in in: query description: Filter items by company. `company:in=bigcommerce,commongood` style: form explode: false schema: type: array items: type: string - name: customer_group_id:in in: query description: Filter items by customer_group_id. `customer_group_id:in=5,6` style: form explode: false schema: type: array items: type: string - name: date_created in: query description: Filter items by date_created. `date_created=2018-09-05T13:43:54` schema: type: string format: date-time - name: date_created:max in: query description: Filter items by maximum date_created. `date_created:max=2018-09-10` schema: type: string - name: date_created:min in: query description: Filter items by date_created. `date_created:min=2018-09-05` schema: type: string format: date-time - name: date_modified in: query description: Filter items by date_modified. `date_modified=2018-09-05T13:45:03` schema: type: string format: date-time - name: date_modified:min in: query description: >- Filter items by minimum date_modified. `date_modified:min=2019-09-04T:00:00:00` or `date_modified:min=2019-09-04` schema: type: string - name: date_modified:max in: query description: >- Filter items by maximum date_modified. `date_modified:max=2018-09-05T13:45:03` or `date_modified:max=2019-09-04` schema: type: string format: date-time - name: email:in in: query description: Filter items by email. `email:in=janedoe@example.com` schema: type: string - name: name:in in: query description: Filter items by first_name and last_name. `name=james moriarty` style: form explode: false schema: type: array items: type: string - name: name:like in: query description: |- Filter items by substring in first_name and last_name. `name:like=moriarty, sherlock` Concatenates the first_name and last_name fields. style: form explode: false schema: type: array items: type: string - name: registration_ip_address:in in: query description: >- Filter items by registration_ip_address. If the customer was created using the API, then registration address is blank. `registration_ip_address:in=12.345.6.789` style: form explode: false schema: type: array items: type: integer - name: include in: query description: |- Indicates whether to include customer sub-resources: * `addresses` - customer addresses * `storecredit` - store credit * `attributes` - customer attributes and address attributes * `formfields` - customer and address form fields * `shopper_profile_id` - the ID of the shopper profile associated with the customer (Beta) * `segment_ids`- segments the customer belongs to (Beta) `include=addresses,storecredit,attributes,formfields,shopper_profile_id,segment_ids` explode: false schema: type: array items: type: string enum: - addresses - storecredit - attributes - formfields - shopper_profile_id - segment_ids - in: query name: sort description: >- Sort items by date_created, date_modified, or last_name:* `date_created:asc` - date created, ascending* `date_created:desc` - date created, descending* `last_name:asc` - last name, ascending* `last_name:desc` - last name, descending * `date_modified:asc` - date modified, ascending* `date_modified:desc`- date modified, descending Example: `sort=last_name:asc` schema: type: string enum: - date_created:asc - date_created:desc - last_name:asc - last_name:desc - date_modified:asc - date_modified:desc responses: '200': $ref: '#/components/responses/CustomerCollectionResponse' post: description: >- Creates Customers. Create up to 10 customers in one call. **Required Fields** * last_name * first_name * email **Required Fields Customer Address** * first_name * city * country_code * last_name * address1 **Required Fields Attributes** * Attributes must be [created](/docs/rest-management/customers/customer-attributes#create-a-customer-attribute) **BEFORE** creating a customer. * attribute_id * attribute_value -- This is input as a string, regardless of the [Type](/docs/rest-management/customers/customer-attributes#create-a-customer-attribute). **Notes** A customer can be created with global access or channel-specific access. * **Global access:** * Make sure the channel has `allow_global_logins` enabled. This is on by default only for the default storefront. Find more info at [Customer Settings > Channel](/docs/rest-management/customers/customer-settings-channel). * Omit `channel_ids` field, or provide `channel_ids: null`. * **Channel-specific access:** * Provide a `channel_ids` array containing the channels accessible by the customer. This array cannot be empty. summary: BigCommerce Create Customers tags: - Customers operationId: createCustomers deprecated: false requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/customer_Post' examples: example-1: value: - email: string@example.com first_name: string last_name: string company: string phone: string notes: string tax_exempt_category: string customer_group_id: 0 addresses: - address1: Addr 1 address2: '' address_type: residential city: San Francisco company: History country_code: US first_name: Ronald last_name: Swimmer phone: '707070707' postal_code: '33333' state_or_province: California form_fields: - name: test value: test authentication: force_password_reset: true new_password: string123 accepts_product_review_abandoned_cart_emails: true store_credit_amounts: - amount: 43.15 origin_channel_id: 1 channel_ids: - 1 form_fields: - name: test value: test required: true x-examples: {} description: '' responses: '200': $ref: '#/components/responses/CustomerCollectionResponse' '413': description: >- The request payload is too large. The maximum number of items allowed in the array is 10. '422': description: >- The *Customer* was not valid. This is the result of missing required fields or trying to edit a read only field. See the response for more details. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: response: value: status: 422 title: Create customers failed. type: /api-docs/getting-started/api-status-codes errors: .customer_create: Error creating customers put: description: >- Updates Customers. Subresource updates are not supported. Up to 10 customers can be updated in one call. **Required Fields** * id -- ID of the *Customer* This must be included in the request body **Read Only Fields** * id * registration_ip_address * date_created * date_modified **Notes** * Attributes Values can not be updated using Update a Customer. Use the [Update customer attribute values](/docs/rest-management/customers/customer-attribute-values#upsert-customer-attribute-values) endpoint. * channel_ids -- Updating the list of channels a customer can access may create some side effects in a multi-storefront situation. This list determines which customer account we will use to authenticate a shopper given a channel. summary: BigCommerce Update Customers tags: - Customers operationId: updateCustomers deprecated: false responses: '200': $ref: '#/components/responses/CustomerCollectionResponse' '413': description: >- The request payload is too large. The maximum number of items allowed in the array is 10. '422': description: > The `Customer` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/customer_Put' examples: example-1: value: - email: string first_name: string last_name: string company: string phone: string registration_ip_address: string notes: string tax_exempt_category: string customer_group_id: 0 id: 1 authentication: force_password_reset: true new_password: string123 accepts_product_review_abandoned_cart_emails: true store_credit_amounts: - amount: 43.15 origin_channel_id: 1 channel_ids: - 1 form_fields: - name: test value: test example-2-form-fields: value: - id: 1 form_fields: - name: test value: test delete: description: >- Deletes Customers. **Required Query** * id:in -- ID of the customer **Notes** A query is required to delete customers. If not provided, a 204 is returned, with no changes to the data. summary: BigCommerce Delete Customers tags: - Customers operationId: deleteCustomers deprecated: false parameters: - in: query name: id:in description: |- Filter items by ID. `id:in=4,5,6` required: true style: form explode: false schema: type: array items: type: integer responses: '204': description: '' headers: {} /customers/addresses: get: description: >- Returns a list of Customer Addresses. Optional filter parameters can be passed in. summary: BigCommerce Get All Customer Addresses operationId: getCustomersAddresses deprecated: false parameters: - name: Accept in: header schema: type: string default: application/json - name: Content-Type in: header schema: type: string default: application/json - name: page in: query description: Page number. `page=1` schema: type: integer - in: query name: limit description: Items count per page. `limit=50` schema: type: number - name: company:in in: query description: Filter items by company. `company:in=bigcommerce,commongood` style: form explode: false schema: type: array items: type: string - name: name:in in: query description: Filter items by first_name and last_name. `name:in=James+Moriarty` style: form explode: false schema: type: array items: type: string - in: query name: customer_id:in description: >- Filter by the ID of the customer. Also accepts comma-separated IDs to filter for multiple customers. `customer_id:in=23,24,55` style: form explode: false schema: type: array items: type: integer - name: include in: query description: |- Indicates whether to include customer address sub-resources: * `formfields` - address form fields `include=formfields` schema: type: string enum: - formfields - name: id:in in: query description: |- Filter items by ID. `id:in=4,5,6` style: form explode: false schema: type: array items: type: integer responses: '200': $ref: '#/components/responses/AddressCollectionResponse' tags: - Addresses post: description: >- Creates a Customer Address. Multiple customer addresses can be created in one call. **Required Fields** * **customer_id** * **first_name** * **last_name** * **city** * **country_code** * **address1** **Notes** * A unique customer address is a combination of the following core address fields: * **customer_id** * **first_name** * **last_name** * **company** * **phone** * **address_type** * **address1** * **address2** * **city** * **country_code** * **state_or_province** * **postal_code** * An attempt to create an address that already exists will result in no change to the address or custom form field values, an HTTP 200 return code, and the address will be absent from the response body. * The default rate limit for this endpoint is 10 concurrent requests. summary: BigCommerce Create a Customer Address operationId: createCustomersAddresses deprecated: false parameters: - name: Accept in: header schema: type: string default: application/json - name: Content-Type in: header schema: type: string default: application/json requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/address_Post' examples: example-1: value: - first_name: John last_name: Doe address1: 111 E West Street address2: '654' city: Akron state_or_province: Ohio postal_code: '44325' country_code: US phone: '1234567890' address_type: residential customer_id: 11 form_fields: - name: test value: test required: true x-examples: application/json: - first_name: John last_name: Doe address1: 111 E West Street address2: '654' city: Akron state_or_province: Ohio postal_code: '44325' country_code: US phone: '1234567890' address_type: residential customer_id: 11 form_fields: - name: test value: test responses: '200': $ref: '#/components/responses/AddressCollectionResponsePostPut' '422': description: > The `Address` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' tags: - Addresses put: description: >- Updates a Customer Address. Multiple customer addresses can be updated in one call. **Required Fields** * **id** -- ID of the *Customer Address* **Limits** * Limit of **3** concurrent requests. **Notes** * A unique customer address is a combination of the following core address fields: * **first_name** * **last_name** * **company** * **phone** * **address_type** * **address1** * **address2** * **city** * **country_code** * **state_or_province** * **postal_code** * An attempt to update an address such that it becomes identical to another address that already exists will result in no change to the target address or custom form field values. The response will have an HTTP 200 return code, and the address will be absent from the response body. summary: BigCommerce Update a Customer Address operationId: updateCustomersAddresses deprecated: false parameters: - name: Accept in: header schema: type: string default: application/json - name: Content-Type in: header schema: type: string default: application/json requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/address_Put' examples: example-1: value: - id: 11 first_name: John last_name: Doe address1: 111 E West Street address2: '654' city: Akron state_or_province: Ohio postal_code: '44325' country_code: US phone: '1234567890' address_type: residential form_fields: - name: test value: test example-2-form-fields: value: - id: 11 form_fields: - name: test value: test required: true x-examples: application/json: - first_name: John last_name: Doe id: 38 address1: 111 E West Street address2: '654' city: Akron state_or_province: Ohio postal_code: '44325' country_code: US phone: '1234567890' address_type: residential responses: '200': $ref: '#/components/responses/AddressCollectionResponsePostPut' '422': description: > The `Address` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' tags: - Addresses delete: description: |- Deletes a Customer Address. **Required Query** * id:in -- ID of the *Customer Address* summary: BigCommerce Delete a Customer Address operationId: deleteCustomersAddresses deprecated: false parameters: - name: Accept in: header schema: type: string default: application/json - name: Content-Type in: header schema: type: string default: application/json - in: query name: id:in required: true description: |- Filter items by ID. `id:in=4,5,6` style: form explode: false schema: type: array items: type: integer responses: '204': description: '' headers: {} tags: - Addresses /customers/validate-credentials: post: tags: - Validate Credentials description: >- Validate a customer credentials - This endpoint has special rate limiting protections to protect against abuse. summary: BigCommerce Validate a customer credentials operationId: validateCustomerCredentials requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ValidateCustomerCredentialsObject' examples: data: value: email: foo@bar.com password: password channel_id: 1 responses: '200': description: Returns if the customer credentials provided are valid or not. content: application/json: schema: $ref: '#/components/schemas/ValidateCustomerCredentialsResponseObject' examples: data: value: is_valid: true customer_id: 1 '422': description: >- This is the result of missing required fields. See the response for more details. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: | Allowed number of requests exceeded. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: response: value: status: 429 title: Too many requests type: /api-docs/getting-started/api-status-codes errors: {} /customers/settings: get: tags: - Global Settings description: Returns the global-level customer settings. summary: BigCommerce Get Customer Settings operationId: getCustomersSettings responses: '200': description: Returns customer settings values for global level. content: application/json: schema: $ref: '#/components/schemas/CustomerSettingsObject' examples: data: value: privacy_settings: ask_shopper_for_tracking_consent: true policy_url: https://bigcommmerce.com/policy customer_group_settings: guest_customer_group_id: 1 default_customer_group_id: 1 put: tags: - Global Settings description: Updates the customer settings on the global level. summary: BigCommerce Update Customer Settings operationId: updateCustomersSettings requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerSettingsObject' examples: example-1: value: privacy_settings: ask_shopper_for_tracking_consent: true policy_url: https://bigcommmerce.com/policy customer_group_settings: guest_customer_group_id: 0 default_customer_group_id: 0 required: true responses: '200': description: Customer settings are returned on a global level. content: application/json: schema: $ref: '#/components/schemas/CustomerSettingsObject' examples: data: value: privacy_settings: ask_shopper_for_tracking_consent: true policy_url: https://bigcommerce.com/policy ask_shopper_for_tracking_consent_on_checkout: false customer_group_settings: guest_customer_group_id: 0 default_customer_group_id: 0 /customers/settings/channels/{channel_id}: get: tags: - Channel Settings description: |- Returns the customer settings per channel. **Notes** * `null` indicates that there is no override per given channel and values are inherited from the global level. summary: BigCommerce Get Customer Settings per Channel operationId: getCustomersSettingsChannel parameters: - in: path name: channel_id schema: type: integer required: true responses: '200': description: Customer settings for this channel are returned. content: application/json: schema: $ref: '#/components/schemas/CustomerChannelSettingsObject' examples: data: value: privacy_settings: ask_shopper_for_tracking_consent: true policy_url: https://bigcommmerce.com/policy customer_group_settings: guest_customer_group_id: 1 allow_global_logins: true put: tags: - Channel Settings description: >- Update the customer settings per channel **Required Fields** * `channel_id`: Provide a `channel_id` array containing one or more channel IDs. Customers will have access to these channels and no others. This array cannot be empty. **Notes** * Setting `null` will delete override per given channel, and values will be inherited from the global level. Make sure the channel has `allow_global_logins` enabled. summary: BigCommerce Update Customer Settings per Channel operationId: updateCustomersSettingsChannel parameters: - in: path name: channel_id schema: type: integer required: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerChannelSettingsObject' examples: example-1: value: privacy_settings: ask_shopper_for_tracking_consent: true policy_url: https://bigcommmerce.com/policy customer_group_settings: guest_customer_group_id: 0 default_customer_group_id: 0 allow_global_logins: true required: true responses: '200': description: Customer settings are returned. content: application/json: schema: $ref: '#/components/schemas/CustomerSettingsObject' examples: example: value: privacy_settings: ask_shopper_for_tracking_consent: true policy_url: https://bigcommmerce.com/policy ask_shopper_for_tracking_consent_on_checkout: customer_group_settings: guest_customer_group_id: 0 default_customer_group_id: 0 allow_global_logins: true parameters: - schema: type: string name: channel_id in: path required: true /customers/attributes: get: description: >- Returns a list of Customer Attributes. You can pass in optional filter parameters. summary: BigCommerce Get All Customer Attributes operationId: getCustomersAttributes deprecated: false parameters: - name: page in: query description: Page number. `page=1` schema: type: integer - in: query name: limit description: Items count per page. `limit=50` schema: type: number - name: name in: query required: false description: Filter items by customer attribute name. `name=Date+Joined` schema: type: string - name: name:like in: query required: false description: >- Filter items by substring in customer attribute name. `name:like=join` schema: type: string - name: type in: query required: false description: The type of the customer attribute. schema: type: string - name: date_created in: query required: false description: Filter items by `date_created`. `date_created=2021-01-07T20:28:16Z` schema: type: string format: date-time - name: date_created:max in: query required: false description: >- Filter items by maximum `date_created`. ISO 8601 full-date is required, ISO 8601 full-time is not required. UNIX timestamp also accepted. `date_created=2021-01-07` or `date_created=1610051296000` schema: type: string format: date-time - name: date_created:min in: query required: false description: >- Filter items by minimum `date_created`. ISO 8601 full-date is required, ISO 8601 full-time is not required. UNIX timestamp also accepted. `date_created=2021-01-07` or `date_created=1610051296000` schema: type: string format: date-time - name: date_modified in: query required: false description: Filter items by `date_modified`. schema: type: string format: date-time - name: date_modified:max in: query required: false description: >- Filter items by maximum `date_modified`. ISO 8601 full-date is required, ISO 8601 full-time is not required. UNIX timestamp also accepted. `date_created=2021-01-07` or `date_created=1610051296000` schema: type: string format: date-time - name: date_modified:min in: query required: false description: >- Filter items by minimum `date_modified`. ISO 8601 full-date is required, ISO 8601 full-time is not required. UNIX timestamp also accepted. `date_created=2021-01-07` or `date_created=1610051296000` schema: type: string format: date-time - name: Accept in: header schema: type: string default: application/json - name: Content-Type in: header schema: type: string default: application/json responses: '200': $ref: '#/components/responses/CustomerAttributesResponse' tags: - Attributes post: description: >- Creates a Customer Attribute. Multiple customer attributes can be created in one call. **Required Fields** * name * type **Limits** * Limit of 3 concurrent requests. **Notes** Once the data type is set, it cannot be changed. The attribute will need to be deleted then created again with the new data type. This will also delete it from the customer. Customer attributes are created separately from the customer. After the name and type are created, then the attributes can be added to the customer. A store cannot have more than 50 customer attributes. summary: BigCommerce Create a Customer Attribute operationId: createCustomersAttributes deprecated: false parameters: - name: Accept in: header schema: type: string default: application/json - name: Content-Type in: header schema: type: string default: application/json requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/attribute_Post' required: true x-examples: application/json: - name: Date Joined type: date responses: '200': $ref: '#/components/responses/CustomerAttributesResponse' '422': description: > The `Attribute` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' tags: - Attributes put: description: >- Updates a Customer Attribute. Multiple customer attributes can be updated in one call. **Required Fields** * id -- ID of the *Customer Attribute* Once the data type is set, it can not be changed. The attribute will need to be deleted then created again with the new data type. This will also delete it from the customer. **Limits** * Limit of 3 concurrent requests. summary: BigCommerce Update a Customer Attribute operationId: updateCustomersAttributes deprecated: false parameters: - name: Accept in: header schema: type: string default: application/json - name: Content-Type in: header schema: type: string default: application/json requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/attribute_Put' required: true x-examples: application/json: - name: Date Joined id: 1 responses: '200': $ref: '#/components/responses/CustomerAttributesResponse' '422': description: > The `Attribute` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' tags: - Attributes delete: description: |- Deletes Customer Attributes from the store. **Required Query** * id:in -- ID of the *Customer Attribute* summary: BigCommerce Delete Customer Attributes operationId: deleteCustomersAttributes deprecated: false parameters: - name: id:in in: query required: true description: Filter items by ID. style: form explode: false schema: type: array items: type: integer format: int32 - name: Accept in: header schema: type: string default: application/json - name: Content-Type in: header schema: type: string default: application/json responses: '204': description: '' headers: {} tags: - Attributes /customers/attribute-values: get: description: >- Returns a list of Customer Attribute Values. Optional filter parameters can be passed in. summary: BigCommerce Get All Customer Attribute Values operationId: getCustomersAttributeValues deprecated: false parameters: - name: Accept in: header schema: type: string default: application/json - name: Content-Type in: header schema: type: string default: application/json - name: page in: query description: Page number. `page=1` schema: type: integer - in: query name: limit description: Items count per page. `limit=50` schema: type: number - in: query name: customer_id:in description: Filter items by the customer ID. `customer_id:in=23,24,55` style: form explode: false schema: type: array items: type: integer - name: attribute_id:in in: query description: Filter items by the attribute ID. `attribute_id:in=1,2` style: form explode: false schema: type: array items: type: integer - name: name in: query description: Filter items by the attribute name. `name=age` schema: type: string - name: date_created in: query description: Filter items by `date_created`. `date_created=2018-09-05T13:43:54` schema: type: string format: date-time - name: date_created:max in: query description: >- Filter items by maximum `date_created`. ISO 8601 full-date is required, ISO 8601 full-time is not required. UNIX timestamp also accepted. `date_created=2021-01-07` or `date_created=1610051296000` schema: type: string - name: date_created:min in: query description: >- Filter items by minimum `date_created`. ISO 8601 full-date is required, ISO 8601 full-time is not required. UNIX timestamp also accepted. `date_created=2021-01-07` or `date_created=1610051296000` schema: type: string format: date-time - name: date_modified in: query description: Filter items by `date_modified`. `date_modified=2018-09-05T13:45:03` schema: type: string format: date-time - name: date_modified:max in: query description: >- Filter items by maximum `date_modified`. ISO 8601 full-date is required, ISO 8601 full-time is not required. UNIX timestamp also accepted. `date_created=2021-01-07` or `date_created=1610051296000` schema: type: string format: date-time - name: date_modified:min in: query description: >- Filter items by minimum `date_modified`. ISO 8601 full-date is required, ISO 8601 full-time is not required. UNIX timestamp also accepted. `date_created=2021-01-07` or `date_created=1610051296000` schema: type: string responses: '200': $ref: '#/components/responses/CustomerAttributeValueCollectionResponse' tags: - Attribute Values put: description: >- Upserts Customer Attribute Values. Updates the attribute values on the Customer. Multiple customer attribute values can be updated in one call. Upsert checks for an existing record. If there is none, it creates the record, if there is a matching record, it updates that record. **Limits** * 10 per call limit. summary: BigCommerce Upsert Customer Attribute Values operationId: upsertCustomersAttributeValues deprecated: false parameters: - name: Accept in: header schema: type: string default: application/json - name: Content-Type in: header schema: type: string default: application/json requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/attributeValue_Base' examples: Example: value: - attribute_id: 1 value: 'No' customer_id: 2 required: true x-examples: application/json: - attribute_id: 52528392 value: aliqua customer_id: 12990306 id: 47143304 - attribute_id: 8263909 value: 'n' customer_id: 1122433 id: 34305734 - attribute_id: 62186196 value: '' customer_id: 10906989 id: 21175547 - attribute_id: 68742149 value: l customer_id: 74084818 id: 99359610 description: '' responses: '200': $ref: '#/components/responses/CustomerAttributeValueCollectionResponse' '422': description: > The `CustomerAttributeValue` was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' tags: - Attribute Values delete: description: >- Deletes Customer Attribute Values. Deletes the attribute value from the customer. **Required Query** * id:in - ID of the *Customer Attribute Value* summary: BigCommerce Delete Customer Attribute Values operationId: deleteCustomersAttributeValues deprecated: false parameters: - name: id:in in: query required: true description: |- Filter items by ID. `id:in=4,5,6` style: form explode: false schema: type: array items: type: integer format: int32 - name: Accept in: header schema: type: string default: application/json - name: Content-Type in: header schema: type: string default: application/json responses: '204': description: '' headers: {} tags: - Attribute Values /customers/form-field-values: get: responses: '200': $ref: '#/components/responses/FormFieldValueCollectionResponse' '422': description: >- The form field value was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: BigCommerce Get Customer Form Field Values description: >- Returns a list of form field values for the Customer or Customer Address object. To learn about adding and managing form fields, see [Adding and Editing Fields in the Account Signup Form](https://support.bigcommerce.com/s/article/Editing-Form-Fields). operationId: getCustomersFormFieldValues tags: - Form Field Values parameters: - name: Accept in: header schema: type: string default: application/json - name: Content-Type in: header schema: type: string default: application/json - name: page in: query description: Page number. `page=1` schema: type: integer - in: query name: limit description: Items count per page. `limit=50` schema: type: number - in: query name: customer_id description: Filter by the customer ID. schema: type: integer - name: address_id in: query description: Filter by the ID of the customer address. schema: type: integer - name: field_name in: query description: Filter by the field name. schema: type: string - name: field_type in: query description: |- Filter by the field type. * `checkboxes` - checkboxes field * `date` - date field * `multiline` - multiline text field * `numbers` - numbers only field * `password` - password field * `radiobuttons` - radio buttons field * `text` - text field * `picklist` - pick list field schema: type: string enum: - checkboxes - date - multiline - numbers - password - radiobuttons - text - picklist put: responses: '200': $ref: '#/components/responses/FormFieldValuesResponse' '422': description: >- The form field value was not valid. This is the result of missing required fields, or of invalid data. See the response for more details. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: BigCommerce Upsert Customer Form Field Values description: >- Updates form field values on the Customer or Customer Address objects. Multiple form field values can be updated in one call. Upsert checks for an existing record, if there is none it creates the record, if there is a matching record it updates that record. To learn more about editing form fields, see [Adding and Editing Fields in the Account Signup Form](https://support.bigcommerce.com/s/article/Editing-Form-Fields). **Limits** * Limit of 10 concurrent requests. operationId: updateCustomerFormFieldValues tags: - Form Field Values requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/formFieldValue_Full' examples: Example: value: - customer_id: 12 name: Sales Rep value: Miss Moneypenny - customer_id: 12 name: How did you hear about us? value: Other - customer_id: 12 name: What is your favorite pizza topping? value: Mushrooms /customers/{customerId}/consent: get: description: >- Gets the status of a customerʼs consent to allow data collection by cookies and scripts while shopping on a storefront. summary: BigCommerce Get Customer Consent tags: - Consent operationId: getCustomerConsent deprecated: false responses: '200': $ref: '#/components/responses/consent_Resp' '401': description: >- Unauthorized - the v3 Auth client ID or token in the request are not a valid combination for this store. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: >- Missing scope - the v3 Auth token is valid but does not have proper permissions to access this endpoint. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Invalid JSON request body - missing or invalid data. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' put: description: >- Updates the status of a customerʼs consent to allow data collection by cookies and scripts while shopping on a storefront. summary: BigCommerce Update Customer Consent tags: - Consent operationId: updateCustomerConsent deprecated: false parameters: - name: Content-Type in: header required: false description: '' schema: type: string default: application/json requestBody: content: application/json: schema: $ref: '#/components/schemas/DeclareCustomerConsentRequest' x-examples: application/json: allow: - essential deny: [] responses: '200': $ref: '#/components/responses/consent_Resp' '401': description: >- Unauthorized - the v3 Auth client ID or token in the request are not a valid combination for this store. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: >- Missing scope - the v3 Auth token is valid but does not have proper permissions to access this endpoint. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Invalid JSON request body - missing or invalid data. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: - $ref: '#/components/parameters/customerId' /customers/{customerId}/stored-instruments: get: summary: BigCommerce Get Stored Instruments tags: - Stored Instruments description: >- Lists all available stored instruments for a customer. This list will include all types of stored instruments namely card, account and bank_account instruments operationId: getCustomerStoredInstruments parameters: - $ref: '#/components/parameters/customerId' responses: '200': description: OK content: application/json: schema: type: array items: oneOf: - $ref: '#/components/schemas/CardInstrument' - $ref: '#/components/schemas/PayPalAccountInstrument' - $ref: '#/components/schemas/BankAccountInstrument' discriminator: propertyName: type mapping: stored_card: '#/components/schemas/CardInstrument' stored_paypal_account: '#/components/schemas/PaypalAccountInstrument' stored_bank_account: '#/components/schemas/BankAccountInstrument' examples: example-1: value: - type: stored_card token: >- 84596bea275fa254da820056bdc3e495bdf01fd11c51b0336347d447ee16200c is_default: true brand: VISA expiry_month: 1 expiry_year: 0 issuer_identification_number: '411111' last_4: '1111' billing_address: first_name: Tester last_name: Tester email: example@email.com company: Test Company address1: 1 Sample Street address2: Apt 1 city: Las Vegas postal_code: '90854' state_or_province: Nevada state_or_province_code: NV country_code: US phone: 101-192-0293 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: code: 401 message: Unauthorized '403': description: >- Missing scope - the v3 Auth token is valid but does not have proper permissions to access this endpoint. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: code: 403 message: Missing scope parameters: - schema: type: string name: customerId in: path required: true /customers/{customerId}/metafields: get: summary: BigCommerce Get Customer Metafields tags: - Customer Metafields description: >- Gets customer metafields by passing the `customerId` in the query parameters. operationId: getCustomersMetafields parameters: - $ref: '#/components/parameters/customerId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Metafield' responses: '200': $ref: '#/components/responses/MetafieldCollectionResponse' '500': description: Internal Server Error post: summary: BigCommerce Create Customer Metafields tags: - Customer Metafields description: >- Creates Customer metafields by passing the `customerId` in the query parameters. operationId: createCustomerMetafields parameters: - $ref: '#/components/parameters/customerId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MetafieldBase_Post' responses: '200': description: Response payload for the BigCommerce API. content: application/json: schema: $ref: '#/components/schemas/MetaFieldCollectionPostPutResponses' /customers/{customerId}/metafields/{metafieldId}: get: summary: BigCommerce Get Customer Metafields List description: > Lists available metafields for a customer. To retrieve the list, use `customerId` and `metafieldId` in the query parameters. operationId: getMetafieldsCustomerId tags: - Customer Metafields parameters: - name: customerId in: path description: The ID that belongs to the customer. required: true schema: type: integer - name: metafieldId in: path description: The ID that is generated for a metafield when created. required: true schema: type: integer requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Metafield' responses: '200': $ref: '#/components/responses/MetafieldCollectionResponse' put: summary: BigCommerce Update a Metafield tags: - Customer Metafields description: >- Updates customer metafields. To update the customer metafields, use 'customerId' and 'metafield' in the query parameters. operationId: updateCustomerMetafield parameters: - name: metafieldId in: query description: The ID that is generated for a metafield when created. schema: type: integer - $ref: '#/components/parameters/metafieldId' - $ref: '#/components/parameters/customerId' requestBody: content: application/json: schema: type: array items: allOf: - $ref: '#/components/schemas/MetafieldBase_Put' - type: object properties: id: type: integer example: 42 description: | The ID of metafield to update. required: - id description: '' responses: '200': description: Response payload for the BigCommerce API. content: application/json: schema: $ref: '#/components/schemas/MetaFieldCollectionPostPutResponses' delete: summary: BigCommerce Delete Customer Metafields tags: - Customer Metafields description: > Deletes customer metafields. To delete customer metafields, use 'customerId' and 'metafieldId' in the query parameters. parameters: - $ref: '#/components/parameters/customerId' - $ref: '#/components/parameters/metafieldId' operationId: deleteCustomerMetafieldsId requestBody: content: application/json: schema: type: array items: type: integer description: '' responses: '204': description: | Response object for customer metafields deletion with success. /customers/metafields: get: summary: BigCommerce Get All Customer Metafields tags: - Customer Batch Metafields description: Get all customer metafields. operationId: getallCustomersMetafields responses: '200': description: | List of `Metafield` objects. content: application/json: schema: $ref: '#/components/schemas/MetaFieldCollectionResponse' '500': description: Internal Server Error parameters: - $ref: '#/components/parameters/PageParam' - $ref: '#/components/parameters/LimitParam' - $ref: '#/components/parameters/MetafieldKeyParam' - $ref: '#/components/parameters/MetafieldKeyInParam' - $ref: '#/components/parameters/MetafieldNamespaceParam' - $ref: '#/components/parameters/MetafieldNamespaceInParam' - $ref: '#/components/parameters/DirectionParam' post: summary: BigCommerce Create Multiple Metafields tags: - Customer Batch Metafields description: Create multiple metafields. operationId: createCustomersMetafields requestBody: content: application/json: schema: type: array items: allOf: - $ref: '#/components/schemas/MetafieldBase_Post' - type: object properties: resource_id: type: integer example: 42 description: > The ID for the resource with which the metafield is associated. required: - resource_id description: '' responses: '200': description: Response payload for the BigCommerce API. content: application/json: schema: $ref: '#/components/schemas/MetaFieldCollectionPostPutResponses' '422': description: | Response object for metafields creation with partial success. content: application/json: schema: $ref: >- #/components/schemas/MetaFieldCollectionResponsePartialSuccess_POST_PUT '500': description: Internal Server Error put: summary: BigCommerce Update Multiple Metafields tags: - Customer Batch Metafields description: Create multiple metafields. operationId: updateCustomersMetafields requestBody: content: application/json: schema: type: array items: allOf: - $ref: '#/components/schemas/MetafieldBase_Put' - type: object properties: id: type: integer example: 42 description: | The ID of metafield to update. required: - id description: '' responses: '200': description: Response payload for the BigCommerce API. content: application/json: schema: $ref: '#/components/schemas/MetaFieldCollectionPostPutResponses' '422': description: | Response object for metafields creation with partial success. content: application/json: schema: $ref: >- #/components/schemas/MetaFieldCollectionResponsePartialSuccess_POST_PUT '500': description: Internal Server Error delete: summary: BigCommerce Delete All Metafields tags: - Customer Batch Metafields description: Delete all customer metafields. operationId: deleteCustomersMetafields requestBody: content: application/json: schema: type: array items: type: integer description: Metafields ID list. responses: '200': description: | Response object for metafields deletion with success. content: application/json: schema: $ref: '#/components/schemas/MetaFieldCollectionDeleteResponseSuccess' '422': description: | Response object for metafields deletion with partial success. content: application/json: schema: $ref: >- #/components/schemas/MetaFieldCollectionResponsePartialSuccess_DELETE components: parameters: metafieldId: name: metafieldId in: path description: >- The ID of the metafield belonging to the customer. The metafieldId is a generated response when sending a POST query to the Create a Customer Metafields endpoint. required: true schema: type: integer customerId: name: customerId in: path required: true description: The ID of the customer. schema: type: integer PageParam: name: page description: | Specifies the page number in a limited (paginated) list of products. required: false in: query schema: type: integer MetafieldKeyParam: name: key in: query description: Filter based on a metafieldʼs key. required: false schema: type: string MetafieldKeyInParam: name: key:in in: query description: >- Filter based on comma-separated metafieldʼs keys. Could be used with vanilla 'key' query parameter. required: false style: form explode: false schema: type: array items: type: string MetafieldNamespaceParam: name: namespace in: query description: Filter based on a metafieldʼs namespaces. required: false schema: type: string MetafieldNamespaceInParam: name: namespace:in in: query description: >- Filter based on comma-separated metafieldʼs namespaces. Could be used with vanilla `namespace` query parameter. required: false style: form explode: false schema: type: array items: type: string LimitParam: name: limit description: > Controls the number of items per page in a limited (paginated) list of products. required: false in: query schema: type: integer DirectionParam: name: direction description: | Sort direction. Acceptable values are: `asc`, `desc`. required: false in: query schema: type: string enum: - asc - desc responses: CustomerCollectionResponse: description: Customer Collection Response content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/customer_Full' meta: $ref: '#/components/schemas/_metaCollection' examples: example-1: value: data: - email: string@example.com first_name: string last_name: string company: string phone: string notes: string tax_exempt_category: string customer_group_id: 0 addresses: - first_name: string last_name: string address1: Addr1 address2: '' city: string state_or_province: string postal_code: string country_code: st phone: string address_type: residential customer_id: 0 id: 0 country: string store_credit_amounts: - amount: 43.15 accepts_product_review_abandoned_cart_emails: true channel_ids: - 1 shopper_profile_id: 82511e54-4040-40fe-b742-2b25655f205b segment_ids: - 5bb733a9-5491-47b3-9451-9ae8d6a6bc6b meta: pagination: total: 0 count: 0 per_page: 0 current_page: 0 total_pages: 0 links: previous: string current: string next: string AddressCollectionResponse: description: '' content: application/json: schema: title: AddressCollectionResponse description: Response payload for the BigCommerce API. type: object properties: data: type: array items: title: Address type: object properties: address1: description: The address 1 line. type: string address2: description: The address 2 line. type: string address_type: title: Address Type description: The address type. Residential or Commercial. example: residential type: string enum: - residential - commercial city: description: The city of the customer address. type: string minLength: 0 maxLength: 100 company: description: The company of the customer address. type: string minLength: 0 maxLength: 255 country: description: The country name of the customer address. type: string country_code: description: The country code of the customer address. type: string minLength: 2 maxLength: 2 customer_id: description: The customer ID. type: integer format: int32 first_name: description: The first name of the customer address. type: string minLength: 1 maxLength: 255 id: description: The unique numeric ID of the address. type: integer format: int32 last_name: description: The last name of the customer address. type: string minLength: 1 maxLength: 255 phone: description: The phone number of the customer address. type: string minLength: 0 maxLength: 50 postal_code: description: The postal code of the customer address. type: string minLength: 0 maxLength: 30 state_or_province: description: The state or province name type: string minLength: 0 maxLength: 100 form_fields: description: >- Array of form fields. Controlled by `formfields` parameter. type: array items: allOf: - $ref: '#/components/schemas/formFieldValue_Address' title: Customer Address Form Field Value required: - address1 - city - country_code - customer_id - first_name - id - last_name - postal_code - state_or_province meta: $ref: '#/components/schemas/_metaCollection' examples: response: value: data: - address1: 123 Example Street address2: Building 4 address_type: residential city: Austin company: BigCommerce country: United States country_code: US customer_id: 1 first_name: John id: 18 last_name: Doe phone: '15551234567' postal_code: '78759' state_or_province: Texas meta: pagination: total: 1 count: 1 per_page: 50 current_page: 1 total_pages: 1 AddressCollectionResponsePostPut: description: '' content: application/json: schema: anyOf: - title: AddressCollectionResponse description: Response payload for the BigCommerce API. example: data: - address1: 123 Example Street address2: Building 4 address_type: residential city: Austin company: BigCommerce country: United States country_code: US customer_id: 1 first_name: John id: 18 last_name: Doe phone: '15551234567' postal_code: '78759' state_or_province: Texas meta: {} properties: data: type: array items: title: Address type: object properties: address1: description: The address 1 line. type: string address2: description: The address 2 line. type: string address_type: title: Address Type description: The address type. Residential or Commercial. example: residential type: string enum: - residential - commercial city: description: The city of the customer address. type: string minLength: 0 maxLength: 100 company: description: The company of the customer address. type: string minLength: 0 maxLength: 255 country: description: The country name of the customer address. type: string country_code: description: The country code of the customer address. type: string minLength: 2 maxLength: 2 customer_id: description: The customer ID. type: integer format: int32 first_name: description: The first name of the customer address. type: string minLength: 1 maxLength: 255 id: description: The unique numeric ID of the address. type: integer format: int32 last_name: description: The last name of the customer address. type: string minLength: 1 maxLength: 255 phone: description: The phone number of the customer address. type: string minLength: 0 maxLength: 50 postal_code: description: The postal code of the customer address. type: string minLength: 0 maxLength: 30 state_or_province: description: The state or province name type: string minLength: 0 maxLength: 100 form_fields: description: >- Array of form fields. Controlled by `formfields` parameter. type: array items: $ref: '#/components/schemas/formFieldValue_Full' meta: $ref: '#/components/schemas/MetaOpen' - title: DuplicateAddressCollectionResponse example: {} type: object properties: data: type: array items: title: Address type: object properties: address1: description: The address 1 line. type: string address2: description: The address 2 line. type: string address_type: title: Address Type description: The address type. Residential or Commercial example: residential type: string enum: - residential - commercial city: description: The city of the customer address. type: string minLength: 0 maxLength: 100 company: description: The company of the customer address. type: string minLength: 0 maxLength: 255 country: description: The country name of the customer address. type: string country_code: description: The country code of the customer address. type: string minLength: 2 maxLength: 2 customer_id: description: The customer ID. type: integer format: int32 first_name: description: The first name of the customer address. type: string minLength: 1 maxLength: 255 id: description: The unique numeric ID of the address. type: integer format: int32 last_name: description: The last name of the customer address. type: string minLength: 1 maxLength: 255 phone: description: The phone number of the customer address. type: string minLength: 0 maxLength: 50 postal_code: description: The postal code of the customer address. type: string minLength: 0 maxLength: 30 state_or_province: description: The state or province name. type: string minLength: 0 maxLength: 100 form_fields: description: >- Array of form fields. Controlled by `formfields` parameter. type: array items: allOf: - $ref: '#/components/schemas/formFieldValue_Address' title: Customer Address Form Field Value meta: $ref: '#/components/schemas/MetaOpen' examples: application/json: value: address1: 123 Example Street address2: Building 4 address_type: residential city: Austin company: BigCommerce country: United States country_code: US customer_id: 1 first_name: John id: 18 last_name: Doe phone: '15551234567' postal_code: '78759' state_or_province: Texas meta: {} duplicate: value: {} CustomerAttributeValueCollectionResponse: description: '' content: application/json: schema: title: CustomerAttributeValueCollectionResponse description: Response payload for the BigCommerce API. type: object properties: data: type: array items: title: Customer Attribute Value type: object properties: attribute_id: description: Attribute ID. type: integer format: int32 attribute_value: description: >- Attribute value. This will always be a string, regardless of the attributes type. Corresponds to `value` used in customer attribute values `PUT` requests. type: string minLength: 0 maxLength: 255 id: description: Attribute value ID. type: integer format: int32 customer_id: description: Customer ID. type: integer format: int32 date_modified: description: >- The date on which the customer attribute value was modified. type: string format: date-time date_created: description: >- The date of which the customer attribute value was created. type: string format: date-time required: - attribute_id - attribute_value - customer_id meta: title: Collection Meta description: >- Data about the response, including pagination and collection totals. type: object properties: pagination: title: Pagination description: >- Data about the response, including pagination and collection totals. type: object properties: total: description: Total number of items in the result set. type: integer format: int32 count: description: Total number of items in the collection response. type: integer format: int32 per_page: description: >- The amount of items returned in the collection per page, controlled by the limit parameter. type: integer format: int32 current_page: description: The page you are currently on within the collection. type: integer format: int32 total_pages: description: The total number of pages in the collection. type: integer format: int32 links: title: Links description: >- Pagination links for the previous and next parts of the whole collection. type: object properties: previous: description: >- Link to the previous page returned in the response. type: string current: description: Link to the current page returned in the response. type: string next: description: Link to the next page returned in the response. type: string CustomerAttributesResponse: description: '' content: application/json: schema: title: CustomerAttributesResponse description: Response payload for the BigCommerce API. type: object properties: data: type: array items: title: Customer Attribute type: object properties: name: description: Attribute name. type: string minLength: 1 maxLength: 255 type: title: Type description: >- Attribute type should match one of: string, number, date. example: string type: string enum: - string - number - date id: description: Attribute ID. type: integer format: int32 date_modified: description: The date on which the customer attribute was modified. type: string format: date-time date_created: description: The date of which the customer attribute was created. type: string format: date-time required: - name - type - id meta: $ref: '#/components/schemas/MetaOpen' examples: response: value: data: - id: 1 name: Age type: string date_created: '2018-11-13T21:42:06Z' date_modified: '2018-11-14T16:46:23Z' meta: {} FormFieldValueCollectionResponse: description: '' content: application/json: schema: type: object properties: data: type: array items: oneOf: - allOf: - type: object title: Form Field Value Base required: - name - value properties: name: type: string description: The form field name. example: color value: oneOf: - type: string example: blue - type: number format: double example: 12.345 - type: array example: - red - green - black items: type: string - type: object properties: customer_id: type: integer required: - customer_id title: Customer Form Field Value - allOf: - type: object title: Form Field Value Base required: - name - value properties: name: type: string description: The form field name. example: color value: oneOf: - type: string example: blue - type: number format: double example: 12.345 - type: array example: - red - green - black items: type: string - type: object properties: address_id: type: integer description: The Customer Address ID. required: - address_id title: Customer Address Form Field Value title: 'Form Field Value ' meta: title: Collection Meta description: >- Data about the response, including pagination and collection totals. type: object properties: pagination: title: Pagination description: >- Data about the response, including pagination and collection totals. type: object properties: total: description: Total number of items in the result set. type: integer format: int32 count: description: Total number of items in the collection response. type: integer format: int32 per_page: description: >- The amount of items returned in the collection per page, controlled by the limit parameter. type: integer format: int32 current_page: description: The page you are currently on within the collection. type: integer format: int32 total_pages: description: The total number of pages in the collection. type: integer format: int32 links: title: Links description: >- Pagination links for the previous and next parts of the whole collection. type: object properties: previous: description: >- Link to the previous page returned in the response. type: string current: description: Link to the current page returned in the response. type: string next: description: Link to the next page returned in the response. type: string examples: Customer and Customer Address Form Fields example: value: data: - customer_id: 11 name: Sales Rep value: James Bond - customer_id: 11 name: How did you hear about us? value: Friend - customer_id: 11 name: What is your favorite pizza topping? value: Black olives - customer_id: 12 name: Sales Rep value: None - customer_id: 12 name: How did you hear about us? value: Friend - customer_id: 12 name: What is your favorite pizza topping? value: Mushrooms - customer_id: 13 name: Sales Rep value: Felix Leiter - customer_id: 13 name: How did you hear about us? value: Email - customer_id: 13 name: What is your favorite pizza topping? value: Green pepper - customer_id: 13 name: Occupation value: Housekeeper - address_id: 12 name: Special Delivery Instructions value: Leave the package at the front door - customer_id: 14 name: Sales Rep value: General Gogol - customer_id: 14 name: How did you hear about us? value: Friend - customer_id: 14 name: What is your favorite pizza topping? value: Extra cheese - address_id: 13 name: Special Delivery Instructions value: Put the package in the mailbox meta: pagination: count: 15 current_page: 1 per_page: 50 total: 15 total_pages: 1 Customer Form Fields example: value: data: - customer_id: 11 name: Sales Rep value: James Bond - customer_id: 11 name: How did you hear about us? value: Friend - customer_id: 11 name: What is your favorite pizza topping? value: Black olives meta: pagination: count: 3 current_page: 1 per_page: 50 total: 3 total_pages: 1 Customer Address Form Fields example: value: data: - address_id: 12 name: Special Delivery Instructions value: Leave the package at the front door meta: pagination: count: 1 current_page: 1 per_page: 50 total: 1 total_pages: 1 FormFieldValuesResponse: description: '' content: application/json: schema: type: object properties: data: type: array items: oneOf: - allOf: - type: object title: Form Field Value Base required: - name - value properties: name: type: string description: The form field name. example: color value: oneOf: - type: string example: blue - type: number format: double example: 12.345 - type: array example: - red - green - black items: type: string - type: object properties: customer_id: type: integer required: - customer_id title: Customer Form Field Value - allOf: - type: object title: Form Field Value Base required: - name - value properties: name: type: string description: The form field name. example: color value: oneOf: - type: string example: blue - type: number format: double example: 12.345 - type: array example: - red - green - black items: type: string - type: object properties: address_id: type: integer description: The Customer Address ID. required: - address_id title: Customer Address Form Field Value title: Form Field Value meta: $ref: '#/components/schemas/MetaOpen' examples: response: value: data: - customer_id: 12 name: Sales Rep value: Miss Moneypenny - customer_id: 12 name: How did you hear about us? value: Other - customer_id: 12 name: What is your favorite pizza topping? value: Mushrooms meta: {} MetafieldCollectionResponse: description: Response payload for the BigCommerce API. content: application/json: schema: type: object properties: data: type: array id: type: integer description: Unique ID of the *Metafield*. Read-Only. readOnly: true example: 0 key: type: string description: The key for the metafields. example: Staff Name value: type: string description: The description for the metafield. example: Ronaldo namespace: type: string description: | Namespace for the metafield, for organizational purposes. example: Sales Department minLength: 1 maxLength: 64 permission_set: type: string description: > Determines the visibility and writeability of the field by other API consumers. | Value | Description | | : | : | | `app_only` | Private to the app that owns the field. | | `read` | Visible to other API consumers. | | `write` | Open for reading and writing by other API consumers. | | `read_and_sf_access` | Visible to other API consumers, including on storefront. | | `write_and_sf_access` | Open for reading and writing by other API consumers, including on storefront. | enum: - app_only - read - write - read_and_sf_access - write_and_sf_access resource_type: type: string description: | The type of resource with which the metafield is associated. enum: - brand - product - variant - category - cart - channel - location - order - customer example: cart resource_id: type: integer description: > The unique identifier for the resource with which the metafield is associated. example: 0 readOnly: true description: type: string description: | Description for the metafields. example: order date_created: type: string format: date-time description: Date and time of the metafieldʼs creation. example: '2022-06-16T18:39:00+00:00' date_modified: type: string format: date-time description: Date and time when the metafield was last updated. example: '2022-06-16T18:39:00+00:00' owner_client_id: type: string description: Client ID for the metafield's creator. readOnly: true example: ramciw4fnoz87it3ynjfif2zrkil5p required: - namespace - key - value - permission_set - resource_type - resource_id - description - id - date_created - date_modified consent_Resp: description: '' content: application/json: schema: $ref: '#/components/schemas/consent_Full' securitySchemes: X-Auth-Token: name: X-Auth-Token description: >- ### OAuth scopes | UI Name | Permission | Parameter | |:--|:--|:-| | Customers | modify | `store_v2_customers` | | Customers | read-only | `store_v2_customers_read_only` | | Stored Payment Instruments | modify | `store_stored_payment_instruments` | | Stored Payment Instruments | read-only | `store_stored_payment_instruments_read_only` | ### Authentication header | Header | Argument | Description | |:-|:|:| | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#x-auth-token-header-example-requests). For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header schemas: Pagination: title: Pagination description: Data about the response, including pagination and collection totals. type: object properties: total: description: Total number of items in the result set. type: integer format: int32 count: description: Total number of items in the collection response. type: integer format: int32 per_page: description: >- The amount of items returned in the collection per page, controlled by the limit parameter. type: integer format: int32 current_page: description: The page you are currently on within the collection. type: integer format: int32 total_pages: description: The total number of pages in the collection. type: integer format: int32 links: $ref: '#/components/schemas/Links' x-internal: false _metaCollection: title: _metaCollection description: Data about the response, including pagination and collection totals. type: object properties: pagination: $ref: '#/components/schemas/Pagination' x-internal: false MetaOpen: title: Response meta type: object properties: {} additionalProperties: true description: Response metadata. ErrorResponse: title: Error Response type: object properties: status: description: The HTTP status code. type: integer format: int32 title: description: The error title describing the particular error. type: string type: description: A link to a list of BigCommerce API status codes. type: string instance: type: string errors: type: object additionalProperties: type: string x-internal: false customer_Full: title: customer_Full type: object properties: email: description: The email of the customer. Must be unique. type: string minLength: 3 maxLength: 255 first_name: description: The first name of the customer. type: string minLength: 1 maxLength: 100 last_name: description: The last name of the customer. type: string minLength: 1 maxLength: 100 company: description: The company of the customer. type: string minLength: 0 maxLength: 255 phone: description: The phone number of the customer. type: string minLength: 0 maxLength: 50 registration_ip_address: description: The IP address from which this customer was registered. type: string minLength: 0 maxLength: 30 notes: description: The customer notes. type: string tax_exempt_category: description: The tax exempt category code for the customer. type: string minLength: 0 maxLength: 255 customer_group_id: description: ID of the group which this customer belongs to. type: integer format: int32 id: description: The unique numeric ID of the customer. type: integer format: int32 date_modified: description: The date on which the customer was modified. type: string format: date-time date_created: description: The date of which the customer was created. type: string format: date-time address_count: description: Total number of customer addresses. type: integer format: int32 attribute_count: description: Total number of customer attributes. type: integer format: int32 authentication: title: Customer Authentication Base example: force_password_reset: true type: object properties: force_password_reset: description: >- If `true`, this customer will be forced to change password on next login. type: boolean addresses: description: Array of customer addresses. Limited to 10. type: array maxItems: 10 items: $ref: '#/components/schemas/address_Full' attributes: description: Array of customer attributes. Limited to 10. type: array maxItems: 10 items: $ref: '#/components/schemas/attribute_Full' form_fields: description: Array of form fields. Controlled by `formfields` parameter. type: array items: $ref: '#/components/schemas/formFieldValue_Customer' store_credit_amounts: $ref: '#/components/schemas/CustomerStoredCreditAmounts' accepts_product_review_abandoned_cart_emails: type: boolean description: >- Determines if the customer is signed up to receive either product review or abandoned cart emails or receive both emails. origin_channel_id: type: integer description: Channel ID of the customer that has created the form. channel_ids: $ref: '#/components/schemas/customerChannelIds' x-internal: false customer_Post: title: customer_Post type: object properties: email: description: The email of the customer. Must be unique. type: string minLength: 3 maxLength: 255 first_name: description: The first name of the customer. type: string minLength: 1 maxLength: 100 last_name: description: The last name of the customer. type: string minLength: 1 maxLength: 100 company: description: The company of the customer. type: string minLength: 0 maxLength: 255 phone: description: The phone number of the customer. type: string minLength: 0 maxLength: 50 notes: description: The customer notes. type: string tax_exempt_category: description: The tax exempt category code for the customer. type: string minLength: 0 maxLength: 255 customer_group_id: description: ID of the group which this customer belongs to. type: integer format: int32 addresses: description: Array of customer addresses. Limited to 10. type: array maxItems: 10 items: $ref: '#/components/schemas/customerAddresses_CustomerPost' attributes: description: Array of customer attributes. Limited to 10. type: array maxItems: 10 items: $ref: '#/components/schemas/customerAttributes_Base' authentication: $ref: '#/components/schemas/customerAuthentication_PostPut' accepts_product_review_abandoned_cart_emails: type: boolean description: >- It determines if the customer is signed up to receive either product review or abandoned cart emails or receive both emails. store_credit_amounts: $ref: '#/components/schemas/CustomerStoredCreditAmounts' origin_channel_id: type: integer description: Channel ID of the customer that has created the form. channel_ids: description: Array of channels the customer can access. type: array example: - 1 - 2 items: type: integer form_fields: type: array description: | Array of form fields. Controlled by formfields parameter. items: $ref: '#/components/schemas/formFieldValue' required: - email - first_name - last_name x-internal: false customer_Put: title: customer_Put type: object properties: email: description: The email of the customer. Must be unique. type: string minLength: 3 maxLength: 255 first_name: description: The first name of the customer. type: string minLength: 1 maxLength: 100 last_name: description: The last name of the customer. type: string minLength: 1 maxLength: 100 company: description: The company of the customer. type: string minLength: 0 maxLength: 255 phone: description: The phone number of the customer. type: string minLength: 0 maxLength: 50 registration_ip_address: description: The IP address from which this customer was registered. type: string minLength: 0 maxLength: 30 notes: description: The customer notes. type: string tax_exempt_category: description: The tax exempt category code for the customer. type: string minLength: 0 maxLength: 255 customer_group_id: description: ID of the group which this customer belongs to. type: integer format: int32 id: description: The unique numeric ID of the customer. type: integer format: int32 authentication: $ref: '#/components/schemas/customerAuthentication_PostPut' accepts_product_review_abandoned_cart_emails: type: boolean description: >- It determines if the customer is signed up to receive either product review or abandoned cart emails or receive both emails. store_credit_amounts: $ref: '#/components/schemas/CustomerStoredCreditAmounts' origin_channel_id: type: integer description: Channel ID of the customer that has created the form. channel_ids: description: Arrays of channels the customer can access. type: array items: type: integer form_fields: type: array description: | Array of form fields. Controlled by formfields parameter. items: $ref: '#/components/schemas/formFieldValue' required: - id x-internal: false attributeValue_Base: title: attributeValue_Base type: object properties: id: description: Attribute value ID. type: integer format: int32 attribute_id: description: Attribute ID. type: integer format: int32 value: description: >- Attribute value. This will always be a string, regardless of the attributeʼs type. Corresponds to `attribute_value` used in customer attribute values `GET` requests. type: string minLength: 0 maxLength: 255 example: string customer_id: type: integer description: Customer ID. format: int32 example: 8504 required: - attribute_id - value - customer_id x-internal: false attribute_Full: description: '' type: object x-examples: Example: attribute_id: 2 attribute_value: 'Yes' customer_id: 1 date_created: '2021-07-28T19:00:38Z' date_modified: '2021-07-28T19:00:38Z' id: 2 properties: attribute_id: type: integer description: Attribute ID. format: int32 example: 2 attribute_value: type: string minLength: 1 description: Attribute value. example: 'Yes' customer_id: type: integer description: Customer ID. example: 1 format: int32 date_created: type: string minLength: 1 description: The date the customer attribute was created. format: date-time date_modified: type: string minLength: 1 description: The date the customer attribute was modified. format: date-time id: type: integer description: Attribute value ID. format: int32 example: 2 x-internal: false attribute_Put: title: attribute_Put type: object properties: name: description: Attribute name. type: string minLength: 1 maxLength: 255 id: description: Attribute ID. type: integer format: int32 required: - name - id description: >- Once the data type is set, it can not be changed. The attribute will need to be deleted then created again with the new data type. This will also delete it from the customer. x-internal: false attribute_Post: title: attribute_Post example: name: attribute_string 01 type: string type: object properties: name: description: Attribute name. type: string minLength: 1 maxLength: 255 type: title: Type description: 'Attribute type should match one of: string, number, date.' example: string type: string enum: - string - number - date required: - name - type x-internal: false address_Full: title: address_Full type: object properties: first_name: description: The first name of the customer address. type: string minLength: 1 maxLength: 255 last_name: description: The last name of the customer address. type: string minLength: 1 maxLength: 255 company: description: The company of the customer address. type: string minLength: 0 maxLength: 255 address1: description: The address 1 line. type: string address2: description: The address 2 line. type: string city: description: The city of the customer address. type: string minLength: 0 maxLength: 100 state_or_province: description: The state or province name. type: string minLength: 0 maxLength: 100 postal_code: description: The postal code of the customer address. type: string minLength: 0 maxLength: 30 country_code: description: The country code of the customer address. type: string minLength: 2 maxLength: 2 phone: description: The phone number of the customer address. type: string minLength: 0 maxLength: 50 address_type: title: Address Type description: The address type. Residential or Commercial. example: residential type: string enum: - residential - commercial customer_id: description: The customer ID. type: integer format: int32 id: description: The unique numeric ID of the address. type: integer format: int32 country: description: The country name of the customer address. type: string form_fields: description: Array of form fields. Controlled by `formfields` parameter. type: array items: allOf: - $ref: '#/components/schemas/formFieldValue' title: Customer Address Form Field Value required: - first_name - last_name - address1 - city - state_or_province - postal_code - country_code - customer_id - id x-internal: false address_Put: title: address_Put type: object properties: first_name: description: The first name of the customer address. type: string minLength: 1 maxLength: 255 last_name: description: The last name of the customer address. type: string minLength: 1 maxLength: 255 company: description: The company of the customer address. type: string minLength: 0 maxLength: 255 address1: description: The address 1 line. type: string address2: description: The address 2 line. type: string city: description: The city of the customer address. type: string minLength: 0 maxLength: 100 state_or_province: description: The state or province name. type: string minLength: 0 maxLength: 100 example: California postal_code: description: The postal code of the customer address. type: string minLength: 0 maxLength: 30 country_code: description: The country code of the customer address. type: string minLength: 2 maxLength: 2 example: US phone: description: The phone number of the customer address. type: string minLength: 0 maxLength: 50 address_type: title: Address Type description: The address type. Residential or Commercial. example: residential type: string enum: - residential - commercial id: description: The unique numeric ID of the address. type: integer format: int32 example: 1 form_fields: type: array description: | Array of form fields. Controlled by formfields parameter. items: $ref: '#/components/schemas/formFieldValue' required: - id x-examples: example-1: value: - id: 18 first_name: sam x-internal: false address_Post: title: address_Post type: object properties: first_name: type: string description: The first name of the customer address. minLength: 1 maxLength: 255 example: John last_name: type: string description: The last name of the customer address. minLength: 1 maxLength: 255 example: Doe company: type: string description: The company of the customer address. minLength: 0 maxLength: 255 example: BigCommerce address1: type: string description: The address 1 line. example: 123 Example Street address2: type: string description: The address 2 line. example: Building 4 city: type: string description: The city of the customer address. minLength: 0 maxLength: 100 example: Austin state_or_province: type: string description: >- The state or province name spelled out in full. It is required for countries that need a state/province to complete an address. State or province codes not accepted. example: Texas minLength: 0 maxLength: 100 postal_code: type: string description: >- The postal code of the customer address. It is required for countries that need postal codes to complete an address. minLength: 0 maxLength: 30 example: '78759' country_code: type: string description: The country code of the customer address. example: US minLength: 2 maxLength: 2 phone: type: string description: The phone number of the customer address. minLength: 0 maxLength: 50 example: '15551234567' address_type: title: Address Type description: The address type. Residential or Commercial. example: residential type: string enum: - residential - commercial customer_id: description: The customer ID. type: integer format: int32 example: 1 form_fields: type: array description: | The address custom form field values items: $ref: '#/components/schemas/formFieldValue' required: - first_name - last_name - address1 - city - country_code - customer_id x-examples: Example: value: first_name: John last_name: Doe company: BigCommerce address1: 123 Example Street address2: Building 4 city: Austin state_or_province: Texas postal_code: '78759' country_code: US phone: '15551234567' address_type: residential customer_id: 1 x-internal: false customerAddresses_Base: title: customerAddresses_Base example: address1: Addr 1 address2: '' address_type: residential city: San Francisco company: History country_code: US first_name: Ronald last_name: Swimmer phone: '707070707' postal_code: '33333' state_or_province: California type: object properties: first_name: description: The first name of the customer address. type: string minLength: 1 maxLength: 255 last_name: description: The last name of the customer address. type: string minLength: 1 maxLength: 255 company: description: The company of the customer address. type: string minLength: 0 maxLength: 255 address1: description: The address 1 line. type: string address2: description: The address 2 line. type: string city: description: The city of the customer address. type: string minLength: 0 maxLength: 100 state_or_province: description: >- The state or province name. It is required for countries that need a state/province to complete an address. type: string minLength: 0 maxLength: 100 postal_code: description: >- The postal code of the customer address. It is required for countries that need postal codes to complete an address. type: string minLength: 0 maxLength: 30 country_code: description: The country code of the customer address. type: string minLength: 2 maxLength: 2 phone: description: The phone number of the customer address. type: string minLength: 0 maxLength: 50 address_type: title: Address Type description: The address type. Residential or Commercial. example: residential type: string enum: - residential - commercial required: - first_name - last_name - address1 - city - country_code description: The `address` object for the `customer` objectʼs `addresses` array. x-internal: false customerAddresses_CustomerPost: title: customerAddresses_CustomerPost example: address1: Addr 1 address2: '' address_type: residential city: San Francisco company: History country_code: US first_name: Ronald last_name: Swimmer phone: '707070707' postal_code: '33333' state_or_province: California form_fields: - name: test value: test type: object properties: first_name: description: The first name associated with the customer address. type: string minLength: 1 maxLength: 255 last_name: description: The last name of the customer address. type: string minLength: 1 maxLength: 255 company: description: The company of the customer address. type: string minLength: 0 maxLength: 255 address1: description: The address 1 line. type: string address2: description: The address 2 line. type: string city: description: The city of the customer address. type: string minLength: 0 maxLength: 100 state_or_province: description: >- The state or province name. Required for countries in which valid addresses must contain a state/province. type: string minLength: 0 maxLength: 100 postal_code: description: >- The postal code of the customer address. Required for countries in which valid addresses must have postal codes. type: string minLength: 0 maxLength: 30 country_code: description: The country code of the customer address. type: string minLength: 2 maxLength: 2 phone: description: The phone number of the customer address. type: string minLength: 0 maxLength: 50 address_type: title: Address Type description: The address type. Residential or Commercial. example: residential type: string enum: - residential - commercial form_fields: description: Array of form fields. Controlled by `formfields` parameter. type: array items: allOf: - $ref: '#/components/schemas/formFieldValue' title: Customer Address Form Field Value required: - first_name - last_name - address1 - city - country_code description: The `address` object for the `customer` objectʼs `addresses` array. x-internal: false customerAuthentication_PostPut: title: customerAuthentication_PostPut allOf: - properties: force_password_reset: description: >- If `true`, this customer will be forced to change password on next login. type: boolean - properties: new_password: description: New password for customer. Write only field. type: string type: object x-internal: false Links: title: Links description: >- Pagination links for the previous and next parts of the whole collection. type: object properties: previous: description: Link to the previous page returned in the response. type: string current: description: Link to the current page returned in the response. type: string next: description: Link to the next page returned in the response. type: string formFieldValue: title: Generic Form Field Value type: object required: - name - value properties: name: type: string description: The form field name. example: color value: oneOf: - type: string example: blue - type: number format: double example: 12.345 - type: array example: - red - green - black items: type: string formFieldValue_Customer: title: Customer Form Field Value type: object required: - customer_id - name - value properties: name: type: string description: The form field name. example: color value: oneOf: - type: string example: blue - type: number format: double example: 12.345 - type: array example: - red - green - black items: type: string customer_id: type: integer formFieldValue_Address: title: Customer Address Form Field Value type: object required: - address_id - name - value properties: name: type: string description: The form field name. example: color value: oneOf: - type: string example: blue - type: number format: double example: 12.345 - type: array example: - red - green - black items: type: string address_id: type: integer description: The Customer Address ID. example: 1 x-internal: false formFieldValue_Full: oneOf: - $ref: '#/components/schemas/formFieldValue_Customer' - $ref: '#/components/schemas/formFieldValue_Address' title: formFieldValue_Full x-internal: false consent_Full: title: consent_Full description: Response payload for the BigCommerce API. type: object properties: allow: $ref: '#/components/schemas/consentAllow' deny: $ref: '#/components/schemas/Deny' updated_at: description: The date of which the customer consent was last updated. type: string format: date-time x-internal: false consentAllow: title: consentAllow type: array uniqueItems: true minItems: 0 example: - essential - targeting - functional items: type: string enum: - essential - functional - analytics - targeting x-internal: false Deny: title: Deny type: array uniqueItems: true minItems: 0 example: - analytics items: type: string enum: - essential - functional - analytics - targeting x-internal: false DeclareCustomerConsentRequest: title: DeclareCustomerConsentRequest description: Request payload for the BigCommerce API. type: object properties: allow: $ref: '#/components/schemas/consentAllow' deny: $ref: '#/components/schemas/Deny' x-internal: false customerAttributes_Base: description: '' title: customerAttributes_Base type: object properties: attribute_id: type: integer format: int32 example: 55 description: Attribute ID. attribute_value: type: string example: string minLength: 0 maxLength: 255 description: >- Attribute value. This will always be a string, regardless of the attribute’s type. x-internal: false customerChannelIds: type: array title: customerChannelIds description: Array of channel ids the Customer has access to. items: example: - 1 - 2 x-internal: false CardInstrument: type: object title: Card Instrument properties: type: type: string description: Type of instrument. enum: - stored_card token: type: string description: An identifier representing this stored instrument. example: 84596bea275fa254da820056bdc3e495bdf01fd11c51b0336347d447ee16200c is_default: type: boolean description: >- Identifies whether this stored instrument is default for the customer. brand: type: string description: Card brand. example: VISA expiry_month: maximum: 12 minimum: 1 type: integer description: Expiry month for this card. expiry_year: type: integer description: Expiry year for this card. issuer_identification_number: type: string description: Issuer identification number for this card. example: '411111' last_4: type: string description: Last four digits of this card. example: '1111' billing_address: $ref: '#/components/schemas/BillingAddress' description: >- Details about a stored card instrument which includes details around billing, last 4 digits, issuer, etc. x-internal: false PayPalAccountInstrument: type: object title: PayPal Account Instrument properties: type: type: string description: Instrument type. enum: - stored_paypal_account token: type: string description: An identifier representing this stored instrument. example: 84596bea275fa254da820056bdc3e495bdf01fd11c51b0336347d447ee16200c is_default: type: boolean description: >- Identifies whether this stored instrument is default for the customer. email: type: string description: PayPal email address. example: bc-buyer-paypal-express@example.com description: A PayPal account stored instrument. x-internal: false BankAccountInstrument: type: object title: Bank Account Instrument properties: type: type: string description: Instrument type. enum: - stored_bank_account token: type: string description: An identifier representing this stored instrument. example: 84596bea275fa254da820056bdc3e495bdf01fd11c51b0336347d447ee16200c is_default: type: boolean description: >- Identifies whether this stored instrument is default for the customer. masked_account_number: type: string description: A masked bank account number. example: 12XXX56 issuer: type: string description: Issuer identifier for the account. example: DE001 description: A stored bank account instrument. x-internal: false BillingAddress: type: object properties: first_name: type: string description: First name of the card holder. example: Tester last_name: type: string description: Last name of the card holder. example: Tester email: type: string example: example@example.com company: type: string description: Company of the card holder. example: Test Company address1: type: string example: 1 Sample Street address2: type: string example: Apt 1 city: type: string example: Las Vegas postal_code: type: string example: '90854' state_or_province: type: string description: Represents state or province. example: Nevada state_or_province_code: type: string example: NV country_code: type: string description: ISO-3166-1 2 letter country code. example: US phone: type: string example: 101-192-0293 x-internal: false CustomerStoredCreditAmounts: description: 'Store credit. ' type: array format: double items: type: object properties: amount: type: number format: float example: 43.15 x-internal: false CustomerSettingsObject: title: CustomerSettingsObject type: object description: Customer Settings. properties: privacy_settings: type: object description: Controls the privacy settings. properties: ask_shopper_for_tracking_consent: type: boolean description: Determines if a customer requires consent for tracking privacy. policy_url: type: string example: https://bigcommmerce.com/policy description: The URL for a websiteʼs privacy policy. customer_group_settings: type: object description: The settings for a collection of customers. properties: guest_customer_group_id: type: integer example: 0 description: The ID for a guest customer group. default_customer_group_id: type: integer example: 0 description: The ID for a default customer group. x-examples: example-1: value: privacy_settings: ask_shopper_for_tracking_consent: true policy_url: https://bigcommmerce.com/policy customer_group_settings: guest_customer_group_id: 0 default_customer_group_id: 0 x-internal: false CustomerChannelSettingsObject: title: CustomerChannelSettingsObject type: object properties: privacy_settings: type: object description: Controls the privacy settings. properties: ask_shopper_for_tracking_consent: type: boolean description: Determines if a customer requires consent for tracking privacy. policy_url: type: string example: https://bigcommmerce.com/policy description: The URL for a websiteʼs privacy policy. customer_group_settings: type: object description: The settings for a collection of customers. properties: guest_customer_group_id: type: integer example: 0 description: The ID for a guest customer group. default_customer_group_id: type: integer example: 0 description: The ID for a default customer group. allow_global_logins: type: boolean description: >- * Determines if a channel allows global customer to login * Determines if customers created on this channel will get global access/login x-examples: example-1: value: privacy_settings: ask_shopper_for_tracking_consent: true policy_url: https://bigcommmerce.com/policy customer_group_settings: guest_customer_group_id: 0 default_customer_group_id: 0 allow_global_logins: true x-internal: false ValidateCustomerCredentialsObject: title: ValidateCustomerCredentialsObject type: object required: - email - password properties: email: type: string description: Customer email address. password: type: string description: Customer password. channel_id: type: integer description: >- ChannelId to check the customer credentials against - If this field is empty we will use channel 1. x-internal: false ValidateCustomerCredentialsResponseObject: title: ValidateCustomerCredentialsResponseObject type: object properties: customer_id: type: integer nullable: true description: Returns the customer ID. is_valid: type: boolean description: indicates if the provided credentials are valid. x-internal: false Metafield: type: object description: | Common metafield properties. properties: permission_set: type: string description: > Determines the visibility and writeability of the field by other API consumers. | Value | Description | | : | : | | `app_only` | Private to the app that owns the field. | | `read` | Visible to other API consumers. | | `write` | Open for reading and writing by other API consumers. | | `read_and_sf_access` | Visible to other API consumers, including on storefront. | | `write_and_sf_access` | Open for reading and writing by other API consumers, including on storefront. | enum: - app_only - read - write - read_and_sf_access - write_and_sf_access namespace: type: string description: | Namespace for the metafield, for organizational purposes. example: Sales Department minLength: 1 maxLength: 64 key: type: string description: | The name of the field, for example: `location_id`, `color`. minLength: 1 maxLength: 64 example: Staff Name value: type: string description: | The value of the field, for example: `1`, `blue`. minLength: 1 maxLength: 65535 example: Ronaldo description: type: string description: | Description for the metafields. example: order minLength: 0 maxLength: 255 resource_type: type: string description: | The type of resource with which the metafield is associated. enum: - brand - product - variant - category - cart - channel - location - order - customer example: cart resource_id: type: integer description: > The unique identifier for the resource with which the metafield is associated. example: 424242 readOnly: true id: type: integer description: The unique identifier for the metafield. date_created: type: string format: date-time description: Date and time of the metafieldʼs creation. example: '2022-06-16T18:39:00+00:00' date_modified: type: string format: date-time description: Date and time when the metafield was last updated. example: '2022-06-16T18:39:00+00:00' owner_client_id: type: string description: Client ID for the metafieldʼs creator. example: ramciw4fnoz87it3ynjfif2zrkil5p readOnly: true required: - namespace - key - value - permission_set - resource_type - resource_id - description - id - date_created - date_modified x-interal: false MetaFieldCollectionResponse: type: object description: | Response payload for the BigCommerce API. properties: data: type: array items: $ref: '#/components/schemas/Metafield' x-internal: false MetaFieldCollectionPostPutResponses: type: object description: Response payload for the BigCommerce API. properties: data: type: array items: $ref: '#/components/schemas/Metafield' errors: type: array description: Empty for 200 responses. example: [] meta: $ref: '#/components/schemas/CollectionMeta' MetaFieldCollectionResponsePartialSuccess_POST_PUT: type: object description: | Response payload for the BigCommerce API. properties: data: type: array items: $ref: '#/components/schemas/Metafield' errors: type: array items: $ref: '#/components/schemas/Error' meta: $ref: '#/components/schemas/WriteCollectionPartialSuccessMeta' MetaFieldCollectionResponsePartialSuccess_DELETE: type: object description: | Response payload for the BigCommerce API. properties: data: type: array items: type: integer description: | The unique identifier for the metafield. example: - 123 errors: type: array items: $ref: '#/components/schemas/Error' meta: $ref: '#/components/schemas/WriteCollectionPartialSuccessMeta' x-internal: false MetaFieldCollectionDeleteResponseSuccess: type: object description: | Response payload for the BigCommerce API. properties: data: type: array items: type: integer description: | The unique identifier for the metafield. example: - 123 - 124 - 125 errors: type: array description: Empty for 200 responses. example: [] meta: $ref: '#/components/schemas/WriteCollectionSuccessMeta' x-internal: false WriteCollectionPartialSuccessMeta: type: object description: Additional data about the response. properties: total: type: integer description: | Total number of items in the result set. example: 3 success: type: integer description: | Total number of items that were successfully deleted. example: 1 failed: type: integer description: | Total number of items that failed to be deleted. example: 2 title: Collection Meta x-internal: false WriteCollectionSuccessMeta: type: object description: Additional data about the response. properties: total: type: integer description: | Total number of items in the result set. example: 3 success: type: integer description: | Total number of items that were successfully deleted. example: 3 failed: type: integer description: | Total number of items that failed to be deleted. example: 0 title: Collection Meta x-internal: false Total: type: integer description: | Total number of items in the result set. example: 3 Success: type: integer description: | Total number of items that were successfully deleted. example: 1 Failed: type: integer description: | Total number of items that failed to be deleted. example: 2 Error: type: object description: | Error response payload for the BigCommerce API. properties: status: type: integer description: | The HTTP status code for the error. example: 422 title: type: string description: | The error title. example: Bulk operation has failed type: type: string description: | The error type. example: >- https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes errors: $ref: '#/components/schemas/ErrorDetail' ErrorDetail: type: object description: | Error detail response payload for the BigCommerce API. example: '1': Unauthorized to delete '2': Metafield does not exist CollectionMeta: type: object description: Data about the response, including pagination and collection totals. properties: pagination: type: object description: Data about the response, including pagination and collection totals. title: Pagination properties: total: type: integer description: | Total number of items in the result set. example: 36 count: type: integer description: | Total number of items in the collection response. example: 36 per_page: type: integer description: > The amount of items returned in the collection per page, controlled by the limit parameter. example: 50 current_page: type: integer description: | The page you are currently on within the collection. example: 1 total_pages: type: integer description: | The total number of pages in the collection. example: 1 links: type: object description: > Pagination links for the previous and next parts of the whole collection. properties: previous: type: string description: | Link to the previous page returned in the response. current: type: string description: | Link to the current page returned in the response. example: '?page=1&limit=50' next: type: string description: | Link to the next page returned in the response. additionalProperties: true title: Collection Meta x-internal: false MetafieldBase_Post: type: object description: | Common Metafield properties. x-internal: false properties: permission_set: type: string description: > Determines the visibility and writeability of the field by other API consumers. | Value | Description | | : | : | | `app_only` | Private to the app that owns the field. | | `read` | Visible to other API consumers. | | `write` | Open for reading and writing by other API consumers. | | `read_and_sf_access` | Visible to other API consumers, including on the storefront. | | `write_and_sf_access` | Open for reading and writing by other API consumers, including on the storefront. | enum: - app_only - read - write - read_and_sf_access - write_and_sf_access namespace: type: string description: | Namespace for the metafield, for organizational purposes. example: Sales Department minLength: 1 maxLength: 64 key: type: string description: | The name of the field, for example: `location_id`, `color`. minLength: 1 maxLength: 64 example: Staff Name value: type: string description: | The value of the field, for example: `1`, `blue`. minLength: 1 maxLength: 65535 example: Ronaldo description: type: string description: | Description for the metafields. minLength: 0 maxLength: 255 example: Name of Staff Member required: - permission_set - namespace - key - value MetafieldBase_Put: type: object description: | Common Metafield properties. x-internal: false properties: permission_set: type: string description: > Determines the visibility and writeability of the field by other API consumers. | Value | Description | | : | : | | `app_only` | Private to the app that owns the field. | | `read` | Visible to other API consumers. | | `write` | Open for reading and writing by other API consumers. | | `read_and_sf_access` | Visible to other API consumers, including on the storefront. | | `write_and_sf_access` | Open for reading and writing by other API consumers, including on the storefront. | enum: - app_only - read - write - read_and_sf_access - write_and_sf_access namespace: type: string description: | Namespace for the metafield, for organizational purposes. example: Sales Department minLength: 1 maxLength: 64 key: type: string description: | The name of the field, for example: `location_id`, `color`. minLength: 1 maxLength: 64 example: Staff Name value: type: string description: | The value of the field, for example: `1`, `blue`. minLength: 1 maxLength: 65535 example: Ronaldo description: type: string description: | Description for the metafields. minLength: 0 maxLength: 255 example: Name of Staff Member metafield_Full: title: metafield_Full allOf: - type: object properties: id: type: integer description: Unique ID of the *Metafield*. Read-Only. readOnly: true example: 6 - $ref: '#/components/schemas/metafield_Base' - type: object properties: resource_type: type: string description: | The type of resource with which the metafield is associated. example: customer enum: - category - brand - product - variant - customer x-required: - post resource_id: maximum: 10000000000 minimum: 0 type: integer description: | The ID of the resource with which the metafield is associated. example: 111 x-required: - post date_created: type: string description: | Date and time of the metafieldʼs creation. Read-Only. readOnly: true format: date-time example: '2018-05-07T20:14:17+00:00' date_modified: type: string description: | Date and time when the metafield was last updated. Read-Only. readOnly: true format: date-time example: '2018-05-07T20:14:17+00:00' x-internal: false metafield_Base: title: metafield_Base type: object description: >- Metafield for products, categories, variants, and brands; the max number of metafields allowed on each is 50. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center. x-internal: false properties: key: maxLength: 64 minLength: 1 type: string description: > The name of the field, for example: `location_id`, `color`. Required for POST. example: Location x-required: - post value: maxLength: 65535 minLength: 1 type: string description: | The value of the field, for example: `1`, `blue`. Required for POST. example: 4HG x-required: - post namespace: maxLength: 64 minLength: 1 type: string description: > Namespace for the metafield, for organizational purposes. This is set by the developer. Required for POST. example: Warehouse Locations x-required: - post permission_set: type: string description: >- Determines the visibility and writeability of the field by other API consumers. |Value|Description |-|-| |`app_only`|Private to the app that owns the field| |`read`|Visible to other API consumers| |`write`|Open for reading and writing by other API consumers| |`read_and_sf_access`|Visible to other API consumers, including on storefront| |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront| enum: - app_only - read - write - read_and_sf_access - write_and_sf_access description: maxLength: 255 minLength: 0 type: string description: | Description for the metafields. example: Location in the warehouse required: - permission_set - namespace - key - value metaEmpty_Full: type: object title: Response meta properties: {} additionalProperties: true description: Response metadata. metaCollection_Full: title: metaCollection_Full type: object properties: pagination: $ref: '#/components/schemas/pagination_Full' description: Data about the response, including pagination and collection totals. x-internal: false pagination_Full: title: pagination_Full type: object properties: total: type: integer description: | Total number of items in the result set. example: 36 count: type: integer description: | Total number of items in the collection response. example: 36 per_page: type: integer description: > The amount of items returned in the collection per page, controlled by the limit parameter. example: 50 current_page: type: integer description: | The page you are currently on within the collection. example: 1 total_pages: type: integer description: | The total number of pages in the collection. example: 1 links: type: object properties: previous: type: string description: | Link to the previous page returned in the response. current: type: string description: | Link to the current page returned in the response. example: '?page=1&limit=50' next: type: string description: | Link to the next page returned in the response. description: > Pagination links for the previous and next parts of the whole collection. description: Data about the response, including pagination and collection totals. x-internal: false