openapi: 3.1.0
info:
  title: 'Admin Content: Email Templates'
  version: 1.0.0
paths:
  /stores/{store_hash}/v3/marketing/email-templates:
    get:
      operationId: getEmailTemplates
      summary: List Email Templates
      description: Get a list of email templates.
      tags:
        - emailTemplates
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: channel_id
          in: query
          description: Channel ID to use for channel-specific settings. If omitted, you will interact with the global setting only.
          required: false
          schema:
            type: integer
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Information & Settings | modify | `store_v2_information` |

            |  Information & Settings | read-only | `store_v2_information_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 email templates on the store
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Email Templates_getEmailTemplates_Response_200'
  /stores/{store_hash}/v3/marketing/email-templates/{template-name}:
    get:
      operationId: getEmailTemplate
      summary: Get Email Template
      description: Get a single global email template or a channel-specific email template override.
      tags:
        - emailTemplates
      parameters:
        - name: template-name
          in: path
          required: true
          schema:
            type: string
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: channel_id
          in: query
          description: Channel ID to use for channel-specific settings. If omitted, you will interact with the global setting only.
          required: false
          schema:
            type: integer
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Information & Settings | modify | `store_v2_information` |

            |  Information & Settings | read-only | `store_v2_information_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/Email Templates_getEmailTemplate_Response_200'
    put:
      operationId: updateEmailTemplate
      summary: Update Template
      description: Update a global template or create a channel-specific email template override.
      tags:
        - emailTemplates
      parameters:
        - name: template-name
          in: path
          required: true
          schema:
            type: string
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: channel_id
          in: query
          description: Channel ID to use for channel-specific settings. If omitted, you will interact with the global setting only.
          required: false
          schema:
            type: integer
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Information & Settings | modify | `store_v2_information` |

            |  Information & Settings | read-only | `store_v2_information_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/Email Templates_updateEmailTemplate_Response_200'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmailTemplate'
    delete:
      operationId: deleteEmailTemplateOverride
      summary: Delete Email Template Override
      description: Removes a channel-specific email template override.
      tags:
        - emailTemplates
      parameters:
        - name: template-name
          in: path
          required: true
          schema:
            type: string
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: channel_id
          in: query
          description: >-
            Required Channel ID. This delete operation will delete overridden settings for this channel, thus restoring
            them to the global defaults.
          required: true
          schema:
            type: integer
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Information & Settings | modify | `store_v2_information` |

            |  Information & Settings | read-only | `store_v2_information_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/Email Templates_deleteEmailTemplateOverride_Response_200'
servers:
  - url: https://api.bigcommerce.com
    description: https://api.bigcommerce.com
components:
  schemas:
    EmailTemplateTypeId:
      type: string
      enum:
        - abandoned_cart_email
        - account_details_changed_email
        - combined_order_status_email
        - createaccount_email
        - createguestaccount_email
        - giftcertificate_email
        - invoice_email
        - ordermessage_notification
        - return_confirmation_email
        - return_statuschange_email
        - product_review_email
        - account_reset_password_email
      title: EmailTemplateTypeId
    LocaleObjectKeys:
      type: object
      properties: {}
      description: Language keys for the template. User-defined. Should match any lang keys used in the template.
      title: LocaleObjectKeys
    LocaleObject:
      type: object
      properties:
        locale:
          type: string
          description: Locale code for this language, such as "en", "en-us", "fr-ca".
        keys:
          $ref: '#/components/schemas/LocaleObjectKeys'
          description: Language keys for the template. User-defined. Should match any lang keys used in the template.
      description: A particular localeʼs translations.
      title: LocaleObject
    LocaleCollection:
      type: array
      items:
        $ref: '#/components/schemas/LocaleObject'
      description: A collection of locale translations for the static language.
      title: LocaleCollection
    EmailTemplate:
      type: object
      properties:
        type_id:
          $ref: '#/components/schemas/EmailTemplateTypeId'
        body:
          type: string
        translations:
          $ref: '#/components/schemas/LocaleCollection'
        subject:
          type: string
      description: Data for a particular email template
      title: EmailTemplate
    EmailTemplatesCollection:
      type: array
      items:
        $ref: '#/components/schemas/EmailTemplate'
      description: A collection of all email templates.
      title: EmailTemplatesCollection
    MarketingEmailTemplatesGetResponsesContentApplicationJsonSchemaMeta:
      type: object
      properties: {}
      description: Response metadata.
      title: MarketingEmailTemplatesGetResponsesContentApplicationJsonSchemaMeta
    Email Templates_getEmailTemplates_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/EmailTemplatesCollection'
        meta:
          $ref: '#/components/schemas/MarketingEmailTemplatesGetResponsesContentApplicationJsonSchemaMeta'
          description: Response metadata.
      title: Email Templates_getEmailTemplates_Response_200
    MarketingEmailTemplatesTemplateNameGetResponsesContentApplicationJsonSchemaMeta:
      type: object
      properties: {}
      description: Response metadata.
      title: MarketingEmailTemplatesTemplateNameGetResponsesContentApplicationJsonSchemaMeta
    Email Templates_getEmailTemplate_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/EmailTemplate'
        meta:
          $ref: '#/components/schemas/MarketingEmailTemplatesTemplateNameGetResponsesContentApplicationJsonSchemaMeta'
          description: Response metadata.
      title: Email Templates_getEmailTemplate_Response_200
    MarketingEmailTemplatesTemplateNamePutResponsesContentApplicationJsonSchemaMeta:
      type: object
      properties: {}
      description: Response metadata.
      title: MarketingEmailTemplatesTemplateNamePutResponsesContentApplicationJsonSchemaMeta
    Email Templates_updateEmailTemplate_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/EmailTemplate'
        meta:
          $ref: '#/components/schemas/MarketingEmailTemplatesTemplateNamePutResponsesContentApplicationJsonSchemaMeta'
          description: Response metadata.
      title: Email Templates_updateEmailTemplate_Response_200
    DetailedErrors:
      type: object
      properties: {}
      title: DetailedErrors
    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
        instance:
          type: string
        errors:
          $ref: '#/components/schemas/DetailedErrors'
      title: ErrorResponse
    Email Templates_deleteEmailTemplateOverride_Response_200:
      type: object
      properties: {}
      description: Empty response body
      title: Email Templates_deleteEmailTemplateOverride_Response_200
  securitySchemes:
    X-Auth-Token:
      type: apiKey
      in: header
      name: X-Auth-Token
      description: >-
        ### OAuth scopes


        | UI Name | Permission | Parameter |

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

        |  Information & Settings | modify | `store_v2_information` |

        |  Information & Settings | read-only | `store_v2_information_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).
