openapi: 3.1.0
info:
  title: 'Admin Content: Abandoned Cart Emails'
  version: 1.0.0
paths:
  /stores/{store_hash}/v3/marketing/abandoned-cart-emails:
    get:
      operationId: getAbandonedCartEmailTemplates
      summary: List Abandoned Cart Email Templates
      description: An array of abandoned cart emails pertaining to a store.
      tags:
        - abandonedCartEmails
      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-level data.
          required: false
          schema:
            type: integer
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            | Information & Settings  | read-only  | `store_v2_information_read_only`|

            | Information & Settings  | modify     | `store_v2_information`          |


            ### 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). |


            ### 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/Abandoned Cart Emails_getAbandonedCartEmailTemplates_Response_200'
    post:
      operationId: createAbandonedCartEmailTemplate
      summary: Create Abandoned Cart Email Template
      description: Create an Abandoned Cart Email template.
      tags:
        - abandonedCartEmails
      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-level data.
          required: false
          schema:
            type: integer
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            | Information & Settings  | read-only  | `store_v2_information_read_only`|

            | Information & Settings  | modify     | `store_v2_information`          |


            ### 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). |


            ### 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/Abandoned Cart Emails_createAbandonedCartEmailTemplate_Response_200'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SaveError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AbandondedCartEmailPayload'
  /stores/{store_hash}/v3/marketing/abandoned-cart-emails/{id}:
    get:
      operationId: getAbandonedCartEmailTemplate
      summary: Get Email Template
      description: Get a single Abandoned Cart Email template.
      tags:
        - abandonedCartEmails
      parameters:
        - name: id
          in: path
          description: ID of the Abandoned Cart Email template.
          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 |

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

            | Information & Settings  | read-only  | `store_v2_information_read_only`|

            | Information & Settings  | modify     | `store_v2_information`          |


            ### 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). |


            ### 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/Abandoned Cart Emails_getAbandonedCartEmailTemplate_Response_200'
    put:
      operationId: updateAbandonedCartEmailTemplate
      summary: Update Email Template
      description: Update an email template.
      tags:
        - abandonedCartEmails
      parameters:
        - name: id
          in: path
          description: ID of the Abandoned Cart Email template.
          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 |

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

            | Information & Settings  | read-only  | `store_v2_information_read_only`|

            | Information & Settings  | modify     | `store_v2_information`          |


            ### 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). |


            ### 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/Abandoned Cart Emails_updateAbandonedCartEmailTemplate_Response_200'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SaveError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AbandondedCartEmailPayload'
    delete:
      operationId: deleteAbandonedCartEmailTemplate
      summary: Delete Email Template
      description: Delete Abandoned Cart Email template.
      tags:
        - abandonedCartEmails
      parameters:
        - name: id
          in: path
          description: ID of the Abandoned Cart Email template.
          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 |

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

            | Information & Settings  | read-only  | `store_v2_information_read_only`|

            | Information & Settings  | modify     | `store_v2_information`          |


            ### 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). |


            ### 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: No Content
          content:
            application/json:
              schema:
                type: object
                properties: {}
  /stores/{store_hash}/v3/marketing/abandoned-cart-emails/default:
    get:
      operationId: getDefaultAbandonedCartEmailTemplate
      summary: Get Default Email Template
      description: Return default Abandoned Cart Email template.
      tags:
        - abandonedCartEmails
      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 |

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

            | Information & Settings  | read-only  | `store_v2_information_read_only`|

            | Information & Settings  | modify     | `store_v2_information`          |


            ### 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). |


            ### 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/Abandoned Cart Emails_getDefaultAbandonedCartEmailTemplate_Response_200'
  /stores/{store_hash}/v3/marketing/abandoned-cart-emails/settings:
    get:
      operationId: getAbandonedCartEmailTemplateSettings
      summary: Get Email Template Settings
      description: Read Abandoned Cart Email Template settings.
      tags:
        - templateSettings
      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.
          required: true
          schema:
            type: integer
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            | Information & Settings  | read-only  | `store_v2_information_read_only`|

            | Information & Settings  | modify     | `store_v2_information`          |


            ### 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). |


            ### 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/AbandonedCartSettings'
    put:
      operationId: updateAbandonedCartEmailTemplateSettings
      summary: Update Email Template Settings
      description: Update Abandoned Cart Email template settings.
      tags:
        - templateSettings
      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-level data.
          required: false
          schema:
            type: integer
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            | Information & Settings  | read-only  | `store_v2_information_read_only`|

            | Information & Settings  | modify     | `store_v2_information`          |


            ### 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). |


            ### 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/AbandonedCartSettings'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AbandonedCartSettings'
servers:
  - url: https://api.bigcommerce.com
    description: https://api.bigcommerce.com
components:
  schemas:
    NotifyAtMinutes:
      type: string
      enum:
        - '60'
        - '120'
        - '180'
        - '240'
        - '300'
        - '360'
        - '420'
        - '480'
        - '540'
        - '600'
        - '660'
        - '720'
        - '780'
        - '840'
        - '900'
        - '960'
        - '1020'
        - '1080'
        - '1140'
        - '1200'
        - '1260'
        - '1320'
        - '1380'
        - '1440'
        - '2880'
        - '4320'
        - '5760'
        - '7200'
        - '8640'
        - '10080'
        - '11520'
        - '12960'
        - '14400'
      description: Describes when this email will be sent, in minutes. Only supports certain intervals described in the enum.
      title: NotifyAtMinutes
    CouponCode:
      type: string
      title: CouponCode
    TranslationDefinitionKeys:
      type: object
      properties: {}
      description: Language keys for the template. User-defined. Should match any language keys used in the template.
      title: TranslationDefinitionKeys
    TranslationDefinition:
      type: object
      properties:
        locale:
          type: string
          description: Locale code for this language, such as 'en', 'en-us', 'fr-ca'.
        keys:
          $ref: '#/components/schemas/TranslationDefinitionKeys'
          description: Language keys for the template. User-defined. Should match any language keys used in the template.
      required:
        - locale
        - keys
      title: TranslationDefinition
    Template:
      type: object
      properties:
        subject:
          type: string
        body:
          type: string
        translations:
          type: array
          items:
            $ref: '#/components/schemas/TranslationDefinition'
      required:
        - subject
        - body
        - translations
      title: Template
    AbandondedCartEmail:
      type: object
      properties:
        id:
          type: integer
        notify_at_minutes:
          $ref: '#/components/schemas/NotifyAtMinutes'
        coupon_code:
          $ref: '#/components/schemas/CouponCode'
        template:
          $ref: '#/components/schemas/Template'
        is_active:
          type: boolean
        sent_num:
          type: integer
      title: AbandondedCartEmail
    metaCollection_open:
      type: object
      properties: {}
      description: Response metadata.
      title: metaCollection_open
    Abandoned Cart Emails_getAbandonedCartEmailTemplates_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/AbandondedCartEmail'
        meta:
          $ref: '#/components/schemas/metaCollection_open'
      title: Abandoned Cart Emails_getAbandonedCartEmailTemplates_Response_200
    AbandondedCartEmailPayload:
      type: object
      properties:
        is_active:
          type: boolean
        coupon_code:
          $ref: '#/components/schemas/CouponCode'
        notify_at_minutes:
          $ref: '#/components/schemas/NotifyAtMinutes'
        template:
          $ref: '#/components/schemas/Template'
      title: AbandondedCartEmailPayload
    Abandoned Cart Emails_createAbandonedCartEmailTemplate_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/AbandondedCartEmail'
        meta:
          $ref: '#/components/schemas/metaCollection_open'
      title: Abandoned Cart Emails_createAbandonedCartEmailTemplate_Response_200
    SaveError:
      type: object
      properties:
        status:
          type: integer
        title:
          type: string
        type:
          type: string
        errors:
          type: array
          items:
            type: string
      title: SaveError
    Abandoned Cart Emails_getAbandonedCartEmailTemplate_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/AbandondedCartEmail'
        meta:
          $ref: '#/components/schemas/metaCollection_open'
      title: Abandoned Cart Emails_getAbandonedCartEmailTemplate_Response_200
    Abandoned Cart Emails_updateAbandonedCartEmailTemplate_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/AbandondedCartEmail'
        meta:
          $ref: '#/components/schemas/metaCollection_open'
      title: Abandoned Cart Emails_updateAbandonedCartEmailTemplate_Response_200
    MarketingAbandonedCartEmailsDefaultGetResponsesContentApplicationJsonSchemaTranslationsItemsKeys:
      type: object
      properties:
        hello_phrase:
          type: string
      title: MarketingAbandonedCartEmailsDefaultGetResponsesContentApplicationJsonSchemaTranslationsItemsKeys
    MarketingAbandonedCartEmailsDefaultGetResponsesContentApplicationJsonSchemaTranslationsItems:
      type: object
      properties:
        locale:
          type: string
        keys:
          $ref: >-
            #/components/schemas/MarketingAbandonedCartEmailsDefaultGetResponsesContentApplicationJsonSchemaTranslationsItemsKeys
      required:
        - locale
        - keys
      title: MarketingAbandonedCartEmailsDefaultGetResponsesContentApplicationJsonSchemaTranslationsItems
    Abandoned Cart Emails_getDefaultAbandonedCartEmailTemplate_Response_200:
      type: object
      properties:
        subject:
          type: string
        body:
          type: string
        translations:
          type: array
          items:
            $ref: >-
              #/components/schemas/MarketingAbandonedCartEmailsDefaultGetResponsesContentApplicationJsonSchemaTranslationsItems
      required:
        - subject
        - body
        - translations
      title: Abandoned Cart Emails_getDefaultAbandonedCartEmailTemplate_Response_200
    AbandonedCartSettings:
      type: object
      properties:
        use_global:
          type: boolean
          description: Boolean value that specifies the inheritance state.
      required:
        - use_global
      title: AbandonedCartSettings
  securitySchemes:
    X-Auth-Token:
      type: apiKey
      in: header
      name: X-Auth-Token
      description: >-
        ### OAuth scopes


        | UI Name | Permission | Parameter |

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

        | Information & Settings  | read-only  | `store_v2_information_read_only`|

        | Information & Settings  | modify     | `store_v2_information`          |


        ### 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). |


        ### 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).
