ThoughtSpot Email Customization API

The Email Customization API from ThoughtSpot — 6 operation(s) for email customization.

Documentation

Specifications

Other Resources

OpenAPI Specification

thoughtspot-email-customization-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: ThoughtSpot Public REST 10.1.0.cl Email Customization API
  version: '2.0'
servers:
- url: '{base-url}'
  variables:
    base-url:
      default: https://localhost:443
security:
- bearerAuth: []
tags:
- name: Email Customization
paths:
  /api/rest/2.0/customization/email:
    post:
      operationId: createEmailCustomization
      description: "\n<span class=\"since-beta-tag\">Beta</span> <span class=\"since-beta-tag\">Version: 10.10.0.cl or later</span>\n\nCreates a customization configuration for the notification email.\n\n#### Pre-requisites\n\nRequires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n**NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.\n\n#### Usage guidelines\n\nTo create a custom configuration pass these parameters in your API request:\n\n- A JSON map of configuration attributes `template_properties`. The following example shows a sample set of customization configuration:\n\n```\n{\n  {\n      \"cta_button_bg_color\": \"#444DEA\",\n      \"cta_text_font_color\": \"#FFFFFF\",\n      \"primary_bg_color\": \"#D3DEF0\",\n      \"logo_url\": \"https://storage.pardot.com/710713/1642089901EbkRibJq/TS_fullworkmark_darkmode.png\",\n  \t  \"font_family\": \"\",\n      \"product_name\": \"ThoughtSpot\",\n      \"footer_address\": \"444 Castro St, Suite 1000 Mountain View, CA 94041\",\n\t  \"footer_phone\": \"(800) 508-7008\",\n      \"replacement_value_for_liveboard\": \"Dashboard\",\n      \"replacement_value_for_answer\": \"Chart\",\n      \"replacement_value_for_spot_iq\": \"AI Insights\",\n   \t  \"hide_footer_phone\": false,\n      \"hide_footer_address\": false,\n      \"hide_product_name\": false,\n      \"hide_manage_notification\": false,\n      \"hide_mobile_app_nudge\": false,\n      \"hide_privacy_policy\": false,\n      \"hide_ts_vocabulary_definitions\": false,\n      \"hide_error_message\": false,\n      \"hide_unsubscribe_link\": false,\n      \"hide_notification_status\": false,\n      \"hide_modify_alert\": false,\n      \"company_website_url\": \"https://your-website.com/\",\n      \"company_privacy_policy_url\" : \"https://link-to-privacy-policy.com/\",\n      \"contact_support_url\": \"https://link-to-contact-support.com/\",\n      \"hide_contact_support_url\": false,\n\t  \"hide_logo_url\" : false\n  }\n}\n```\n\n\n\n\n#### Endpoint URL\n"
      tags:
      - Email Customization
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateEmailCustomizationRequest'
        required: true
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateEmailCustomizationResponse'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Unauthorized access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/rest/2.0/customization/email/{template_identifier}/delete:
    post:
      operationId: deleteEmailCustomization
      description: '

        <span class="since-beta-tag">Beta</span> <span class="since-beta-tag">Version: 10.10.0.cl or later</span>


        Deletes the configuration for the email customization.


        #### Pre-requisites


        Requires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.

        If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.


        **NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.


        #### Usage guidelines


        - Call the search API endpoint to get the `template_identifier` from the response.

        - Use that `template_identifier` as a parameter in this API request.





        #### Endpoint URL

        '
      deprecated: true
      tags:
      - Email Customization
      parameters:
      - in: path
        name: template_identifier
        required: true
        schema:
          type: string
        description: Unique ID or name of the email customization.
      responses:
        '204':
          description: Email Customization configuration successfully deleted.
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Unauthorized access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/rest/2.0/customization/email/delete:
    post:
      operationId: deleteOrgEmailCustomization
      description: '

        <span class="since-beta-tag">Beta</span> <span class="since-beta-tag">Version: 10.12.0.cl or later</span>


        Deletes the configuration for the email customization.


        #### Pre-requisites


        Requires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.

        If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.


        **NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.


        #### Usage guidelines


        - Call the search API endpoint to get the `org_identifier` from the response.

        - Use that `org_identifier` as a parameter in this API request.





        #### Endpoint URL

        '
      tags:
      - Email Customization
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteOrgEmailCustomizationRequest'
        required: true
      parameters: []
      responses:
        '204':
          description: Email Customization configuration successfully deleted.
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Unauthorized access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/rest/2.0/customization/email/search:
    post:
      operationId: searchEmailCustomization
      description: '

        <span class="since-beta-tag">Beta</span> <span class="since-beta-tag">Version: 10.10.0.cl or later</span>


        Search the email customization configuration if any set for the ThoughtSpot system.


        #### Pre-requisites


        Requires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.

        If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.


        **NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.





        #### Endpoint URL

        '
      tags:
      - Email Customization
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchEmailCustomizationRequest'
        required: true
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CreateEmailCustomizationResponse'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Unauthorized access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/rest/2.0/customization/email/update:
    post:
      operationId: updateEmailCustomization
      description: "\n<span class=\"since-beta-tag\">Beta</span> <span class=\"since-beta-tag\">Version: 10.12.0.cl or later</span>\n\nUpdates a customization configuration for the notification email.\n\n#### Pre-requisites\n\nRequires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n**NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.\n\n#### Usage guidelines\n\nTo update a custom configuration pass these parameters in your API request:\n\n- A JSON map of configuration attributes `template_properties`. The following example shows a sample set of customization configuration:\n\n```\n{\n  {\n      \"cta_button_bg_color\": \"#444DEA\",\n    \t\"cta_text_font_color\": \"#FFFFFF\",\n    \t\"primary_bg_color\": \"#D3DEF0\",\n        \"logo_url\": \"https://storage.pardot.com/710713/1642089901EbkRibJq/TS_fullworkmark_darkmode.png\",\n  \t    \"font_family\": \"\",\n    \t\"product_name\": \"ThoughtSpot\",\n    \t\"footer_address\": \"444 Castro St, Suite 1000 Mountain View, CA 94041\",\n\t    \"footer_phone\": \"(800) 508-7008\",\n        \"replacement_value_for_liveboard\": \"Dashboard\",\n    \t\"replacement_value_for_answer\": \"Chart\",\n    \t\"replacement_value_for_spot_iq\": \"AI Insights\",\n   \t    \"hide_footer_phone\": false,\n        \"hide_footer_address\": false,\n        \"hide_product_name\": false,\n    \t\"hide_manage_notification\": false,\n    \t\"hide_mobile_app_nudge\": false,\n    \t\"hide_privacy_policy\": false,\n     \t\"hide_ts_vocabulary_definitions\": false,\n    \t\"hide_error_message\": false,\n    \t\"hide_unsubscribe_link\": false,\n        \"hide_notification_status\": false,\n    \t\"hide_modify_alert\": false,\n    \t\"company_website_url\": \"https://your-website.com/\",\n    \t\"company_privacy_policy_url\" : \"https://link-to-privacy-policy.com/\",\n        \"contact_support_url\": \"https://link-to-contact-support.com/\",\n        \"hide_contact_support_url\": false,\n\t    \"hide_logo_url\" : false\n  }\n}\n```\n\n\n\n\n#### Endpoint URL\n"
      tags:
      - Email Customization
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEmailCustomizationRequest'
        required: true
      parameters: []
      responses:
        '204':
          description: Email Customization configuration successfully updated.
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Unauthorized access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/rest/2.0/customization/email/validate:
    post:
      operationId: validateEmailCustomization
      description: '

        <span class="since-beta-tag">Beta</span> <span class="since-beta-tag">Version: 10.10.0.cl or later</span>


        Validates the email customization configuration if any set for the ThoughtSpot system.


        #### Pre-requisites


        Requires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.

        If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.


        **NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.





        #### Endpoint URL

        '
      tags:
      - Email Customization
      parameters: []
      responses:
        '204':
          description: Triggered test email for customization configuration
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Unauthorized access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    Template_Properties_Input_Create:
      type: object
      properties:
        cta_button_bg_color:
          type: string
          description: Background color for call-to-action button in hex format
          nullable: true
        cta_text_font_color:
          type: string
          description: Text color for call-to-action button in hex format
          nullable: true
        primary_bg_color:
          type: string
          description: Primary background color in hex format
          nullable: true
        home_url:
          type: string
          description: Home page URL (HTTP/HTTPS only)
          nullable: true
        logo_url:
          type: string
          description: Logo image URL (HTTP/HTTPS only)
          nullable: true
        font_family:
          type: string
          description: Font family for email content (e.g., Arial, sans-serif)
          nullable: true
        product_name:
          type: string
          description: Product name to display
          nullable: true
        footer_address:
          type: string
          description: Footer address text
          nullable: true
        footer_phone:
          type: string
          description: Footer phone number
          nullable: true
        replacement_value_for_liveboard:
          type: string
          description: Replacement value for Liveboard
          nullable: true
        replacement_value_for_answer:
          type: string
          description: Replacement value for Answer
          nullable: true
        replacement_value_for_spot_iq:
          type: string
          description: Replacement value for SpotIQ
          nullable: true
        hide_footer_address:
          type: boolean
          description: Whether to hide footer address
          nullable: true
        hide_footer_phone:
          type: boolean
          description: Whether to hide footer phone number
          nullable: true
        hide_manage_notification:
          type: boolean
          description: Whether to hide manage notification link
          nullable: true
        hide_mobile_app_nudge:
          type: boolean
          description: Whether to hide mobile app nudge
          nullable: true
        hide_privacy_policy:
          type: boolean
          description: Whether to hide privacy policy link
          nullable: true
        hide_product_name:
          type: boolean
          description: Whether to hide product name
          nullable: true
        hide_ts_vocabulary_definitions:
          type: boolean
          description: Whether to hide ThoughtSpot vocabulary definitions
          nullable: true
        hide_notification_status:
          type: boolean
          description: Whether to hide notification status
          nullable: true
        hide_error_message:
          type: boolean
          description: Whether to hide error message
          nullable: true
        hide_unsubscribe_link:
          type: boolean
          description: Whether to hide unsubscribe link
          nullable: true
        hide_modify_alert:
          type: boolean
          description: Whether to hide modify alert
          nullable: true
        company_privacy_policy_url:
          type: string
          description: Company privacy policy URL (HTTP/HTTPS only)
          nullable: true
        company_website_url:
          type: string
          description: Company website URL (HTTP/HTTPS only)
          nullable: true
        contact_support_url:
          type: string
          description: 'Contact support url (HTTP/HTTPS only). <br/>  <span class="since-beta-tag">Version: 26.2.0.cl or later</span>'
          nullable: true
        hide_contact_support_url:
          type: boolean
          description: 'Whether to hide contact support url. <br/>  <span class="since-beta-tag">Version: 26.2.0.cl or later</span>'
          nullable: true
        hide_logo_url:
          type: boolean
          description: 'Whether to hide logo <br/>  <span class="since-beta-tag">Version: 26.4.0.cl or later</span>'
          nullable: true
      description: Email customization configuration properties
    DeleteOrgEmailCustomizationRequest:
      type: object
      properties:
        org_identifiers:
          description: Unique identifier of the organization.
          type: array
          items:
            type: string
    SearchEmailCustomizationRequest:
      type: object
      properties:
        org_identifiers:
          description: 'Unique ID or name of org <br/>  <span class="since-beta-tag">Version: 10.12.0.cl or later</span>'
          type: array
          items:
            type: string
    UpdateEmailCustomizationRequest:
      type: object
      properties:
        template_properties:
          description: Email customization configuration as key value pair
          allOf:
          - $ref: '#/components/schemas/Template_Properties_Input_Create'
        org_identifier:
          description: Unique ID or name of org
          type: string
      required:
      - template_properties
    CreateEmailCustomizationRequest:
      type: object
      properties:
        template_properties:
          description: Email customization configuration as key value pair
          allOf:
          - $ref: '#/components/schemas/Template_Properties_Input_Create'
        org_identifier:
          description: 'Unique ID or name of org <br/>  <span class="since-beta-tag">Version: 10.12.0.cl or later</span>'
          type: string
      required:
      - template_properties
    CreateEmailCustomizationResponse:
      type: object
      required:
      - tenant_id
      - org
      - name
      - template_properties
      properties:
        tenant_id:
          type: string
          description: Tenant ID
        org:
          $ref: '#/components/schemas/OrgType'
          description: Email customization org
        name:
          type: string
          description: Email customization name.
        template_properties:
          type: object
          description: Customization configuration for the email
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          nullable: true
    OrgType:
      type: object
      properties:
        name:
          type: string
          nullable: true
        id:
          type: integer
          format: int32
          nullable: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
x-roles:
- name: 26.2.0.cl
  id: 26.2.0.cl
  tags:
  - 26.2.0.cl
  description: Roles for version 26.2.0.cl
- name: 10.4.0.cl
  id: 10.4.0.cl
  tags:
  - 10.4.0.cl
  description: Roles for version 10.4.0.cl
- name: 26.7.0.cl
  id: 26.7.0.cl
  tags:
  - 26.7.0.cl
  description: Roles for version 26.7.0.cl
- name: 26.8.0.cl
  id: 26.8.0.cl
  tags:
  - 26.8.0.cl
  description: Roles for version 26.8.0.cl
- name: 26.6.0.cl
  id: 26.6.0.cl
  tags:
  - 26.6.0.cl
  description: Roles for version 26.6.0.cl
- name: 10.15.0.cl
  id: 10.15.0.cl
  tags:
  - 10.15.0.cl
  description: Roles for version 10.15.0.cl
- name: 10.13.0.cl
  id: 10.13.0.cl
  tags:
  - 10.13.0.cl
  description: Roles for version 10.13.0.cl
- name: 26.9.0.cl
  id: 26.9.0.cl
  tags:
  - 26.9.0.cl
  description: Roles for version 26.9.0.cl
- name: 10.7.0.cl
  id: 10.7.0.cl
  tags:
  - 10.7.0.cl
  description: Roles for version 10.7.0.cl
- name: 26.5.0.cl
  id: 26.5.0.cl
  tags:
  - 26.5.0.cl
  description: Roles for version 26.5.0.cl
- name: 9.0.0.cl
  id: 9.0.0.cl
  tags:
  - 9.0.0.cl
  description: Roles for version 9.0.0.cl
- name: 9.4.0.cl
  id: 9.4.0.cl
  tags:
  - 9.4.0.cl
  description: Roles for version 9.4.0.cl
- name: 9.12.0.cl
  id: 9.12.0.cl
  tags:
  - 9.12.0.cl
  description: Roles for version 9.12.0.cl
- name: 26.4.0.cl
  id: 26.4.0.cl
  tags:
  - 26.4.0.cl
  description: Roles for version 26.4.0.cl
- name: 10.12.0.cl
  id: 10.12.0.cl
  tags:
  - 10.12.0.cl
  description: Roles for version 10.12.0.cl
- name: 9.2.0.cl
  id: 9.2.0.cl
  tags:
  - 9.2.0.cl
  description: Roles for version 9.2.0.cl
- name: 9.9.0.cl
  id: 9.9.0.cl
  tags:
  - 9.9.0.cl
  description: Roles for version 9.9.0.cl
- name: 9.6.0.cl
  id: 9.6.0.cl
  tags:
  - 9.6.0.cl
  description: Roles for version 9.6.0.cl
- name: 10.10.0.cl
  id: 10.10.0.cl
  tags:
  - 10.10.0.cl
  description: Roles for version 10.10.0.cl
- name: 10.6.0.cl
  id: 10.6.0.cl
  tags:
  - 10.6.0.cl
  description: Roles for version 10.6.0.cl
- name: 10.3.0.cl
  id: 10.3.0.cl
  tags:
  - 10.3.0.cl
  description: Roles for version 10.3.0.cl
- name: 10.1.0.cl
  id: 10.1.0.cl
  tags:
  - 10.1.0.cl
  description: Roles for version 10.1.0.cl
- name: 10.9.0.cl
  id: 10.9.0.cl
  tags:
  - 10.9.0.cl
  description: Roles for version 10.9.0.cl
- name: 10.8.0.cl
  id: 10.8.0.cl
  tags:
  - 10.8.0.cl
  description: Roles for version 10.8.0.cl
- name: 9.5.0.cl
  id: 9.5.0.cl
  tags:
  - 9.5.0.cl
  description: Roles for version 9.5.0.cl
- name: 26.3.0.cl
  id: 26.3.0.cl
  tags:
  - 26.3.0.cl
  description: Roles for version 26.3.0.cl
- name: 10.14.0.cl
  id: 10.14.0.cl
  tags:
  - 10.14.0.cl
  description: Roles for version 10.14.0.cl
- name: 9.7.0.cl
  id: 9.7.0.cl
  tags:
  - 9.7.0.cl
  description: Roles for version 9.7.0.cl