openapi: 3.1.0
info:
  title: 'Admin Content: Marketing'
  version: 1.0.0
paths:
  /stores/{store_hash}/v2/banners:
    get:
      operationId: getBanners
      summary: List Banners
      description: Returns a list of *Banners*. Default sorting is by banner id, from lowest to highest.
      tags:
        - banners
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: min_id
          in: query
          description: Optional filter param `/api/v2/banners?min_id={value}`
          required: false
          schema:
            type: integer
        - name: max_id
          in: query
          description: Optional filter param `/api/v2/banners?max_id={value}`
          required: false
          schema:
            type: integer
        - name: page
          in: query
          description: Optional filter param `/api/v2/banners?page={number}`
          required: false
          schema:
            type: number
            format: double
        - name: limit
          in: query
          description: Optional filter param `/api/v2/banners?limit={count}`
          required: false
          schema:
            type: number
            format: double
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Marketing | modify | `store_v2_marketing` |

            |  Marketing | read-only | `store_v2_marketing_read_only` |


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


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

        **Required Fields**
        * name
        * content
        * page
        * location
        * date_type

        **Read Only Fields**
        * date_created
        * id
      tags:
        - banners
      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 |

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

            |  Marketing | modify | `store_v2_marketing` |

            |  Marketing | read-only | `store_v2_marketing_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/banner_Full'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/banner_Base'
    delete:
      operationId: deleteBanners
      summary: Delete All Banners
      description: By default, it deletes all *Banners*.
      tags:
        - banners
      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 |

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

            |  Marketing | modify | `store_v2_marketing` |

            |  Marketing | read-only | `store_v2_marketing_read_only` |


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


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

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

            |  Marketing | modify | `store_v2_marketing` |

            |  Marketing | read-only | `store_v2_marketing_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/banner_Full'
    put:
      operationId: updateBanner
      summary: Update Banner
      description: |-
        Updates a *Banner*.

        **Read Only Fields**
        * date_created
        * id
      tags:
        - banners
      parameters:
        - name: id
          in: path
          description: ID of the banner.
          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 |

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

            |  Marketing | modify | `store_v2_marketing` |

            |  Marketing | read-only | `store_v2_marketing_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/banner_Full'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/banner_Put'
    delete:
      operationId: deleteBanner
      summary: Delete Banner
      description: Deletes a *Banner*.
      tags:
        - banners
      parameters:
        - name: id
          in: path
          description: ID of the banner.
          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 |

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

            |  Marketing | modify | `store_v2_marketing` |

            |  Marketing | read-only | `store_v2_marketing_read_only` |


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


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

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

            |  Marketing | modify | `store_v2_marketing` |

            |  Marketing | read-only | `store_v2_marketing_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/Banners_getBannersCount_Response_200'
  /stores/{store_hash}/v2/coupons:
    get:
      operationId: getCoupons
      summary: List Coupons
      description: >-
        Returns a list of *Coupons*. Default sorting is by coupon/discount id, from lowest to highest. You can pass in
        optional filter parameters. We recommended using `?min_id=x&limit=y` to paginate through a large set of data
        because it offers better performance.


        ## Usage Notes


        Available types for `type` and `exclude_type` filters:


        |Type|

        |-|

        |`per_item_discount`|

        |`percentage_discount`|

        |`per_total_discount`|

        |`shipping_discount`|

        |`free_shipping`|

        |`promotion`|


        Coupons with `type=promotion` will not populate usable data for the following fields but instead be set to the
        following default values:


        ```json

        ...

        amount : 0.0000

        min_purchase: 0.0000

        applies_to

        restricted_to: []

        shipping_methods : null

        ...

        ```
      tags:
        - coupons
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: id
          in: query
          description: Optional filter param. `/api/v2/coupons?id={value}`
          required: false
          schema:
            type: string
        - name: code
          in: query
          description: Optional filter param `/api/v2/coupons?code={value}`
          required: false
          schema:
            type: string
        - name: name
          in: query
          description: Optional filter param `/api/v2/coupons?name={value}`
          required: false
          schema:
            type: string
        - name: type
          in: query
          description: The type of discount.
          required: false
          schema:
            $ref: '#/components/schemas/CouponsGetParametersType'
        - name: min_id
          in: query
          description: Optional filter param `/api/v2/coupons?min_id={value}`
          required: false
          schema:
            type: integer
        - name: max_id
          in: query
          description: Optional filter param`/api/v2/coupons?max_id={value}`
          required: false
          schema:
            type: integer
        - name: page
          in: query
          description: Number of pages `/api/v2/coupons?page={number}`
          required: false
          schema:
            type: number
            format: double
        - name: limit
          in: query
          description: Count per page `/api/v2/coupons?limit={count}`
          required: false
          schema:
            type: number
            format: double
        - name: exclude_type
          in: query
          description: Exclude a type of coupon.
          required: false
          schema:
            $ref: '#/components/schemas/CouponsGetParametersExcludeType'
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Marketing | modify | `store_v2_marketing` |

            |  Marketing | read-only | `store_v2_marketing_read_only` |


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


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


        **Required Fields**

        *   `name`

        *   `code`

        *   `type`

        *   `amount`

        *   `applies_to`


        **Read Only Fields**

        *   `id`

        *   `num_uses`


        **Notes**


        The coupon type can be one of the following:


        *   `per_item_discount`

        *   `per_total_discount`

        *   `shipping_discount`

        *   `free_shipping`

        *   `percentage_discount`


        Legacy coupon codes only work with the store's default currency. Applying a coupon with any other currency other
        than the store's default will result in the error: "Coupons only apply to default currency."
      tags:
        - coupons
      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 |

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

            |  Marketing | modify | `store_v2_marketing` |

            |  Marketing | read-only | `store_v2_marketing_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/coupon_Full'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/coupon_Base'
    delete:
      operationId: deleteCoupons
      summary: Delete All Coupons
      description: |
        ## Usage Notes
        * Deleting a coupon via this endpoint will delete the coupon but not the promotion it is attached to
      tags:
        - coupons
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: id:in
          in: query
          description: >-
            Optional param to identify a comma-separated list of IDs for coupons to delete in a batch.
            `/api/v2/coupons?id:in=1,2,3`
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Marketing | modify | `store_v2_marketing` |

            |  Marketing | read-only | `store_v2_marketing_read_only` |


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


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

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

            |  Marketing | modify | `store_v2_marketing` |

            |  Marketing | read-only | `store_v2_marketing_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/Coupons_getCouponsCount_Response_200'
  /stores/{store_hash}/v2/coupons/{id}:
    put:
      operationId: updateCoupon
      summary: Update Coupon
      description: >-
        Updates a *Coupon*.



        **Read Only Fields**


        * `id`

        * `num_uses`

        * `date_created`


        **Notes**


        If the `applies_to` value is cleared, you can restore it to the coupon by reapplying the `applies_to` value in a
        new `PUT` request.
      tags:
        - coupons
      parameters:
        - name: id
          in: path
          description: ID of the coupon.
          required: true
          schema:
            type: number
            format: double
        - 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 |

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

            |  Marketing | modify | `store_v2_marketing` |

            |  Marketing | read-only | `store_v2_marketing_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/coupon_Full'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/coupon_Base'
    delete:
      operationId: deleteCoupon
      summary: Delete Coupon
      description: Deletes a *Coupon*.
      tags:
        - coupons
      parameters:
        - name: id
          in: path
          description: ID of the coupon.
          required: true
          schema:
            type: number
            format: double
        - 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 |

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

            |  Marketing | modify | `store_v2_marketing` |

            |  Marketing | read-only | `store_v2_marketing_read_only` |


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


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

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

            |  Marketing | modify | `store_v2_marketing` |

            |  Marketing | read-only | `store_v2_marketing_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/giftCertificate_Full'
    put:
      operationId: updateGiftCertificate
      summary: Update Gift Certificate
      description: |-
        Updates a *Gift Certificate*.

        **Read Only Fields**
        * id
        * order_id
      tags:
        - giftCertificates
      parameters:
        - name: id
          in: path
          description: ID of the gift certificate.
          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 |

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

            |  Marketing | modify | `store_v2_marketing` |

            |  Marketing | read-only | `store_v2_marketing_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/giftCertificate_Full'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/giftCertificate_Put'
    delete:
      operationId: deleteGiftCertificate
      summary: Delete Gift Certificate
      description: Deletes a *Gift Certificate*.
      tags:
        - giftCertificates
      parameters:
        - name: id
          in: path
          description: ID of the gift certificate.
          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 |

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

            |  Marketing | modify | `store_v2_marketing` |

            |  Marketing | read-only | `store_v2_marketing_read_only` |


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '204':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
  /stores/{store_hash}/v2/gift_certificates:
    get:
      operationId: getGiftCertificates
      summary: List Gift Certificates
      description: |-
        Returns a list of *Gift Certificates*. Optional filter parameters can be passed in.

        Default sorting is by gift-certificate id, from lowest to highest.

        The maximum limit is 250. If a limit isn’t provided, up to 50 gift_certificates are returned by default.
      tags:
        - giftCertificates
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: min_id
          in: query
          required: false
          schema:
            type: integer
        - name: max_id
          in: query
          required: false
          schema:
            type: integer
        - name: code
          in: query
          required: false
          schema:
            type: string
        - name: order_id
          in: query
          required: false
          schema:
            type: integer
        - name: to_name
          in: query
          required: false
          schema:
            type: string
        - name: to_email
          in: query
          required: false
          schema:
            type: string
        - name: from_name
          in: query
          required: false
          schema:
            type: string
        - name: from_email
          in: query
          required: false
          schema:
            type: string
        - name: page
          in: query
          required: false
          schema:
            type: number
            format: double
        - name: limit
          in: query
          required: false
          schema:
            type: number
            format: double
        - name: sort
          in: query
          description: Field to sort results by.
          required: false
          schema:
            $ref: '#/components/schemas/GiftCertificatesGetParametersSort'
        - name: direction
          in: query
          description: Sort direction. Defaults to asc.
          required: false
          schema:
            $ref: '#/components/schemas/GiftCertificatesGetParametersDirection'
            default: asc
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Marketing | modify | `store_v2_marketing` |

            |  Marketing | read-only | `store_v2_marketing_read_only` |


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


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



        **Required Fields**

        * to_name

        * to_email

        * from_name

        * from_email

        * amount


        **Read Only Fields**

        * id

        * order_id


        **Notes**


        When a gift certificate is created through the API, no email notification is triggered to the specified
        recipient.
      tags:
        - giftCertificates
      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 |

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

            |  Marketing | modify | `store_v2_marketing` |

            |  Marketing | read-only | `store_v2_marketing_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/giftCertificate_Full'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/giftCertificate_Post'
    delete:
      operationId: deleteGiftCertificates
      summary: Delete All Gift Certificates
      description: By default, it deletes all *Gift Certificates*.
      tags:
        - giftCertificates
      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 |

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

            |  Marketing | modify | `store_v2_marketing` |

            |  Marketing | read-only | `store_v2_marketing_read_only` |


            ### Authentication header


            | Header | Argument | Description |

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

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


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '204':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
servers:
  - url: https://api.bigcommerce.com
    description: https://api.bigcommerce.com
components:
  schemas:
    BannerBasePage:
      type: string
      enum:
        - home_page
        - category_page
        - brand_page
        - search_page
      description: Page the Banner is located on.
      title: BannerBasePage
    BannerBaseLocation:
      type: string
      enum:
        - top
        - bottom
      description: Location on the page.
      title: BannerBaseLocation
    BannerBaseDateType:
      type: string
      enum:
        - always
        - custom
      description: This specifies whether the banner should be visible during a specific date range.
      title: BannerBaseDateType
    banner_Full:
      type: object
      properties:
        name:
          type: string
          description: Name of the banner.
        content:
          type: string
          description: Contains the banner content. Returned as a string and includes HTML formatting.
        page:
          $ref: '#/components/schemas/BannerBasePage'
          description: Page the Banner is located on.
        location:
          $ref: '#/components/schemas/BannerBaseLocation'
          description: Location on the page.
        date_type:
          $ref: '#/components/schemas/BannerBaseDateType'
          description: This specifies whether the banner should be visible during a specific date range.
        date_from:
          type: string
          description: >-
            If the datetype is set as 'custom’, this field specifies the date when the banner should become visible on
            the storefront.
        date_to:
          type: string
          description: >-
            If the datetype is set as 'custom’, this field specifies the date when the banner should stop being visible
            on the storefront.
        visible:
          type: string
          description: 'Integer value denoting whether or not the banner is visible on the storefront: 1 = visible; 0 = not visible'
        item_id:
          type: string
          description: >-
            If the banner is on a specific category or brand page, then the item_id will correspond the category or
            brand ID.
        id:
          type: integer
          description: |
            Id of the banner.
            This is a READ-ONLY field; do not set or modify its value in a POST or PUT request.
        date_created:
          type: string
          description: Date the banner is created.
      required:
        - name
        - content
        - page
        - location
        - date_type
      title: banner_Full
    banner_Base:
      type: object
      properties:
        name:
          type: string
          description: Name of the banner.
        content:
          type: string
          description: Contains the banner content. Returned as a string and includes HTML formatting.
        page:
          $ref: '#/components/schemas/BannerBasePage'
          description: Page the Banner is located on.
        location:
          $ref: '#/components/schemas/BannerBaseLocation'
          description: Location on the page.
        date_type:
          $ref: '#/components/schemas/BannerBaseDateType'
          description: This specifies whether the banner should be visible during a specific date range.
        date_from:
          type: string
          description: >-
            If the datetype is set as 'custom’, this field specifies the date when the banner should become visible on
            the storefront.
        date_to:
          type: string
          description: >-
            If the datetype is set as 'custom’, this field specifies the date when the banner should stop being visible
            on the storefront.
        visible:
          type: string
          description: 'Integer value denoting whether or not the banner is visible on the storefront: 1 = visible; 0 = not visible'
        item_id:
          type: string
          description: >-
            If the banner is on a specific category or brand page, then the item_id will correspond the category or
            brand ID.
      required:
        - name
        - content
        - page
        - location
        - date_type
      title: banner_Base
    banner_Put:
      type: object
      properties:
        name:
          type: string
          description: Name of the banner.
        content:
          type: string
          description: Contains the banner content. Returned as a string and includes HTML formatting.
        page:
          $ref: '#/components/schemas/BannerBasePage'
          description: Page the Banner is located on.
        location:
          $ref: '#/components/schemas/BannerBaseLocation'
          description: Location on the page.
        date_type:
          $ref: '#/components/schemas/BannerBaseDateType'
          description: This specifies whether the banner should be visible during a specific date range.
        date_from:
          type: string
          description: >-
            If the datetype is set as 'custom’, this field specifies the date when the banner should become visible on
            the storefront.
        date_to:
          type: string
          description: >-
            If the datetype is set as 'custom’, this field specifies the date when the banner should stop being visible
            on the storefront.
        visible:
          type: string
          description: 'Integer value denoting whether or not the banner is visible on the storefront: 1 = visible; 0 = not visible'
        item_id:
          type: string
          description: >-
            If the banner is on a specific category or brand page, then the item_id will correspond the category or
            brand ID.
      required:
        - name
        - content
        - page
        - location
        - date_type
      title: banner_Put
    Banners_getBannersCount_Response_200:
      type: object
      properties:
        count:
          type: integer
      title: Banners_getBannersCount_Response_200
    CouponsGetParametersType:
      type: string
      enum:
        - per_item_discount
        - percentage_discount
        - per_total_discount
        - shipping_discount
        - free_shipping
        - promotion
      title: CouponsGetParametersType
    CouponsGetParametersExcludeType:
      type: string
      enum:
        - per_item_discount
        - percentage_discount
        - per_total_discount
        - shipping_discount
        - free_shipping
        - promotion
      title: CouponsGetParametersExcludeType
    CouponBaseType:
      type: string
      enum:
        - per_item_discount
        - per_total_discount
        - shipping_discount
        - free_shipping
        - percentage_discount
        - promotion
      title: CouponBaseType
    CouponBaseAppliesTo:
      type: object
      properties:
        ids:
          type: array
          items:
            type: integer
          description: ID of either the products or categories
        entity:
          type: string
          description: What the discount applies to. Can be products or categories.
      description: >-
        If it is not included in the PUT request, its existing value on the coupon will be cleared. Also required to be
        set on the POST request
      title: CouponBaseAppliesTo
    CouponBaseRestrictedTo:
      type: object
      properties:
        countries:
          type: string
      title: CouponBaseRestrictedTo
    coupon_Full:
      type: object
      properties:
        name:
          type: string
          description: The name of the coupon. The value must be unique.
        type:
          $ref: '#/components/schemas/CouponBaseType'
        amount:
          type: string
          description: >-
            The discount to apply to an order, as either an amount or a percentage. This field’s usage is determined by
            the coupon `type`. For example, a `type` of + `percentage_discount` would determine a percentage here.
        min_purchase:
          type: string
          description: Specifies a minimum value that an order must have before the coupon can be applied to it.
        expires:
          type: string
          description: >-
            Specifies when a coupon expires. Coupons need not have an expiry date – you can also control expiry via +
            `max_uses` or `max_uses_per_customer`. If you do use this date field, the value must be in <a
            href="http://tools.ietf.org/html/rfc2822#section-3.3" target="_blank">RFC 2822</a> format.
        enabled:
          type: boolean
          description: If the coupon is enabled, this field’s value is `true`; otherwise, `false`.
        code:
          type: string
          description: >-
            The coupon code that customers will use to receive their discounts. Value must be unique. Only letters,
            numbers, white space, underscores, and hyphens are allowed.
        applies_to:
          $ref: '#/components/schemas/CouponBaseAppliesTo'
          description: >-
            If it is not included in the PUT request, its existing value on the coupon will be cleared. Also required to
            be set on the POST request
        max_uses:
          type: integer
          description: Maximum number of times this coupon can be used.
        max_uses_per_customer:
          type: integer
          description: Maximum number of times each customer can use this coupon.
        restricted_to:
          $ref: '#/components/schemas/CouponBaseRestrictedTo'
        shipping_methods:
          type: array
          items:
            type: string
          description: >-
            This is a list of shipping-method names. A shipping method must be enabled on the store to use it with a
            coupon. To check which shipping methods are enabled, please use the [List Shipping
            Methods](/developer/docs/archive/store-operations/v2-catalog-products/v2-products#list-shipping-methods)
            endpoint.
        id:
          type: integer
          description: The coupon's ID. This is a read-only field; do not set or modify its value in a POST or PUT request.
        date_created:
          type: string
          description: Date Created
        num_uses:
          type: integer
          description: >-
            Number of times this coupon has been used. This is a read-only field; do not set or modify its value in a
            POST or PUT request.
      required:
        - name
        - type
        - amount
        - code
        - applies_to
        - id
      title: coupon_Full
    coupon_Base:
      type: object
      properties:
        name:
          type: string
          description: The name of the coupon. The value must be unique.
        type:
          $ref: '#/components/schemas/CouponBaseType'
        amount:
          type: string
          description: >-
            The discount to apply to an order, as either an amount or a percentage. This field’s usage is determined by
            the coupon `type`. For example, a `type` of + `percentage_discount` would determine a percentage here.
        min_purchase:
          type: string
          description: Specifies a minimum value that an order must have before the coupon can be applied to it.
        expires:
          type: string
          description: >-
            Specifies when a coupon expires. Coupons need not have an expiry date – you can also control expiry via +
            `max_uses` or `max_uses_per_customer`. If you do use this date field, the value must be in <a
            href="http://tools.ietf.org/html/rfc2822#section-3.3" target="_blank">RFC 2822</a> format.
        enabled:
          type: boolean
          description: If the coupon is enabled, this field’s value is `true`; otherwise, `false`.
        code:
          type: string
          description: >-
            The coupon code that customers will use to receive their discounts. Value must be unique. Only letters,
            numbers, white space, underscores, and hyphens are allowed.
        applies_to:
          $ref: '#/components/schemas/CouponBaseAppliesTo'
          description: >-
            If it is not included in the PUT request, its existing value on the coupon will be cleared. Also required to
            be set on the POST request
        max_uses:
          type: integer
          description: Maximum number of times this coupon can be used.
        max_uses_per_customer:
          type: integer
          description: Maximum number of times each customer can use this coupon.
        restricted_to:
          $ref: '#/components/schemas/CouponBaseRestrictedTo'
        shipping_methods:
          type: array
          items:
            type: string
          description: >-
            This is a list of shipping-method names. A shipping method must be enabled on the store to use it with a
            coupon. To check which shipping methods are enabled, please use the [List Shipping
            Methods](/developer/docs/archive/store-operations/v2-catalog-products/v2-products#list-shipping-methods)
            endpoint.
      required:
        - name
        - type
        - amount
        - code
        - applies_to
      title: coupon_Base
    Coupons_getCouponsCount_Response_200:
      type: object
      properties:
        count:
          type: integer
      title: Coupons_getCouponsCount_Response_200
    GiftCertificateFullTemplate:
      type: string
      enum:
        - birthday.html
        - girl.html
        - boy.html
        - celebration.html
        - christmas.html
        - general.html
      description: The email theme to use in the message sent to the recipient.
      title: GiftCertificateFullTemplate
    GiftCertificateFullStatus:
      type: string
      enum:
        - active
        - pending
        - disabled
        - expired
      title: GiftCertificateFullStatus
    giftCertificate_Full:
      type: object
      properties:
        to_name:
          type: string
          description: Name of the recipient.
        to_email:
          type: string
          description: Email of the recipient.
        from_name:
          type: string
          description: Name of the customer who purchased the gift certificate.
        from_email:
          type: string
          description: Email of the customer who purchased the gift certificate.
        amount:
          type: string
          description: Value of the gift certificate.
        id:
          type: integer
          description: >-
            The ID of the gift certificate. This is a READ-ONLY field; do not set or modify its value in a POST or PUT
            request.
        customer_id:
          type: integer
          description: The ID of the customer placing the order.
        order_id:
          type: integer
          description: The ID of the order.
        balance:
          type: string
          description: Remaining value of the gift certificate. If not set, will default to the amount.
        purchase_date:
          type: string
          description: >-
            Date the gift certificate was purchased. If not assigned, this will be set to today’s date. Date displays in
            the Unix timestamp format.
        expiry_date:
          type: string
          description: Date on which the gift certificate is set to expire. Date displays in the Unix timestamp format.
        template:
          $ref: '#/components/schemas/GiftCertificateFullTemplate'
          description: The email theme to use in the message sent to the recipient.
        message:
          type: string
          description: Text that will be sent to the recipient, such as “Congratulations.”
        code:
          type: string
          description: >-
            A unique string that a customer can input to redeem a gift certificate. Values greater than 20 characters
            will be trimmed down to the first 20 characters and returned in the response.

            If this field is not set, a value will be autogenerated.
        status:
          $ref: '#/components/schemas/GiftCertificateFullStatus'
        currency_code:
          type: string
          description: >-
            A currency code, following the ISO 4217 standard. The currency has to exist in the store first.


            Gift Certificates can only be used if the transactional currency of the cart is the same as the one defined
            in the gift certificate. If this value is not provided, the gift certificate is created using the store's
            default transactional currency.
      required:
        - to_name
        - to_email
        - from_name
        - from_email
        - amount
      title: giftCertificate_Full
    GiftCertificatePutTemplate:
      type: string
      enum:
        - birthday.html
        - boy.html
        - girl.html
        - celebration.html
        - christmas.html
        - general.html
      description: The email theme to use in the message sent to the recipient.
      title: GiftCertificatePutTemplate
    GiftCertificatePutStatus:
      type: string
      enum:
        - active
        - pending
        - expired
        - disabled
      title: GiftCertificatePutStatus
    giftCertificate_Put:
      type: object
      properties:
        to_name:
          type: string
          description: Name of the recipient.
        to_email:
          type: string
          description: Email of the recipient.
        from_name:
          type: string
          description: Name of the customer who purchased the gift certificate.
        from_email:
          type: string
          description: Email of the customer who purchased the gift certificate.
        amount:
          type: string
          description: Value of the gift certificate.
        balance:
          type: string
          description: The remaining value of the gift certificate. If not set, will default to the amount.
        purchase_date:
          type: string
          description: >-
            Date the gift certificate was purchased. If not assigned, this will be set to today’s date. Enter date in
            RFC-2822 format.
        expiry_date:
          type: string
          description: Date on which the gift certificate is set to expire.
        customer_id:
          type: integer
          description: The ID of the customer placing the order.
        template:
          $ref: '#/components/schemas/GiftCertificatePutTemplate'
          description: The email theme to use in the message sent to the recipient.
        message:
          type: string
          description: Text that will be sent to the recipient, such as “Congratulations.”
        code:
          type: string
          description: >-
            A unique string that a customer can input to redeem a gift certificate. Values greater than 20 characters
            will be trimmed down to the first 20 characters and returned in the response.

            If this field is not set, a value will be autogenerated.
        status:
          $ref: '#/components/schemas/GiftCertificatePutStatus'
        currency_code:
          type: string
          description: >-
            A currency code, following the ISO 4217 standard. The currency has to exist in the store first.


            Gift Certificates can only be used if the transactional currency of the cart is the same as the one defined
            in the gift certificate. If this value is not provided, the gift certificate is created using the store's
            default transactional currency.
      required:
        - to_name
        - to_email
        - from_name
        - from_email
        - amount
      title: giftCertificate_Put
    GiftCertificatesGetParametersSort:
      type: string
      enum:
        - id
      title: GiftCertificatesGetParametersSort
    GiftCertificatesGetParametersDirection:
      type: string
      enum:
        - asc
        - desc
      default: asc
      title: GiftCertificatesGetParametersDirection
    GiftCertificatePostTemplate:
      type: string
      enum:
        - birthday.html
        - boy.html
        - girl.html
        - celebration.html
        - christmas.html
        - general.html
      description: The email theme to use in the message sent to the recipient.
      title: GiftCertificatePostTemplate
    GiftCertificatePostStatus:
      type: string
      enum:
        - active
        - pending
        - expired
        - disabled
      title: GiftCertificatePostStatus
    giftCertificate_Post:
      type: object
      properties:
        to_name:
          type: string
          description: Name of the recipient.
        to_email:
          type: string
          description: Email of the recipient.
        from_name:
          type: string
          description: Name of the customer who purchased the gift certificate.
        from_email:
          type: string
          description: Email of the customer who purchased the gift certificate.
        amount:
          type: string
          description: Value of the gift certificate.
        balance:
          type: string
          description: Remaining value of the gift certificate. If not set, will default to the amount.
        purchase_date:
          type: string
          description: >-
            Date the gift certificate was purchased. If not assigned, this will be set to today’s date. Enter date in
            RFC-2822 format.
        expiry_date:
          type: string
          description: >-
            Date on which the gift certificate is set to expire. The date must be in [RFC
            2822](https://www.rfc-editor.org/rfc/rfc2822#section-3.3) format.
        customer_id:
          type: integer
          description: The ID of the customer placing the order.
        template:
          $ref: '#/components/schemas/GiftCertificatePostTemplate'
          description: The email theme to use in the message sent to the recipient.
        message:
          type: string
          description: Text that will be sent to the recipient, such as “Congratulations.”
        code:
          type: string
          description: >-
            A unique string that a customer can input to redeem a gift certificate. Values greater than 20 characters
            will be trimmed down to the first 20 characters and returned in the response.

            If this field is not set, a value will be autogenerated.
        status:
          $ref: '#/components/schemas/GiftCertificatePostStatus'
        currency_code:
          type: string
          description: >-
            A currency code, following the ISO 4217 standard. The currency has to exist in the store first.


            Gift Certificates can only be used if the transactional currency of the cart is the same as the one defined
            in the gift certificate. If this value is not provided, the gift certificate is created using the store's
            default transactional currency.
      required:
        - to_name
        - to_email
        - from_name
        - from_email
        - amount
      title: giftCertificate_Post
  securitySchemes:
    X-Auth-Token:
      type: apiKey
      in: header
      name: X-Auth-Token
      description: >-
        ### OAuth scopes


        | UI Name | Permission | Parameter |

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

        |  Marketing | modify | `store_v2_marketing` |

        |  Marketing | read-only | `store_v2_marketing_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).
