openapi: 3.0.0
info:
  title: Checkout Admin
  version: '2.0'
  description: |-
    Use the Checkout Admin API to configure store-level settings. This includes the ability to configure overrides.

    Refer to the <a href="https://developer.boldcommerce.com/changelog/tags/checkout-admin">changelog</a> for the latest updates to this API.
  termsOfService: https://boldcommerce.com/terms-of-service
  contact:
    name: Contact Us
    url: https://developer-dashboard.boldcommerce.com/default/contactus
servers:
  - url: https://api.boldcommerce.com
security:
  - OAuthToken: []
  - APIAccessToken: []
tags:
  - name: Cross Origin Resource Sharing (CORS)
    description: Contains information about the domains that can access the Bold Checkout APIs. Use these endpoints to manage the approved domains.
  - name: External Payment Gateways
    description: Contains information about an external payment gateway that can be integrated into a store's checkout experience. Use these endpoints to manipulate the external payment gateways for a store.
  - name: Gift Cards
    description: Contains information about Gift Cards on a given store. Use this endpoint to get all data associated with a Gift Card for a store.
  - name: Integrations
    description: Contains a shared secret, which is used to configure the webhooks that your integration uses.
  - name: Lightweight Frontend Experience (LiFE) Elements
    description: Contains information about the Checkout Lightweight Frontend Experience (LiFE) Elements, which enable you to add custom elements into your checkout experience. Use these endpoints to add, edit, and delete elements.
  - name: Overrides
    description: Contains information about the API overrides on a given store, such as the override type, redirect URL, and shared secret. Use these endpoints to manipulate overrides for a store.
  - name: Payment CSS
    description: Contains information about the CSS used to style the [Secure Payments Interface (SPI)](/guides/checkout/resources/glossary#secure-payments-interface-spi). Use these endpoints to manipulate the SPI iFrame for all orders on a store.
  - name: Remote State Authority
    description: Contains information about the Remote State Authority on a given store, such as the URL and shared secret. Use these endpoints to manipulate configuration details for the Remote State Authority for a store. Refer to [Create a Checkout Remote State Authority](/default/guides/platform-connector/rsa/create-checkout-rsa) for more information.
  - name: Saved Payment Methods
    description: Contains information about customers' payment methods. Use these endpoints to retrieve or modify saved payment methods.
  - name: Shops
    description: Contains information about the store's checkout configuration, which is set in the [Bold Checkout admin](https://apps.boldapps.net/accounts/app/4).
  - name: Tax Zone Settings
    description: Contains information about tax providers for individual tax zones.
  - name: Warehouses
    description: Contains information about the warehouses for a given store. This information is required to retrieve shipping rates and calculate taxes.
  - name: Webhooks
    description: Contains information about the webhooks registered on a given store. Use these endpoints to manipulate the webhooks registered on your store.
  - name: Zones
    description: |
      Contains information about the [zones](/guides/checkout/resources/glossary#zone) for a given store. Use these endpoints to manipulate the [shipping zones](/guides/checkout/resources/glossary#shipping-zone), [tax zones](/guides/checkout/resources/glossary#tax-zone), and [warehouse zones](/guides/checkout/resources/glossary#warehouse-zone) for a store.

      > **Tip:** Some operations in Checkout require at least one zone to be created. If you have no interest in specific regions, you can use a [default zone](/guides/checkout/resources/glossary#default-zone) instead.
externalDocs:
  description: For more information about Checkout, refer to the Overview.
  url: https://developer.boldcommerce.com/guides/checkout
paths:
  /checkout/shop/{shop_identifier}/cors:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
    post:
      summary: Add Domain to CORS Allowlist
      operationId: AddDomainCORSAllowlist
      tags:
        - Cross Origin Resource Sharing (CORS)
      description: |-
        Adds a domain to the list of domains with permission to call the Bold Checkout APIs.

        Use this endpoint if you are self-hosting your checkout. This endpoint is also required to enable self-hosted development stores to call the Bold Checkout APIs.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                domain:
                  $ref: '#/components/schemas/CORSDomain'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/CORSDomainList'
              examples:
                CORSDomains:
                  $ref: '#/components/examples/CORSDomainsExample'
        '500':
          $ref: '#/components/responses/UnknownError'
    get:
      summary: Get CORS Allowlist
      operationId: GetCORSAllowlist
      tags:
        - Cross Origin Resource Sharing (CORS)
      description: Retrieves the list of domains with permission to call the Bold Checkout APIs.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    description: The list of domains on the CORS allowlist.
                    properties:
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/CORSDomainList'
                  - type: object
                    description: An empty object, indicating that there are no domains in the CORS allowlist.
                    properties:
                      data:
                        type: object
                        maxProperties: 0
              examples:
                CORSDomains:
                  $ref: '#/components/examples/CORSDomainsExample'
                NoCORSDomains:
                  value:
                    data: {}
        '500':
          $ref: '#/components/responses/UnknownError'
  /checkout/shop/{shop_identifier}/cors/{domain_id}:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
      - $ref: '#/components/parameters/domain_id'
    delete:
      summary: Delete Domain from CORS Allowlist
      operationId: DeleteDomainFromCORSAllowlist
      tags:
        - Cross Origin Resource Sharing (CORS)
      description: Deletes a domain from the list of domains with permission to call the Bold Checkout APIs. Specify the domain to be deleted using the `domain_id` in the request route.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                maxLength: 0
                items: {}
        '404':
          description: Domain ID does not exist
          content:
            application/json:
              schema:
                type: array
                maxLength: 0
                items: {}
  /checkout/shop/{shop_identifier}/life_elements:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
    post:
      summary: Create Element
      operationId: CreateElement
      tags:
        - Lightweight Frontend Experience (LiFE) Elements
      description: Adds a LiFE element to the store's checkout at a specific location. For more information about the locations and where they are, refer to the [Checkout LiFE guide](/guides/checkout/life).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LiFE_element'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      life_elements:
                        $ref: '#/components/schemas/LiFE_element'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                NameFieldIsRequired:
                  value:
                    errors:
                      - code: 02-94
                        type: life_element.invalid_life_element_data
                        message: The meta_data_field is required.
                        details: {}
    get:
      summary: List Elements
      operationId: ListElements
      tags:
        - Lightweight Frontend Experience (LiFE) Elements
      description: Lists the LiFE elements that are associated with a given store's checkout.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      life_elements:
                        type: array
                        uniqueItems: true
                        items:
                          $ref: '#/components/schemas/LiFE_element'
  /checkout/shop/{shop_identifier}/life_elements/{public_element_id}:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
      - $ref: '#/components/parameters/public_element_id'
    patch:
      summary: Update Element
      operationId: UpdateElement
      tags:
        - Lightweight Frontend Experience (LiFE) Elements
      description: Updates a LiFE element that already exists on a store's checkout. You can edit any of the element's attributes using this endpoint.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      life_elements:
                        $ref: '#/components/schemas/LiFE_element'
        '422':
          description: Unprocessable request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                LifeElementNotFound:
                  value:
                    errors:
                      - code: 02-94
                        type: life_element.life_element_not_configured
                        message: LiFE element with the given `public_id` not found.
                        details: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LiFE_element'
    delete:
      summary: Delete Element
      operationId: DeleteElement
      description: Removes a LiFE element from a store's checkout.
      tags:
        - Lightweight Frontend Experience (LiFE) Elements
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
        '422':
          description: Unprocessable request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                LifeElementNotFound:
                  value:
                    errors:
                      - code: 02-91
                        type: life_element.life_element_not_configured
                        message: LiFE element with the given `public_id` not found.
                        details: {}
  /checkout/shop/{shop_identifier}/external_payment_gateways:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
    post:
      summary: Create External Payment Gateway
      operationId: CreateExternalPaymentGateway
      tags:
        - External Payment Gateways
      description: Adds an external payment gateway to a store.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      external_payment_gateway:
                        $ref: '#/components/schemas/ExternalPaymentGateway'
              examples:
                example-1:
                  value:
                    data:
                      external_payment_gateway:
                        public_id: VfYRxzOjRkwG6B2xWbxhPQ
                        name: External Payment Gateway
                        base_url: www.example.com/payments
                        iframe_url: www.example.com/gateway
                        api_token: XjqnSQWYAZXt
                        partial_capture: true
                        additional_order_details: true
                        provider_id: 8ad85ccf-7fd6-4f4b-a1a2-dff42fb3e228
                        currency: CAD
                        location: payment_method_below
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                NameFieldIsRequired:
                  value:
                    errors:
                      - code: 02-91
                        type: external_payment_gateway.invalid_external_payment_gateway_data
                        message: The name field is required.
                        details: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalPaymentGateway'
            examples:
              example-1:
                value:
                  name: External Payment Gateway
                  base_url: www.example.com/payments
                  iframe_url: www.example.com/gateway
                  api_token: XjqnSQWYAZXt
                  partial_capture: true
                  additional_order_details: true
                  provider_id: 8ad85ccf-7fd6-4f4b-a1a2-dff42fb3e228
                  currency: CAD
                  http_headers:
                    - key: foo
                      value: bar
                  location: payment_method_below
    get:
      summary: List External Payment Gateways
      operationId: ListExternalPaymentGateways
      tags:
        - External Payment Gateways
      description: Lists external payment gateways for a given store.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      external_payment_gateways:
                        type: array
                        uniqueItems: true
                        items:
                          $ref: '#/components/schemas/ExternalPaymentGateway'
              examples:
                example-1:
                  value:
                    data:
                      external_payment_gateways:
                        - public_id: SqCAft3jGmwDVK8aQbhi2R
                          name: First External Payment Gateway
                          base_url: www.example-1.com/payments
                          iframe_url: www.example-1.com/gateway
                          api_token: XjqnSQWYAZXt
                          partial_capture: true
                          additional_order_details: true
                          provider_id: 5dgg27kce-2jd7-1h8v-j2f5-xsgn2di9s764
                          currency: CAD
                          location: payment_method_below
                          http_headers:
                            - key: foo
                              value: bar
                        - public_id: VfYRxzOjRkwG6B2xWbxhPQ
                          name: Second External Payment Gateway
                          base_url: www.example-2.com/payments
                          iframe_url: www.example-2.com/gateway
                          api_token: PjqnSQWYAZXz
                          partial_capture: true
                          additional_order_details: true
                          provider_id: 8ad85ccf-7fd6-4f4b-a1a2-dff42fb3e228
                          currency: CAD
                          location: payment_method_below
                          http_headers: null
  /checkout/shop/{shop_identifier}/external_payment_gateways/{public_gateway_id}:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
      - $ref: '#/components/parameters/public_gateway_id'
    patch:
      summary: Update External Payment Gateway
      operationId: UpdateExternalPaymentGateway
      tags:
        - External Payment Gateways
      description: Updates an external payment gateway on a store.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      external_payment_gateway:
                        $ref: '#/components/schemas/ExternalPaymentGateway'
              examples:
                example-1:
                  value:
                    data:
                      external_payment_gateway:
                        public_id: VfYRxzOjRkwG6B2xWbxhPQ
                        name: External Payment Gateway
                        base_url: www.example.com/payments
                        iframe_url: www.example.com/gateway
                        api_token: XjqnSQWYAZXt
                        partial_capture: true
                        additional_order_details: true
                        provider_id: 8ad85ccf-7fd6-4f4b-a1a2-dff42fb3e228
                        currency: CAD
                        http_headers:
                          - key: foo
                            value: bar
                        location: payment_method_below
        '422':
          description: Unprocessable request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                PaymentGatewayNotFound:
                  value:
                    errors:
                      - code: 02-91
                        type: external_payment_gateway.not_found
                        message: External payment gateway with the given `public_id` not found.
                        details: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalPaymentGateway'
            examples:
              example-1:
                value:
                  name: External Payment Gateway
                  base_url: www.example.com/payments
                  iframe_url: www.example.com/gateway
                  api_token: XjqnSQWYAZXt
                  partial_capture: true
                  additional_order_details: true
                  provider_id: 8ad85ccf-7fd6-4f4b-a1a2-dff42fb3e228
                  currency: CAD
                  http_headers:
                    - key: foo
                      value: bar
                  location: payment_method_below
    delete:
      summary: Delete External Payment Gateway
      operationId: DeleteExternalPaymentGateway
      description: Removes an external payment gateway from a store.
      tags:
        - External Payment Gateways
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
        '422':
          description: Unprocessable request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                PaymentGatewayNotFound:
                  value:
                    errors:
                      - code: 02-91
                        type: external_payment_gateway.not_found
                        message: External payment gateway with the given `public_id` not found.
                        details: {}
  /checkout/shop/{shop_identifier}/customer/{public_customer_id}/payment_methods:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
      - $ref: '#/components/parameters/public_customer_id'
    get:
      summary: List Saved Payment Methods
      operationId: ListSavedPaymentMethods
      tags:
        - Saved Payment Methods
      description: Lists all saved payment methods for a specific customer.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/CustomerPaymentMethods'
              example:
                success: true
                cards:
                  - type: credit_card
                    public_id: ZdtkGke3jqR4qeI9IvtrHaRQZxdobJ5SaGdcX7V22O0v2U5bBqDGb6FHAkpPk4KS
                    is_default: false
                    cc_type: Visa
                    last_four: '1111'
                    expiration:
                      date: 2023-11
  /checkout/shop/{shop_identifier}/customer/stored-cards/{public_payment_id}:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
      - $ref: '#/components/parameters/public_payment_id'
    delete:
      summary: Delete Saved Payment Method
      operationId: DeleteSavedPaymentMethod
      tags:
        - Saved Payment Methods
      description: Deletes the saved payment method associated with a public payment identifier.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/DeletePaymentMethod'
              examples:
                OneOrMorePaymentMethodsRemaining:
                  value:
                    success: true
                    defaultCardId: 1
                NoRemainingPaymentMethods:
                  value:
                    success: true
                    defaultCardId: ''
  /checkout/shop/{shop_identifier}/overrides:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
    post:
      summary: Create API Override
      operationId: CreateAPIOverride
      tags:
        - Overrides
      description: Creates an API override for a given store. The API override is used to customize base functionality. Store level API overrides will apply to all orders, but per-order overrides may take priority. For more information, refer to [API Overrides](/guides/checkout/api-overrides).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OverrideRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/OverrideConfig'
              examples:
                example-1:
                  value:
                    data:
                      public_id: '1'
                      override_type: discount
                      url: https://example.com/overrides/callback_url
                      created_at: '2021-11-17 21:03:36'
                      updated_at: '2021-11-17 21:03:36'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsV1'
              examples:
                OverrideTypeDoesNotExist:
                  value:
                    errors:
                      - message: The override_type does not exist.
                        type: api_override
                        field: override_type
                        severity: validation
                        sub_type: api_override
                InvalidURL:
                  value:
                    errors:
                      - message: The `url` field must be a valid url.
                        type: api_override
                        field: url
                        severity: validation
                        sub_type: api_override
    get:
      summary: List API Overrides
      operationId: ListAPIOverrides
      tags:
        - Overrides
      description: Retrieves a list of registered API overrides for a given store.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    uniqueItems: true
                    items:
                      $ref: '#/components/schemas/OverrideConfig'
              examples:
                example-1:
                  value:
                    data:
                      - public_id: '1'
                        override_type: discount
                        url: https://example.com/overrides/discount
                        created_at: '2021-11-17 21:03:36'
                        updated_at: '2021-11-17 21:03:36'
                      - public_id: '2'
                        override_type: shipping
                        url: https://example.com/overrides/shipping
                        created_at: '2021-11-17 21:03:36'
                        updated_at: '2021-11-17 21:03:36'
  /checkout/shop/{shop_identifier}/overrides/{public_id}:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
      - schema:
          type: string
        name: public_id
        in: path
        required: true
        description: The identifier for the affected API override.
    patch:
      summary: Update API Override
      operationId: UpdateAPIOverride
      tags:
        - Overrides
      description: Updates the given override. Enables the caller to update the `url` property, the `override_type` property, or both, for a given API override. A store can have more than one API override of the same type.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OverrideRequest'
            example:
              override_type: discount
              url: https://example.com/overrides/updated_callback_url
              shared_secret: aq9834g4aqkdwa0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/OverrideConfig'
              examples:
                UpdatedCallbackURL:
                  value:
                    data:
                      public_id: '1'
                      override_type: discount
                      url: https://example.com/overrides/updated_callback_url
                      created_at: '2021-11-17 21:03:36'
                      updated_at: 2021-11-20 215:09:22
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsV1'
              examples:
                OverrideTypeDoesNotExist:
                  value:
                    errors:
                      - message: The override_type does not exist.
                        type: api_override
                        field: override_type
                        severity: validation
                        sub_type: api_override
                InvalidURL:
                  value:
                    errors:
                      - message: The `url` field must be a valid url.
                        type: api_override
                        field: url
                        severity: validation
                        sub_type: api_override
    delete:
      summary: Delete API Override
      operationId: DeleteAPIOverride
      tags:
        - Overrides
      description: Delete an API override from the given store.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsV1'
              examples:
                MissingPublicID:
                  value:
                    errors:
                      - message: The `public id` field is required.
                        type: api_override
                        field: public_id
                        severity: validation
                        sub_type: api_override
  /checkout/shop/{shop_identifier}/rsa_config:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
    post:
      summary: Connect Remote State Authority
      operationId: ConnectRemoteStateAuthority
      tags:
        - Remote State Authority
      description: Connects Remote State Authority to a given shop.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                  description: The destination URL to which a request will be made when order state changes occur.
                  example: https://example.com/my_remote_state_authority
                shared_secret:
                  type: string
                  description: Your shared secret, which can be any string you choose. Bold uses this string and the current date to create a signature for each request.
                  minLength: 8
                  maxLength: 255
                  example: d5210fa5563dd4f5b06f00d0
              required:
                - url
                - shared_secret
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/RemoteStateAuthorityConfig'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Invalid URL:
                  value:
                    errors:
                      - code: 02-89
                        type: remote_state_authority.rsa_already_configured
                        message: Remote State Authority already configured. Please update configuration instead.
    patch:
      summary: Update Remote State Authority Connection
      operationId: UpdateRemoteStateAuthorityConnection
      tags:
        - Remote State Authority
      description: Updates connection to a Remote State Authority for a given shop.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                  description: The destination URL to which a request will be made when order state changes occur.
                  example: https://example.com/my_remote_state_authority
                shared_secret:
                  type: string
                  description: Your shared secret, which can be any string you choose. Bold uses this string and the current date to create a signature for each request.
                  minLength: 8
                  maxLength: 255
                  example: d5210fa5563dd4f5b06f00d0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/RemoteStateAuthorityConfig'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Invalid URL:
                  value:
                    errors:
                      - code: 02-89
                        type: remote_state_authority.rsa_not_configured
                        message: Remote State Authority not configured.
    get:
      summary: Get Remote State Authority
      operationId: GetRemoteStateAuthority
      tags:
        - Remote State Authority
      description: Gets Remote State Authority connection details for a given shop.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/RemoteStateAuthorityConfig'
              examples:
                ConfigurationFound:
                  value:
                    data:
                      remote_state_authority:
                        url: https://example.com/my_remote_state_authority
                ConfigurationNotFound:
                  value:
                    data:
                      remote_state_authority: null
    delete:
      summary: Delete Remote State Authority
      operationId: DeleteRemoteStateAuthority
      tags:
        - Remote State Authority
      description: Removes Remote State Authority functionality for a given shop.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      remote_state_authority: {}
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Remote State Authority not configured:
                  value:
                    errors:
                      - code: 02-89
                        type: remote_state_authority.rsa_not_configured
                        message: Remote State Authority not configured.
  /checkout/shop/{shop_identifier}/gift_card:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
    get:
      summary: Get Gift Card
      operationId: GetGiftCard
      tags:
        - Gift Cards
      description: |-
        Gets a gift card on a given shop, specified by either the `public_payment_method_id` or a combination of the `card_token` and `card_pin`.

        For more information, refer to the [Manage Gift Cards](/guides/checkout/gift-cards) guide.
      parameters:
        - in: query
          name: params
          required: true
          style: form
          explode: true
          schema:
            type: object
            oneOf:
              - type: object
                title: Public Payment Method Id
                properties:
                  public_payment_method_id:
                    type: string
                    description: The payment public ID of the gift card, assigned when configured as a customer's payment method.
                    example: i5uATT2QVKlozoDA2msg89w3mWAdPTIeLtED44R1SJYUVuI7jO4NqHdM8vjoqq7A7P
                required:
                  - public_payment_method_id
              - type: object
                title: Card Token and Pin
                properties:
                  card_token:
                    type: string
                    description: The gift card token.
                    example: AJPG-TPOE-FNAA-MDEH
                  card_pin:
                    type: string
                    description: The gift card PIN.
                    example: '937'
                required:
                  - card_token
                  - card_pin
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      gift_card:
                        $ref: '#/components/schemas/GiftCard'
              examples:
                GiftCardFound:
                  value:
                    data:
                      gift_card:
                        card_token: OAVXDVRAJUGFMHEK
                        amount: 5000
                        balance: 2575
                        recipient_name: John
                        recipient_email: john.smith@example.com
                        message: Enjoy this gift certificate from us.
                        expiry_date: '2025-04-01'
                        customer_name: Jane
                        customer_email: jane.doe@example.com
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Provide either public_payment_method_id or card_token and PIN:
                  value:
                    errors:
                      - code: 02-50
                        type: gift_cards.invalid_gift_card_data
                        message: Please provide one of `public payment method id` or `card token` and `card pin`.
                The card_pin is required:
                  value:
                    errors:
                      - code: 02-50
                        type: gift_cards.invalid_gift_card_data
                        message: The card pin field is required when the `card token` field is present.
                Gift Card not found:
                  value:
                    errors:
                      - code: 02-87
                        type: gift_cards.gift_card_not_found
                        message: The gift card was not found.
        '500':
          $ref: '#/components/responses/UnknownError'
  /checkout/shop/{shop_identifier}/integration/config:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
    post:
      summary: Configure Integration Settings
      operationId: ConfigureIntegrationSettings
      tags:
        - Integrations
      description: |-
        Configures webhooks to integrate with your shop, using a given shared secret.

        Read more about configuring webhook integration in the [Register for Webhooks guide](/guides/checkout/webhooks#configure-the-shared-secret).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfigureIntegrationBody'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                minItems: 0
                maxItems: 0
                items: {}
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntity'
              examples:
                MissingSharedSecret:
                  value:
                    errors:
                      - message: The shared secret field is required.
                        type: integration_config
                        field: shared_secret
                        severity: validation
                        sub_type: ''
        '500':
          description: Occurs if the shop could not be determined.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorV2'
              examples:
                CouldNotFindShop:
                  value:
                    code: 11-13
                    type: integration_config.shop_could_not_be_determined
                    message: shop could not be determined
  /checkout/shop/{shop_identifier}/zones/{zone_id}/tax_zone_settings:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
      - $ref: '#/components/parameters/zone_id'
    post:
      summary: Create Tax Zone Setting
      operationId: CreateTaxZoneSetting
      tags:
        - Tax Zone Settings
      description: Creates or updates a tax zone setting for a tax zone. There can only be one tax zone setting for a tax zone.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaxZoneSettingRequest'
            example:
              tax_provider: override
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/TaxZoneSettingConfig'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Missing Request Data:
                  value:
                    errors:
                      - code: 02-50
                        type: tax_zone_setting.invalid_tax_zone_setting_data
                        message: The tax_provider field is required.
                Invalid Zone ID:
                  value:
                    errors:
                      - code: 02-38
                        type: tax_zone_setting.zone_not_found
                        message: No zone found with id 282.
    delete:
      summary: Delete Tax Zone Settings
      operationId: DeleteTaxZoneSetting
      tags:
        - Tax Zone Settings
      description: Deletes a tax zone setting for a tax zone.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Missing Request Data:
                  value:
                    errors:
                      - code: 02-50
                        type: tax_zone_setting.invalid_tax_zone_setting_data
                        message: The `zone_id` field must be of type Integer.
  /checkout/shop/{shop_identifier}/zones/tax_zone_settings:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
    get:
      summary: Get Tax Zone Settings
      operationId: GetTaxZoneSetting
      tags:
        - Tax Zone Settings
      description: Lists all tax zone settings for a shop.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      tax_zone_settings:
                        type: array
                        items:
                          $ref: '#/components/schemas/TaxZoneSettingConfig'
  /checkout/shop/{shop_identifier}/zones/{zone_id}/warehouses:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
      - $ref: '#/components/parameters/zone_id'
    post:
      summary: Create Warehouse
      operationId: CreateWarehouse
      tags:
        - Warehouses
      description: Adds a warehouse to a given shop. Each warehouse must belong to an existing warehouse zone, and a zone can have only one warehouse. Refer to [Create Zone](checkout-admin#operation/CreateZone).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WarehouseRequest'
            example:
              address: 123 Main St.
              address2: c/o Buck Skaggstein
              city: American Fork
              province_code: UT
              province: Utah
              country_code: US
              country: United States
              postal_code: '84003'
              extended_postal_code: '52'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/WarehouseConfig'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Invalid Zone ID:
                  value:
                    errors:
                      - code: 02-37
                        type: zone.zone_not_found
                        message: No zone found with id 282.
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Missing Request Data:
                  value:
                    errors:
                      - code: 02-50
                        type: warehouse.invalid_warehouse_data
                        message: The address field is required.
                      - code: 02-50
                        type: warehouse.invalid_warehouse_data
                        message: The postal_code field is required.
                Warehouse Already Exists:
                  value:
                    errors:
                      - code: 02-39
                        type: warehouse.warehouse_already_exists
                        message: A warehouse already exists for this zone. Please delete it before creating a new one.
                        details:
                          warehouse:
                            $ref: '#/components/schemas/WarehouseConfig'
    patch:
      summary: Update Warehouse
      operationId: UpdateWarehouse
      tags:
        - Warehouses
      description: Updates a warehouse.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WarehouseUpdateRequest'
            example:
              address: 123 Main St.
              address2: c/o Buck Skaggstein
              city: American Fork
              province_code: UT
              province: Utah
              country_code: US
              country: United States
              postal_code: '84003'
              extended_postal_code: '52'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/WarehouseConfig'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Invalid Zone ID:
                  value:
                    errors:
                      - code: 02-37
                        type: zone.zone_not_found
                        message: No zone found with id 282.
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Invalid Address:
                  value:
                    errors:
                      - code: 02-50
                        type: warehouse.invalid_warehouse_data
                        message: The `address` field must be of type String.
    delete:
      summary: Delete Warehouse
      operationId: DeleteWarehouse
      tags:
        - Warehouses
      description: Deletes a warehouse.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Invalid Zone ID:
                  value:
                    errors:
                      - code: 02-37
                        type: zone.zone_not_found
                        message: No zone found with id 282.
  /checkout/shop/{shop_identifier}/zones/warehouses:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
    get:
      summary: List Warehouses
      operationId: GetWarehouses
      tags:
        - Warehouses
      description: Lists all warehouses for a given shop.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      warehouses:
                        type: array
                        items:
                          $ref: '#/components/schemas/WarehouseConfig'
  /checkout/shop/{shop_identifier}/webhooks:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
    post:
      summary: Create Webhook
      operationId: CreateWebhook
      tags:
        - Webhooks
      description: |-
        Create a webhook registration by specifying the destination URL and topic.

        For more information on Checkout webhooks, refer to [Register for Webhooks](/guides/checkout/webhooks#register-for-the-webhook).
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/WebhookConfig'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorV2'
              examples:
                TopicIDDoesNotExist:
                  value:
                    code: 10-10
                    type: webhook_subscriptions.webhook_topic_id does not exist
                    message: webhook_topic_id does not exist.
                    details: {}
                MissingRequiredField:
                  value:
                    message: The callback_url field is required.
                    type: webhook_subscriptions
                    severity: validation
                    field: callback_url
                    sub_type: ''
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                webhook_topic_id:
                  $ref: '#/components/schemas/WebhookTopicID'
                callback_url:
                  $ref: '#/components/schemas/CallbackURL'
              required:
                - webhook_topic_id
                - callback_url
      callbacks:
        ProcessedOrder:
          '{$request.body#/callback_url/order/processed}':
            post:
              summary: Processed Order
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/ProcessedOrderWebhook'
                    example:
                      value:
                        domain: store-vwd2342klmsdf.mybigcommerce.com
                        platform_domain: example.mybigcommerce.com
                        application_state:
                          customer:
                            accepts_marketing: true
                            email_address: john.doe@example.com
                            first_name: John
                            last_name: Doe
                            platform_id: '50942578465125'
                            public_id: pjpTyGh8KzNQ225wPqxgy7LwNuC887h6ecGyp3omwT4XW8SszjVSdHzWHN4NBwqhA
                            saved_addresses: []
                          addresses:
                            shipping:
                              id: '123'
                              first_name: John
                              last_name: Doe
                              address_line_1: 50 Fultz Blvd
                              address_line_2: Suite 200
                              country: Canada
                              city: Winnipeg
                              province: Manitoba
                              country_code: CA
                              province_code: MB
                              postal_code: R3Y0L6
                              business_name: Acme Inc.
                              phone_number: '8005550101'
                            billing:
                              id: '123'
                              first_name: John
                              last_name: Doe
                              address_line_1: 50 Fultz Blvd
                              address_line_2: Suite 200
                              country: Canada
                              city: Winnipeg
                              province: Manitoba
                              country_code: CA
                              province_code: MB
                              postal_code: R3Y0L6
                              business_name: Acme Inc.
                              phone_number: '8005550101'
                          line_items:
                            - product_data:
                                id: 724bca
                                product_title: Oak Cheese Grater
                                title: Small
                                image_url: http://shop.images/oakcheesegrater
                                properties:
                                  property1: string
                                  property2: string
                                description: A handmade oak cheese grater to elevate your cheese-eating experience.
                                quantity: 2
                                price: 2350
                                total_price: 4700
                                visible: 1
                                line_item_key: oak_cheese_grater_2643
                                barcode: 1234ABC
                                compare_at_price: 4000
                                weight: 1000
                                weight_unit: g
                                product_id: oak-cheese-grater
                                variant_id: oak-cheese-grater-small
                                requires_shipping: true
                                sku: OAK_GRATER_SM
                                taxable: true
                                tags: Kitchen, Cheese Board, Oak
                                vendor: Cheese Boards Unlimited
                                total_weight: 2000
                            - taxes:
                                - value: 1000
                                  name: GST
                                  is_included: true
                            - fees:
                                - amount: 500
                                  name: Miscellaneous fee.
                            - discounts:
                                - code: SUMMER5
                                  text: Summer discount code
                                  value: 500
                                  source: coupon
                            - fulfilled_quantity: 2
                          fees:
                            - id: '123456789'
                              line_text: Custom Fee — Added by Plugin
                              fee_type: fixed
                              value: 10
                              source: PLUGIN
                              plugin_uuid: a52589f8-09df-11ed-b30e-f67072e164ee
                              taxable: true
                              show_description: true
                          taxes:
                            - value: 1000
                              name: GST
                              is_included: true
                          discounts:
                            - code: SUMMER5
                              text: Summer discount code
                              value: 500
                              source: coupon
                          payments:
                            - gateway_public_id: i7z2xT0sKrDvhGWzex5SLjf5e6ndlQfrRL4AROkfhf3vNBkVT38JKBy5PSjB63qW
                              amount: 4700
                              currency: CAD
                              type: spreedly
                              display_string: Credit Card Payment
                              id: ''
                              token: 7uZAMRAf80KiEwibsrrM5IB41yU
                              retain: false
                          order_total: 4700
                          order_meta_data:
                            cart_parameters:
                              key: cp-key1
                              property1: A cart param.
                              property2: A cart param.
                            note_attributes:
                              key: na-key1
                              property1: A note attribute.
                              property2: A note attribute.
                            notes: A special delivery note.
                            tags:
                              - order-1
                          shipping:
                            selected_shipping:
                              id: '0'
                              description: 'Custom weight-based rate: tier 2'
                              amount: 450
                              code: EXPID
                            available_shipping_lines:
                              - id: string
                                line:
                                  id: '0'
                                  description: 'Custom weight-based rate: tier 2'
                                  amount: 450
                                  code: EXPID
                            taxes:
                              - value: 1000
                                name: GST
                                is_included: true
                            discounts:
                              - code: SUMMER5
                                text: Summer discount code
                                value: 500
                                source: coupon
                          resumable_link: string
                          flow_id: external-company-one-page-template
                          currency:
                            iso_code: CAD
                            iso_numeric_code: 124
                            symbol: $
                            format: ${{amount}}
                            has_decimal: true
                            show_iso_code: true
                          created_via: My_Order_Creating_Plugin
                          is_processed: false
                          order_id: 79047599
                          platform_order_id: 1389wjfalsdf9y4r
                        public_order_id: 4U2bwe9SAQY039WGUKM5b2KoxKUKcgyLNvuEKB03Z2HzWbjYB1n4MoC7HuhLT45M
                        order_id: 829
                        platform_order_id: ''
                        platform_friendly_identifier: ''
                        order_source: e3b37c97-8544-4fee-b8f3-cf33deb28be5
                        order_source_name: api_v2
                        fulfillment_status: unfulfilled
                        fulfillment_data: []
              responses:
                '200':
                  description: Successful operation
        CreatedOrder:
          '{$request.body#/callback_url/order/created}':
            post:
              summary: Created Order
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/CreatedOrderWebhook'
                    example:
                      value:
                        domain: store-vwd2342klmsdf.mybigcommerce.com
                        platform_domain: example.mybigcommerce.com
                        application_state:
                          customer:
                            accepts_marketing: true
                            email_address: john.doe@example.com
                            first_name: John
                            last_name: Doe
                            platform_id: '50942578465125'
                            public_id: pjpTyGh8KzNQ225wPqxgy7LwNuC887h6ecGyp3omwT4XW8SszjVSdHzWHN4NBwqhA
                            saved_addresses: []
                          addresses:
                            shipping:
                              id: '123'
                              first_name: John
                              last_name: Doe
                              address_line_1: 50 Fultz Blvd
                              address_line_2: Suite 200
                              country: Canada
                              city: Winnipeg
                              province: Manitoba
                              country_code: CA
                              province_code: MB
                              postal_code: R3Y0L6
                              business_name: Acme Inc.
                              phone_number: '8005550101'
                            billing:
                              id: '123'
                              first_name: John
                              last_name: Doe
                              address_line_1: 50 Fultz Blvd
                              address_line_2: Suite 200
                              country: Canada
                              city: Winnipeg
                              province: Manitoba
                              country_code: CA
                              province_code: MB
                              postal_code: R3Y0L6
                              business_name: Acme Inc.
                              phone_number: '8005550101'
                          line_items:
                            - product_data:
                                id: 724bca
                                product_title: Oak Cheese Grater
                                title: Small
                                image_url: http://shop.images/oakcheesegrater
                                properties:
                                  property1: string
                                  property2: string
                                description: A handmade oak cheese grater to elevate your cheese-eating experience.
                                quantity: 2
                                price: 2350
                                total_price: 4700
                                visible: 1
                                line_item_key: oak_cheese_grater_2643
                                barcode: 1234ABC
                                compare_at_price: 4000
                                weight: 1000
                                weight_unit: g
                                product_id: oak-cheese-grater
                                variant_id: oak-cheese-grater-small
                                requires_shipping: true
                                sku: OAK_GRATER_SM
                                taxable: true
                                tags: Kitchen, Cheese Board, Oak
                                vendor: Cheese Boards Unlimited
                                total_weight: 2000
                            - taxes:
                                - value: 1000
                                  name: GST
                                  is_included: true
                            - fees:
                                - amount: 500
                                  name: Miscellaneous fee.
                            - discounts:
                                - code: SUMMER5
                                  text: Summer discount code
                                  value: 500
                                  source: coupon
                            - fulfilled_quantity: 2
                          fees:
                            - id: '123456789'
                              line_text: Custom Fee — Added by Plugin
                              fee_type: fixed
                              value: 10
                              source: PLUGIN
                              plugin_uuid: a52589f8-09df-11ed-b30e-f67072e164ee
                              taxable: true
                              show_description: true
                          taxes:
                            - value: 1000
                              name: GST
                              is_included: true
                          discounts:
                            - code: SUMMER5
                              text: Summer discount code
                              value: 500
                              source: coupon
                          payments:
                            - gateway_public_id: i7z2xT0sKrDvhGWzex5SLjf5e6ndlQfrRL4AROkfhf3vNBkVT38JKBy5PSjB63qW
                              amount: 4700
                              currency: CAD
                              type: spreedly
                              display_string: Credit Card Payment
                              id: ''
                              token: 7uZAMRAf80KiEwibsrrM5IB41yU
                              retain: false
                          order_total: 4700
                          order_meta_data:
                            cart_parameters:
                              key: cp-key1
                              property1: A cart param.
                              property2: A cart param.
                            note_attributes:
                              key: na-key1
                              property1: A note attribute.
                              property2: A note attribute.
                            notes: A special delivery note.
                            tags:
                              - order-1
                          shipping:
                            selected_shipping:
                              id: '0'
                              description: 'Custom weight-based rate: tier 2'
                              amount: 450
                              code: EXPID
                            available_shipping_lines:
                              - id: string
                                line:
                                  id: '0'
                                  description: 'Custom weight-based rate: tier 2'
                                  amount: 450
                                  code: EXPID
                            taxes:
                              - value: 1000
                                name: GST
                                is_included: true
                            discounts:
                              - code: SUMMER5
                                text: Summer discount code
                                value: 500
                                source: coupon
                          resumable_link: string
                          flow_id: external-company-one-page-template
                          currency:
                            iso_code: CAD
                            iso_numeric_code: 124
                            symbol: $
                            format: ${{amount}}
                            has_decimal: true
                            show_iso_code: true
                          created_via: My_Order_Creating_Plugin
                          is_processed: false
                          order_id: 79047599
                          platform_order_id: 1389wjfalsdf9y4r
                        public_order_id: 4U2bwe9SAQY039WGUKM5b2KoxKUKcgyLNvuEKB03Z2HzWbjYB1n4MoC7HuhLT45M
                        order_id: 829
                        platform_order_id: '179'
                        platform_friendly_identifier: '179'
                        order_source: e3b37c97-8544-4fee-b8f3-cf33deb45be5
                        order_source_name: api_v2
                        fulfillment_status: unfulfilled
                        fulfillment_data: []
              responses:
                '200':
                  description: Successful operation
        FulfilledOrder:
          '{$request.body#/callback_url/order/fulfilled}':
            post:
              summary: Fulfilled Order
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/FulfilledOrderWebhook'
                    example:
                      value:
                        domain: store-vwd2342klmsdf.mybigcommerce.com
                        platform_domain: example.mybigcommerce.com
                        application_state:
                          customer:
                            accepts_marketing: true
                            email_address: john.doe@example.com
                            first_name: John
                            last_name: Doe
                            platform_id: '50942578465125'
                            public_id: pjpTyGh8KzNQ225wPqxgy7LwNuC887h6ecGyp3omwT4XW8SszjVSdHzWHN4NBwqhA
                            saved_addresses: []
                          addresses:
                            shipping:
                              id: '123'
                              first_name: John
                              last_name: Doe
                              address_line_1: 50 Fultz Blvd
                              address_line_2: Suite 200
                              country: Canada
                              city: Winnipeg
                              province: Manitoba
                              country_code: CA
                              province_code: MB
                              postal_code: R3Y0L6
                              business_name: Acme Inc.
                              phone_number: '8005550101'
                            billing:
                              id: '123'
                              first_name: John
                              last_name: Doe
                              address_line_1: 50 Fultz Blvd
                              address_line_2: Suite 200
                              country: Canada
                              city: Winnipeg
                              province: Manitoba
                              country_code: CA
                              province_code: MB
                              postal_code: R3Y0L6
                              business_name: Acme Inc.
                              phone_number: '8005550101'
                          line_items:
                            - product_data:
                                id: 724bca
                                product_title: Oak Cheese Grater
                                title: Small
                                image_url: http://shop.images/oakcheesegrater
                                properties:
                                  property1: string
                                  property2: string
                                description: A handmade oak cheese grater to elevate your cheese-eating experience.
                                quantity: 2
                                price: 2350
                                total_price: 4700
                                visible: 1
                                line_item_key: oak_cheese_grater_2643
                                barcode: 1234ABC
                                compare_at_price: 4000
                                weight: 1000
                                weight_unit: g
                                product_id: oak-cheese-grater
                                variant_id: oak-cheese-grater-small
                                requires_shipping: true
                                sku: OAK_GRATER_SM
                                taxable: true
                                tags: Kitchen, Cheese Board, Oak
                                vendor: Cheese Boards Unlimited
                                total_weight: 2000
                            - taxes:
                                - value: 1000
                                  name: GST
                                  is_included: true
                            - fees:
                                - amount: 500
                                  name: Miscellaneous fee.
                            - discounts:
                                - code: SUMMER5
                                  text: Summer discount code
                                  value: 500
                                  source: coupon
                            - fulfilled_quantity: 2
                          fees:
                            - id: '123456789'
                              line_text: Custom Fee — Added by Plugin
                              fee_type: fixed
                              value: 10
                              source: PLUGIN
                              plugin_uuid: a52589f8-09df-11ed-b30e-f67072e164ee
                              taxable: true
                              show_description: true
                          taxes:
                            - value: 1000
                              name: GST
                              is_included: true
                          discounts:
                            - code: SUMMER5
                              text: Summer discount code
                              value: 500
                              source: coupon
                          payments:
                            - gateway_public_id: i7z2xT0sKrDvhGWzex5SLjf5e6ndlQfrRL4AROkfhf3vNBkVT38JKBy5PSjB63qW
                              amount: 4700
                              currency: CAD
                              type: spreedly
                              display_string: Credit Card Payment
                              id: ''
                              token: 7uZAMRAf80KiEwibsrrM5IB41yU
                              retain: false
                          order_total: 4700
                          order_meta_data:
                            cart_parameters:
                              key: cp-key1
                              property1: A cart param.
                              property2: A cart param.
                            note_attributes:
                              key: na-key1
                              property1: A note attribute.
                              property2: A note attribute.
                            notes: A special delivery note.
                            tags:
                              - order-1
                          shipping:
                            selected_shipping:
                              id: '0'
                              description: 'Custom weight-based rate: tier 2'
                              amount: 450
                              code: EXPID
                            available_shipping_lines:
                              - id: string
                                line:
                                  id: '0'
                                  description: 'Custom weight-based rate: tier 2'
                                  amount: 450
                                  code: EXPID
                            taxes:
                              - value: 1000
                                name: GST
                                is_included: true
                            discounts:
                              - code: SUMMER5
                                text: Summer discount code
                                value: 500
                                source: coupon
                          resumable_link: string
                          flow_id: external-company-one-page-template
                          currency:
                            iso_code: CAD
                            iso_numeric_code: 124
                            symbol: $
                            format: ${{amount}}
                            has_decimal: true
                            show_iso_code: true
                          created_via: My_Order_Creating_Plugin
                          is_processed: false
                          order_id: 79047599
                          platform_order_id: 1389wjfalsdf9y4r
                        public_order_id: 4U2bwe9SAQY039WGUKM5b2KoxKUKcgyLNvuEKB03Z2HzWbjYB1n4MoC7HuhLT45M
                        order_id: 829
                        platform_order_id: '179'
                        platform_friendly_identifier: '179'
                        order_source: e3b37c97-8544-4fee-b8f3-cf33deb45be5
                        order_source_name: api_v2
                        fulfillment_status: fulfilled
                        fulfillment_data:
                          total_value: 17
                          total_shipping_value: 10
                          shipping_details: []
                          tracking_company: ups
                          tracking_number: sJKfh72hKD7djh
                          tracking_url: https://www.ups.com/example-tracking-links
                          location_id: -3
                          fulfilled_at: '2022-01-04 19:52:16'
                          fulfilled_items: []
                          total_discount: 12
                          total_fees: 4
                          order_fees: []
                          total_order_fees: 13
                          total_tax: 5
              responses:
                '200':
                  description: Successful operation
        FailedOrder:
          '{$request.body#/callback_url/order/failed}':
            post:
              summary: Failed Order
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/FailedOrderWebhook'
                    example:
                      value:
                        domain: store-vwd2342klmsdf.mybigcommerce.com
                        platform_domain: example.mybigcommerce.com
                        application_state:
                          customer:
                            accepts_marketing: true
                            email_address: john.doe@example.com
                            first_name: John
                            last_name: Doe
                            platform_id: '50942578465125'
                            public_id: pjpTyGh8KzNQ225wPqxgy7LwNuC887h6ecGyp3omwT4XW8SszjVSdHzWHN4NBwqhA
                            saved_addresses: []
                          addresses:
                            shipping:
                              id: '123'
                              first_name: John
                              last_name: Doe
                              address_line_1: 50 Fultz Blvd
                              address_line_2: Suite 200
                              country: Canada
                              city: Winnipeg
                              province: Manitoba
                              country_code: CA
                              province_code: MB
                              postal_code: R3Y0L6
                              business_name: Acme Inc.
                              phone_number: '8005550101'
                            billing:
                              id: '123'
                              first_name: John
                              last_name: Doe
                              address_line_1: 50 Fultz Blvd
                              address_line_2: Suite 200
                              country: Canada
                              city: Winnipeg
                              province: Manitoba
                              country_code: CA
                              province_code: MB
                              postal_code: R3Y0L6
                              business_name: Acme Inc.
                              phone_number: '8005550101'
                          line_items:
                            - product_data:
                                id: 724bca
                                product_title: Oak Cheese Grater
                                title: Small
                                image_url: http://shop.images/oakcheesegrater
                                properties:
                                  property1: string
                                  property2: string
                                description: A handmade oak cheese grater to elevate your cheese-eating experience.
                                quantity: 2
                                price: 2350
                                total_price: 4700
                                visible: 1
                                line_item_key: oak_cheese_grater_2643
                                barcode: 1234ABC
                                compare_at_price: 4000
                                weight: 1000
                                weight_unit: g
                                product_id: oak-cheese-grater
                                variant_id: oak-cheese-grater-small
                                requires_shipping: true
                                sku: OAK_GRATER_SM
                                taxable: true
                                tags: Kitchen, Cheese Board, Oak
                                vendor: Cheese Boards Unlimited
                                total_weight: 2000
                            - taxes:
                                - value: 1000
                                  name: GST
                                  is_included: true
                            - fees:
                                - amount: 500
                                  name: Miscellaneous fee.
                            - discounts:
                                - code: SUMMER5
                                  text: Summer discount code
                                  value: 500
                                  source: coupon
                            - fulfilled_quantity: 2
                          fees:
                            - id: '123456789'
                              line_text: Custom Fee — Added by Plugin
                              fee_type: fixed
                              value: 10
                              source: PLUGIN
                              plugin_uuid: a52589f8-09df-11ed-b30e-f67072e164ee
                              taxable: true
                              show_description: true
                          taxes:
                            - value: 1000
                              name: GST
                              is_included: true
                          discounts:
                            - code: SUMMER5
                              text: Summer discount code
                              value: 500
                              source: coupon
                          payments:
                            - gateway_public_id: i7z2xT0sKrDvhGWzex5SLjf5e6ndlQfrRL4AROkfhf3vNBkVT38JKBy5PSjB63qW
                              amount: 4700
                              currency: CAD
                              type: spreedly
                              display_string: Credit Card Payment
                              id: ''
                              token: 7uZAMRAf80KiEwibsrrM5IB41yU
                              retain: false
                          order_total: 4700
                          order_meta_data:
                            cart_parameters:
                              key: cp-key1
                              property1: A cart param.
                              property2: A cart param.
                            note_attributes:
                              key: na-key1
                              property1: A note attribute.
                              property2: A note attribute.
                            notes: A special delivery note.
                            tags:
                              - order-1
                          shipping:
                            selected_shipping:
                              id: '0'
                              description: 'Custom weight-based rate: tier 2'
                              amount: 450
                              code: EXPID
                            available_shipping_lines:
                              - id: string
                                line:
                                  id: '0'
                                  description: 'Custom weight-based rate: tier 2'
                                  amount: 450
                                  code: EXPID
                            taxes:
                              - value: 1000
                                name: GST
                                is_included: true
                            discounts:
                              - code: SUMMER5
                                text: Summer discount code
                                value: 500
                                source: coupon
                          resumable_link: string
                          flow_id: external-company-one-page-template
                          currency:
                            iso_code: CAD
                            iso_numeric_code: 124
                            symbol: $
                            format: ${{amount}}
                            has_decimal: true
                            show_iso_code: true
                          created_via: My_Order_Creating_Plugin
                          is_processed: false
                          order_id: 79047599
                          platform_order_id: 1389wjfalsdf9y4r
                        public_order_id: 4U2bwe9SAQY039WGUKM5b2KoxKUKcgyLNvuEKB03Z2HzWbjYB1n4MoC7HuhLT45M
                        order_id: 829
                        platform_order_id: '179'
                        platform_friendly_identifier: '179'
                        order_source: e3b37c97-8544-4fee-b8f3-cf33deb45be5
                        order_source_name: api_v2
                        fulfillment_status: unfulfilled
                        fulfillment_data: []
              responses:
                '200':
                  description: Successful operation
        AbandonedOrder:
          '{$request.body#/callback_url/order/abandoned}':
            post:
              summary: Abandoned Order
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/AbandonedOrderWebhook'
                    example:
                      value:
                        public_order_id: nPTPIlIahDoEgZFabZNNvg7uxahLkGb1x4UINz3eqYV3eHewsjq7kubZc5BLAUqC
                        line_items:
                          discounts: []
                          fees: []
                          product_data:
                            barcode: 1234ABC
                            compare_at_price: 4000
                            description: A handmade oak cheese grater to elevate your cheese-eating experience.
                            id: 724bca
                            image_url: http://shop.images/oakcheesegrater
                            line_item_key: ABC123
                            price: 2350
                            product_id: oak-cheese-grater
                            properties: []
                            quantity: 2
                            requires_shipping: true
                            sku: OAK_GRATER_SM
                            tags: Kitchen, Cheese Board, Oak
                            taxable: true
                            title: Small
                            total_price: 4700
                            variant_id: oak-cheese-grater-small
                            vendor: Cheese Boards Unlimited
                            visible: 1
                            weight: 1000
                            weight_unit: g
                          taxes: []
                        customer:
                          accepts_marketing: true
                          email_address: john.doe@example.com
                          first_name: John
                          last_name: Doe
                          platform_id: null
                          public_id: sTaGXlJuMIz1fzdnE8HSXkK1m2ym9FRbrwxqiS2t7XylVEMBT7YX1Xeep6V7cT53
                          saved_addresses: []
                        order_meta_data:
                          cart_parameters:
                            ca-key1: Some kind of cart parameter.
                          note_attributes:
                            na-key1: Some kind of note attributes.
                          notes: Some kind of special delivery note.
                          tags:
                            - tag-1
                        resumable_link: https://checkout.example.com/resume
                        shop:
                          domain: store-vwd2342klmsdf.mybigcommerce.com
                          platform_domain: example.mybigcommerce.com
              responses:
                '200':
                  description: Successful operation
        GiftCardCreated:
          '{$request.body#/callback_url/gift_card/created}':
            post:
              summary: Gift Card Created
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/GiftCardCreatedWebhook'
                    example:
                      value:
                        domain: store-vwd2342klmsdf.mybigcommerce.com
                        platform_domain: example.mybigcommerce.com
                        public_order_id: 4U2bwe9SAQY039WGUKM5b2KoxKUKcgyLNvuEKB03Z2HzWbjYB1n4MoC7HuhLT45M
                        platform_order_id: 179
                        platform_customer_id: null
                        customer:
                          email: john.doe@example.com
                          first_name: John
                          last_name: Doe
                        gift_card_email: john.doe@example.com
                        gift_card_token: TYIDFASDFOCXOMT
                        gift_card_key: '107'
                        gift_card_amount: 2500
              responses:
                '200':
                  description: Successful operation
    get:
      summary: List Webhooks
      operationId: ListWebhooks
      tags:
        - Webhooks
      description: Retrieves a list of registered webhooks.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    title: Results
                    properties:
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/WebhookConfig'
                        minItems: 1
                        uniqueItems: true
                  - type: array
                    title: No Results
                    minItems: 0
                    maxItems: 0
                    items: {}
              examples:
                example-1:
                  value:
                    data:
                      - webhook_topic_id: 1
                        webhook_topic_name: order/created
                        callback_url: https://my-app.com/webhooks/order/created
                        created_at: '2022-11-23 17:11:06'
                        updated_at: '2022-11-23 17:11:06'
                      - webhook_topic_id: 4
                        webhook_topic_name: order/failed
                        callback_url: https://my-app.com/webhooks/order/failed
                        created_at: '2022-11-23 17:11:06'
                        updated_at: '2022-11-23 17:11:06'
  /checkout/shop/{shop_identifier}/webhooks/{webhook_topic_id}:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
      - schema:
          type: string
        name: webhook_topic_id
        in: path
        required: true
        description: The webhook topic id.
    put:
      summary: Update Webhook
      operationId: UpdateWebhook
      tags:
        - Webhooks
      description: |-
        Updates the webhook callback URL. Webhook topics cannot be updated.

        Learn more about updating webhooks in the [Webhooks guide](/guides/checkout/webhooks#update-or-delete-webhooks).
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/WebhookConfig'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                example-1:
                  value:
                    message: The callback url field is required.
                    type: webhook_subscriptions
                    field: callback_url
                    severity: validation
                    sub_type: ''
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                callback_url:
                  $ref: '#/components/schemas/CallbackURL'
              required:
                - callback_url
            examples:
              example-1:
                value:
                  callback_url: https://my-app.com/webhooks/different_callback_url
    delete:
      summary: Delete Webhook
      operationId: DeleteWebhook
      tags:
        - Webhooks
      description: |-
        Removes an existing webhook.

        Learn more about removing webhooks in the [Webhooks guide](/guides/checkout/webhooks#update-or-delete-webhooks).
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                minItems: 0
                maxItems: 0
                items: {}
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                example-1:
                  value:
                    message: The webhook topic id field is required.
                    type: webhook_subscriptions
                    field: webhook_topic_id
                    severity: validation
                    sub_type: ''
  /checkout/shop/{shop_identifier}/webhooks/topics:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
    get:
      summary: List Webhook Topics
      operationId: ListWebhookTopics
      tags:
        - Webhooks
      description: |-
        Gets the list of available webhook topics.

        Possible webhook topics from Checkout Backend API are:
        - `order/processed`
        - `order/created`
        - `order/fulfilled`
        - `order/abandoned`
        - `order/failed`
        - `gift_card/created`

        Read about webhook topics in the [Webhook Topics guide](/guides/checkout/webhooks#get-a-list-of-webhook-topics).
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    description: A list of available webhook topics.
                    items:
                      $ref: '#/components/schemas/WebhookTopic'
                    minItems: 0
                    uniqueItems: true
                    example:
                      - webhook_topic_id: 1
                        webhook_topic_name: order/created
                      - webhook_topic_id: 2
                        webhook_topic_name: order/processed
                      - webhook_topic_id: 3
                        webhook_topic_name: order/fulfilled
  /checkout/shop/{shop_identifier}/zones:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
    post:
      summary: Create Zone
      operationId: CreateZone
      tags:
        - Zones
      description: Adds a warehouse, shipping, or tax zone.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ZoneRequest'
            example:
              name: Western Region
              type: warehouse
              regions:
                - country_code: CA
                  province_code: MB
                - country_code: CA
                  province_CODE: SK
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ZoneConfig'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Missing Request Data:
                  value:
                    errors:
                      - code: 02-50
                        type: zone.invalid_zone_data
                        message: The name field is required.
                Invalid Zone Type:
                  value:
                    errors:
                      - code: 02-50
                        type: zone.invalid_zone_data
                        message: 'The type field must be one the following values: shipping, tax, warehouse'
                Invalid Region Data:
                  value:
                    errors:
                      - code: 02-37
                        type: zone.country_not_found_by_code
                        message: 'Zone not created: invalid country code(s) [ZZ,YQ]'
                      - code: 02-37
                        type: zone.province_not_found_by_code
                        message: 'Zone not created: invalid province code(s) [H3,PL]'
                Default Zone Exists:
                  value:
                    errors:
                      - code: 02-37
                        type: zone.default_zone_already_exists
                        message: 'Unable to create default zone: Default zone already exists'
                Region Already Exists:
                  value:
                    errors:
                      - code: 02-37
                        type: zone.region_already_exists
                        message: 'The zone CountryId: 4, ProvinceId: 7, ZoneTypeId:  1  already exists in another zone for this shop'
                        details:
                          zone_id: 279,
                          country_code: CA
                          province_code: MB
    get:
      summary: List Zones
      operationId: GetZone
      tags:
        - Zones
      description: Lists all zones for a shop.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      zones:
                        type: array
                        items:
                          $ref: '#/components/schemas/ZoneConfig'
  /checkout/shop/{shop_identifier}/zones/{zone_id}:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
      - $ref: '#/components/parameters/zone_id'
    patch:
      summary: Update Zone
      operationId: UpdateZone
      tags:
        - Zones
      description: Updates an existing zone. Note that it is not possible to update an existing zone's `type`.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ZoneUpdateRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ZoneConfig'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Zone Not Found:
                  value:
                    errors:
                      - code: 02-37
                        type: zone.zone_not_found
                        message: Zone not found.
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Missing Request Data:
                  value:
                    errors:
                      - code: 02-50
                        type: zone.invalid_zone_data
                        message: The zone_id field is required.
                Prohibited Request Data:
                  value:
                    errors:
                      - code: 02-50
                        type: zone.invalid_zone_data
                        message: The type field is not allowed.
                Invalid Region Data:
                  value:
                    errors:
                      - code: 02-37
                        type: zone.country_not_found_by_code
                        message: 'Zone not created: invalid country code(s) [ZZ,YQ]'
                      - code: 02-37
                        type: zone.province_not_found_by_code
                        message: 'Zone not created: invalid province code(s) [H3,PL]'
                Default Zone Exists:
                  value:
                    errors:
                      - code: 02-37
                        type: zone.default_zone_already_exists
                        message: 'Unable to create default zone: Default zone already exists'
                Region Already Exists:
                  value:
                    errors:
                      - code: 02-37
                        type: zone.region_already_exists
                        message: 'The zone CountryId: 4, ProvinceId: 7, ZoneTypeId: 1 already exists in another zone for this shop'
                        details:
                          zone_id: 279,
                          country_code: CA
                          province_code: MB
    delete:
      summary: Delete Zone
      operationId: DeleteZone
      tags:
        - Zones
      description: Deletes an existing zone. Any regions, tax zone settings, and warehouses associated with the zone will also be deleted.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Missing Request Data:
                  value:
                    errors:
                      - code: 02-50
                        type: zone.invalid_zone_data
                        message: The zone_id field is required.
  /checkout/shop/{shop_identifier}/general_settings:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
    get:
      summary: Get Shop General Settings
      operationId: GetShopGeneralSettings
      tags:
        - Shops
      description: Retrieves basic settings from the shop's General Settings section in the [Bold Checkout admin](https://apps.boldapps.net/accounts/app/4).
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/GeneralSettings'
    put:
      summary: Update Shop General Settings
      operationId: UpdateShopGeneralSettings
      tags:
        - Shops
      description: Updates basic settings from the shop's General Settings section in the [Bold Checkout admin](https://apps.boldapps.net/accounts/app/4).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GeneralSettingsUpdateRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/GeneralSettings'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Prohibited Request Data:
                  value:
                    errors:
                      - code: 02-95
                        type: general_settings.invalid_settings_data
                        message: The `public order id.enabled` field must be of type Boolean.
  /checkout/shop/{shop_identifier}/general_settings/phone_number_required:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
    put:
      summary: Update Phone Number Requirement
      operationId: UpdatePhoneNumberRequirement
      tags:
        - Shops
      description: Updates the phone number requirement setting for a store. This setting can also be edited from the store's **General Settings** section in the [Bold Checkout admin](https://apps.boldapps.net/accounts/app/4).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PhoneNumberRequiredUpdateRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/GeneralSettings'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Prohibited Request Data:
                  value:
                    errors:
                      - code: 02-95
                        type: general_settings.invalid_settings_data
                        message: The `phone number required` field must be of type Boolean.
  /checkout/shop/{shop_identifier}/general_settings/require_inventory_check:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
    put:
      summary: Update Inventory Check Requirement
      operationId: UpdateInventoryCheckRequirement
      tags:
        - Shops
      description: |-
        Updates the inventory check requirement setting for a store. If required, an inventory check is performed in response to the [Process Order](/api/checkout#tag/Orders/operation/ProcessOrder) endpoint, and the endpoint returns a 422 error if there is not enough inventory to complete the order.

        The inventory check is required by default. You can use this endpoint to disable the inventory check requirement during order processing.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequireInventoryCheckUpdateRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/GeneralSettings'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Prohibited Request Data:
                  value:
                    errors:
                      - code: 02-95
                        type: general_settings.invalid_settings_data
                        message: The `require inventory check` field is required.
  /checkout/shop/{shop_identifier}/general_settings/create_platform_customer:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
    put:
      summary: Update Platform Customer Creation Setting
      operationId: UpdateCreatePlatformCustomer
      tags:
        - Shops
      description: |-
        Updates the platform customer creation setting for a store. On many platforms, whenever Bold creates a new order, it also creates a new customer if it does not already exist on the platform. Some platforms, such as Adobe Commerce, do not behave this way natively, and attempting to create a customer during order creation can cause unexpected errors. Updating this setting to `false` prevents Bold from attempting to create a customer on the platform when a new order is created.

        This setting defaults to `true`.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePlatformCustomerUpdateRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/GeneralSettings'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Prohibited Request Data:
                  value:
                    errors:
                      - code: 02-95
                        type: general_settings.invalid_settings_data
                        message: The `create platform customer` field is required.
  /checkout/shop/{shop_identifier}/pmmc_session:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
      - $ref: '#/components/parameters/platform_customer_id'
      - $ref: '#/components/parameters/bold_customer_id'
    get:
      summary: Get PMMC Session
      operationId: GetPmmcSession
      tags:
        - Shops
      description: |-
        Retrieves a Payment Method Management for Checkout (PMMC) session. Use this endpoint to retrieve the information necessary to load the `<iframe>` that enables an authenticated customer to edit their saved payment methods.

        Include the either the customer's `bold_customer_id` or `platform_customer_id` as a query parameter to retrieve their payment method information.

        Refer to the [PMMC Guide](/guides/checkout/pmmc) for more information about using this information to load the PMMC `<iframe>` for the customer.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/PmmcSession'
  /checkout/shop/{shop_identifier}/payment_css:
    parameters:
      - $ref: '#/components/parameters/shop_identifier'
    get:
      summary: Get Shop Payment Styling
      operationId: GetShopPaymentStyling
      tags:
        - Payment CSS
      description: Gets the CSS styling that is currently applied to the SPI iframe.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      style_sheet:
                        $ref: '#/components/schemas/PaymentStylesheet'
        '401':
          description: Authorization error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationError'
        '404':
          description: No Styles Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorV2'
              example:
                code: '90'
                type: payment_method_style_sheet.not_found
                message: There are no CSS styles for the shop payment iframes
        '422':
          description: Unprocessable request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '500':
          $ref: '#/components/responses/UnknownError'
    post:
      summary: Create Shop Payment Styling
      operationId: CreateShopPaymentStyling
      tags:
        - Payment CSS
      description: |-
        Create and apply a series of CSS rules and media rules to the SPI iframe. Using this endpoint applies these changes to all orders placed in the checkout.

        Note that if you are using [Bold-hosted checkout](/guides/checkout/concepts/flows#types-of-flows), these settings will be overridden by any changes to the CSS in the Bold Checkout Admin. Refer to [Style the Checkout with CSS](/guides/checkout/css) for more information.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentStylesheet'
      responses:
        '200':
          description: CSS added successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/PaymentStylesheet'
        '401':
          description: Authorization error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationError'
        '422':
          description: Unprocessable request. Returned if the `data`, `style_sheet`, `css_rules`, or `media_rules` fields are not present in the request body, or if the supplied css is not valid and cannot be parsed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
    delete:
      summary: Delete Shop Payment Styling
      operationId: DeleteShopPaymentStyling
      tags:
        - Payment CSS
      description: Removes all styling from the SPI iframe.
      responses:
        '200':
          description: Success
        '401':
          description: Authorization error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationError'
components:
  securitySchemes:
    OAuthToken:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://apps.boldapps.net/accounts/dashboard/authorize
          tokenUrl: https://api.boldcommerce.com/auth/oauth2/token
          scopes: {}
      description: Authenticates an API request from a [public integration](/default/guides/checkout/resources/glossary#public-integration). Generate this token in the [Developer Dashboard](https://developer-dashboard.boldcommerce.com/dashboard). Refer to [Build Public Integrations](/default/guides/checkout/public-integrations) for more information.
    APIAccessToken:
      type: apiKey
      name: API Access Token
      in: header
      description: Authenticates an API request from a [private integration](/guides/checkout/resources/glossary#private-integration). Generate this token in the [Bold Account Center](https://account.boldcommerce.com/). Refer to [Making API Calls](/guides/checkout/quick-start) for more information.
  schemas:
    AuthorizationError:
      description: An error with the authorization of the API access token.
      type: object
      properties:
        error:
          type: string
          description: The type of error.
          example: invalid_token
        error_description:
          type: string
          description: A phrase describing what went wrong.
          example: The access token is invalid or has expired
    PaymentStylesheet:
      type: object
      description: The CSS media queries to apply to the SPI iframe.
      properties:
        css_rules:
          type: array
          description: A set of CSS rules to be applied to the SPI iframe.
          items:
            type: object
            properties:
              cssText:
                type: string
                description: String of CSS styles, specifying the target elements, to be applied to the SPI iframe.
                example: .ToggleField { color:red; }
        media_rules:
          type: array
          description: A set of media queries to be applied to the SPI iframe.
          items:
            type: object
            properties:
              conditionText:
                type: string
                description: The media conditional text. Must not include "@media" in the string.
                example: 'screen and (max-height: 600px)'
              cssRules:
                type: array
                description: A set of CSS rules to be applied when the media condition is met.
                items:
                  type: object
                  properties:
                    cssText:
                      type: string
                      description: The CSS rule.
                      example: .ToggleField__Text { color:blue; }
    CORSDomain:
      type: string
      description: A domain used to call the Bold Checkout APIs. The string must consist of a fully qualified domain name (FQDN) and the protocol used to access it.
      example: https://dev-store.example.com
    CORSDomainList:
      type: object
      description: A list of the domains that are approved to call Bold Checkout APIs.
      properties:
        id:
          type: number
          description: The identifier for the domain in the allowlist.
          example: 1
        domain:
          $ref: '#/components/schemas/CORSDomain'
    Errors:
      title: Errors
      type: object
      properties:
        errors:
          type: array
          items:
            title: Error
            type: object
            minItems: 0
            properties:
              code:
                type: string
                description: Numeric error code to explicitly group errors together. Checkout errors are typically in the format `02-XX`, where XX is another two-digit number.
                example: 02-00
              type:
                type: string
                description: Textual error code to explicitly group errors together. Checkout errors typically contain multiple descriptors in snake_case separated by dots `.`.
                example: checkout.unexpected_error
              message:
                type: string
                description: Human-readable description of the error.
                example: Something went wrong. Please try again later.
              details:
                type: object
                description: Optional additional details to add context to the error.
            required:
              - code
              - type
              - message
    ErrorsV1:
      title: Errors
      type: object
      properties:
        errors:
          type: array
          items:
            title: Error
            type: object
            minItems: 0
            properties:
              message:
                type: string
                description: An error message describing what went wrong.
              type:
                type: string
                description: The type of error that occurred.
              field:
                type: string
                description: The field of the object that the error was found in.
              severity:
                type: string
                description: The severity of the error.
              sub_type:
                type: string
                description: The sub_type of the error.
    LiFE_element:
      title: LiFE Element
      description: A configurable, custom element in the checkout experience.
      properties:
        public_id:
          type: string
          description: The Bold-generated identifier of the LiFE element.
          example: VfYRxzOjRkwG6B2xWbxhPQ
          readOnly: true
        location:
          type: string
          description: The location where the LiFE element will be rendered. For more information about possible element locations, refer to the [Checkout LiFE guide](/guides/checkout/life).
          example: customer_info
          enum:
            - customer_info
            - shipping
            - billing_address_after
            - shipping_lines
            - below_actions
            - summary_above_header
            - payment_gateway
            - thank_you_message
            - order_confirmation
            - order_details
            - main_content_beginning
            - main_content_end
            - payment_method_above
            - paypal_additional_information
        input_type:
          type: string
          description: The input type of the LiFE element.
          example: text
          enum:
            - text
            - checkbox
            - html
            - textarea
            - dropdown
            - datepicker
        input_default:
          type: string
          description: |-
            The default input. The behavior of this field depends on the `input_type`:
              - `text` or `textarea`: Set this value to your chosen string. The shopper deletes the `input_default` and adds their own value.
              - `checkbox`: Set this value to `"true"` to make the checkbox automatically selected.
              - `html`: Set this value to the HTML you would like the element to display.
              - `dropdown`: Set the value to a comma-separated string of the options you would like the element to display.
              - `datepicker`: Set the value to a date string with the format of `YYYY/MM/DD`. If the `input_default` is not set, the date picker defaults to the current date.
          example: initial value
          nullable: true
        input_label:
          type: string
          description: If the element requires shopper input, this is the label for the input.
          example: Shipping notes
          nullable: true
        input_placeholder:
          type: string
          description: |-
            The input placeholder value of the LiFE element. The behavior of this field depends on the `input_type`:
              - `text` or `textarea`: This value appears in the input field and disappears when the shopper begins typing.
              - `checkbox`: This value appears below the `input_label`.
              - `dropdown`: This value appears in the drop-down box before it is expanded.
              - `datepicker`: This value appears in the input field and disappears when the shopper selects a date.
          example: Shipping notes here
          nullable: true
        input_required:
          type: boolean
          description: Indicates whether input from the shopper is required.
          example: true
          nullable: true
        input_regex:
          type: string
          description: The regular expression that validates the input for `text` and `textarea` elements.
          example: '[0-9]{4}'
          nullable: true
        meta_data_field:
          type: string
          description: The metadata key from the order's `application_state` that will be used to store the user's entered value.
          example: shipping_notes
        order_asc:
          type: integer
          description: The index of the element. If multiple elements appear in one location, this value indicates the order in which they appear.
          example: 1
      required:
        - location
        - meta_data_field
        - input_type
        - input_required
        - order_asc
    ExternalPaymentGateway:
      title: External Payment Gateway
      description: A configurable, external payment gateway for accepting payments through Bold checkout.
      type: object
      properties:
        public_id:
          type: string
          description: The Identifier of the external payment gateway resource.
          example: VfYRxzOjRkwG6B2xWbxhPQ
          readOnly: true
        shop_id:
          type: integer
          description: The identifier of the shop associated to the external payment gateway.
          example: 42
          readOnly: true
        name:
          type: string
          description: The name of the external payment gateway resource.
          example: External Payment Gateway
        base_url:
          type: string
          description: The base URL that Checkout calls when performing payment operations.
          example: www.example.com/payments
        iframe_url:
          type: string
          description: The URL to be embedded into the payment iframe.
          example: www.example.com/gateway
          nullable: true
        location:
          type: string
          description: The location during checkout that the payment `iframe` will be rendered.
          example: payment_method_below
          nullable: false
        http_headers:
          type: array
          description: An array of headers to add to requests to `base_url`.
          items:
            title: Key Value Pair
            minItems: 0
            type: object
            properties:
              key:
                type: string
                description: The header name.
                example: foo
              value:
                type: string
                description: The header value.
                example: bar
            required:
              - key
              - value
        api_token:
          type: string
          description: An API token associated with the external payment gateway, defined by the sender. If provided, Bold includes this token in the authentication header when sending requests to this external payment gateway. For more information, refer to [Verify requests from Bold Checkout](/guides/checkout/checkout-epg-guide#verify-requests-from-bold-checkout).
          example: XjqnSQWYAZXt
          nullable: true
        partial_capture:
          type: boolean
          description: If true, the external payment gateway supports partial payment captures.
          example: true
        additional_order_details:
          type: boolean
          description: If true, additional metadata can be included on payments added to orders.
          example: true
        provider_id:
          type: string
          description: |-
            The identifier, generated by the external payment gateway, that Checkout sends in payment-related requests to the gateway.

            The identifier must be a unique value for each store that installs the external payment gateway.
          example: 8ad85ccf-7fd6-4f4b-a1a2-dff42fb3e228
        currency:
          type: string
          description: The currency supported by the external payment gateway, in [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) format.
          example: CAD
          minLength: 3
          maxLength: 3
      required:
        - name
        - base_url
        - partial_capture
        - additional_order_details
        - provider_id
        - currency
    OverrideConfig:
      title: API override configuration
      description: Encapsulates the set of data defining a Checkout API override.
      type: object
      properties:
        public_id:
          $ref: '#/components/schemas/OverrideID'
        override_type:
          $ref: '#/components/schemas/OverrideType'
        url:
          $ref: '#/components/schemas/OverrideURL'
        created_at:
          $ref: '#/components/schemas/OverrideCreation'
        updated_at:
          $ref: '#/components/schemas/OverrideUpdate'
    OverrideCreation:
      type: string
      readOnly: true
      description: The time at which this API override was created.
      example: '2021-11-17 21:03:36'
    OverrideID:
      type: string
      readOnly: true
      description: The unique identifier for this API override.
      example: '1'
    OverrideRequest:
      title: API override request
      description: The information about an API override required to create or update an override
      type: object
      properties:
        override_type:
          $ref: '#/components/schemas/OverrideType'
        url:
          $ref: '#/components/schemas/OverrideURL'
        shared_secret:
          $ref: '#/components/schemas/OverrideSharedSecret'
      required:
        - override_type
        - url
        - shared_secret
    OverrideSharedSecret:
      type: string
      description: Your shared secret, a random string of sufficient length. Bold uses this string and the current date to create a signature for each override request.
      minLength: 8
      maxLength: 255
      example: aq9834g4aqkdwa0
    OverrideType:
      type: string
      enum:
        - address_validate
        - shipping
        - discount
        - inventory
        - tax
      description: The Checkout functionality that is overridden by this API override.
      example: discount
    OverrideUpdate:
      type: string
      readOnly: true
      description: The time at which this API override was last changed. Defaults to the created date when no changes have yet been made.
      example: '2021-11-17 21:03:36'
    OverrideURL:
      type: string
      description: The destination URL at which a request will be made when functionality relating to this `override_type` is triggered in Checkout.
      example: https://example.com/overrides/callback_url
    PmmcSession:
      title: PMMC Session
      type: object
      description: The customer information required to load a PMMC iframe.
      properties:
        proxy_session_id:
          type: string
          description: A temporary identifier for the PMMC session.
          example: 8asefjo8a340
        signature:
          type: string
          description: An HMAC to ensure security of the request.
          example: b42af09234bac1e2d41708e48a902e09b5ff7f12ab428a4fe84053c73dd248fb82f948a549f7b791c5b41915ee4d1ec3935357e9e2317250d0372afa2ebeeb3b
        bold_customer_id:
          type: string
          example: uqw94joiefrqwo4
          description: A Bold-generated identifier of the customer.
    RemoteStateAuthorityConfig:
      title: Remote State Authority configuration
      description: Encapsulates the set of data defining a Remote State Authority.
      type: object
      properties:
        remote_state_authority:
          type: object
          properties:
            url:
              type: string
              description: The destination URL that is called to contact the Remote State Authority for a shop.
              example: https://example.com/my_remote_state_authority
          required:
            - url
          nullable: true
      required:
        - remote_state_authority
    GiftCard:
      title: Gift Card
      description: The representation of a Gift Card.
      type: object
      properties:
        card_token:
          type: string
          description: The gift card token.
          example: OAVXDVRAJUGFMHEK
        amount:
          type: number
          description: The original amount of the gift card, represented in base units of the store's currency, using [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) standards.
          example: 5000
        balance:
          type: number
          description: The remaining usable amount of the gift card, represented in base units of the store's currency, using [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) standards.
          example: 2575
        recipient_name:
          type: string
          nullable: true
          description: The name of the gift card's recipient.
          example: John
        recipient_email:
          type: string
          description: The email of the gift card's recipient.
          example: john.smith@example.com
        message:
          type: string
          nullable: true
          description: An optional message from the purchaser of the gift card to the recipient.
          example: Enjoy this gift certificate from us.
        expiry_date:
          type: string
          nullable: true
          description: The date after which the gift card may no longer be used. If `expiry_date` is `null`, the gift card can used indefinitely until it has no balance remaining.
          example: '2025-04-01'
        customer_name:
          type: string
          nullable: true
          description: The name of the gift card's purchaser or issuer.
          example: Jane
        customer_email:
          type: string
          description: The email of the gift card's purchaser or issuer.
          example: jane.doe@example.com
    TaxZoneSettingRequest:
      type: object
      properties:
        tax_provider:
          type: string
          enum:
            - custom
            - bold
            - avalara
            - taxjar
            - vertex
            - override
          description: The tax provider for the tax zone. If you intend to use a tax override for the shop, set this value to `override`.
          example: override
      required:
        - tax_provider
    TaxZoneSettingConfig:
      title: Tax zone configuration
      description: Encapsulates the tax provider for a tax zone.
      type: object
      properties:
        zone_id:
          type: number
          description: The ID of the zone to which this setting applies.
          example: 42
        tax_provider:
          type: string
          enum:
            - custom
            - bold
            - avalara
            - taxjar
            - vertex
            - override
          description: The tax provider for the tax zone.
          example: override
    WarehouseRequest:
      title: Warehouse configuration
      description: Encapsulates the physical address of a warehouse.
      type: object
      properties:
        address:
          type: string
          description: The street address of the warehouse.
          example: 123 Main St.
        address2:
          type: string
          description: An additional address line.
          example: c/o Buck Skaggstein
          nullable: true
        city:
          type: string
          description: The city of the warehouse.
          example: American Fork
        province_code:
          type: string
          description: The [ISO-3166](https://www.iso.org/iso-3166-country-codes.html) two-letter state or province code of the warehouse.
          example: UT
          nullable: true
        province:
          type: string
          description: The state or province of the warehouse.
          example: Utah
          nullable: true
        country_code:
          type: string
          description: The [ISO-3166](https://www.iso.org/iso-3166-country-codes.html) two-letter country code of the warehouse.
          example: US
        country:
          type: string
          description: The country of the warehouse.
          example: United States
        postal_code:
          type: string
          description: The postal code or zip code of the warehouse.
          example: '84003'
        extended_postal_code:
          type: string
          description: Additional postal code data.
          example: '52'
          nullable: true
      required:
        - address
        - city
        - country_code
        - country
        - postal_code
    WarehouseUpdateRequest:
      title: Warehouse update request
      description: Encapsulates the physical address of a warehouse.
      type: object
      properties:
        address:
          type: string
          description: The street address of the warehouse.
          example: 123 Main St.
        address2:
          type: string
          description: An additional address line.
          example: c/o Buck Skaggstein
          nullable: true
        city:
          type: string
          description: The city of the warehouse.
          example: American Fork
        province_code:
          type: string
          description: The [ISO-3166](https://www.iso.org/iso-3166-country-codes.html) two-letter state or province code of the warehouse.
          example: UT
          nullable: true
        province:
          type: string
          description: The state or province of the warehouse.
          example: Utah
          nullable: true
        country_code:
          type: string
          description: The [ISO-3166](https://www.iso.org/iso-3166-country-codes.html) two-letter country code of the warehouse.
          example: US
        country:
          type: string
          description: The country of the warehouse.
          example: United States
        postal_code:
          type: string
          description: The postal code or zip code of the warehouse.
          example: '84003'
        extended_postal_code:
          type: string
          description: Additional postal code data.
          example: '52'
          nullable: true
    WarehouseConfig:
      title: Warehouse configuration
      description: Encapsulates the physical address of a warehouse.
      type: object
      properties:
        address:
          type: string
          description: The street address of the warehouse.
          example: 123 Main St.
        address2:
          type: string
          description: An additional address line.
          example: c/o Buck Skaggstein
          nullable: true
        city:
          type: string
          description: The city of the warehouse.
          example: American Fork
        province_code:
          type: string
          description: The [ISO-3166](https://www.iso.org/iso-3166-country-codes.html) two-letter state or province code of the warehouse.
          example: UT
          nullable: true
        province:
          type: string
          description: The state or province of the warehouse.
          example: Utah
          nullable: true
        country_code:
          type: string
          description: The [ISO-3166](https://www.iso.org/iso-3166-country-codes.html) two-letter country code of the warehouse.
          example: US
        country:
          type: string
          description: The country of the warehouse.
          example: United States
        postal_code:
          type: string
          description: The postal code or zip code of the warehouse.
          example: '84003'
        extended_postal_code:
          type: string
          description: Additional postal code data.
          example: '52'
          nullable: true
        zone_id:
          type: number
          description: The Bold-generated ID of the zone associated with this warehouse.
          example: 283
    ZoneRequest:
      title: Zone request
      description: Encapsulates a zone containing one or more geographic regions.
      type: object
      properties:
        name:
          type: string
          description: A user-friendly name for the zone.
          example: Western Region
        type:
          type: string
          enum:
            - shipping
            - tax
            - warehouse
          description: The type of zone to create.
          example: warehouse
        default:
          type: boolean
          description: Whether this zone should be used in the absence of any other applicable zone. There may only be one default zone for each zone type.
          default: false
          example: true
        enabled:
          type: boolean
          description: Whether this zone can be used during Checkout.
          default: true
          example: false
        regions:
          type: array
          description: An array of regions encompassed by this zone.
          items:
            title: Regions
            minItems: 0
            type: object
            properties:
              country_code:
                type: string
                description: The [ISO-3166](https://www.iso.org/iso-3166-country-codes.html) two-letter country code of the region.
                example: CA
              province_code:
                type: string
                description: The [ISO-3166](https://www.iso.org/iso-3166-country-codes.html) two-letter state or province code of the region. This field may be omitted for countries with no such subdivisions.
                example: MB
            required:
              - country_code
      required:
        - type
        - name
        - regions
    ZoneUpdateRequest:
      title: Zone update request
      description: Changes to make to one or more of a zone's properties.
      type: object
      properties:
        name:
          type: string
          description: A user-friendly name for the zone.
          example: Western Region
        default:
          type: boolean
          description: Whether this zone should be used if no other zone is applicable. There may only be one default zone for each zone type.
          default: false
          example: true
        enabled:
          type: boolean
          description: Whether this zone can be used during checkout.
          default: true
          example: false
        regions:
          type: array
          description: An array of regions encompassed by this zone.
          items:
            title: Regions
            minItems: 0
            type: object
            properties:
              country_code:
                type: string
                description: The two-letter country code of the country, using [ISO-3166](https://www.iso.org/iso-3166-country-codes.html) format.
                example: CA
              province_code:
                type: string
                description: The [ISO-3166](https://www.iso.org/iso-3166-country-codes.html) two-letter state or province code of the region. This field may be omitted for countries with no such subdivisions.
                example: MB
            required:
              - country_code
      required:
        - zone_id
    ZoneConfig:
      title: Zone configuration
      description: Encapsulates a zone containing multiple geographic regions.
      type: object
      properties:
        id:
          type: number
          description: A unique identifier for the zone.
          example: 283
        name:
          type: string
          description: A user-friendly name for the zone.
          example: Western Region
        type:
          type: string
          enum:
            - shipping
            - tax
            - warehouse
          description: The type of zone created.
          example: warehouse
        default:
          type: boolean
          description: Whether this zone should be used in the absence of any other applicable zone.
          example: false
        enabled:
          type: boolean
          description: Whether this zone can be used during Checkout.
          example: true
        regions:
          type: array
          description: An array of regions encompassed by this zone.
          items:
            title: Regions
            properties:
              country_code:
                type: string
                description: The [ISO-3166](https://www.iso.org/iso-3166-country-codes.html) two-letter country code of the region.
                example: CA
              province_code:
                type: string
                description: The [ISO-3166](https://www.iso.org/iso-3166-country-codes.html) two-letter state or province code of the region.
                example: MB
                nullable: true
    LineItemKey:
      title: LineItemKey
      type: string
      description: A merchant-defined, unique identifier serving to refer to this line throughout Bold Checkout.
      example: oak_cheese_grater_2643
    GiftCardProperties:
      title: Gift Card Properties
      type: object
      properties:
        recipient_name:
          type: string
          description: The name of the person receiving the gift card.
          example: John Doe
        recipient_email:
          type: string
          description: The email address of the person receiving gift card.
          example: john.doe@example.com
        message:
          type: string
          description: A personalized message field the buyer can attach to the gift card. Value is `""` if created from an order.
          example: Dear John, Happy Birthday!
        custom_amount:
          type: string
          description: If included, the price of this particular line item in the checkout order will be overwritten by this value. It is written in base units, using [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) standards.
          example: '2450'
    LineItem:
      title: Line Item
      type: object
      properties:
        id:
          type: string
          description: An internal-only string that Bold uses to identify line items.
          example: 724bca
        product_title:
          type: string
          description: The name of the product.
          example: Oak Cheese Grater
        title:
          type: string
          description: The name of the product variant.
          example: Small
        image_url:
          type: string
          description: The URL for the image of the variant that is displayed on the storefront.
          example: http://shop.images/oakcheesegrater
        properties:
          description: Any additional properties of the line item. Line Items can also be Gift Cards, which have specific and unique properties. See the "Gift card properties" example in `line_items` arrays.
          anyOf:
            - type: object
              title: Additional Properties
              additionalProperties:
                type: string
            - $ref: '#/components/schemas/GiftCardProperties'
            - type: array
              title: No properties
              maxItems: 0
              items: {}
        description:
          type: string
          description: A description of the product.
          example: A handmade oak cheese grater to elevate your cheese-eating experience.
        quantity:
          type: integer
          description: The quantity of the line item on the order.
          example: 2
        price:
          type: number
          description: The price of one unit of the line item, using cents/base currency units, using [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) standards.
          example: 2350
        total_price:
          type: number
          description: The total price of all units of the line item, presented in cents/base currency units, using [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) standards.
          example: 4700
        visible:
          type: integer
          description: Indicates whether the item is visible on the storefront. Hard-coded to `1` to indicate `true`.
          example: 1
        line_item_key:
          $ref: '#/components/schemas/LineItemKey'
        barcode:
          type: string
          description: The barcode for the line item.
          example: 1234ABC
        compare_at_price:
          type: number
          description: An optional price displayed on the product page to indicate the discount taken.
          nullable: true
          example: 4000
        weight:
          type: integer
          description: The weight of one unit of the line item, measured in `weight_unit`.
          example: 1000
        weight_unit:
          type: string
          description: The unit in which to measure the line item weight.
          example: g
        product_id:
          type: string
          description: A platform-defined identifier for the product on this line item.
          example: oak-cheese-grater
        variant_id:
          oneOf:
            - type: string
            - type: number
          description: A platform-defined identifier for the product variant on this line item.
          example: oak-cheese-grater-small
        requires_shipping:
          type: boolean
          description: Indicates whether the item must be shipped.
          example: true
        sku:
          type: string
          description: A merchant-defined stock-keeping unit of the line item.
          example: OAK_GRATER_SM
        taxable:
          type: boolean
          description: Indicates whether the line item is taxable.
          example: true
        tags:
          type: string
          description: Any tags attached to the line item.
          example: Kitchen, Cheese Board, Oak
        vendor:
          type: string
          description: The vendor that supplied the line item.
          example: Cheese Boards Unlimited
        total_weight:
          type: integer
          description: The total weight of all units of this line item.
          example: 2000
    Discount:
      title: Discount
      type: object
      description: A discount, which can be applied either to an individual line item or the order as a whole.
      properties:
        code:
          type: string
          description: The user-facing discount code name.
          example: SUMMER5
        text:
          type: string
          description: A description of the discount, which is displayed on the platform.
          example: Summer discount code
        value:
          type: number
          example: 500
          description: The value of the discount applied, represented in base currency units, using [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) standards.
        source:
          type: string
          description: |-
            The source of the discount code. Possible values are:
              - `"cart"` discount created from plugin actions [DISCOUNT_CART](/guides/checkout/references/plugin-actions#discount_cart) and/or [DISCOUNT_LINE_ITEMS](/guides/checkout/references/plugin-actions#discount_line_items)
              - `"coupon"` discount created in the [Bold Checkout admin](https://apps.boldapps.net/accounts/app/4).
          example: coupon
    OrderMetaData:
      title: Order Metadata
      type: object
      description: Additional information about an order. Metadata can be used as data proxy that Checkout will act upon. It can also be used to include extra information about an order and included when pushed to the platform.
      properties:
        cart_parameters:
          description: Extra information about an order that Checkout can act upon.
          oneOf:
            - type: object
              title: Cart parameters
              properties:
                key:
                  type: string
                  example: cp-key1
              additionalProperties:
                type: string
                example: A cart param.
            - type: array
              title: No cart parameters
              maxItems: 0
              items: {}
        note_attributes:
          description: Extra information added to the order and pushed to the platform.
          oneOf:
            - type: object
              title: Note attributes
              properties:
                key:
                  type: string
                  example: na-key1
              additionalProperties:
                type: string
                example: A note attribute.
            - type: array
              title: No note attributes
              maxItems: 0
              items: {}
        notes:
          type: string
          description: Notes that can be attached to the order.
          example: A special delivery note.
        tags:
          type: array
          description: Tags attached to the order.
          items:
            type: string
            example: order-1
    LineItemFee:
      title: Fee
      type: object
      description: An additional fee to be added to the line item.
      properties:
        amount:
          type: number
          description: The fee amount, represented in cents/base currency units, using [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) standards.
          example: 500
        name:
          type: string
          description: A description of the fee.
          example: Miscellaneous fee.
    GeneralFee:
      title: GeneralFee
      type: object
      properties:
        id:
          type: string
          description: A unique identifier for this fee, used in the [`remove_fee`](/guides/checkout/references/plugin-actions#remove_fee) plugin action.
          example: '123456789'
        line_text:
          type: string
          description: A user-defined identifier serving to be displayed in any user interfaces.
          example: Custom Fee — Added by Plugin
        fee_type:
          type: string
          description: The type of the fee, "fixed" or "percentage".
          example: fixed
        value:
          type: integer
          description: The fee amount, represented in base currency units, using [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) standards.
          example: 10
        source:
          type: string
          description: The method in which the fee was added to the order, typically through the `add_fee` plugin action.
          example: PLUGIN
        plugin_uuid:
          type: string
          description: The identifier of the plugin which added the fee to the order. This field is omitted if the fee source was not a plugin.
          example: a52589f8-09df-11ed-b30e-f67072e164ee
        taxable:
          type: boolean
          description: Indicates whether the fee should be included in the calculation of taxes.
          example: true
        show_description:
          type: boolean
          description: Indicates whether to show the fee description. Always set to `true` for fees added by plugin.
          example: true
    Currency:
      type: object
      description: The currency that the order was completed in.
      properties:
        iso_code:
          type: string
          description: The currency code, using [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) standards.
          example: CAD
        iso_numeric_code:
          type: integer
          description: The numeric currency code, using [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) standards.
          example: 124
        symbol:
          type: string
          description: The symbol associated with the currency.
          example: $
        format:
          type: string
          description: The format of the currency, including the symbol and the amount.
          example: ${{amount}}
        has_decimal:
          type: boolean
          description: Indicates whether the currency uses a decimal.
          example: true
        show_iso_code:
          type: boolean
          description: Indicates whether to show the ISO code alongside the order total on the storefront.
          example: true
    DisplayCurrency:
      type: object
      description: The currency that the order was displayed to the user.
      properties:
        iso_code:
          type: string
          description: The currency code, using [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) standards.
          example: USD
        iso_numeric_code:
          type: integer
          description: The numeric currency code, using [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) standards.
          example: 840
        symbol:
          type: string
          description: The symbol associated with the currency.
          example: $
        format:
          type: string
          description: The format of the currency, including the symbol and the amount.
          example: ${{amount}}
        has_decimal:
          type: boolean
          description: Indicates whether the currency uses a decimal.
          example: true
        show_iso_code:
          type: boolean
          description: Indicates whether to show the ISO code alongside the order total on the storefront.
          example: true
    DisplayExchangeRate:
      type: number
      description: The rate of exchange between the currency on the order and the display currency.
      example: 1.357251
    PublicOrderId:
      title: Public Order ID
      type: string
      description: The public order identifier generated when the order is initialized by making a request to the [Initialize Order](orders#operation/InitializeOrder) endpoint.
      example: nPTPIlIahDoEgZFabZNNvg7uxahLkGb1x4UINz3eqYV3eHewsjq7kubZc5BLAUqC
    ApplicationState:
      title: Application State
      type: object
      description: |-
        Represents the current state of the order.
        Taxes and discounts represent the summation of all tax or discount lines that have been applied anywhere through the order. Consulting the line items allows you to get the specific product break down of taxes and discounts.
      properties:
        customer:
          description: The customer that placed the order.
          oneOf:
            - $ref: '#/components/schemas/Customer'
            - type: array
              title: No customer
              maxItems: 0
              items: {}
        addresses:
          type: object
          description: The billing and shipping addresses on the order.
          properties:
            shipping:
              description: The shipping address on the order.
              oneOf:
                - $ref: '#/components/schemas/Address'
                - type: array
                  title: No address
                  maxItems: 0
                  items: {}
            billing:
              description: The billing address on the order.
              oneOf:
                - $ref: '#/components/schemas/Address'
                - type: array
                  title: No address
                  maxItems: 0
                  items: {}
        line_items:
          type: array
          description: The list of line items associated with an order. Each line item includes information about the selected product and the taxes, fees, and discounts applied to it.
          items:
            type: object
            properties:
              product_data:
                $ref: '#/components/schemas/LineItem'
              taxes:
                type: array
                description: Any taxes that apply to the line item.
                items:
                  $ref: '#/components/schemas/Tax'
              fees:
                type: array
                description: Any fees that apply to the line item.
                items:
                  $ref: '#/components/schemas/LineItemFee'
              discounts:
                type: array
                description: Any discounts that apply to the line item.
                items:
                  $ref: '#/components/schemas/Discount'
              fulfilled_quantity:
                type: integer
                description: The quantity of the line item that has been fulfilled. Fulfill a line item using the [Update Line Item](orders#operation/UpdateLineItem) endpoint.
                example: 2
        fees:
          type: array
          description: Any fees that apply to the full order.
          items:
            $ref: '#/components/schemas/GeneralFee'
        taxes:
          type: array
          description: Any taxes that apply to the full order.
          items:
            $ref: '#/components/schemas/Tax'
        discounts:
          type: array
          description: Any discounts that apply to the full order.
          items:
            $ref: '#/components/schemas/Discount'
        payments:
          type: array
          description: The payments applied to the order.
          items:
            $ref: '#/components/schemas/Payment'
        order_total:
          type: number
          description: The total amount of the order (after tax, shipping, and discounts) using cents/base currency units using [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) standards.
          example: 4700
        order_meta_data:
          $ref: '#/components/schemas/OrderMetaData'
        shipping:
          type: object
          description: The shipping information — including shipping lines, taxes, and discounts — associated with an order.
          properties:
            selected_shipping:
              $ref: '#/components/schemas/ShippingLine'
            available_shipping_lines:
              type: array
              description: The shipping lines available for the order.
              items:
                type: object
                properties:
                  id:
                    type: string
                  line:
                    $ref: '#/components/schemas/ShippingLine'
            taxes:
              description: Any taxes that apply to the shipping rate.
              oneOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/Tax'
                - type: number
            discounts:
              description: Any discounts that apply to the shipping rate.
              oneOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/Discount'
                - type: number
        resumable_link:
          $ref: '#/components/schemas/ResumableLink'
        flow_id:
          type: string
          nullable: true
          description: The identifier of the origin checkout flow used to create the order. If left empty, defaults to `null` and is displayed as "Unassigned" in the Checkout admin.
          example: external-company-one-page-template
        currency:
          $ref: '#/components/schemas/Currency'
        display_currency:
          $ref: '#/components/schemas/DisplayCurrency'
        display_exchange_rate:
          $ref: '#/components/schemas/DisplayExchangeRate'
        created_via:
          type: string
          description: The source of the order. Plugin developers can use the [Set Order Created By](/guides/checkout/references/plugin-actions#set_order_created_by) action to set this field and indicate that an order was created by their plugin. If the order was created as normal through Bold Checkout, this value is `"checkout"`.
          example: My_Order_Creating_Plugin
        is_processed:
          type: boolean
          description: Indicates whether the order has been processed.
          example: false
        order_id:
          type: number
          description: Bold Checkout's internal order ID.
          example: 79047599
        platform_order_id:
          type: string
          nullable: true
          description: A platform-generated identifier for the order.
          example: 1389wjfalsdf9y4r
    Customer:
      title: Customer
      type: object
      description: An authenticated or guest customer associated with an order.
      properties:
        platform_id:
          type: string
          description: The platform identifier for an authenticated customer. For guest customers, the value for this property will be null.
          nullable: true
          example: '50942578465125'
        public_id:
          type: string
          description: The public identifier generated by Checkout for a customer.
          nullable: true
          readOnly: true
          example: pjpTyGh8KzNQ225wPqxgy7LwNuC887h6ecGyp3omwT4XW8SszjVSdHzWHN4NBwqhA
        first_name:
          type: string
          description: The first name of the customer.
          example: John
        last_name:
          type: string
          description: The last name of the customer.
          example: Doe
        email_address:
          type: string
          description: The email address of the customer.
          example: john.doe@example.com
        accepts_marketing:
          type: boolean
          description: If the customer would like to receive any sort of marketing emails. Defaults to `false`.
          example: true
        saved_addresses:
          type: array
          description: The saved addresses of an authenticated customer stored from the platform.
          items:
            $ref: '#/components/schemas/Address'
      required:
        - email_address
    Address:
      title: Address
      description: A shipping or billing address.
      type: object
      nullable: true
      properties:
        id:
          type: string
          description: A unique identifier of the address.
          nullable: true
          readOnly: true
          example: '123'
        first_name:
          type: string
          description: The first name of the addressee.
          example: John
        last_name:
          type: string
          description: The last name of the addressee.
          example: Doe
        address_line_1:
          type: string
          description: The street address.
          example: 50 Fultz Blvd
        address_line_2:
          type: string
          description: 'Any additional street address details (apt #, suite #, etc).'
          example: Suite 200
        country:
          type: string
          description: The country name.
          example: Canada
        city:
          type: string
          description: The city name.
          example: Winnipeg
        province:
          type: string
          description: The province or state name, if applicable.
          example: Manitoba
        country_code:
          type: string
          description: The country code, in [ISO 3166](https://www.iso.org/iso-3166-country-codes.html) format.
          example: CA
        province_code:
          type: string
          description: The province or state code, in [ISO 3166](https://www.iso.org/iso-3166-country-codes.html) format, if applicable.
          example: MB
        postal_code:
          type: string
          description: The postal/zip code. Required for most countries, including the United States, Canada, and Mexico. Validated on format only when provided.
          example: R3Y0L6
        business_name:
          type: string
          description: If applicable, the business name.
          example: Acme Inc.
        phone_number:
          type: string
          description: The phone number of the addressee.
          example: '8005550101'
      required:
        - country
        - country_code
    ShippingLine:
      title: Shipping Line
      type: object
      nullable: true
      properties:
        id:
          type: string
          description: The index of the shipping line.
          example: '0'
        description:
          type: string
          description: A description of the shipping line.
          example: 'Custom weight-based rate: tier 2'
        amount:
          type: number
          description: The shipping amount represented in cents/base currency units using [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) standards.
          example: 450
        code:
          type: string
          description: An identifier assigned to the shipping rate by the shipping provider.
          example: EXPID
    Payment:
      title: Payment
      type: object
      properties:
        gateway_public_id:
          type: string
          description: A public identifier of the payment gateway used with the payment.
          example: i7z2xT0sKrDvhGWzex5SLjf5e6ndlQfrRL4AROkfhf3vNBkVT38JKBy5PSjB63qW
        amount:
          type: number
          description: The payment amount, represented in cents/base currency units, using [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) standards.
          example: 4700
        currency:
          type: string
          description: The currency of the payment, using [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) standards.
          example: CAD
        type:
          type: string
          description: The payment gateway that accepted the payment.
          example: spreedly
        display_string:
          type: string
          description: A description of the payment to visually display to the customer.
          example: Credit Card Payment
        id:
          type: string
          readOnly: true
          description: An identifier of the payment.
          example: ''
        token:
          type: string
          description: A token generated by the payment gateway to identify the payment.
          example: 7uZAMRAf80KiEwibsrrM5IB41yU
        retain:
          type: boolean
          description: Indicates whether the payment method will be saved for future orders. Checkout only stores a tokenized version of the payment method.
          default: false
          example: false
      required:
        - gateway_public_id
        - token
    Error:
      title: error
      type: object
      properties:
        message:
          type: string
          description: The message for the error.
          example: The first name field is required.
        type:
          type: string
          description: The type of error that occurred.
          example: customer
        field:
          type: string
          description: The field of the object that the error was found in.
          example: first_name
        severity:
          type: string
          description: The severity of the error.
          example: validation
        sub_type:
          type: string
          description: The sub_type of the error.
          example: order
    ErrorV2:
      title: Error
      type: object
      properties:
        code:
          type: string
          description: The code for the error.
          example: 11-13
        type:
          type: string
          description: The type of error.
          example: integration_config.shop_could_not_be_determined
        message:
          type: string
          description: The message for the error.
          example: shop could not be determined
        details:
          type: object
          description: Additional details for the error.
          example: {}
    UnprocessableEntity:
      description: There was a problem with the object provided in the request.
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
                description: An error message describing what went wrong.
                example: The first name field is required.
              type:
                type: string
                description: The type of error that occurred.
                example: customer
              field:
                type: string
                description: The field of the object that the error was found in.
                example: first_name
              severity:
                type: string
                description: The severity of the error.
                example: validation
              sub_type:
                type: string
                description: The sub_type of the error.
                example: order
    MetaData:
      title: Order Metadata
      type: object
      description: Additional information about an order. This information is for the use of the store or integration, so Bold Checkout does not do anything with this metadata. It can also be used to include extra information about an order and included when pushed to the platform.
      properties:
        cart_parameters:
          description: Extra information about an order that Checkout can act upon. Refer to [Cart Parameters](/guides/checkout/concepts/cart-parameters) for more information.
          oneOf:
            - type: object
              title: Cart parameters
              description: Extra information about an order that Checkout can act upon.
              properties:
                key:
                  type: string
              example:
                ca-key1: Some kind of cart parameter.
            - type: array
              title: No cart parameters
              maxItems: 0
              minItems: 0
              items: {}
              example: []
        note_attributes:
          description: Extra information about the order that is pushed to the platform.
          oneOf:
            - type: object
              title: Note attributes
              properties:
                key:
                  type: string
              example:
                na-key1: Some kind of note attributes.
            - type: array
              title: No note attributes
              maxItems: 0
              minItems: 0
              items: {}
              example: []
        notes:
          type: string
          description: Notes that can be attached to the order.
          example: Some kind of special delivery note.
        tags:
          type: array
          description: Tags associated with the order that are pushed to the platform.
          items:
            type: string
          example:
            - tag-1
    ResumableLink:
      type: string
      nullable: true
      description: A URL used to resume an order. If provided, the default resumable link generated by Checkout will be overwritten with this URL. This resumable link will be provided in the email and webhook for an abandoned checkout.
      example: https://mycheckout.com/resume
    WebhookConfig:
      title: Webhook Config
      description: Information about a registered webhook.
      allOf:
        - $ref: '#/components/schemas/WebhookTopic'
        - type: object
          properties:
            callback_url:
              type: string
              description: The URL the webhook payload will be sent to.
              example: https://my-app.com/webhooks/callback_url
            created_at:
              type: string
              description: The datetime the webhook was registered.
              readOnly: true
              example: '2021-11-17 21:03:36'
            updated_at:
              type: string
              description: The datetime the webhook was updated.
              readOnly: true
              example: '2021-11-17 21:03:36'
    WebhookTopic:
      title: Webhook Topic
      description: Information about a webhook topic.
      type: object
      properties:
        webhook_topic_id:
          $ref: '#/components/schemas/WebhookTopicID'
        webhook_topic_name:
          $ref: '#/components/schemas/WebhookTopicName'
    WebhookTopicID:
      type: integer
      description: The webhook topic identifier.
      example: 1
    WebhookTopicName:
      type: string
      description: The webhook topic name.
      example: order/created
    CallbackURL:
      type: string
      description: The URL that the webhook payload will be sent to.
      example: https://my-app.com/webhooks/order/created
    AbandonedOrderWebhook:
      title: Abandoned Order
      type: object
      description: Information about an order abandoned during checkout, sent as a callback payload.
      properties:
        public_order_id:
          $ref: '#/components/schemas/PublicOrderId'
        line_items:
          type: array
          items:
            $ref: '#/components/schemas/LineItem'
        customer:
          $ref: '#/components/schemas/Customer'
        order_meta_data:
          $ref: '#/components/schemas/MetaData'
        resumable_link:
          $ref: '#/components/schemas/ResumableLink'
        shop:
          type: object
          properties:
            domain:
              $ref: '#/components/schemas/Domain'
            platform_domain:
              $ref: '#/components/schemas/PlatformDomain'
    CreatedOrderWebhook:
      title: Created Order
      type: object
      description: Information about a created order, sent as a callback payload.
      properties:
        domain:
          $ref: '#/components/schemas/Domain'
        platform_domain:
          $ref: '#/components/schemas/PlatformDomain'
        application_state:
          $ref: '#/components/schemas/ApplicationState'
        public_order_id:
          $ref: '#/components/schemas/PublicOrderId'
        order_id:
          $ref: '#/components/schemas/OrderId'
        platform_order_id:
          $ref: '#/components/schemas/PlatformOrderId'
        platform_friendly_identifier:
          $ref: '#/components/schemas/PlatformFriendlyId'
        order_source:
          $ref: '#/components/schemas/OrderSource'
        order_source_name:
          $ref: '#/components/schemas/OrderSourceName'
        fulfillment_status:
          $ref: '#/components/schemas/FulfillmentStatus'
        fulfillment_data:
          $ref: '#/components/schemas/FulfillmentData'
    ProcessedOrderWebhook:
      title: Processed Order
      type: object
      description: Information about a processed order, sent as a callback payload.
      properties:
        domain:
          $ref: '#/components/schemas/Domain'
        platform_domain:
          $ref: '#/components/schemas/PlatformDomain'
        application_state:
          $ref: '#/components/schemas/ApplicationState'
        public_order_id:
          $ref: '#/components/schemas/PublicOrderId'
        order_id:
          $ref: '#/components/schemas/OrderId'
        platform_order_id:
          $ref: '#/components/schemas/PlatformOrderId'
        platform_friendly_identifier:
          $ref: '#/components/schemas/PlatformFriendlyId'
        order_source:
          $ref: '#/components/schemas/OrderSource'
        order_source_name:
          $ref: '#/components/schemas/OrderSourceName'
        fulfillment_status:
          $ref: '#/components/schemas/FulfillmentStatus'
        fulfillment_data:
          $ref: '#/components/schemas/FulfillmentData'
    FulfilledOrderWebhook:
      title: Fulfilled Order
      type: object
      description: Information about a fulfilled order, sent as a callback payload.
      properties:
        domain:
          $ref: '#/components/schemas/Domain'
        platform_domain:
          $ref: '#/components/schemas/PlatformDomain'
        application_state:
          $ref: '#/components/schemas/ApplicationState'
        public_order_id:
          $ref: '#/components/schemas/PublicOrderId'
        order_id:
          $ref: '#/components/schemas/OrderId'
        platform_order_id:
          $ref: '#/components/schemas/PlatformOrderId'
        platform_friendly_identifier:
          $ref: '#/components/schemas/PlatformFriendlyId'
        order_source:
          $ref: '#/components/schemas/OrderSource'
        order_source_name:
          $ref: '#/components/schemas/OrderSourceName'
        fulfillment_status:
          $ref: '#/components/schemas/FulfillmentStatus'
        fulfillment_data:
          $ref: '#/components/schemas/FulfillmentData'
    FailedOrderWebhook:
      title: Failed Order
      type: object
      description: Information about a failed order, sent as a callback payload.
      properties:
        domain:
          $ref: '#/components/schemas/Domain'
        platform_domain:
          $ref: '#/components/schemas/PlatformDomain'
        application_state:
          $ref: '#/components/schemas/ApplicationState'
        public_order_id:
          $ref: '#/components/schemas/PublicOrderId'
        order_id:
          $ref: '#/components/schemas/OrderId'
        platform_order_id:
          $ref: '#/components/schemas/PlatformOrderId'
        platform_friendly_identifier:
          $ref: '#/components/schemas/PlatformFriendlyId'
        order_source:
          $ref: '#/components/schemas/OrderSource'
        order_source_name:
          $ref: '#/components/schemas/OrderSourceName'
        fulfillment_status:
          $ref: '#/components/schemas/FulfillmentStatus'
        fulfillment_data:
          $ref: '#/components/schemas/FulfillmentData'
    GiftCardCreatedWebhook:
      title: Gift Card Created
      type: object
      description: Information about a created gift card, sent as a callback payload.
      properties:
        domain:
          $ref: '#/components/schemas/Domain'
        platform_domain:
          $ref: '#/components/schemas/PlatformDomain'
        platform_order_id:
          $ref: '#/components/schemas/PlatformOrderId'
        public_order_id:
          $ref: '#/components/schemas/PublicOrderId'
        platform_customer_id:
          $ref: '#/components/schemas/PlatformCustomerId'
        customer:
          $ref: '#/components/schemas/CallbackCustomer'
        gift_card_email:
          $ref: '#/components/schemas/GiftCardEmail'
        gift_card_token:
          $ref: '#/components/schemas/GiftCardToken'
        gift_card_key:
          $ref: '#/components/schemas/GiftCardKey'
        gift_card_amount:
          $ref: '#/components/schemas/GiftCardAmount'
    Domain:
      title: Domain
      type: string
      description: The shop domain.
      example: example.mybigcommerce.com
    PlatformDomain:
      title: Platform Domain
      type: string
      description: The platform domain.
      example: store-vwd2342klmsdf.mybigcommerce.com
    PlatformOrderId:
      title: Platform Order Id
      type: string
      description: A platform-generated identifier for the order.
      example: 1389wjfalsdf9y4r
    PlatformCustomerId:
      title: Platform Customer Id
      type: string
      description: A platform-generated identifier for the customer.
      example: '179'
    CallbackCustomer:
      title: Callback Customer
      type: object
      description: Simplified version of Customer object.
      properties:
        email_address:
          type: string
          description: The email address of the customer.
          example: john.doe@example.com
        first_name:
          type: string
          description: The first name of the customer.
          example: John
        last_name:
          type: string
          description: The last name of the customer.
          example: Doe
    GiftCardEmail:
      title: Customer Email
      type: string
      description: The email of the customer who bought the gift card.
      example: john.doe@example.com
    GiftCardToken:
      title: Gift Card Token
      type: string
      description: |-
        The token generated by Bold or the platform when the gift card is created.

        **Note**: GiveX gift cards have tokens with numbers. Bold gift cards do not.
      example: TYIDFASDFOCXOMT
    GiftCardKey:
      title: Gift Card Key
      type: string
      description: A PIN used during checkout with the gift card. Bold gift cards are three-digit numbers, and GiveX gift cards are four-digit numbers.
      example: '107'
    GiftCardAmount:
      title: Gift Card Amount
      type: number
      description: The total amount on the gift card, in the store's currency.
      example: 2500
    OrderId:
      title: Order Id
      type: integer
      description: Bold Checkout's internal order identifier.
      example: 79047599
    PlatformFriendlyId:
      title: Platform Friendly Id
      type: string
      description: A platform-generated identifier for the order, unique to the store.
      example: '179'
    OrderSource:
      title: Order Source
      type: string
      description: |-
        The source of the order.

        If the order was created with the `/init` or `/create` endpoints, the `order_source` is `X-Bold-Proxy-App-Guid`. `X-Bold-Proxy-App-Guid` is a unique uuid() generated and added to the request by Bold.

        If not created through `/init` or `/create`, `order_source` is `bold_platform_shop.store_name`.
      example: e3b37c97-8544-4fee-b8f3-cf33deb45be5
    OrderSourceName:
      title: Order Source Name
      type: string
      description: The name of the order source. Possible values include `cashier`, `plugin`, and `api_v2`.
      example: api_v2
    FulfillmentStatus:
      title: FulfillmentStatus
      type: string
      description: The fulfillment status of the order.
      enum:
        - fulfilled
        - unfulfilled
      example: unfulfilled
    FulfillmentData:
      title: Fulfillment Data
      type: object
      description: Information about the order fulfillment. If `order_status` is `"unfulfilled"`, `fulfillment_data` is empty.
      properties:
        total_value:
          type: number
          description: The total amount on a gift card, applicable to the whole order.
          example: 17
        total_shipping_value:
          type: number
          description: The total amount on a gift card, applicable to shipping only.
          example: 10
        shipping_details:
          type: array
          description: The shipping details for the fulfilled order.
          example: []
          items: {}
        tracking_company:
          type: string
          description: The tracking company for the fulfilled order.
          example: ups
        tracking_number:
          type: string
          description: The tracking number for the order.
          example: sJKfh72hKD7djh
        tracking_url:
          type: string
          description: The URL provided to track the order.
          example: https://www.ups.com/example-tracking-links
        location_id:
          type: number
          description: Location ID as given by the shipping and tracking company.
          example: -3
        fulfilled_at:
          type: string
          description: The datetime the order was fulfilled.
          example: '2022-01-04 19:52:16'
        item_count:
          type: integer
          description: The number of items in the fulfilled order.
          example: 8
        fulfilled_items:
          type: array
          description: The items in the fulfilled order.
          example: []
          items: {}
        total_discount:
          type: number
          description: The total discount amount for the order.
          example: 12
        total_fees:
          type: number
          description: The total amount of fees for the order.
          example: 4
        order_fees:
          type: array
          description: The fees for the order.
          example: []
          items: {}
        total_order_fees:
          type: number
          description: The total amount for the order fees.
          example: 13
        total_tax:
          type: number
          description: The total tax for the order.
          example: 5
    GeneralSettings:
      title: General Settings
      description: General Checkout settings, which can be configured in the [Bold Checkout admin](https://apps.boldapps.net/accounts/app/4).
      type: object
      properties:
        checkout_process:
          type: object
          description: General settings relevant to the checkout process
          properties:
            company_name_option:
              type: string
              description: Indicates whether company name is required on an order.
              enum:
                - optional
                - required
                - hidden
              example: hidden
            phone_number_required:
              type: boolean
              description: Indicates whether phone number is required on an order.
              example: true
            accepts_marketing_checkbox_option:
              type: string
              description: Indicates initial display of email marketing options.
              enum:
                - checked
                - unchecked
                - hidden
              example: unchecked
            require_inventory_check:
              type: boolean
              description: Indicates whether an inventory check is required when processing an order.
              example: false
            create_platform_customer:
              type: boolean
              description: Indicates whether a customer should be created on the platform whenever a new order is created.
              example: false
        address_autocomplete:
          type: object
          description: The configuration for address autocomplete functionality, if enabled for the particular shop.
          properties:
            provider:
              type: string
              nullable: true
              description: The data provider for address autocomplete.
              enum:
                - google
                - loqate
              example: google
            api_key:
              type: string
              nullable: true
              description: A public API key for querying the address autocomplete provider.
              example: awefa9304q9wfqf43jfaw904kfwkaslserfa94
        public_order_id:
          type: object
          description: A unique value that Bold generates and uses to track orders. If this value is set to `true`, the `bold_cashier_public_order_id` appears in the order's `note_attributes`.
          properties:
            enabled:
              type: boolean
              description: Indicates whether the attribute `bold_cashier_public_order_id` will be added to each order's `note_attributes`.
              example: true
      required:
        - checkout_process
    GeneralSettingsUpdateRequest:
      title: General settings update request
      description: Changes to make to General Settings properties.
      type: object
      properties:
        public_order_id:
          type: object
          description: A unique value that Bold generates and uses to track orders.
          properties:
            enabled:
              type: boolean
              description: Indicates whether the `bold_cashier_public_order_id` appears in the order's `note_attributes`.
              example: true
    PhoneNumberRequiredUpdateRequest:
      description: The setting that determines whether customers are required to enter their phone number during checkout.
      type: object
      properties:
        phone_number_required:
          type: boolean
          description: Indicates whether customers are required to enter their phone number during checkout.
          example: true
    RequireInventoryCheckUpdateRequest:
      description: The setting that determines whether to require an inventory check when processing an order.
      properties:
        require_inventory_check:
          type: boolean
          description: Indicates whether an inventory check is required when processing an order.
          example: false
    CreatePlatformCustomerUpdateRequest:
      description: The setting that determines whether a customer should be created on the platform whenever an order is created on the platform.
      type: object
      properties:
        create_platform_customer:
          type: boolean
          description: Indicates whether customers should be created on the platform during order creation.
          example: false
    Tax:
      title: Tax
      type: object
      properties:
        value:
          type: number
          description: The value of the tax applied, represented in cents/base currency units, using [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) standards.
          example: 1000
        name:
          type: string
          description: A descriptor of the tax being applied.
          example: GST
        is_included:
          type: boolean
          description: Indicates whether the tax is already included in the price.
          example: true
    ConfigureIntegrationBody:
      title: Configure Integration Body
      type: object
      properties:
        shared_secret:
          type: string
          description: A string used to sign callback url requests for webhook subscriptions.
          example: 96c6db504d593697229066dde7c88f2e
      required:
        - shared_secret
    CustomerPaymentMethods:
      title: Customer Payment Methods
      type: object
      properties:
        success:
          type: boolean
          description: Indicates whether the saved payment methods for a customer were successfully retrieved.
          example: true
        cards:
          type: array
          items:
            $ref: '#/components/schemas/SavedPaymentMethods'
          description: The list of all saved payment methods for a customer.
    SavedPaymentMethods:
      title: Saved Payment Methods
      type: object
      properties:
        type:
          type: string
          description: 'The type of saved payment method. Current acceptable `type` value: ["credit_card"]'
          example: credit_card
        public_id:
          type: string
          description: The public identifier for a payment. Generated by Bold.
          example: ZdtkGke3jqR4qeI9IvtrHaRQZxdobJ5SaGdcX7V22O0v2U5bBqDGb6FHAkpPk4KS
        is_default:
          type: boolean
          description: Indicates whether the payment method is the default method for the customer.
          example: true
        cc_type:
          type: string
          description: The type of credit card, if `type` is `credit_card`.
          example: Visa
        last_four:
          type: string
          description: The last four digits of the saved payment method, if `type` is `credit_card`.
          example: '1111'
        expiration:
          type: object
          description: The expiration date for the saved payment method, if `type` is `credit_card`.
          properties:
            date:
              type: string
              description: 'The expiration date for the saved payment method. Format: `YYYY-MM``.'
              example: 2023-11
    DeletePaymentMethod:
      title: Delete Payment Method
      type: object
      properties:
        success:
          type: boolean
          description: Indicates whether the payment method was successfully deleted.
          example: true
        defaultCardId:
          type: integer
          description: The identifier of the new default saved payment method for the customer. The next listed payment method is set to default automatically. If the customer has no saved payment methods remaining, `defaultCardId` returns `""`.
          example: 1
  examples:
    ProcessedOrderExample:
      value:
        domain: store-vwd2342klmsdf.mybigcommerce.com
        platform_domain: example.mybigcommerce.com
        application_state:
          customer:
            accepts_marketing: true
            email_address: john.doe@example.com
            first_name: John
            last_name: Doe
            platform_id: '50942578465125'
            public_id: pjpTyGh8KzNQ225wPqxgy7LwNuC887h6ecGyp3omwT4XW8SszjVSdHzWHN4NBwqhA
            saved_addresses: []
          addresses:
            shipping:
              id: '123'
              first_name: John
              last_name: Doe
              address_line_1: 50 Fultz Blvd
              address_line_2: Suite 200
              country: Canada
              city: Winnipeg
              province: Manitoba
              country_code: CA
              province_code: MB
              postal_code: R3Y0L6
              business_name: Acme Inc.
              phone_number: '8005550101'
            billing:
              id: '123'
              first_name: John
              last_name: Doe
              address_line_1: 50 Fultz Blvd
              address_line_2: Suite 200
              country: Canada
              city: Winnipeg
              province: Manitoba
              country_code: CA
              province_code: MB
              postal_code: R3Y0L6
              business_name: Acme Inc.
              phone_number: '8005550101'
          line_items:
            - product_data:
                id: 724bca
                product_title: Oak Cheese Grater
                title: Small
                image_url: http://shop.images/oakcheesegrater
                properties:
                  property1: string
                  property2: string
                description: A handmade oak cheese grater to elevate your cheese-eating experience.
                quantity: 2
                price: 2350
                total_price: 4700
                visible: 1
                line_item_key: oak_cheese_grater_2643
                barcode: 1234ABC
                compare_at_price: 4000
                weight: 1000
                weight_unit: g
                product_id: oak-cheese-grater
                variant_id: oak-cheese-grater-small
                requires_shipping: true
                sku: OAK_GRATER_SM
                taxable: true
                tags: Kitchen, Cheese Board, Oak
                vendor: Cheese Boards Unlimited
                total_weight: 2000
            - taxes:
                - value: 1000
                  name: GST
                  is_included: true
            - fees:
                - amount: 500
                  name: Miscellaneous fee.
            - discounts:
                - code: SUMMER5
                  text: Summer discount code
                  value: 500
                  source: coupon
            - fulfilled_quantity: 2
          fees:
            - id: '123456789'
              line_text: Custom Fee — Added by Plugin
              fee_type: fixed
              value: 10
              source: PLUGIN
              plugin_uuid: a52589f8-09df-11ed-b30e-f67072e164ee
              taxable: true
              show_description: true
          taxes:
            - value: 1000
              name: GST
              is_included: true
          discounts:
            - code: SUMMER5
              text: Summer discount code
              value: 500
              source: coupon
          payments:
            - gateway_public_id: i7z2xT0sKrDvhGWzex5SLjf5e6ndlQfrRL4AROkfhf3vNBkVT38JKBy5PSjB63qW
              amount: 4700
              currency: CAD
              type: spreedly
              display_string: Credit Card Payment
              id: ''
              token: 7uZAMRAf80KiEwibsrrM5IB41yU
              retain: false
          order_total: 4700
          order_meta_data:
            cart_parameters:
              key: cp-key1
              property1: A cart param.
              property2: A cart param.
            note_attributes:
              key: na-key1
              property1: A note attribute.
              property2: A note attribute.
            notes: A special delivery note.
            tags:
              - order-1
          shipping:
            selected_shipping:
              id: '0'
              description: 'Custom weight-based rate: tier 2'
              amount: 450
              code: EXPID
            available_shipping_lines:
              - id: string
                line:
                  id: '0'
                  description: 'Custom weight-based rate: tier 2'
                  amount: 450
                  code: EXPID
            taxes:
              - value: 1000
                name: GST
                is_included: true
            discounts:
              - code: SUMMER5
                text: Summer discount code
                value: 500
                source: coupon
          resumable_link: string
          flow_id: external-company-one-page-template
          currency:
            iso_code: CAD
            iso_numeric_code: 124
            symbol: $
            format: ${{amount}}
            has_decimal: true
            show_iso_code: true
          created_via: My_Order_Creating_Plugin
          is_processed: false
          order_id: 79047599
          platform_order_id: 1389wjfalsdf9y4r
        public_order_id: 4U2bwe9SAQY039WGUKM5b2KoxKUKcgyLNvuEKB03Z2HzWbjYB1n4MoC7HuhLT45M
        order_id: 829
        platform_order_id: ''
        platform_friendly_identifier: ''
        order_source: e3b37c97-8544-4fee-b8f3-cf33deb28be5
        order_source_name: api_v2
        fulfillment_status: unfulfilled
        fulfillment_data: []
    CreatedOrderExample:
      value:
        domain: store-vwd2342klmsdf.mybigcommerce.com
        platform_domain: example.mybigcommerce.com
        application_state:
          customer:
            accepts_marketing: true
            email_address: john.doe@example.com
            first_name: John
            last_name: Doe
            platform_id: '50942578465125'
            public_id: pjpTyGh8KzNQ225wPqxgy7LwNuC887h6ecGyp3omwT4XW8SszjVSdHzWHN4NBwqhA
            saved_addresses: []
          addresses:
            shipping:
              id: '123'
              first_name: John
              last_name: Doe
              address_line_1: 50 Fultz Blvd
              address_line_2: Suite 200
              country: Canada
              city: Winnipeg
              province: Manitoba
              country_code: CA
              province_code: MB
              postal_code: R3Y0L6
              business_name: Acme Inc.
              phone_number: '8005550101'
            billing:
              id: '123'
              first_name: John
              last_name: Doe
              address_line_1: 50 Fultz Blvd
              address_line_2: Suite 200
              country: Canada
              city: Winnipeg
              province: Manitoba
              country_code: CA
              province_code: MB
              postal_code: R3Y0L6
              business_name: Acme Inc.
              phone_number: '8005550101'
          line_items:
            - product_data:
                id: 724bca
                product_title: Oak Cheese Grater
                title: Small
                image_url: http://shop.images/oakcheesegrater
                properties:
                  property1: string
                  property2: string
                description: A handmade oak cheese grater to elevate your cheese-eating experience.
                quantity: 2
                price: 2350
                total_price: 4700
                visible: 1
                line_item_key: oak_cheese_grater_2643
                barcode: 1234ABC
                compare_at_price: 4000
                weight: 1000
                weight_unit: g
                product_id: oak-cheese-grater
                variant_id: oak-cheese-grater-small
                requires_shipping: true
                sku: OAK_GRATER_SM
                taxable: true
                tags: Kitchen, Cheese Board, Oak
                vendor: Cheese Boards Unlimited
                total_weight: 2000
            - taxes:
                - value: 1000
                  name: GST
                  is_included: true
            - fees:
                - amount: 500
                  name: Miscellaneous fee.
            - discounts:
                - code: SUMMER5
                  text: Summer discount code
                  value: 500
                  source: coupon
            - fulfilled_quantity: 2
          fees:
            - id: '123456789'
              line_text: Custom Fee — Added by Plugin
              fee_type: fixed
              value: 10
              source: PLUGIN
              plugin_uuid: a52589f8-09df-11ed-b30e-f67072e164ee
              taxable: true
              show_description: true
          taxes:
            - value: 1000
              name: GST
              is_included: true
          discounts:
            - code: SUMMER5
              text: Summer discount code
              value: 500
              source: coupon
          payments:
            - gateway_public_id: i7z2xT0sKrDvhGWzex5SLjf5e6ndlQfrRL4AROkfhf3vNBkVT38JKBy5PSjB63qW
              amount: 4700
              currency: CAD
              type: spreedly
              display_string: Credit Card Payment
              id: ''
              token: 7uZAMRAf80KiEwibsrrM5IB41yU
              retain: false
          order_total: 4700
          order_meta_data:
            cart_parameters:
              key: cp-key1
              property1: A cart param.
              property2: A cart param.
            note_attributes:
              key: na-key1
              property1: A note attribute.
              property2: A note attribute.
            notes: A special delivery note.
            tags:
              - order-1
          shipping:
            selected_shipping:
              id: '0'
              description: 'Custom weight-based rate: tier 2'
              amount: 450
              code: EXPID
            available_shipping_lines:
              - id: string
                line:
                  id: '0'
                  description: 'Custom weight-based rate: tier 2'
                  amount: 450
                  code: EXPID
            taxes:
              - value: 1000
                name: GST
                is_included: true
            discounts:
              - code: SUMMER5
                text: Summer discount code
                value: 500
                source: coupon
          resumable_link: string
          flow_id: external-company-one-page-template
          currency:
            iso_code: CAD
            iso_numeric_code: 124
            symbol: $
            format: ${{amount}}
            has_decimal: true
            show_iso_code: true
          created_via: My_Order_Creating_Plugin
          is_processed: false
          order_id: 79047599
          platform_order_id: 1389wjfalsdf9y4r
        public_order_id: 4U2bwe9SAQY039WGUKM5b2KoxKUKcgyLNvuEKB03Z2HzWbjYB1n4MoC7HuhLT45M
        order_id: 829
        platform_order_id: '179'
        platform_friendly_identifier: '179'
        order_source: e3b37c97-8544-4fee-b8f3-cf33deb45be5
        order_source_name: api_v2
        fulfillment_status: unfulfilled
        fulfillment_data: []
    FulfilledOrderExample:
      value:
        domain: store-vwd2342klmsdf.mybigcommerce.com
        platform_domain: example.mybigcommerce.com
        application_state:
          customer:
            accepts_marketing: true
            email_address: john.doe@example.com
            first_name: John
            last_name: Doe
            platform_id: '50942578465125'
            public_id: pjpTyGh8KzNQ225wPqxgy7LwNuC887h6ecGyp3omwT4XW8SszjVSdHzWHN4NBwqhA
            saved_addresses: []
          addresses:
            shipping:
              id: '123'
              first_name: John
              last_name: Doe
              address_line_1: 50 Fultz Blvd
              address_line_2: Suite 200
              country: Canada
              city: Winnipeg
              province: Manitoba
              country_code: CA
              province_code: MB
              postal_code: R3Y0L6
              business_name: Acme Inc.
              phone_number: '8005550101'
            billing:
              id: '123'
              first_name: John
              last_name: Doe
              address_line_1: 50 Fultz Blvd
              address_line_2: Suite 200
              country: Canada
              city: Winnipeg
              province: Manitoba
              country_code: CA
              province_code: MB
              postal_code: R3Y0L6
              business_name: Acme Inc.
              phone_number: '8005550101'
          line_items:
            - product_data:
                id: 724bca
                product_title: Oak Cheese Grater
                title: Small
                image_url: http://shop.images/oakcheesegrater
                properties:
                  property1: string
                  property2: string
                description: A handmade oak cheese grater to elevate your cheese-eating experience.
                quantity: 2
                price: 2350
                total_price: 4700
                visible: 1
                line_item_key: oak_cheese_grater_2643
                barcode: 1234ABC
                compare_at_price: 4000
                weight: 1000
                weight_unit: g
                product_id: oak-cheese-grater
                variant_id: oak-cheese-grater-small
                requires_shipping: true
                sku: OAK_GRATER_SM
                taxable: true
                tags: Kitchen, Cheese Board, Oak
                vendor: Cheese Boards Unlimited
                total_weight: 2000
            - taxes:
                - value: 1000
                  name: GST
                  is_included: true
            - fees:
                - amount: 500
                  name: Miscellaneous fee.
            - discounts:
                - code: SUMMER5
                  text: Summer discount code
                  value: 500
                  source: coupon
            - fulfilled_quantity: 2
          fees:
            - id: '123456789'
              line_text: Custom Fee — Added by Plugin
              fee_type: fixed
              value: 10
              source: PLUGIN
              plugin_uuid: a52589f8-09df-11ed-b30e-f67072e164ee
              taxable: true
              show_description: true
          taxes:
            - value: 1000
              name: GST
              is_included: true
          discounts:
            - code: SUMMER5
              text: Summer discount code
              value: 500
              source: coupon
          payments:
            - gateway_public_id: i7z2xT0sKrDvhGWzex5SLjf5e6ndlQfrRL4AROkfhf3vNBkVT38JKBy5PSjB63qW
              amount: 4700
              currency: CAD
              type: spreedly
              display_string: Credit Card Payment
              id: ''
              token: 7uZAMRAf80KiEwibsrrM5IB41yU
              retain: false
          order_total: 4700
          order_meta_data:
            cart_parameters:
              key: cp-key1
              property1: A cart param.
              property2: A cart param.
            note_attributes:
              key: na-key1
              property1: A note attribute.
              property2: A note attribute.
            notes: A special delivery note.
            tags:
              - order-1
          shipping:
            selected_shipping:
              id: '0'
              description: 'Custom weight-based rate: tier 2'
              amount: 450
              code: EXPID
            available_shipping_lines:
              - id: string
                line:
                  id: '0'
                  description: 'Custom weight-based rate: tier 2'
                  amount: 450
                  code: EXPID
            taxes:
              - value: 1000
                name: GST
                is_included: true
            discounts:
              - code: SUMMER5
                text: Summer discount code
                value: 500
                source: coupon
          resumable_link: string
          flow_id: external-company-one-page-template
          currency:
            iso_code: CAD
            iso_numeric_code: 124
            symbol: $
            format: ${{amount}}
            has_decimal: true
            show_iso_code: true
          created_via: My_Order_Creating_Plugin
          is_processed: false
          order_id: 79047599
          platform_order_id: 1389wjfalsdf9y4r
        public_order_id: 4U2bwe9SAQY039WGUKM5b2KoxKUKcgyLNvuEKB03Z2HzWbjYB1n4MoC7HuhLT45M
        order_id: 829
        platform_order_id: '179'
        platform_friendly_identifier: '179'
        order_source: e3b37c97-8544-4fee-b8f3-cf33deb45be5
        order_source_name: api_v2
        fulfillment_status: fulfilled
        fulfillment_data:
          total_value: 17
          total_shipping_value: 10
          shipping_details: []
          tracking_company: ups
          tracking_number: sJKfh72hKD7djh
          tracking_url: https://www.ups.com/example-tracking-links
          location_id: -3
          fulfilled_at: '2022-01-04 19:52:16'
          fulfilled_items: []
          total_discount: 12
          total_fees: 4
          order_fees: []
          total_order_fees: 13
          total_tax: 5
    FailedOrderExample:
      value:
        domain: store-vwd2342klmsdf.mybigcommerce.com
        platform_domain: example.mybigcommerce.com
        application_state:
          customer:
            accepts_marketing: true
            email_address: john.doe@example.com
            first_name: John
            last_name: Doe
            platform_id: '50942578465125'
            public_id: pjpTyGh8KzNQ225wPqxgy7LwNuC887h6ecGyp3omwT4XW8SszjVSdHzWHN4NBwqhA
            saved_addresses: []
          addresses:
            shipping:
              id: '123'
              first_name: John
              last_name: Doe
              address_line_1: 50 Fultz Blvd
              address_line_2: Suite 200
              country: Canada
              city: Winnipeg
              province: Manitoba
              country_code: CA
              province_code: MB
              postal_code: R3Y0L6
              business_name: Acme Inc.
              phone_number: '8005550101'
            billing:
              id: '123'
              first_name: John
              last_name: Doe
              address_line_1: 50 Fultz Blvd
              address_line_2: Suite 200
              country: Canada
              city: Winnipeg
              province: Manitoba
              country_code: CA
              province_code: MB
              postal_code: R3Y0L6
              business_name: Acme Inc.
              phone_number: '8005550101'
          line_items:
            - product_data:
                id: 724bca
                product_title: Oak Cheese Grater
                title: Small
                image_url: http://shop.images/oakcheesegrater
                properties:
                  property1: string
                  property2: string
                description: A handmade oak cheese grater to elevate your cheese-eating experience.
                quantity: 2
                price: 2350
                total_price: 4700
                visible: 1
                line_item_key: oak_cheese_grater_2643
                barcode: 1234ABC
                compare_at_price: 4000
                weight: 1000
                weight_unit: g
                product_id: oak-cheese-grater
                variant_id: oak-cheese-grater-small
                requires_shipping: true
                sku: OAK_GRATER_SM
                taxable: true
                tags: Kitchen, Cheese Board, Oak
                vendor: Cheese Boards Unlimited
                total_weight: 2000
            - taxes:
                - value: 1000
                  name: GST
                  is_included: true
            - fees:
                - amount: 500
                  name: Miscellaneous fee.
            - discounts:
                - code: SUMMER5
                  text: Summer discount code
                  value: 500
                  source: coupon
            - fulfilled_quantity: 2
          fees:
            - id: '123456789'
              line_text: Custom Fee — Added by Plugin
              fee_type: fixed
              value: 10
              source: PLUGIN
              plugin_uuid: a52589f8-09df-11ed-b30e-f67072e164ee
              taxable: true
              show_description: true
          taxes:
            - value: 1000
              name: GST
              is_included: true
          discounts:
            - code: SUMMER5
              text: Summer discount code
              value: 500
              source: coupon
          payments:
            - gateway_public_id: i7z2xT0sKrDvhGWzex5SLjf5e6ndlQfrRL4AROkfhf3vNBkVT38JKBy5PSjB63qW
              amount: 4700
              currency: CAD
              type: spreedly
              display_string: Credit Card Payment
              id: ''
              token: 7uZAMRAf80KiEwibsrrM5IB41yU
              retain: false
          order_total: 4700
          order_meta_data:
            cart_parameters:
              key: cp-key1
              property1: A cart param.
              property2: A cart param.
            note_attributes:
              key: na-key1
              property1: A note attribute.
              property2: A note attribute.
            notes: A special delivery note.
            tags:
              - order-1
          shipping:
            selected_shipping:
              id: '0'
              description: 'Custom weight-based rate: tier 2'
              amount: 450
              code: EXPID
            available_shipping_lines:
              - id: string
                line:
                  id: '0'
                  description: 'Custom weight-based rate: tier 2'
                  amount: 450
                  code: EXPID
            taxes:
              - value: 1000
                name: GST
                is_included: true
            discounts:
              - code: SUMMER5
                text: Summer discount code
                value: 500
                source: coupon
          resumable_link: string
          flow_id: external-company-one-page-template
          currency:
            iso_code: CAD
            iso_numeric_code: 124
            symbol: $
            format: ${{amount}}
            has_decimal: true
            show_iso_code: true
          created_via: My_Order_Creating_Plugin
          is_processed: false
          order_id: 79047599
          platform_order_id: 1389wjfalsdf9y4r
        public_order_id: 4U2bwe9SAQY039WGUKM5b2KoxKUKcgyLNvuEKB03Z2HzWbjYB1n4MoC7HuhLT45M
        order_id: 829
        platform_order_id: '179'
        platform_friendly_identifier: '179'
        order_source: e3b37c97-8544-4fee-b8f3-cf33deb45be5
        order_source_name: api_v2
        fulfillment_status: unfulfilled
        fulfillment_data: []
    AbandonedOrderExample:
      value:
        public_order_id: nPTPIlIahDoEgZFabZNNvg7uxahLkGb1x4UINz3eqYV3eHewsjq7kubZc5BLAUqC
        line_items:
          discounts: []
          fees: []
          product_data:
            barcode: 1234ABC
            compare_at_price: 4000
            description: A handmade oak cheese grater to elevate your cheese-eating experience.
            id: 724bca
            image_url: http://shop.images/oakcheesegrater
            line_item_key: ABC123
            price: 2350
            product_id: oak-cheese-grater
            properties: []
            quantity: 2
            requires_shipping: true
            sku: OAK_GRATER_SM
            tags: Kitchen, Cheese Board, Oak
            taxable: true
            title: Small
            total_price: 4700
            variant_id: oak-cheese-grater-small
            vendor: Cheese Boards Unlimited
            visible: 1
            weight: 1000
            weight_unit: g
          taxes: []
        customer:
          accepts_marketing: true
          email_address: john.doe@example.com
          first_name: John
          last_name: Doe
          platform_id: null
          public_id: sTaGXlJuMIz1fzdnE8HSXkK1m2ym9FRbrwxqiS2t7XylVEMBT7YX1Xeep6V7cT53
          saved_addresses: []
        order_meta_data:
          cart_parameters:
            ca-key1: Some kind of cart parameter.
          note_attributes:
            na-key1: Some kind of note attributes.
          notes: Some kind of special delivery note.
          tags:
            - tag-1
        resumable_link: https://checkout.example.com/resume
        shop:
          domain: store-vwd2342klmsdf.mybigcommerce.com
          platform_domain: example.mybigcommerce.com
    GiftCardCreatedExample:
      value:
        domain: store-vwd2342klmsdf.mybigcommerce.com
        platform_domain: example.mybigcommerce.com
        public_order_id: 4U2bwe9SAQY039WGUKM5b2KoxKUKcgyLNvuEKB03Z2HzWbjYB1n4MoC7HuhLT45M
        platform_order_id: 179
        platform_customer_id: null
        customer:
          email: john.doe@example.com
          first_name: John
          last_name: Doe
        gift_card_email: john.doe@example.com
        gift_card_token: TYIDFASDFOCXOMT
        gift_card_key: '107'
        gift_card_amount: 2500
    CORSDomainsExample:
      value:
        data:
          - id: 1
            domain: https://test-store.example.com
          - id: 2
            domain: https://dev-store.example.com
  parameters:
    shop_identifier:
      schema:
        type: string
      name: shop_identifier
      in: path
      required: true
      description: The identifier of the shop, which can be retrieved by making a request to the [Get Shop Info](shops#operation/GetShopInfo) endpoint.
      example: zp3oafdor9
    domain_id:
      schema:
        type: number
      name: domain_id
      example: 1
      in: path
      required: true
      description: The identifier of the domain. Retrieve the identifier using the [Get CORS Allowlist](checkout#operation/GetCORSAllowlist) endpoint.
    public_gateway_id:
      schema:
        type: string
      name: public_gateway_id
      in: path
      required: true
      description: The public identifier generated by Bold Checkout adds a payment gateway to a store.
    public_customer_id:
      schema:
        type: string
        example: uqw94joiefrqwo4
      name: public_customer_id
      in: path
      required: true
      description: The public identifier for a customer, returned as the `public_id` field by the [Create Authenticated Customer](/api/orders#tag/Customers/operation/CreateAuthenticatedCustomer) endpoint.
    public_payment_id:
      schema:
        type: string
        example: W0fe4CNraY09ooQ6DUlXb0hNUBHk7LF9wZOEmVOL92qvggIUKq0ne9qcbfCSnDwZ
      name: public_payment_id
      in: path
      required: true
      description: The public identifier for a saved payment method.
    public_element_id:
      schema:
        type: string
      name: public_element_id
      in: path
      required: true
      description: The Bold-generated identifier of the LiFE elements.
      example: VfYRxzOjRkwG6B2xWbxhPQ
    zone_id:
      schema:
        type: integer
      name: zone_id
      in: path
      required: true
      description: The identifier Bold Checkout uses for a zone. Refer to [Create Zone](checkout-admin#operation/CreateZone).
    platform_customer_id:
      name: platform_customer_id
      in: query
      schema:
        type: string
        example: a90w4q2kopP23F3
      description: A platform-generated identifier of the customer.
      required: false
    bold_customer_id:
      name: bold_customer_id
      in: query
      schema:
        type: string
        example: uqw94joiefrqwo4
      description: A Bold-generated identifier of the customer.
      required: false
  responses:
    UnknownError:
      description: An unexpected error occurred.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Errors'
