openapi: 3.1.0
info:
  title: 'Admin Management: Order Operations'
  version: 1.0.0
paths:
  /stores/{store_hash}/v3/orders/{order_id}/transactions:
    get:
      operationId: getOrderTransactions
      summary: List Transactions
      description: >-
        Returns an **orderʼs** transactions.


        **Usage Notes**

        * Depending on the payment method, different information will be available (not all payment gateways return full
        card or fraud detail).



        Requires at least one of the following scopes:

        * `store_v2_transactions_read_only`

        * `store_v2_transactions`
      tags:
        - transactions
      parameters:
        - name: order_id
          in: path
          description: |
            The ID of the `Order` to which the transactions belong.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` |

            |  Order Transactions | read `transactions` and `payment_methods`  | `store_v2_transactions_read_only` |

            |  Orders | read and modify `payment_methods` |`store_v2_orders`|

            |  Orders | read `payment_methods` |`store_v2_orders_read_only`|


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: Response payload for the BigCommerce Order Transactions API.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transactions_getOrderTransactions_Response_200'
        '404':
          description: |
            The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOrderTransactionsRequestNotFoundError'
        '503':
          description: |
            Service Unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOrderTransactionsRequestServiceUnavailableError'
  /stores/{store_hash}/v3/orders/metafields:
    get:
      operationId: getOrdersMetafields
      summary: List Order Metafields
      description: Get all order metafields.
      tags:
        - batchMetafields
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: |
            Specifies the page number in a limited (paginated) list of products.
          required: false
          schema:
            type: integer
        - name: limit
          in: query
          description: |
            Controls the number of items per page in a limited (paginated) list of products.
          required: false
          schema:
            type: integer
        - name: key
          in: query
          description: |
            Filter based on a metafieldʼs key.
          required: false
          schema:
            type: string
        - name: key:in
          in: query
          description: Filter using a comma-separated list of metafield keys. Could be used with vanilla `key` query parameter.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: namespace
          in: query
          description: |
            Filter based on a metafieldʼs key.
          required: false
          schema:
            type: string
        - name: namespace:in
          in: query
          description: >-
            Filter using a comma-separated list of metafield namespaces. Can be used with vanilla `namespace` query
            parameter.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: direction
          in: query
          description: |
            Sort direction. Acceptable values are: `asc`, `desc`.
          required: false
          schema:
            $ref: '#/components/schemas/OrdersMetafieldsGetParametersDirection'
        - name: include_fields
          in: query
          description: Fields to include, in a comma-separated list. The ID and the specified fields will be returned.
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/OrdersMetafieldsGetParametersIncludeFieldsSchemaItems'
        - name: date_created
          in: query
          description: >-
            Filter items by date created. For example, `date_created=2019-09-04T00:00:00`. Returns metafields created on
            this date.
          required: false
          schema:
            type: string
        - name: date_modified
          in: query
          description: >-
            Filter items by date modified. For example, `date_modified=2019-09-04T00:00:00`. Returns metafields modified
            on this date.
          required: false
          schema:
            type: string
        - name: date_created:min
          in: query
          description: >-
            Filter items by minimum date created. For example, `date_created:min=2019-09-04T00:00:00` or
            `date_created:min=2019-09-04`. Returns metafields created after this date.
          required: false
          schema:
            type: string
        - name: date_created:max
          in: query
          description: >-
            Filter items by maximum date created. For example, `date_created:max=2019-09-04T00:00:00` or
            `date_created:max=2019-09-04`. Returns metafields created before this date.
          required: false
          schema:
            type: string
        - name: date_modified:min
          in: query
          description: >-
            Filter items by minimum date modified. For example, `date_modified:min=2019-09-04T00:00:00` or
            `date_modified:min=2019-09-04`. Returns metafields modified after this date.
          required: false
          schema:
            type: string
        - name: date_modified:max
          in: query
          description: >-
            Filter items by maximum date modified. For example, `date_modified:max=2019-09-04T00:00:00` or
            `date_modified:max=2019-09-04`. Returns metafields modified before this date.
          required: false
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` |

            |  Order Transactions | read `transactions` and `payment_methods`  | `store_v2_transactions_read_only` |

            |  Orders | read and modify `payment_methods` |`store_v2_orders`|

            |  Orders | read `payment_methods` |`store_v2_orders_read_only`|


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
      responses:
        '200':
          description: |
            List of `Metafield` objects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetaFieldCollectionResponse'
    post:
      operationId: createOrdersMetafields
      summary: Create Multiple Metafields
      description: Create multiple metafields.
      tags:
        - batchMetafields
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` |

            |  Order Transactions | read `transactions` and `payment_methods`  | `store_v2_transactions_read_only` |

            |  Orders | read and modify `payment_methods` |`store_v2_orders`|

            |  Orders | read `payment_methods` |`store_v2_orders_read_only`|


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
      responses:
        '200':
          description: |
            List of created `Metafield` objects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetaFieldCollectionResponse_POST_PUT'
        '400':
          description: Bad Request. Input is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrdersMetafieldsRequestBadRequestError'
        '422':
          description: |
            Response object for metafields creation with partial success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetaFieldCollectionResponsePartialSuccess_POST_PUT'
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/OrdersMetafieldsPostRequestBodyContentApplicationJsonSchemaItems'
    put:
      operationId: updateOrdersMetafields
      summary: Update Multiple Metafields
      description: Update multiple metafields.
      tags:
        - batchMetafields
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` |

            |  Order Transactions | read `transactions` and `payment_methods`  | `store_v2_transactions_read_only` |

            |  Orders | read and modify `payment_methods` |`store_v2_orders`|

            |  Orders | read `payment_methods` |`store_v2_orders_read_only`|


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
      responses:
        '200':
          description: |
            List of updated `Metafield` objects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetaFieldCollectionResponse_POST_PUT'
        '400':
          description: Bad Request. Input is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateOrdersMetafieldsRequestBadRequestError'
        '422':
          description: |
            Response object for metafields creation with partial success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetaFieldCollectionResponsePartialSuccess_POST_PUT'
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/OrdersMetafieldsPutRequestBodyContentApplicationJsonSchemaItems'
    delete:
      operationId: deleteOrdersMetafields
      summary: Delete Multiple Metafields
      description: Delete all order metafields.
      tags:
        - batchMetafields
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` |

            |  Order Transactions | read `transactions` and `payment_methods`  | `store_v2_transactions_read_only` |

            |  Orders | read and modify `payment_methods` |`store_v2_orders`|

            |  Orders | read `payment_methods` |`store_v2_orders_read_only`|


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
      responses:
        '200':
          description: |
            Response object for metafields deletion with success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetaFieldCollectionDeleteResponseSuccess'
        '400':
          description: Bad Request. Input is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteOrdersMetafieldsRequestBadRequestError'
        '422':
          description: |
            Response object for metafields deletion with partial success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetaFieldCollectionResponsePartialSuccess_DELETE'
      requestBody:
        description: List of metafield IDs.
        content:
          application/json:
            schema:
              type: array
              items:
                type: integer
  /stores/{store_hash}/v3/orders/{order_id}/metafields:
    get:
      operationId: getOrderMetafields
      summary: List Order Metafields
      description: >
        Gets a `Metafield` object list, by `order_id`.


        The maximum number of metafields allowed on each order, product, category, variant, or brand is 250 per client
        ID.
      tags:
        - metafields
      parameters:
        - name: order_id
          in: path
          description: |
            The ID of the `Order` to which the transactions belong.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: |
            Specifies the page number in a limited (paginated) list of products.
          required: false
          schema:
            type: integer
        - name: limit
          in: query
          description: |
            Controls the number of items per page in a limited (paginated) list of products.
          required: false
          schema:
            type: integer
        - name: key
          in: query
          description: |
            Filter based on a metafieldʼs key.
          required: false
          schema:
            type: string
        - name: namespace
          in: query
          description: |
            Filter based on a metafieldʼs key.
          required: false
          schema:
            type: string
        - name: direction
          in: query
          description: |
            Sort direction. Acceptable values are: `asc`, `desc`.
          required: false
          schema:
            $ref: '#/components/schemas/OrdersOrderIdMetafieldsGetParametersDirection'
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` |

            |  Order Transactions | read `transactions` and `payment_methods`  | `store_v2_transactions_read_only` |

            |  Orders | read and modify `payment_methods` |`store_v2_orders`|

            |  Orders | read `payment_methods` |`store_v2_orders_read_only`|


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


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


        The maximum number of metafields allowed on each order, product, category, variant, or brand is 250 per client
        ID.
      tags:
        - metafields
      parameters:
        - name: order_id
          in: path
          description: |
            The ID of the `Order` to which the transactions belong.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` |

            |  Order Transactions | read `transactions` and `payment_methods`  | `store_v2_transactions_read_only` |

            |  Orders | read and modify `payment_methods` |`store_v2_orders`|

            |  Orders | read `payment_methods` |`store_v2_orders_read_only`|


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: |
            A `Metafield` object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetafieldResponse'
        '400':
          description: Bad Request. Input is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrderMetafieldRequestBadRequestError'
        '409':
          description: >
            The metafield conflicts with another metafield. This can result from duplicate unique key combinations of
            the appʼs client ID, namespace, key, resource type, and resource ID.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: >
            The `Metafield` is not valid. This is the result of missing required fields or of invalid data. See the
            response for more details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      requestBody:
        description: |
          A `Metafield` object.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetafieldBase_Post'
  /stores/{store_hash}/v3/orders/{order_id}/metafields/{metafield_id}:
    get:
      operationId: getOrderMetafield
      summary: Get Metafield
      description: |
        Gets a `Metafield`, by `order_id`.
      tags:
        - metafields
      parameters:
        - name: order_id
          in: path
          description: |
            The ID of the `Order` to which the transactions belong.
          required: true
          schema:
            type: integer
        - name: metafield_id
          in: path
          description: |
            The ID of the `Metafield`.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` |

            |  Order Transactions | read `transactions` and `payment_methods`  | `store_v2_transactions_read_only` |

            |  Orders | read and modify `payment_methods` |`store_v2_orders`|

            |  Orders | read `payment_methods` |`store_v2_orders_read_only`|


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: |
            A `Metafield` object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetafieldResponse'
        '404':
          description: |
            A metafield was not found with this query.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
    put:
      operationId: updateOrderMetafield
      summary: Update Metafield
      description: >-
        Updates a `Metafield` object.


        The maximum number of metafields allowed on each order, product, category, variant, or brand is 250 per client
        ID.
      tags:
        - metafields
      parameters:
        - name: order_id
          in: path
          description: |
            The ID of the `Order` to which the transactions belong.
          required: true
          schema:
            type: integer
        - name: metafield_id
          in: path
          description: |
            The ID of the `Metafield`.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` |

            |  Order Transactions | read `transactions` and `payment_methods`  | `store_v2_transactions_read_only` |

            |  Orders | read and modify `payment_methods` |`store_v2_orders`|

            |  Orders | read `payment_methods` |`store_v2_orders_read_only`|


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: |
            A metafield and metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetafieldResponse'
        '400':
          description: Bad Request. Input is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateOrderMetafieldRequestBadRequestError'
        '404':
          description: |
            A metafield was not found with this query.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
      requestBody:
        description: |
          A `Metafield` object.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetafieldPut'
    delete:
      operationId: deleteOrderMetafield
      summary: Delete Metafield
      description: |
        Deletes a `Metafield`.
      tags:
        - metafields
      parameters:
        - name: order_id
          in: path
          description: |
            The ID of the `Order` to which the transactions belong.
          required: true
          schema:
            type: integer
        - name: metafield_id
          in: path
          description: |
            The ID of the `Metafield`.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` |

            |  Order Transactions | read `transactions` and `payment_methods`  | `store_v2_transactions_read_only` |

            |  Orders | read and modify `payment_methods` |`store_v2_orders`|

            |  Orders | read `payment_methods` |`store_v2_orders_read_only`|


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '204':
          description: |
            An empty response.
          content:
            application/json:
              schema:
                type: object
                properties: {}
        '404':
          description: |
            The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /stores/{store_hash}/v3/orders/settings:
    get:
      operationId: getGlobalOrderSettings
      summary: Get Global Order Settings
      description: Returns global order settings.
      tags:
        - orderSettings
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` |

            |  Order Transactions | read `transactions` and `payment_methods`  | `store_v2_transactions_read_only` |

            |  Orders | read and modify `payment_methods` |`store_v2_orders`|

            |  Orders | read `payment_methods` |`store_v2_orders_read_only`|


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order Settings_getGlobalOrderSettings_Response_200'
        '400':
          description: Bad request. Authentication Required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse400'
    put:
      operationId: updateGlobalOrderSettings
      summary: Update Global Order Settings
      description: Updates global order settings.
      tags:
        - orderSettings
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` |

            |  Order Transactions | read `transactions` and `payment_methods`  | `store_v2_transactions_read_only` |

            |  Orders | read and modify `payment_methods` |`store_v2_orders`|

            |  Orders | read `payment_methods` |`store_v2_orders_read_only`|


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order Settings_updateGlobalOrderSettings_Response_200'
        '400':
          description: Bad request. Authentication Required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse400'
        '422':
          description: >-
            Order settings data is not valid. This is the result of missing required fields, or of invalid data. See the
            response for more details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse422'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GlobalOrderSettings'
  /stores/{store_hash}/v3/orders/settings/channels/{channel_id}:
    get:
      operationId: getChannelOrderSettings
      summary: Get Channel Order Settings
      description: Returns order settings for a specific channel.
      tags:
        - orderSettings
      parameters:
        - name: channel_id
          in: path
          description: Channel ID
          required: true
          schema:
            type: string
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` |

            |  Order Transactions | read `transactions` and `payment_methods`  | `store_v2_transactions_read_only` |

            |  Orders | read and modify `payment_methods` |`store_v2_orders`|

            |  Orders | read `payment_methods` |`store_v2_orders_read_only`|


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order Settings_getChannelOrderSettings_Response_200'
        '400':
          description: Bad request. Authentication Required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse400'
    put:
      operationId: updateChannelOrderSettings
      summary: Update Channel Order Settings
      description: |-
        Updates order settings for a specific channel.

         **Note:** You must override both notifications `email_addresses` or neither, i.e. either both notification `email_addresses` are an array of valid email addresses, or both `email_addresses` must be null. You may not have one set to an array of addresses and the other set to `null`.
      tags:
        - orderSettings
      parameters:
        - name: channel_id
          in: path
          description: Channel ID
          required: true
          schema:
            type: string
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` |

            |  Order Transactions | read `transactions` and `payment_methods`  | `store_v2_transactions_read_only` |

            |  Orders | read and modify `payment_methods` |`store_v2_orders`|

            |  Orders | read `payment_methods` |`store_v2_orders_read_only`|


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order Settings_updateChannelOrderSettings_Response_200'
        '400':
          description: Bad request. Authentication Required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse400'
        '422':
          description: >-
            Order settings data is not valid. This is the result of missing required fields, or of invalid data. See the
            response for more details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse422'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChannelOrderSettings'
  /stores/{store_hash}/v3/orders/{order_id}/payment_actions/capture:
    post:
      operationId: captureOrderPayment
      summary: Capture Order Payment
      description: >-
        Capture the payment for an order. When there are no payment method validation issues, the capture process is
        successful, the `payment_status` updates to `capture pending`, and the payment request is scheduled. The payment
        request itself occurs asynchronously.

        Requires at least one of the following scopes:

        * `store_v2_orders`

        * `store_v2_transactions`
      tags:
        - paymentActions
      parameters:
        - name: order_id
          in: path
          description: |
            The ID of the `Order` to which the transactions belong.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` |

            |  Order Transactions | read `transactions` and `payment_methods`  | `store_v2_transactions_read_only` |

            |  Orders | read and modify `payment_methods` |`store_v2_orders`|

            |  Orders | read `payment_methods` |`store_v2_orders_read_only`|


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '201':
          description: Resource Created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment Actions_captureOrderPayment_Response_201'
        '400':
          description: |-
            Malformed request syntax. Typically need to fix the JSON.
            Body to resend successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_Base'
        '404':
          description: The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_Base'
        '422':
          description: >-
            This occurs when missing or unacceptable data is passed for one or more fields. Please correct the values
            for the fields listed in the errors object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: >-
            If something happens during the request that causes it to fail, a 502 response will be returned. A new
            request should be made; however, it could fail.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_Base'
        '503':
          description: >-
            If this occurs, you should retry the request. If you cannot successfully make a request, please check the
            BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down, and you will
            need to make the request again when it is back up (in several hours, usually).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_Base'
        '504':
          description: >-
            If this occurs, you should retry the request. Typically retrying the request several times will result in a
            successful request; however, if you cannot successfully make a request, please check the BigCommerce system
            status [here](https://status.bigcommerce.com/). A service is likely down, and you will need to complete the
            request again when it is back up (in several hours, usually).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorDetailed_Full'
  /stores/{store_hash}/v3/orders/{order_id}/payment_actions/void:
    post:
      operationId: voidOrderPayment
      summary: Void
      description: >-
        Void the payment for an order. When there are no payment method validation issues, the void process is
        successful, the `payment_status` updates to `void pending`, and the void payment request is scheduled. The
        payment request itself occurs asynchronously.


        Requires at least one of the following scopes:

        * `store_v2_orders`

        * `store_v2_transactions`
      tags:
        - paymentActions
      parameters:
        - name: order_id
          in: path
          description: |
            The ID of the `Order` to which the transactions belong.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` |

            |  Order Transactions | read `transactions` and `payment_methods`  | `store_v2_transactions_read_only` |

            |  Orders | read and modify `payment_methods` |`store_v2_orders`|

            |  Orders | read `payment_methods` |`store_v2_orders_read_only`|


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '201':
          description: Resource Created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment Actions_voidOrderPayment_Response_201'
        '400':
          description: |-
            Malformed request syntax. Typically need to fix the JSON.
            Body to resend successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_Base'
        '404':
          description: The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_Base'
        '422':
          description: >-
            This occurs when missing or unacceptable data is passed for one or more fields. Please correct the values
            for the fields listed in the errors object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: >-
            If something happens during the request that causes it to fail, a 502 response will be returned. A new
            request should be made; however, it could fail.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_Base'
        '503':
          description: >-
            If this occurs, you should retry the request. If you cannot successfully make a request, please check the
            BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down, and you will
            need to make the request again when it is back up (in several hours, usually).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_Base'
        '504':
          description: >-
            If this occurs, you should retry the request. Typically retrying the request several times will result in a
            successful request; however, if you cannot successfully make a request, please check the BigCommerce system
            status [here](https://status.bigcommerce.com/). A service is likely down, and you will need to complete the
            request again when it is back up (in several hours, usually).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorDetailed_Full'
  /stores/{store_hash}/v3/orders/{order_id}/payment_actions/refund_quotes:
    post:
      operationId: createOrderRefundQuotes
      summary: Create Refund Quote
      description: >-
        Calculate the tax amount, total refund amount and get available payment options for an order refund by providing
        items and costs or quantities to refund.


        Requires at least one of the following scopes:

        * `store_v2_orders`

        * `store_v2_transactions`   


        **Notes:**

        * Create a refund quote before performing a refund request to best avoid a `422` error. Check the refund quote's
        response body for the `refund_methods` array. The `amount` given in the array must match the `amount` used in
        the refund request body.

        * Order refunds should be processed sequentially. Processing multiple concurrent refunds on the same order is
        not yet supported.
      tags:
        - paymentActions
      parameters:
        - name: order_id
          in: path
          description: |
            The ID of the `Order` to which the transactions belong.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` |

            |  Order Transactions | read `transactions` and `payment_methods`  | `store_v2_transactions_read_only` |

            |  Orders | read and modify `payment_methods` |`store_v2_orders`|

            |  Orders | read `payment_methods` |`store_v2_orders_read_only`|


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment Actions_createOrderRefundQuotes_Response_201'
        '422':
          description: >-
            This occurs when missing or unacceptable data is passed for one or more fields. Please correct the values
            for the fields listed in the errors object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RefundQuote_Post'
  /stores/{store_hash}/v3/orders/{order_id}/payment_actions/refunds:
    get:
      operationId: getOrderRefunds
      summary: List Refunds for Order
      description: |-
        Returns a list of refunds ordered by refund ID in ascending order for the given order.

        Requires at least one of the following scopes:
        * `store_v2_transactions_read_only`
        * `store_v2_transactions`
        * `store_v2_orders_read_only`
        * `store_v2_orders`
      tags:
        - paymentActions
      parameters:
        - name: order_id
          in: path
          description: |
            The ID of the `Order` to which the transactions belong.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: transaction_id
          in: query
          description: Filters by refund payment using the BigCommerce `transaction_id`.
          required: false
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` |

            |  Order Transactions | read `transactions` and `payment_methods`  | `store_v2_transactions_read_only` |

            |  Orders | read and modify `payment_methods` |`store_v2_orders`|

            |  Orders | read `payment_methods` |`store_v2_orders_read_only`|


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment Actions_getOrderRefunds_Response_200'
    post:
      operationId: createOrderRefund
      summary: Create Refund
      description: >-
        Creates a refund. When there are no payment method validation issues, the refund process is successful and the
        refund payment request is scheduled. The payment request itself occurs asynchronously.


        Requires at least one of the following scopes:

        * `store_v2_orders`

        * `store_v2_transactions`


        **Note:**

        Order refunds should be processed sequentially. Processing multiple concurrent refunds on the same order are not
        yet supported.
      tags:
        - paymentActions
      parameters:
        - name: order_id
          in: path
          description: |
            The ID of the `Order` to which the transactions belong.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: transaction_id
          in: query
          description: Filters by refund payment using the BigCommerce `transaction_id`.
          required: false
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` |

            |  Order Transactions | read `transactions` and `payment_methods`  | `store_v2_transactions_read_only` |

            |  Orders | read and modify `payment_methods` |`store_v2_orders`|

            |  Orders | read `payment_methods` |`store_v2_orders_read_only`|


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment Actions_createOrderRefund_Response_201'
        '422':
          description: |
            Unable to process a guest refund with store credit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrderRefundRequestUnprocessableEntityError'
        '503':
          description: Service Unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrderRefundRequestServiceUnavailableError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RefundRequest_Post'
  /stores/{store_hash}/v3/orders/payment_actions/refunds/{refund_id}:
    get:
      operationId: getOrderRefund
      summary: Get Refund
      description: Returns a refund by refund ID.
      tags:
        - paymentActions
      parameters:
        - name: refund_id
          in: path
          description: Refund ID.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` |

            |  Order Transactions | read `transactions` and `payment_methods`  | `store_v2_transactions_read_only` |

            |  Orders | read and modify `payment_methods` |`store_v2_orders`|

            |  Orders | read `payment_methods` |`store_v2_orders_read_only`|


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefundID_Get'
  /stores/{store_hash}/v3/orders/payment_actions/refunds:
    get:
      operationId: getOrdersRefunds
      summary: List Refunds
      description: |-
        Returns a list of refunds ordered by refund ID in ascending order.

        Requires at least one of the following scopes:
        * `store_v2_transactions_read_only`
        * `store_v2_transactions`
        * `store_v2_orders_read_only`
        * `store_v2_orders`
      tags:
        - paymentActions
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: order_id:in
          in: query
          description: Pass a comma-separated list of order IDs to filter the included orders. Accepts multiple values.
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: id:in
          in: query
          description: Pass a comma-separated list of refund IDs to filter the included refunds. Accepts multiple values.
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: created:min
          in: query
          description: |-
            Filter results so they are later than or equal to provided date.


            Must be in url-encoded RFC 3339 format.
            e.g. `2020-01-15T01:02:34-01:00` is RFC 3339 format.
            Url-encoded this will be `2020-01-15T01%3A02%3A34%2B01%3A00`
          required: false
          schema:
            type: string
            format: date-time
        - name: created:max
          in: query
          description: |-
            Filter results so they are earlier than or equal to provided date.

            Must be in url-encoded RFC 3339 format.
            e.g. `2020-01-15T01:02:34-01:00` is RFC 3339 format.
            Url-encoded this will be `2020-01-15T01%3A02%3A34%2B01%3A00`
          required: false
          schema:
            type: string
            format: date-time
        - name: transaction_id
          in: query
          description: Filters by refund payment using the BigCommerce `transaction_id`.
          required: false
          schema:
            type: string
        - name: page
          in: query
          description: Specifies the page number in a limited (paginated) list of items.
          required: false
          schema:
            type: integer
        - name: limit
          in: query
          description: Controls the number of items per page in a limited (paginated) list of items.
          required: false
          schema:
            type: integer
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` |

            |  Order Transactions | read `transactions` and `payment_methods`  | `store_v2_transactions_read_only` |

            |  Orders | read and modify `payment_methods` |`store_v2_orders`|

            |  Orders | read `payment_methods` |`store_v2_orders_read_only`|


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment Actions_getOrdersRefunds_Response_200'
servers:
  - url: https://api.bigcommerce.com
    description: https://api.bigcommerce.com
components:
  schemas:
    TransactionEvent:
      type: string
      enum:
        - purchase
        - authorization
        - capture
        - refund
        - void
        - pending
        - settled
      description: |
        Store event that created the transaction.
      title: TransactionEvent
    TransactionMethod:
      type: string
      enum:
        - credit_card
        - electronic_wallet
        - gift_certificate
        - store_credit
        - apple_pay_card
        - bigpay_token
        - apple_pay_token
        - token
        - custom
        - offsite
        - offline
        - nonce
      description: >
        The payment method: `credit_card` - a credit card transaction; `electronic_wallet` - an online wallet;
        `store_credit` - a transaction using store credit; `gift_certificate` - a transaction using a gift certificate;
        `custom` - manual payment methods; `token` - payment token; `nonce` - temporary payment token; `offsite` -
        online payment off the site; `offline` - payment method that takes place offline.
      title: TransactionMethod
    TransactionGateway:
      type: string
      enum:
        - 2checkout
        - adyen
        - amazon
        - authorizenet
        - bankdeposit
        - braintree
        - cheque
        - cod
        - custom
        - firstdatagge4
        - giftcertificate
        - hps
        - instore
        - klarna
        - migs
        - moneyorder
        - nmi
        - paypalexpress
        - paypalpaymentsprous
        - plugnpay
        - qbmsv2
        - securenet
        - square
        - storecredit
        - stripe
        - testgateway
        - usaepay
      description: |
        The payment gateway, where applicable.
      title: TransactionGateway
    TransactionStatus:
      type: string
      enum:
        - ok
        - error
      description: |
        Status of the transaction.
      title: TransactionStatus
    TransactionOffline:
      type: object
      properties:
        display_name:
          type: string
          description: |
            Display name for the offline payment.
      description: Offline payment (e.g., check or purchase order).
      title: TransactionOffline
    TransactionCustom:
      type: object
      properties:
        payment_method:
          type: string
          description: |
            Text entered for the payment method in the control panel.
      description: Custom payment from manual order.
      title: TransactionCustom
    TransactionAvsResult:
      type: object
      properties:
        code:
          type: string
          description: AVS code.
        message:
          type: string
          description: AVS message.
        street_match:
          type: string
          description: AVS Code for street matching result.
        postal_match:
          type: string
          description: AVS Code for postal matching result.
      description: Address Verification Service (AVS) result from the payment gateway.
      title: TransactionAvsResult
    TransactionCvvResult:
      type: object
      properties:
        code:
          type: string
          description: CVV code.
        message:
          type: string
          description: CVV message.
      description: Card Verification Value result from the payment gateway.
      title: TransactionCvvResult
    CreditCardCardType:
      type: string
      enum:
        - alelo
        - alia
        - american_express
        - cabal
        - carnet
        - dankort
        - diners_club
        - discover
        - elo
        - forbrugsforeningen
        - jcb
        - maestro
        - master
        - naranja
        - sodexo
        - unionpay
        - visa
        - vr
      description: >-
        **Allowed values**: alelo, alia, american_express, cabal, carnet, dankort, diners_club, discover, elo,
        forbrugsforeningen, jcb, maestro, master, naranja, sodexo, unionpay, visa, vr
      title: CreditCardCardType
    CreditCard:
      type: object
      properties:
        card_type:
          $ref: '#/components/schemas/CreditCardCardType'
          description: >-
            **Allowed values**: alelo, alia, american_express, cabal, carnet, dankort, diners_club, discover, elo,
            forbrugsforeningen, jcb, maestro, master, naranja, sodexo, unionpay, visa, vr
        card_iin:
          type: string
          description: |
            The IIN of a credit card number.
        card_last4:
          type: string
          description: |
            The last 4 digits of a credit card number.
        card_expiry_month:
          type: integer
          description: |
            The expiry month of a credit card.
        card_expiry_year:
          type: integer
          description: |
            The expiry year of a credit card.
      description: A credit card model.
      title: CreditCard
    TransactionGiftCertificateStatus:
      type: string
      enum:
        - active
        - pending
        - disabled
        - expired
      description: >
        The status of a gift certificate: `active` - gift certificate is active; `pending` - gift certificate purchase
        is pending; `disabled` - gift certificate is disabled; `expired` - gift certificate is expired.
      title: TransactionGiftCertificateStatus
    TransactionGiftCertificate:
      type: object
      properties:
        code:
          type: string
          description: |
            The gift-certificate code.
        original_balance:
          type: string
          title: float
          description: |
            The balance on a gift certificate when it was purchased.
        starting_balance:
          type: string
          title: float
          description: |
            The balance on a gift certificate at the time of this purchase.
        remaining_balance:
          type: string
          title: float
          description: |
            The remaining balance on a gift certificate.
        status:
          $ref: '#/components/schemas/TransactionGiftCertificateStatus'
          description: >
            The status of a gift certificate: `active` - gift certificate is active; `pending` - gift certificate
            purchase is pending; `disabled` - gift certificate is disabled; `expired` - gift certificate is expired.
      description: A gift-certificate model.
      title: TransactionGiftCertificate
    TransactionStoreCredit:
      type: object
      properties:
        remaining_balance:
          type: string
          title: float
          description: |
            Remaining balance of shopperʼs store credit.
      description: |
        A store credit model.
      title: TransactionStoreCredit
    TransactionCustomProviderFieldResult:
      type: object
      properties:
        receipt_number:
          type:
            - string
            - 'null'
          description: |
            The receipt number associated with the transaction.
        authorization_code:
          type:
            - string
            - 'null'
          description: |
            Authorization code for the transaction.
        fraud_response:
          type:
            - string
            - 'null'
          description: |
            The fraud response associated with the transaction.
        amount_received:
          type:
            - string
            - 'null'
          title: float
          description: |
            The amount received for the transaction, divided by 100 to convert to the correct currency format.
      description: Fields for custom payment providers.
      title: TransactionCustomProviderFieldResult
    Transaction:
      type: object
      properties:
        event:
          $ref: '#/components/schemas/TransactionEvent'
          description: |
            Store event that created the transaction.
        method:
          $ref: '#/components/schemas/TransactionMethod'
          description: >
            The payment method: `credit_card` - a credit card transaction; `electronic_wallet` - an online wallet;
            `store_credit` - a transaction using store credit; `gift_certificate` - a transaction using a gift
            certificate; `custom` - manual payment methods; `token` - payment token; `nonce` - temporary payment token;
            `offsite` - online payment off the site; `offline` - payment method that takes place offline.
        amount:
          type: string
          title: float
          description: |
            Amount of money in the transaction.
        currency:
          type: string
          format: ISO-4217
          description: |
            Currency used for the transaction.
        gateway:
          $ref: '#/components/schemas/TransactionGateway'
          description: |
            The payment gateway, where applicable.
        gateway_transaction_id:
          type: string
          description: |
            The transaction ID returned by the payment gateway for this transaction item.
        test:
          type: boolean
          description: |
            True if the transaction performed was a test, or if the gateway is in test mode.
        status:
          $ref: '#/components/schemas/TransactionStatus'
          description: |
            Status of the transaction.
        fraud_review:
          type: boolean
          description: |
            Result of gateway fraud review, if any. Default is `false`.
        reference_transaction_id:
          type: integer
          description: |
            Identifier for an existing transaction upon which this transaction acts.
        offline:
          oneOf:
            - $ref: '#/components/schemas/TransactionOffline'
            - type: 'null'
          description: Offline payment (e.g., check or purchase order).
        custom:
          oneOf:
            - $ref: '#/components/schemas/TransactionCustom'
            - type: 'null'
          description: Custom payment from manual order.
        payment_method_id:
          type: string
          description: |
            The payment method ID used for this transaction.
        id:
          type: integer
          description: |
            Unique identifier for the transaction.
        order_id:
          type: string
          description: |
            Identifier for the BigCommerce Order with which this transaction is associated.
        date_created:
          type: string
          format: date-time
          description: |
            The date/time of the transaction in ISO-8601 format.
        payment_instrument_token:
          type:
            - string
            - 'null'
          description: >-
            This field contains the internal BigPay token for the stored card, mapped to the third-party token. When the
            optional feature to expose provider tokens is enabled, the payment provider's instrument token and customer
            identifier are exposed via `provider_instrument_token` and `provider_customer_id`. These tokens are
            read-only and do not return any information about the payment.
        provider_instrument_token:
          type:
            - string
            - 'null'
          description: >
            The payment provider's instrument token associated with the stored instrument used to process this
            transaction, if applicable.


            **Note:** This field is connected to an optional feature and may not be returned when using this endpoint.
            If your implementation requires access to this field, please reach out to support or your account manager to
            enable the inclusion of a provider token here.
        provider_customer_id:
          type:
            - string
            - 'null'
          description: >
            The payment provider's customer identifier associated with the stored instrument used to process this
            transaction, if applicable.


            **Note:** This field is connected to an optional feature and may not be returned when using this endpoint.
            If your implementation requires access to this field, please reach out to support or your account manager to
            enable the inclusion of a provider customer id here.
        avs_result:
          $ref: '#/components/schemas/TransactionAvsResult'
          description: Address Verification Service (AVS) result from the payment gateway.
        cvv_result:
          $ref: '#/components/schemas/TransactionCvvResult'
          description: Card Verification Value result from the payment gateway.
        credit_card:
          $ref: '#/components/schemas/CreditCard'
        gift_certificate:
          oneOf:
            - $ref: '#/components/schemas/TransactionGiftCertificate'
            - type: 'null'
          description: A gift-certificate model.
        store_credit:
          oneOf:
            - $ref: '#/components/schemas/TransactionStoreCredit'
            - type: 'null'
          description: |
            A store credit model.
        custom_provider_field_result:
          oneOf:
            - $ref: '#/components/schemas/TransactionCustomProviderFieldResult'
            - type: 'null'
          description: Fields for custom payment providers.
      required:
        - event
        - method
        - amount
        - currency
        - gateway
      title: Transaction
    links_Full:
      type: object
      properties:
        previous:
          type: string
          description: |
            Link to the previous page returned in the response.
        current:
          type: string
          description: |
            Link to the current page returned in the response.
        next:
          type: string
          description: |
            Link to the next page returned in the response.
      title: links_Full
    pagination_Full:
      type: object
      properties:
        total:
          type: integer
          description: Total number of items in the result set.
        count:
          type: integer
          description: Total number of items in the collection response.
        per_page:
          type: integer
          description: The amount of items returned in the collection per page, controlled by the limit parameter.
        current_page:
          type: integer
          description: The page you are currently on within the collection.
        total_pages:
          type: integer
          description: The total number of pages in the collection.
        links:
          $ref: '#/components/schemas/links_Full'
      title: pagination_Full
    metaCollection_Full:
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/pagination_Full'
      title: metaCollection_Full
    Transactions_getOrderTransactions_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Transaction'
        meta:
          $ref: '#/components/schemas/metaCollection_Full'
      title: Transactions_getOrderTransactions_Response_200
    GetOrderTransactionsRequestNotFoundError:
      type: object
      properties:
        status:
          type: integer
          description: |
            404 HTTP status code.
        title:
          type: string
          description: The error title describing the particular error.
        type:
          type: string
        instance:
          type: string
      description: Error payload for the BigCommerce API.
      title: GetOrderTransactionsRequestNotFoundError
    GetOrderTransactionsRequestServiceUnavailableError:
      type: object
      properties:
        status:
          type: integer
          description: |
            503 HTTP status code.
        title:
          type: string
          description: The error title describing the particular error.
        type:
          type: string
      description: Error payload for the BigCommerce API.
      title: GetOrderTransactionsRequestServiceUnavailableError
    OrdersMetafieldsGetParametersDirection:
      type: string
      enum:
        - asc
        - desc
      title: OrdersMetafieldsGetParametersDirection
    OrdersMetafieldsGetParametersIncludeFieldsSchemaItems:
      type: string
      enum:
        - resource_id
        - key
        - value
        - namespace
        - permission_set
        - resource_type
        - description
        - owner_client_id
        - date_created
        - date_modified
      title: OrdersMetafieldsGetParametersIncludeFieldsSchemaItems
    MetafieldBasePermissionSet:
      type: string
      enum:
        - app_only
        - read
        - write
        - read_and_sf_access
        - write_and_sf_access
      description: |
        Determines the visibility and writeability of the field by other API consumers.

        |Value|Description |
        |:-|:-|
        |`app_only`|Private to the app that owns the field|
        |`read`|Visible to other API consumers|
        |`write`|Open for reading and writing by other API consumers|
        |`read_and_sf_access`|Visible to other API consumers, including on storefront|
        |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront|
      title: MetafieldBasePermissionSet
    MetafieldBaseResourceType:
      type: string
      enum:
        - order
        - brand
        - product
        - variant
        - category
      description: |
        The type of resource with which the metafield is associated.
      title: MetafieldBaseResourceType
    Metafield:
      type: object
      properties:
        permission_set:
          $ref: '#/components/schemas/MetafieldBasePermissionSet'
          description: |
            Determines the visibility and writeability of the field by other API consumers.

            |Value|Description |
            |:-|:-|
            |`app_only`|Private to the app that owns the field|
            |`read`|Visible to other API consumers|
            |`write`|Open for reading and writing by other API consumers|
            |`read_and_sf_access`|Visible to other API consumers, including on storefront|
            |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront|
        namespace:
          type: string
          description: |
            Namespace for the metafield, for organizational purposes.
        key:
          type: string
          description: |
            The name of the field, for example: `location_id`, `color`.
        value:
          type: string
          description: |
            The value of the field, for example: `1`, `blue`.
        description:
          type: string
          description: |
            Description for the metafields.
        resource_type:
          $ref: '#/components/schemas/MetafieldBaseResourceType'
          description: |
            The type of resource with which the metafield is associated.
        resource_id:
          type: integer
          description: |
            The unique identifier for the resource with which the metafield is associated.
        id:
          type: integer
          description: |
            The unique identifier for the metafields.
        date_created:
          type: string
          format: date-time
          description: |
            Date and time of the metafieldʼs creation.
        date_modified:
          type: string
          format: date-time
          description: |
            Date and time when the metafield was last updated.
        owner_client_id:
          type: string
          description: Client ID for the metafieldʼs creator.
      required:
        - permission_set
      description: |
        Allows app partners to write custom data to various resources in the API.
      title: Metafield
    CollectionMetaPaginationLinks:
      type: object
      properties:
        previous:
          type: string
          description: |
            Link to the previous page returned in the response.
        current:
          type: string
          description: |
            Link to the current page returned in the response.
        next:
          type: string
          description: |
            Link to the next page returned in the response.
      description: |
        Pagination links for the previous and next parts of the whole collection.
      title: CollectionMetaPaginationLinks
    CollectionMetaPagination:
      type: object
      properties:
        total:
          type: integer
          description: |
            Total number of items in the result set.
        count:
          type: integer
          description: |
            Total number of items in the collection response.
        per_page:
          type: integer
          description: |
            The amount of items returned in the collection per page, controlled by the limit parameter.
        current_page:
          type: integer
          description: |
            The page you are currently on within the collection.
        total_pages:
          type: integer
          description: |
            The total number of pages in the collection.
        links:
          $ref: '#/components/schemas/CollectionMetaPaginationLinks'
          description: |
            Pagination links for the previous and next parts of the whole collection.
      description: Data about the response, including pagination and collection totals.
      title: CollectionMetaPagination
    CollectionMeta:
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/CollectionMetaPagination'
          description: Data about the response, including pagination and collection totals.
      description: Data about the response, including pagination and collection totals.
      title: CollectionMeta
    MetaFieldCollectionResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Metafield'
        meta:
          $ref: '#/components/schemas/CollectionMeta'
      description: |
        Response payload for the BigCommerce API.
      title: MetaFieldCollectionResponse
    OrdersMetafieldsPostRequestBodyContentApplicationJsonSchemaItemsPermissionSet:
      type: string
      enum:
        - app_only
        - read
        - write
        - read_and_sf_access
        - write_and_sf_access
      description: |
        Determines the visibility and writeability of the field by other API consumers.

        |Value|Description |
        |:-|:-|
        |`app_only`|Private to the app that owns the field|
        |`read`|Visible to other API consumers|
        |`write`|Open for reading and writing by other API consumers|
        |`read_and_sf_access`|Visible to other API consumers, including on storefront|
        |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront|
      title: OrdersMetafieldsPostRequestBodyContentApplicationJsonSchemaItemsPermissionSet
    OrdersMetafieldsPostRequestBodyContentApplicationJsonSchemaItems:
      type: object
      properties:
        permission_set:
          $ref: '#/components/schemas/OrdersMetafieldsPostRequestBodyContentApplicationJsonSchemaItemsPermissionSet'
          description: |
            Determines the visibility and writeability of the field by other API consumers.

            |Value|Description |
            |:-|:-|
            |`app_only`|Private to the app that owns the field|
            |`read`|Visible to other API consumers|
            |`write`|Open for reading and writing by other API consumers|
            |`read_and_sf_access`|Visible to other API consumers, including on storefront|
            |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront|
        namespace:
          type: string
          description: |
            Namespace for the metafield, for organizational purposes.
        key:
          type: string
          description: |
            The name of the field, for example: `location_id`, `color`.
        value:
          type: string
          description: |
            The value of the field, for example: `1`, `blue`.
        description:
          type: string
          description: |
            Description for the metafields.
        resource_id:
          type: integer
          description: |
            The ID for the order with which the metafield is associated.
      required:
        - permission_set
        - namespace
        - key
        - value
        - resource_id
      description: |
        Common Metafield properties.
      title: OrdersMetafieldsPostRequestBodyContentApplicationJsonSchemaItems
    BatchOperationMeta:
      type: object
      properties:
        total:
          type: integer
          description: The total number of operations in the batch.
        success:
          type: integer
          description: The number of failed operations in the batch.
        failed:
          type: integer
          description: The number of failed operations in the batch.
      title: BatchOperationMeta
    MetaFieldCollectionResponse_POST_PUT:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Metafield'
        errors:
          type: array
          items:
            description: Any type
          description: Empty for 200 responses.
        meta:
          $ref: '#/components/schemas/BatchOperationMeta'
      description: |
        Response payload for the BigCommerce API.
      title: MetaFieldCollectionResponse_POST_PUT
    CreateOrdersMetafieldsRequestBadRequestError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        detail:
          type: string
      title: CreateOrdersMetafieldsRequestBadRequestError
    ErrorDetail:
      type: object
      properties: {}
      description: |
        Error detail response payload for the BigCommerce API.
      title: ErrorDetail
    Error:
      type: object
      properties:
        status:
          type: integer
          description: |
            The HTTP status code for the error.
        title:
          type: string
          description: |
            The error title.
        type:
          type: string
          description: |
            The error type.
        errors:
          $ref: '#/components/schemas/ErrorDetail'
      description: |
        Error response payload for the BigCommerce API.
      title: Error
    WriteCollectionPartialSuccessMeta:
      type: object
      properties:
        total:
          type: integer
          description: |
            Total number of items in the result set.
        success:
          type: integer
          description: |
            Total number of items that were successfully deleted.
        failed:
          type: integer
          description: |
            Total number of items that failed to be deleted.
      description: Additional data about the response.
      title: WriteCollectionPartialSuccessMeta
    MetaFieldCollectionResponsePartialSuccess_POST_PUT:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Metafield'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        meta:
          $ref: '#/components/schemas/WriteCollectionPartialSuccessMeta'
      description: |
        Response payload for the BigCommerce API.
      title: MetaFieldCollectionResponsePartialSuccess_POST_PUT
    OrdersMetafieldsPutRequestBodyContentApplicationJsonSchemaItemsPermissionSet:
      type: string
      enum:
        - app_only
        - read
        - write
        - read_and_sf_access
        - write_and_sf_access
      description: |
        Determines the visibility and writeability of the field by other API consumers.

        |Value|Description |
        |:-|:-|
        |`app_only`|Private to the app that owns the field|
        |`read`|Visible to other API consumers|
        |`write`|Open for reading and writing by other API consumers|
        |`read_and_sf_access`|Visible to other API consumers, including on storefront|
        |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront|
      title: OrdersMetafieldsPutRequestBodyContentApplicationJsonSchemaItemsPermissionSet
    OrdersMetafieldsPutRequestBodyContentApplicationJsonSchemaItems:
      type: object
      properties:
        permission_set:
          $ref: '#/components/schemas/OrdersMetafieldsPutRequestBodyContentApplicationJsonSchemaItemsPermissionSet'
          description: |
            Determines the visibility and writeability of the field by other API consumers.

            |Value|Description |
            |:-|:-|
            |`app_only`|Private to the app that owns the field|
            |`read`|Visible to other API consumers|
            |`write`|Open for reading and writing by other API consumers|
            |`read_and_sf_access`|Visible to other API consumers, including on storefront|
            |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront|
        namespace:
          type: string
          description: |
            Namespace for the metafield, for organizational purposes.
        key:
          type: string
          description: |
            The name of the field, for example: `location_id`, `color`.
        value:
          type: string
          description: |
            The value of the field, for example: `1`, `blue`.
        description:
          type: string
          description: |
            Description for the metafields.
        id:
          type: integer
          description: |
            The ID of metafield to update.
      required:
        - permission_set
        - namespace
        - key
        - value
        - id
      description: |
        Common Metafield properties.
      title: OrdersMetafieldsPutRequestBodyContentApplicationJsonSchemaItems
    UpdateOrdersMetafieldsRequestBadRequestError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        detail:
          type: string
      title: UpdateOrdersMetafieldsRequestBadRequestError
    WriteCollectionSuccessMeta:
      type: object
      properties:
        total:
          type: integer
          description: |
            Total number of items in the result set.
        success:
          type: integer
          description: |
            Total number of items that were successfully deleted.
        failed:
          type: integer
          description: |
            Total number of items that failed to be deleted.
      description: Additional data about the response.
      title: WriteCollectionSuccessMeta
    MetaFieldCollectionDeleteResponseSuccess:
      type: object
      properties:
        data:
          type: array
          items:
            type: integer
        errors:
          type: array
          items:
            description: Any type
          description: Empty for 200 responses.
        meta:
          $ref: '#/components/schemas/WriteCollectionSuccessMeta'
      description: |
        Response payload for the BigCommerce API.
      title: MetaFieldCollectionDeleteResponseSuccess
    DeleteOrdersMetafieldsRequestBadRequestError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        detail:
          type: string
      title: DeleteOrdersMetafieldsRequestBadRequestError
    MetaFieldCollectionResponsePartialSuccess_DELETE:
      type: object
      properties:
        data:
          type: array
          items:
            type: integer
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        meta:
          $ref: '#/components/schemas/WriteCollectionPartialSuccessMeta'
      description: |
        Response payload for the BigCommerce API.
      title: MetaFieldCollectionResponsePartialSuccess_DELETE
    OrdersOrderIdMetafieldsGetParametersDirection:
      type: string
      enum:
        - asc
        - desc
      title: OrdersOrderIdMetafieldsGetParametersDirection
    MetafieldBasePostPermissionSet:
      type: string
      enum:
        - app_only
        - read
        - write
        - read_and_sf_access
        - write_and_sf_access
      description: |
        Determines the visibility and writeability of the field by other API consumers.

        |Value|Description |
        |:-|:-|
        |`app_only`|Private to the app that owns the field|
        |`read`|Visible to other API consumers|
        |`write`|Open for reading and writing by other API consumers|
        |`read_and_sf_access`|Visible to other API consumers, including on storefront|
        |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront|
      title: MetafieldBasePostPermissionSet
    MetafieldBase_Post:
      type: object
      properties:
        permission_set:
          $ref: '#/components/schemas/MetafieldBasePostPermissionSet'
          description: |
            Determines the visibility and writeability of the field by other API consumers.

            |Value|Description |
            |:-|:-|
            |`app_only`|Private to the app that owns the field|
            |`read`|Visible to other API consumers|
            |`write`|Open for reading and writing by other API consumers|
            |`read_and_sf_access`|Visible to other API consumers, including on storefront|
            |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront|
        namespace:
          type: string
          description: |
            Namespace for the metafield, for organizational purposes.
        key:
          type: string
          description: |
            The name of the field, for example: `location_id`, `color`.
        value:
          type: string
          description: |
            The value of the field, for example: `1`, `blue`.
        description:
          type: string
          description: |
            Description for the metafields.
      required:
        - permission_set
        - namespace
        - key
        - value
      description: |
        Common Metafield properties.
      title: MetafieldBase_Post
    metaEmpty_Full:
      type: object
      properties: {}
      description: Response metadata.
      title: metaEmpty_Full
    MetafieldResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/Metafield'
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      description: |
        Response payload for the BigCommerce API.
      title: MetafieldResponse
    CreateOrderMetafieldRequestBadRequestError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        detail:
          type: string
      title: CreateOrderMetafieldRequestBadRequestError
    ErrorResponseErrors:
      type: object
      properties: {}
      title: ErrorResponseErrors
    ErrorResponse:
      type: object
      properties:
        status:
          type: integer
          description: |
            The HTTP status code.
        title:
          type: string
          description: |
            The error title describing the particular error.
        type:
          type: string
        errors:
          $ref: '#/components/schemas/ErrorResponseErrors'
      title: ErrorResponse
    NotFound:
      type: object
      properties:
        status:
          type: integer
          description: |
            404 HTTP status code.
        title:
          type: string
          description: The resource at that URL is not found.
        type:
          type: string
        errors:
          type: array
          items:
            description: Any type
          description: Empty for 200 responses.
      description: Error payload for the BigCommerce API.
      title: NotFound
    MetafieldPut:
      type: object
      properties:
        permission_set:
          $ref: '#/components/schemas/MetafieldBasePostPermissionSet'
          description: |
            Determines the visibility and writeability of the field by other API consumers.

            |Value|Description |
            |:-|:-|
            |`app_only`|Private to the app that owns the field|
            |`read`|Visible to other API consumers|
            |`write`|Open for reading and writing by other API consumers|
            |`read_and_sf_access`|Visible to other API consumers, including on storefront|
            |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront|
        namespace:
          type: string
          description: |
            Namespace for the metafield, for organizational purposes.
        key:
          type: string
          description: |
            The name of the field, for example: `location_id`, `color`.
        value:
          type: string
          description: |
            The value of the field, for example: `1`, `blue`.
        description:
          type: string
          description: |
            Description for the metafields.
      required:
        - permission_set
        - namespace
        - key
        - value
      description: |
        The model for a PUT to update metafield.
      title: MetafieldPut
    UpdateOrderMetafieldRequestBadRequestError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        detail:
          type: string
      title: UpdateOrderMetafieldRequestBadRequestError
    OrdersSettingsGetResponsesContentApplicationJsonSchemaNotificationsOrderPlaced:
      type: object
      properties:
        email_addresses:
          type: array
          items:
            type: string
          description: Email addresses order notifications will be sent to. Empty array disables order notifications. Not nullable.
      description: Global order notification settings.
      title: OrdersSettingsGetResponsesContentApplicationJsonSchemaNotificationsOrderPlaced
    OrdersSettingsGetResponsesContentApplicationJsonSchemaNotificationsForwardInvoice:
      type: object
      properties:
        email_addresses:
          type: array
          items:
            type: string
          description: >-
            Email addresses order invoices will be forwarded to. Empty array disables forwarding order invoices. Not
            nullable.
      description: Global order invoice forward settings.
      title: OrdersSettingsGetResponsesContentApplicationJsonSchemaNotificationsForwardInvoice
    OrdersSettingsGetResponsesContentApplicationJsonSchemaNotifications:
      type: object
      properties:
        order_placed:
          $ref: '#/components/schemas/OrdersSettingsGetResponsesContentApplicationJsonSchemaNotificationsOrderPlaced'
          description: Global order notification settings.
        forward_invoice:
          $ref: '#/components/schemas/OrdersSettingsGetResponsesContentApplicationJsonSchemaNotificationsForwardInvoice'
          description: Global order invoice forward settings.
      description: Global notification settings.
      title: OrdersSettingsGetResponsesContentApplicationJsonSchemaNotifications
    Order Settings_getGlobalOrderSettings_Response_200:
      type: object
      properties:
        notifications:
          $ref: '#/components/schemas/OrdersSettingsGetResponsesContentApplicationJsonSchemaNotifications'
          description: Global notification settings.
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      title: Order Settings_getGlobalOrderSettings_Response_200
    BetaErrorResponseErrors:
      type: object
      properties: {}
      title: BetaErrorResponseErrors
    betaErrorResponse:
      type: object
      properties:
        status:
          type: integer
          description: |
            The HTTP status code.
        title:
          type: string
          description: |
            The error title describing the particular error.
        type:
          type: string
        errors:
          $ref: '#/components/schemas/BetaErrorResponseErrors'
      description: |
        Error payload for the BigCommerce API.
      title: betaErrorResponse
    ErrorResponse400:
      type: object
      properties:
        schema:
          $ref: '#/components/schemas/betaErrorResponse'
      title: ErrorResponse400
    GlobalOrderSettingsNotificationsOrderPlaced:
      type: object
      properties:
        email_addresses:
          type: array
          items:
            type: string
          description: Email addresses order notifications will be sent to. Empty array disables order notifications. Not nullable.
      description: Global order notification settings.
      title: GlobalOrderSettingsNotificationsOrderPlaced
    GlobalOrderSettingsNotificationsForwardInvoice:
      type: object
      properties:
        email_addresses:
          type: array
          items:
            type: string
          description: >-
            Email addresses order invoices will be forwarded to. Empty array disables forwarding order invoices. Not
            nullable.
      description: Global order invoice forward settings.
      title: GlobalOrderSettingsNotificationsForwardInvoice
    GlobalOrderSettingsNotifications:
      type: object
      properties:
        order_placed:
          $ref: '#/components/schemas/GlobalOrderSettingsNotificationsOrderPlaced'
          description: Global order notification settings.
        forward_invoice:
          $ref: '#/components/schemas/GlobalOrderSettingsNotificationsForwardInvoice'
          description: Global order invoice forward settings.
      description: Global notification settings.
      title: GlobalOrderSettingsNotifications
    GlobalOrderSettings:
      type: object
      properties:
        notifications:
          $ref: '#/components/schemas/GlobalOrderSettingsNotifications'
          description: Global notification settings.
      title: GlobalOrderSettings
    OrdersSettingsPutResponsesContentApplicationJsonSchemaNotificationsOrderPlaced:
      type: object
      properties:
        email_addresses:
          type: array
          items:
            type: string
          description: Email addresses order notifications will be sent to. Empty array disables order notifications. Not nullable.
      description: Global order notification settings.
      title: OrdersSettingsPutResponsesContentApplicationJsonSchemaNotificationsOrderPlaced
    OrdersSettingsPutResponsesContentApplicationJsonSchemaNotificationsForwardInvoice:
      type: object
      properties:
        email_addresses:
          type: array
          items:
            type: string
          description: >-
            Email addresses order invoices will be forwarded to. Empty array disables forwarding order invoices. Not
            nullable.
      description: Global order invoice forward settings.
      title: OrdersSettingsPutResponsesContentApplicationJsonSchemaNotificationsForwardInvoice
    OrdersSettingsPutResponsesContentApplicationJsonSchemaNotifications:
      type: object
      properties:
        order_placed:
          $ref: '#/components/schemas/OrdersSettingsPutResponsesContentApplicationJsonSchemaNotificationsOrderPlaced'
          description: Global order notification settings.
        forward_invoice:
          $ref: '#/components/schemas/OrdersSettingsPutResponsesContentApplicationJsonSchemaNotificationsForwardInvoice'
          description: Global order invoice forward settings.
      description: Global notification settings.
      title: OrdersSettingsPutResponsesContentApplicationJsonSchemaNotifications
    Order Settings_updateGlobalOrderSettings_Response_200:
      type: object
      properties:
        notifications:
          $ref: '#/components/schemas/OrdersSettingsPutResponsesContentApplicationJsonSchemaNotifications'
          description: Global notification settings.
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      title: Order Settings_updateGlobalOrderSettings_Response_200
    ErrorResponse422:
      type: object
      properties:
        schema:
          $ref: '#/components/schemas/betaErrorResponse'
      title: ErrorResponse422
    OrdersSettingsChannelsChannelIdGetResponsesContentApplicationJsonSchemaNotificationsOrderPlaced:
      type: object
      properties:
        email_addresses:
          type:
            - array
            - 'null'
          items:
            type: string
          description: >-
            Email addresses channel order notifications will be sent to. If null will fall back to global value. Empty
            array disables order notifications for channel.
      description: Channel order notification settings.
      title: OrdersSettingsChannelsChannelIdGetResponsesContentApplicationJsonSchemaNotificationsOrderPlaced
    OrdersSettingsChannelsChannelIdGetResponsesContentApplicationJsonSchemaNotificationsForwardInvoice:
      type: object
      properties:
        email_addresses:
          type:
            - array
            - 'null'
          items:
            type: string
          description: >-
            Email addresses channel order invoices will be forwarded to. If null will fall back to global value. Empty
            array disables forwarding order invoices for channel.
      description: Channel order invoice forward settings.
      title: OrdersSettingsChannelsChannelIdGetResponsesContentApplicationJsonSchemaNotificationsForwardInvoice
    OrdersSettingsChannelsChannelIdGetResponsesContentApplicationJsonSchemaNotifications:
      type: object
      properties:
        order_placed:
          $ref: >-
            #/components/schemas/OrdersSettingsChannelsChannelIdGetResponsesContentApplicationJsonSchemaNotificationsOrderPlaced
          description: Channel order notification settings.
        forward_invoice:
          $ref: >-
            #/components/schemas/OrdersSettingsChannelsChannelIdGetResponsesContentApplicationJsonSchemaNotificationsForwardInvoice
          description: Channel order invoice forward settings.
      description: Channel notification settings.
      title: OrdersSettingsChannelsChannelIdGetResponsesContentApplicationJsonSchemaNotifications
    Order Settings_getChannelOrderSettings_Response_200:
      type: object
      properties:
        notifications:
          $ref: '#/components/schemas/OrdersSettingsChannelsChannelIdGetResponsesContentApplicationJsonSchemaNotifications'
          description: Channel notification settings.
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      title: Order Settings_getChannelOrderSettings_Response_200
    ChannelOrderSettingsNotificationsOrderPlaced:
      type: object
      properties:
        email_addresses:
          type:
            - array
            - 'null'
          items:
            type: string
          description: >-
            Email addresses channel order notifications will be sent to. If null will fall back to global value. Empty
            array disables order notifications for channel.
      description: Channel order notification settings.
      title: ChannelOrderSettingsNotificationsOrderPlaced
    ChannelOrderSettingsNotificationsForwardInvoice:
      type: object
      properties:
        email_addresses:
          type:
            - array
            - 'null'
          items:
            type: string
          description: >-
            Email addresses channel order invoices will be forwarded to. If null will fall back to global value. Empty
            array disables forwarding order invoices for channel.
      description: Channel order invoice forward settings.
      title: ChannelOrderSettingsNotificationsForwardInvoice
    ChannelOrderSettingsNotifications:
      type: object
      properties:
        order_placed:
          $ref: '#/components/schemas/ChannelOrderSettingsNotificationsOrderPlaced'
          description: Channel order notification settings.
        forward_invoice:
          $ref: '#/components/schemas/ChannelOrderSettingsNotificationsForwardInvoice'
          description: Channel order invoice forward settings.
      description: Channel notification settings.
      title: ChannelOrderSettingsNotifications
    ChannelOrderSettings:
      type: object
      properties:
        notifications:
          $ref: '#/components/schemas/ChannelOrderSettingsNotifications'
          description: Channel notification settings.
      title: ChannelOrderSettings
    OrdersSettingsChannelsChannelIdPutResponsesContentApplicationJsonSchemaNotificationsOrderPlaced:
      type: object
      properties:
        email_addresses:
          type:
            - array
            - 'null'
          items:
            type: string
          description: >-
            Email addresses channel order notifications will be sent to. If null will fall back to global value. Empty
            array disables order notifications for channel.
      description: Channel order notification settings.
      title: OrdersSettingsChannelsChannelIdPutResponsesContentApplicationJsonSchemaNotificationsOrderPlaced
    OrdersSettingsChannelsChannelIdPutResponsesContentApplicationJsonSchemaNotificationsForwardInvoice:
      type: object
      properties:
        email_addresses:
          type:
            - array
            - 'null'
          items:
            type: string
          description: >-
            Email addresses channel order invoices will be forwarded to. If null will fall back to global value. Empty
            array disables forwarding order invoices for channel.
      description: Channel order invoice forward settings.
      title: OrdersSettingsChannelsChannelIdPutResponsesContentApplicationJsonSchemaNotificationsForwardInvoice
    OrdersSettingsChannelsChannelIdPutResponsesContentApplicationJsonSchemaNotifications:
      type: object
      properties:
        order_placed:
          $ref: >-
            #/components/schemas/OrdersSettingsChannelsChannelIdPutResponsesContentApplicationJsonSchemaNotificationsOrderPlaced
          description: Channel order notification settings.
        forward_invoice:
          $ref: >-
            #/components/schemas/OrdersSettingsChannelsChannelIdPutResponsesContentApplicationJsonSchemaNotificationsForwardInvoice
          description: Channel order invoice forward settings.
      description: Channel notification settings.
      title: OrdersSettingsChannelsChannelIdPutResponsesContentApplicationJsonSchemaNotifications
    Order Settings_updateChannelOrderSettings_Response_200:
      type: object
      properties:
        notifications:
          $ref: '#/components/schemas/OrdersSettingsChannelsChannelIdPutResponsesContentApplicationJsonSchemaNotifications'
          description: Channel notification settings.
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      title: Order Settings_updateChannelOrderSettings_Response_200
    Payment Actions_captureOrderPayment_Response_201:
      type: object
      properties: {}
      title: Payment Actions_captureOrderPayment_Response_201
    error_Base:
      type: object
      properties:
        status:
          type: integer
          description: |
            The HTTP status code.
        title:
          type: string
          description: |
            The error title describing the particular error.
        type:
          type: string
      description: Error payload for the BigCommerce API.
      title: error_Base
    ErrorDetailedFullErrors:
      type: object
      properties: {}
      title: ErrorDetailedFullErrors
    errorDetailed_Full:
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/ErrorDetailedFullErrors'
      title: errorDetailed_Full
    Payment Actions_voidOrderPayment_Response_201:
      type: object
      properties: {}
      title: Payment Actions_voidOrderPayment_Response_201
    QuantityBoundItemItemType:
      type: string
      enum:
        - PRODUCT
        - GIFT_WRAPPING
      description: Type of refund.
      title: QuantityBoundItemItemType
    RefundItemAdjustment:
      type: object
      properties:
        amount:
          type: string
          title: float
          description: A negative 2 decimal place rounded value to deduct from the amount refunded.
        description:
          type: string
          description: Description of reason for the adjustment.
      description: Use to reduce the amount refunded for an item.
      title: RefundItemAdjustment
    QuantityBoundItem:
      type: object
      properties:
        item_type:
          $ref: '#/components/schemas/QuantityBoundItemItemType'
          description: Type of refund.
        item_id:
          type: integer
          description: Order Product ID.
        adjustments:
          type: array
          items:
            $ref: '#/components/schemas/RefundItemAdjustment'
          description: Array of product refund deductions
        quantity:
          type: integer
        reason:
          type: string
          description: Reason for refund.
      required:
        - item_type
        - item_id
        - quantity
      description: |
        Quantity Bound Item

        Type of refund item that capture refunding of items in the order that are of type quantity.
        * `PRODUCT`
        * `GIFT_WRAPPING`
      title: QuantityBoundItem
    AmountBoundItemItemType:
      type: string
      enum:
        - ORDER
        - SHIPPING
        - HANDLING
        - TAX
        - FEE
      description: Type of refund.
      title: AmountBoundItemItemType
    Amount:
      type: string
      title: Amount
      description: >-
        A non-negative 2 decimal place rounded value that represents the amount that can be charged/refunded with
        payment providers. When creating refunds and refund quotes, this field becomes irrelevant when you select
        PRODUCT or GIFT_WRAPPING for `item_type`.
    AmountBoundItem:
      type: object
      properties:
        item_type:
          $ref: '#/components/schemas/AmountBoundItemItemType'
          description: Type of refund.
        item_id:
          type: integer
          description: Order address ID.
        amount:
          $ref: '#/components/schemas/Amount'
        reason:
          type: string
          description: Explanation of refund.
      required:
        - item_type
        - item_id
        - amount
      description: |-
        Amount Bound Item

        Type of refund item that capture refunding of items in the order that are of type amount.
        * `ORDER`
        * `SHIPPING`
        * `HANDLING`
        * `TAX`
        * `FEE`
      title: AmountBoundItem
    TaxExemptItemItemType:
      type: string
      enum:
        - ORDER
      description: The type of refund. When `item_type` is set to `ORDER`, tax is not re-calculated.
      title: TaxExemptItemItemType
    TaxExemptItem:
      type: object
      properties:
        item_type:
          $ref: '#/components/schemas/TaxExemptItemItemType'
          description: The type of refund. When `item_type` is set to `ORDER`, tax is not re-calculated.
        item_id:
          type: number
          format: double
          description: Numeric ID of the product in the order.
        amount:
          $ref: '#/components/schemas/Amount'
        reason:
          type: string
          description: Reason for the refund.
      description: >-
        Use this to refund a custom value at the order level. When `item_type` is set to `ORDER`, tax is not
        re-calculated.
      title: TaxExemptItem
    FeeItemItemType:
      type: string
      enum:
        - FEE
      description: The type of refund.
      title: FeeItemItemType
    FeeItem:
      type: object
      properties:
        item_type:
          $ref: '#/components/schemas/FeeItemItemType'
          description: The type of refund.
        item_id:
          type: number
          format: double
          description: Numeric ID of the fee in the order.
        amount:
          $ref: '#/components/schemas/Amount'
        reason:
          type: string
          description: Reason for the refund.
      description: Use this field to refund a custom fee at the order level.
      title: FeeItem
    ItemsRefund:
      oneOf:
        - $ref: '#/components/schemas/QuantityBoundItem'
        - $ref: '#/components/schemas/AmountBoundItem'
        - $ref: '#/components/schemas/TaxExemptItem'
        - $ref: '#/components/schemas/FeeItem'
      title: ItemsRefund
    RefundQuote_ItemsRefund:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ItemsRefund'
      required:
        - items
      title: RefundQuote_ItemsRefund
    TaxAdjustmentAmount:
      type: string
      title: TaxAdjustmentAmount
      description: >-
        Amount to be used when tax may have been overcharged for an order, such as when the value for a partial refund
        is overridden. This amount should be equal to the calculated overcharged value, or should be used with
        `merchant_calculated_override` to override the value. If not, this will result in a `422` error.
    RefundQuote_TaxAdjustmentAmount:
      type: object
      properties:
        tax_adjustment_amount:
          $ref: '#/components/schemas/TaxAdjustmentAmount'
      required:
        - tax_adjustment_amount
      title: RefundQuote_TaxAdjustmentAmount
    RefundQuote_Post:
      oneOf:
        - $ref: '#/components/schemas/RefundQuote_ItemsRefund'
        - $ref: '#/components/schemas/RefundQuote_TaxAdjustmentAmount'
      description: Request body for refund quotes.
      title: RefundQuote_Post
    AdjustmentAmount:
      type: string
      title: AdjustmentAmount
      description: >-
        A negative or positive 2 decimal place rounded value that represents the difference between the refund amount
        requested in the refund quote and the actual amount that is refundable on the order. This value is negative when
        the refund amount requested in the refund quote is more than the total refundable amount. This value is positive
        when the total refundable amount has increased, e.g. as a result of rounding.
    PaymentOption:
      type: object
      properties:
        provider_id:
          type: string
          description: Name of the payment method.
        provider_description:
          type: string
          description: Description for payment provider.
        amount:
          type: number
          format: double
          description: Amount to be refunded with this payment provider.
        offline:
          type: boolean
          description: >-
            Indicates the payment must be done offline due to constraints of the payment provider, such as partial
            refunds not being supported, or it being offline only such as cash on delivery of bank deposit.
        offline_provider:
          type: boolean
          description: Indicates if the payment provider is a strictly offline provider, such as cash on delivery or bank deposit.
        offline_reason:
          type: string
          description: Reason the payment option is offline only, if applicable.
      title: PaymentOption
    RefundMethod:
      type: array
      items:
        $ref: '#/components/schemas/PaymentOption'
      title: RefundMethod
    RefundQuote_Full:
      type: object
      properties:
        order_id:
          type: integer
          description: ID of the order to be refunded.
        total_refund_amount:
          $ref: '#/components/schemas/Amount'
        total_refund_tax_amount:
          type: number
          format: double
        order_level_refund_amount:
          type: number
          format: double
        rounding:
          type: number
          format: double
          description: >-
            Indicates rounding value to bring `refund_total` to an amount refundable with payment providers (in this
            case to 2 decimal places).
        adjustment:
          $ref: '#/components/schemas/AdjustmentAmount'
        tax_inclusive:
          type: boolean
          description: Indicate if `total_refund_amount` includes tax amount.
        refund_methods:
          type: array
          items:
            $ref: '#/components/schemas/RefundMethod'
          description: >
            An array of available refund methods.


            Note that `refund_methods` is an array of refund methods, with each refund method being an array of payment
            options.


            For example, if the order was placed by a combination of store credit and bank deposit the refund methods
            would be:


            ```json

            {
              "refund_methods": [
                [
                  {
                    "provider_id": "storecredit",
                    "provider_description": "Store Credit",
                    "amount": 119.35,
                    "offline": false,
                    "offline_provider": false,
                    "offline_reason": ""
                  }
                ],
                [
                  {
                    "provider_id": "custom",
                    "provider_description": "Custom",
                    "amount": 119.35,
                    "offline": true,
                    "offline_provider": true,
                    "offline_reason": "This is an offline payment provider."
                  }
                ],
                [
                  {
                    "provider_id": "bankdeposit",
                    "provider_description": "Bank Deposit",
                    "amount": 80.35,
                    "offline": true,
                    "offline_provider": true,
                    "offline_reason": "This is an offline payment provider."
                  },
                  {
                    "provider_id": "storecredit",
                    "provider_description": "Store Credit",
                    "amount": 39,
                    "offline": false,
                    "offline_provider": false,
                    "offline_reason": ""
                  }
                ]
              ]
            }

            ```


            In this case there are three refund methods available to the merchant:

            1. Refund up to the entire order amount to store credit.

            2. Mark an amount up to the full order amount as refunded externally, through a provider or means not
            represented directly in BC ("custom").

            3. Refund the amount paid by store credit to store credit, and the amount paid by bank deposit with a manual
            refund, which will be recorded as being refunded against the bank deposit.
      title: RefundQuote_Full
    Payment Actions_createOrderRefundQuotes_Response_201:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/RefundQuote_Full'
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      title: Payment Actions_createOrderRefundQuotes_Response_201
    RefundItemItemType:
      type: string
      enum:
        - PRODUCT
        - GIFT_WRAPPING
        - SHIPPING
        - HANDLING
        - ORDER
        - FEE
      description: Type of item that was refunded.
      title: RefundItemItemType
    RefundItem:
      type: object
      properties:
        item_type:
          $ref: '#/components/schemas/RefundItemItemType'
          description: Type of item that was refunded.
        item_id:
          type: integer
          description: >-
            order_product.id corresponding to the item_types of PRODUCT, GIFT_WRAPPING. order_address.id corresponding
            to the item_types of SHIPPING, HANDLING. order.id corresponding to the item_type of ORDER.
        reason:
          type: string
          description: Reason for refunding an item.
        quantity:
          type: integer
          description: 'Quantity of item refunded. Note: this will only be populated for item_type PRODUCT'
        adjustments:
          type: array
          items:
            $ref: '#/components/schemas/RefundItemAdjustment'
          description: Adjustments to apply to the refunded amount for an item. Only supported for item_type PRODUCT
        requested_amount:
          $ref: '#/components/schemas/Amount'
      title: RefundItem
    RefundPayment:
      type: object
      properties:
        id:
          type: integer
          description: Reference to refund payment ID.
        provider_id:
          type: string
          description: Reference to payment provider.
        amount:
          $ref: '#/components/schemas/Amount'
        offline:
          type: boolean
          description: Indicate whether payment was offline.
        is_declined:
          type: boolean
          description: Indicate if this payment has been declined by payment provider.
        declined_message:
          type: string
          description: Message indicate why payment was declined.
        transaction_id:
          type: string
          description: The BigCommerce `transaction_id`.
      title: RefundPayment
    Refund:
      type: object
      properties:
        id:
          type: integer
          description: Refund resource ID.
        order_id:
          type: integer
          description: Reference to order ID.
        user_id:
          type: integer
          description: Reference to the userʼs ID who create this refund. This is automatically populated by BigCommerce.
        created:
          type: string
          format: date-time
          description: Timestamp of when this refund was created.
        reason:
          type: string
          description: Reason for refund.
        total_amount:
          $ref: '#/components/schemas/Amount'
        total_tax:
          type: number
          format: double
          description: >-
            Total tax amount refunded back to the shopper. Note: `order_level_amount` does not affect tax liability.
            This can be a negative amount indicating we have collected tax by refunding less to the customer.
        uses_merchant_override_values:
          type: boolean
          description: Whether refund amount and tax are provided explicitly by merchant override.
        items:
          type: array
          items:
            $ref: '#/components/schemas/RefundItem'
          description: >-
            Array of items refunded. In cases when `tax_refund_adjustment` was used to create the refund, this array
            will be empty.
        payments:
          type: array
          items:
            $ref: '#/components/schemas/RefundPayment'
          description: An array of refund payments made to payment providers.
      title: Refund
    Payment Actions_getOrderRefunds_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Refund'
          description: Collection of Refunds
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      description: Response payload for Refund resource.
      title: Payment Actions_getOrderRefunds_Response_200
    PaymentRequest:
      type: object
      properties:
        provider_id:
          type: string
          description: Reference to payment provider.
        amount:
          type: number
          format: double
          description: Amount refunded with this provider.
        offline:
          type: boolean
          description: Whether the payment was marked as offline or performed through an online payment service.
      title: PaymentRequest
    MerchantOverride:
      type: object
      properties:
        total_amount:
          type: string
          title: float
          description: >-
            A non-negative 2 decimal place rounded value that represents the amount that to be used as override for the
            refund.
        total_tax:
          type: number
          format: double
          description: >-
            Total tax amount refunded back to the shopper. Use 0 value if there is no tax liability change for the
            refund or tax does not need to be recorded on the refund and would be handled externally.
      required:
        - total_amount
        - total_tax
      description: >-
        Merchant explicitly provided override based on their own calculation.


        This override gives merchants the flexibility to

        - bypass any tax correction due to tax rate/providers changes between when a customer places an order and a
        merchant initiates a refund

        - use explicit values calculated by external systems (e.g., merchants' own Extended Producer Responsibility or
        Order Management System)


        When using this when submitting refunds, please update the amount in payments section of the request payload to
        match the override value.


        Note: when using the override, BC internal tax based refund calculation is skipped and therefore order/taxes
        records are not updated.
      title: MerchantOverride
    RefundRequest_Post_Items:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ItemsRefund'
        payments:
          type: array
          items:
            $ref: '#/components/schemas/PaymentRequest'
        merchant_calculated_override:
          $ref: '#/components/schemas/MerchantOverride'
      required:
        - items
        - payments
      title: RefundRequest_Post_Items
    RefundRequest_Post_TaxAdjustmentAmount:
      type: object
      properties:
        tax_adjustment_amount:
          $ref: '#/components/schemas/TaxAdjustmentAmount'
        merchant_calculated_override:
          $ref: '#/components/schemas/MerchantOverride'
      required:
        - tax_adjustment_amount
      title: RefundRequest_Post_TaxAdjustmentAmount
    RefundRequest_Post:
      oneOf:
        - $ref: '#/components/schemas/RefundRequest_Post_Items'
        - $ref: '#/components/schemas/RefundRequest_Post_TaxAdjustmentAmount'
      description: Request body for refund requests.
      title: RefundRequest_Post
    Payment Actions_createOrderRefund_Response_201:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/Refund'
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      title: Payment Actions_createOrderRefund_Response_201
    CreateOrderRefundRequestUnprocessableEntityError:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ErrorResponse'
      title: CreateOrderRefundRequestUnprocessableEntityError
    FailedQuoteError:
      type: object
      properties:
        order_id:
          type: integer
        status:
          type: integer
          description: HTTP status code.
        error:
          type: string
          description: Details why the request failed.
      description: Failed quote response.
      title: FailedQuoteError
    MetaMetaLinks:
      type: object
      properties:
        previous:
          type: string
          description: |
            Link to the previous page returned in the response.
        current:
          type: string
          description: |
            Link to the current page returned in the response.
        next:
          type: string
          description: |
            Link to the next page returned in the response.
      description: |
        Pagination links for the previous and next parts of the whole collection.
      title: MetaMetaLinks
    MetaMeta:
      type: object
      properties:
        total:
          type: integer
          description: |
            Total number of items in the result set.
        count:
          type: integer
          description: |
            Total number of items in the collection response.
        per_page:
          type: integer
          description: |
            The amount of items returned in the collection per page, controlled by the limit parameter.
        current_page:
          type: integer
          description: |
            The page you are currently on within the collection.
        total_pages:
          type: integer
          description: |
            The total number of pages in the collection.
        links:
          $ref: '#/components/schemas/MetaMetaLinks'
          description: |
            Pagination links for the previous and next parts of the whole collection.
      description: Data about the response, including pagination and collection totals.
      title: MetaMeta
    Meta:
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/MetaMeta'
          description: Data about the response, including pagination and collection totals.
      title: Meta
    CreateOrderRefundRequestServiceUnavailableError:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/FailedQuoteError'
        meta:
          $ref: '#/components/schemas/Meta'
      title: CreateOrderRefundRequestServiceUnavailableError
    RefundIdGetDataPaymentsItems:
      type: object
      properties:
        id:
          type: integer
          description: |
            Reference to refund payment ID.
        provider_id:
          type: string
          description: |
            Reference to payment provider.
            example: storecredit
        amount:
          type: number
          format: double
          description: >
            A non-negative two decimal place rounded value represents the amount that can be charged/refunded with
            payment providers.
        offline:
          type: boolean
          description: |
            Indicates whether the payment was offline.
        is_declined:
          type: boolean
          description: |
            Indicates if this payment has been declined by the payment provider.
        declined_message:
          type: string
          description: |
            Message indicates why the payment was declined.
      title: RefundIdGetDataPaymentsItems
    RefundIdGetDataItemsItemsItemType:
      type: string
      enum:
        - PRODUCT
        - GIFT_WRAPPING
        - SHIPPING
        - HANDLING
        - ORDER
        - FEE
      description: |
        Type of item that was refunded.
      title: RefundIdGetDataItemsItemsItemType
    RefundIdGetDataItemsItems:
      type: object
      properties:
        item_type:
          $ref: '#/components/schemas/RefundIdGetDataItemsItemsItemType'
          description: |
            Type of item that was refunded.
        item_id:
          type: integer
          description: >
            `order_product.id` corresponding to the item_types of PRODUCT, GIFT_WRAPPING. `order_address.id`
            corresponding to the item_types of SHIPPING, HANDLING. `order.id` corresponding to the item_type of ORDER,
            FEE.
        quantity:
          type: integer
          description: |
            Quantity of item refunded. Note: this will only be populated for item_type PRODUCT.
        requested_amount:
          type:
            - string
            - 'null'
          description: >
            A non-negative two decimal place rounded value that represents the amount that can be refunded with the
            payment provider(s).
        reason:
          type: string
          description: |
            Reason for refunding an item.
      title: RefundIdGetDataItemsItems
    RefundIdGetData:
      type: object
      properties:
        id:
          type: integer
          description: |
            Refund ID for the returned refund.
        order_id:
          type: integer
          description: Order ID associated with the refund.
        user_id:
          type: integer
          description: |
            Reference to the user ID who created the refund. This is automatically populated by BigCommerce.
        created:
          type: string
          format: date-time
          description: |
            Timestamp of when the refund was created.
        reason:
          type: string
          description: |
            Reason for refund.
        total_amount:
          type: number
          format: double
          description: >
            A non-negative 2 decimal place rounded value that represents the amount that can be refunded with the
            correct payment provider(s).
        total_tax:
          type: number
          format: double
          description: >
            Total tax amount refunded back to the shopper. This can be a negative amount indicating we have collected
            tax by refunding less to the customer.
        uses_merchant_override_values:
          type: boolean
          description: |
            Whether refund amount and tax are provided explicitly by merchant override.
        payments:
          type: array
          items:
            $ref: '#/components/schemas/RefundIdGetDataPaymentsItems'
        items:
          type: array
          items:
            $ref: '#/components/schemas/RefundIdGetDataItemsItems'
          description: >-
            Array of items refunded. In cases when `tax_refund_adjustment` was used to create the refund, this array
            will be empty.
      title: RefundIdGetData
    RefundID_Get:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/RefundIdGetData'
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      title: RefundID_Get
    Payment Actions_getOrdersRefunds_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Refund'
          description: Collection of Refunds
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      description: Response payload for Refund resource.
      title: Payment Actions_getOrdersRefunds_Response_200
  securitySchemes:
    X-Auth-Token:
      type: apiKey
      in: header
      name: X-Auth-Token
      description: >-
        ### OAuth scopes


        | UI Name | Permission | Parameter |

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

        |  Order Transactions | read and modify `transactions` and `payment_methods` | `store_v2_transactions` |

        |  Order Transactions | read `transactions` and `payment_methods`  | `store_v2_transactions_read_only` |

        |  Orders | read and modify `payment_methods` |`store_v2_orders`|

        |  Orders | read `payment_methods` |`store_v2_orders_read_only`|


        ### Authentication header


        | Header | Argument | Description |

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

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


        ### Further reading


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


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


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