Big Commerce Email Templates

BigCommerce Email Templates is a service that offers customizable email templates for businesses using the BigCommerce platform. These templates are designed to help businesses create professional and engaging email campaigns that can drive customer engagement and increase sales. With a variety of templates to choose from, businesses can easily customize their emails to match their branding and messaging.

OpenAPI Specification

email-templates-openapi-original.yml Raw ↑
openapi: 3.0.3
info:
  title: BigCommerce Email Templates
  description: >-
    Manage Handlebars-based email templates globally and create channel-specific
    overrides.
  termsOfService: https://www.bigcommerce.com/terms
  contact:
    name: BigCommerce
    url: https://www.bigcommerce.com
    email: [email protected]
  version: 1.0.0
servers:
  - url: https://api.bigcommerce.com/stores/{store_hash}/v3
    variables:
      store_hash:
        default: store_hash
        description: Permanent ID of the BigCommerce store.
    description: BigCommerce API Gateway
security:
  - X-Auth-Token: []
tags:
  - name: Email Templates
paths:
  /marketing/email-templates:
    parameters:
      - $ref: '#/components/parameters/Accept'
    get:
      summary: BigCommerce Get Email Templates
      description: >-
        Get a list of email templates.


        > #### Note

        > The `/marketing/email-templates` endpoints only work after opting into
        the new email management experience from your storeʼs control panel. You
        can opt-in by visiting Email Templates. If you have already opted in,
        visiting the Email Templates page will return a `404` error, and you
        will be able to access the new Transactional Emails page.
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/EmailTemplatesCollection'
                  meta:
                    type: object
                    properties: {}
                    additionalProperties: true
                    description: Response metadata.
              examples:
                Example:
                  value:
                    data:
                      - type_id: account_reset_password_email
                        body: >-
                          <!DOCTYPE html> <html lang="en"> <head>     <meta
                          charset="UTF-8">     <title>Title</title> </head>
                          <body> <p>     {{lang "reset_password"
                          name=store.name}} </p> <br/> <br/> <a
                          href="{{account.reset_password_link}}">     {{account.reset_password_link}} </a>  </body> </html>
                        translations:
                          - locale: en
                            keys:
                              reset_password: >-
                                To change your customer account password at
                                {{name}} please click this link or copy and
                                paste it into your browser:
                        subject: Reset your password at {{store.name}}
                    meta: {}
          description: |
            An array of email templates on the store
      parameters:
        - $ref: '#/components/parameters/ChannelIdParam'
      operationId: getEmailTemplates
      tags:
        - Email Templates
  /marketing/email-templates/{template-name}:
    parameters:
      - $ref: '#/components/parameters/Accept'
      - schema:
          type: string
        name: template-name
        in: path
        required: true
    get:
      summary: BigCommerce Get an Email Template
      description: >-
        Get a single global email template or a channel-specific email template
        override.


        > #### Note

        > The `/marketing/email-templates` endpoints only work after opting into
        the new email management experience from your storeʼs control panel. You
        can opt-in by visiting [Email
        Templates](https://login.bigcommerce.com/deep-links/manage/marketing/email-templates).
        If you have already opted in, visiting the [Email
        Templates](https://login.bigcommerce.com/deep-links/manage/marketing/email-templates)
        page will return a `404` error, and you will be able to access the new
        [Transactional
        Emails](https://login.bigcommerce.com/deep-links/manage/transactional-emails)
        page.
      tags:
        - Email Templates
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/EmailTemplate'
                  meta:
                    type: object
                    properties: {}
                    additionalProperties: true
                    description: Response metadata.
              examples:
                Example:
                  value:
                    data:
                      type_id: account_reset_password_email
                      body: >-
                        <!DOCTYPE html> <html lang="en"> <head>     <meta
                        charset="UTF-8">     <title>Title</title> </head> <body>
                        <p>     {{lang "reset_password" name=store.name}} </p>
                        <br/> <br/> <a
                        href="{{account.reset_password_link}}">     {{account.reset_password_link}} </a>  </body> </html>
                      translations:
                        - locale: en
                          keys:
                            reset_password: >-
                              To change your customer account password at
                              {{name}} please click this link or copy and paste
                              it into your browser:
                      subject: Reset your password at {{store.name}}
                    meta: {}
      operationId: getEmailTemplate
      parameters:
        - $ref: '#/components/parameters/ChannelIdParam'
    put:
      summary: BigCommerce Update a Template
      description: >-
        Update a global template or create a channel-specific email template
        override.
      tags:
        - Email Templates
      operationId: updateEmailTemplate
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/EmailTemplate'
                  meta:
                    type: object
                    properties: {}
                    additionalProperties: true
                    description: Response metadata.
              examples:
                Example:
                  value:
                    data:
                      type_id: account_reset_password_email
                      body: >-
                        <!DOCTYPE html> <html lang="en"> <head>     <meta
                        charset="UTF-8">     <title>Title</title> </head> <body>
                        <p>     {{lang "reset_password" name=store.name}} </p>
                        <br/> <br/> <a
                        href="{{account.reset_password_link}}">     {{account.reset_password_link}} </a>  </body> </html>
                      translations:
                        - locale: en
                          keys:
                            reset_password: >-
                              To change your customer account password at
                              {{name}} please click this link or copy and paste
                              it into your browser:
                      subject: Reset your password at {{store.name}}
                    meta: {}
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      parameters:
        - $ref: '#/components/parameters/ContentType'
        - $ref: '#/components/parameters/ChannelIdParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmailTemplate'
            examples:
              Example:
                value:
                  type_id: account_reset_password_email
                  body: >-
                    <!DOCTYPE html> <html lang="en"> <head>     <meta
                    charset="UTF-8">     <title>Title</title> </head> <body>
                    <p>     {{lang "reset_password" name=store.name}} </p> <br/>
                    <br/> <a href="{{account.reset_password_link}}">     {{account.reset_password_link}} </a>  </body> </html>
                  translations:
                    - locale: en
                      keys:
                        reset_password: >-
                          To change your customer account password at {{name}}
                          please click this link or copy and paste it into your
                          browser:
                  subject: Reset your password at {{store.name}}
        description: ''
    delete:
      summary: BigCommerce Delete Email Template Override
      description: Removes a channel-specific email template override.
      tags:
        - Email Templates
      operationId: deleteEmailTemplateOverride
      responses:
        '200':
          description: OK
      parameters:
        - $ref: '#/components/parameters/RequiredChannelIdParamForDelete'
components:
  schemas:
    ErrorResponse:
      allOf:
        - $ref: '#/components/schemas/BaseError'
        - type: object
          properties:
            errors:
              $ref: '#/components/schemas/DetailedErrors'
      x-internal: false
    BaseError:
      type: object
      description: |
        Error payload for the BigCommerce API.
      properties:
        status:
          description: |
            The HTTP status code.
          type: integer
        title:
          description: |
            The error title describing the particular error.
          type: string
        type:
          type: string
        instance:
          type: string
      x-internal: false
    DetailedErrors:
      type: object
      additionalProperties:
        type: string
      x-internal: false
    EmailTemplatesCollection:
      title: EmailTemplatesCollection
      type: array
      items:
        $ref: '#/components/schemas/EmailTemplate'
      description: A collection of all email templates.
      x-internal: false
    EmailTemplate:
      title: EmailTemplate
      type: object
      description: Data for a particular email template
      properties:
        type_id:
          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
          example: account_reset_password_email
        body:
          type: string
          example: >-
            <!DOCTYPE html> <html lang="en"> <head>     <meta
            charset="UTF-8">     <title>Title</title> </head> <body> <p>     {{lang "reset_password" name=store.name}} </p> <br/> <br/> <a
            href="{{account.reset_password_link}}">     {{account.reset_password_link}} </a>  </body> </html>
        translations:
          $ref: '#/components/schemas/LocaleCollection'
        subject:
          type: string
          example: Reset your password at {{store.name}}
      x-internal: false
    LocaleObject:
      title: LocaleObject
      type: object
      properties:
        locale:
          type: string
          example: en
          description: Locale code for this language, such as "en", "en-us", "fr-ca".
        keys:
          type: object
          example:
            reset_password: >-
              To change your customer account password at {{name}} please click
              this link or copy and paste it into your browser:
          description: >-
            Language keys for the template. User-defined. Should match any lang
            keys used in the template.
      description: A particular localeʼs translations.
      x-internal: false
    LocaleCollection:
      title: LocaleCollection
      type: array
      items:
        $ref: '#/components/schemas/LocaleObject'
      description: A collection of locale translations for the static language.
      x-internal: false
    EmailTemplateUpdate:
      title: EmailTemplateUpdate
      type: object
      description: Data for updated template
      properties:
        body:
          type: string
          example: >-
            <!DOCTYPE html> <html lang="en"> <head>     <meta
            charset="UTF-8">     <title>Title</title> </head> <body> <p>     {{lang "reset_password" name=store.name}} </p> <br/> <br/> <a
            href="{{account.reset_password_link}}">     {{account.reset_password_link}} </a>  </body> </html>
        translations:
          $ref: '#/components/schemas/LocaleCollection'
        subject:
          type: string
          example: Reset your password at {{store.name}}
      required:
        - body
        - lang
        - subject
      x-internal: false
    scratch:
      title: scratch
      type: object
      properties:
        id:
          type: string
      x-internal: false
  parameters:
    Accept:
      name: Accept
      in: header
      required: true
      description: >-
        The [MIME
        type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types)
        of the response body.
      schema:
        type: string
        default: application/json
    ContentType:
      name: Content-Type
      in: header
      required: true
      description: >-
        The [MIME
        type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types)
        of the request body.
      schema:
        type: string
        default: application/json
    ChannelIdParam:
      in: query
      name: channel_id
      schema:
        type: integer
      description: >-
        Channel ID to use for channel-specific setting. If omitted, you will
        interact with the global setting only.
    RequiredChannelIdParamForDelete:
      in: query
      name: channel_id
      schema:
        type: integer
      description: >-
        Required Channel ID. This delete operation will delete overridden
        settings for this channel, thus restoring them to the global defaults.
      required: true
  securitySchemes:
    X-Auth-Token:
      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](/docs/start/authentication/api-accounts). |


        ### Further reading


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


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


        For a list of API status codes, see [API Status
        Codes](/docs/start/about/status-codes).
      type: apiKey
      in: header