ThoughtSpot Custom Action API

The Custom Action API from ThoughtSpot — 4 operation(s) for custom action.

Operations 4

POST /api/rest/2.0/customization/custom-actions #
POST /api/rest/2.0/customization/custom-actions/{custom_action_identifier}/delete #
POST /api/rest/2.0/customization/custom-actions/search #
POST /api/rest/2.0/customization/custom-actions/{custom_action_identifier}/update #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/thoughtspot-custom-action-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

thoughtspot-custom-action-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ThoughtSpot Public REST Custom Action API
  version: '2.0'
servers:
- url: '{base-url}'
  variables:
    base-url:
      default: https://localhost:443
security:
- bearerAuth: []
tags:
- name: Custom Action
paths:
  /api/rest/2.0/customization/custom-actions:
    post:
      operationId: createCustomAction
      description: "\n <span class=\"since-beta-tag\">Version: 9.6.0.cl or later</span>\n\nCreates a custom action that appears as a menu action on a saved Answer or Liveboard visualization.\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#### Usage Guidelines\n\nThe API lets you create the following types of custom actions:\n\n* URL-based action     \n  Allows pushing data to an external URL.\n* Callback action        \n  Triggers a callback to the host application and initiates a response payload on an embedded ThoughtSpot instance.\n\nBy default, custom actions are visible to only administrator or developer users. To make a custom action available to other users, and specify the groups in `group_identifiers`.\n\nBy default, the custom action is set as a _global_ action on all visualizations and saved Answers. To assign a custom action to specific Liveboard visualization, saved Answer, or Worksheet, set `visibility` to `false` in `default_action_config` property and specify the GUID or name of the object in `associate_metadata`.\n\nFor more information, see [Custom actions](https://developers.thoughtspot.com/docs/custom-action-intro).\n\n\n\n\n#### Endpoint URL\n"
      tags:
      - Custom Action
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCustomActionRequest'
        required: true
      parameters: []
      responses:
        '200':
          description: Custom action created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseCustomAction'
              examples:
                example_1:
                  value:
                    action_details:
                      CALLBACK:
                        reference: customaction
                    default_action_config:
                      visibility: true
                    id: 3d3cad0f-e57b-4faa-8e24-da596c727ee0
                    metadata_association: []
                    name: customactionsample
                    user_groups: []
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                invalid_request:
                  summary: Invalid request
                  value:
                    error:
                      message:
                        code: 10002
                        incident_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                        trace_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                        debug: A custom action with the same name already exists. The custom action name must be unique.
        '401':
          description: Unauthorized access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthorized_access:
                  summary: Unauthorized access
                  value:
                    error:
                      message:
                        code: 10097
                        incident_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
                        trace_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
                        debug: Authentication required to create a custom action.
        '403':
          description: Forbidden access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                forbidden_access:
                  summary: Forbidden access
                  value:
                    error:
                      message:
                        code: 10023
                        incident_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
                        trace_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
                        debug: Insufficient privileges to create custom actions.
        '500':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unexpected_error:
                  summary: Unexpected error
                  value:
                    error:
                      message:
                        code: 10038
                        incident_id_guid: d4e5f678-9012-3456-defa-456789012345
                        trace_id_guid: d4e5f678-9012-3456-defa-456789012345
                        debug: Unexpected server error while creating the custom action.
  /api/rest/2.0/customization/custom-actions/{custom_action_identifier}/delete:
    post:
      operationId: deleteCustomAction
      description: "\n <span class=\"since-beta-tag\">Version: 9.6.0.cl or later</span>\n\nRemoves the custom action specified in the API request.\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\n\n\n#### Endpoint URL\n"
      tags:
      - Custom Action
      parameters:
      - in: path
        name: custom_action_identifier
        required: true
        schema:
          type: string
        description: Unique ID or name of the custom action.
      responses:
        '204':
          description: Custom action is successfully deleted.
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                invalid_request:
                  summary: Invalid request
                  value:
                    error:
                      message:
                        code: 10002
                        incident_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                        trace_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                        debug: Custom action with the specified identifier was not found.
        '401':
          description: Unauthorized access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthorized_access:
                  summary: Unauthorized access
                  value:
                    error:
                      message:
                        code: 10097
                        incident_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
                        trace_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
                        debug: Authentication required to delete a custom action.
        '403':
          description: Forbidden access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                forbidden_access:
                  summary: Forbidden access
                  value:
                    error:
                      message:
                        code: 10023
                        incident_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
                        trace_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
                        debug: Insufficient privileges to delete custom actions.
        '500':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unexpected_error:
                  summary: Unexpected error
                  value:
                    error:
                      message:
                        code: 10038
                        incident_id_guid: d4e5f678-9012-3456-defa-456789012345
                        trace_id_guid: d4e5f678-9012-3456-defa-456789012345
                        debug: Unexpected server error while deleting the custom action.
  /api/rest/2.0/customization/custom-actions/search:
    post:
      operationId: searchCustomActions
      description: "\n <span class=\"since-beta-tag\">Version: 9.6.0.cl or later</span>\n\nGets custom actions configured on the cluster.\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\n\n\n#### Endpoint URL\n"
      tags:
      - Custom Action
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchCustomActionsRequest'
        required: true
      parameters: []
      responses:
        '200':
          description: Custom action search is successful.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ResponseCustomAction'
              examples:
                example_1:
                  value:
                  - action_details:
                      CALLBACK:
                        reference: LEDE
                    default_action_config:
                      visibility: true
                    id: c59262df-cf9e-4947-96fa-52d494688797
                    name: LEDE
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                invalid_request:
                  summary: Invalid request
                  value:
                    error:
                      message:
                        code: 10002
                        incident_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                        trace_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                        debug: Custom action identifier is invalid or malformed.
        '401':
          description: Unauthorized access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthorized_access:
                  summary: Unauthorized access
                  value:
                    error:
                      message:
                        code: 10097
                        incident_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
                        trace_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
                        debug: Authentication required to search custom actions.
        '403':
          description: Forbidden access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unexpected_error:
                  summary: Unexpected error
                  value:
                    error:
                      message:
                        code: 10038
                        incident_id_guid: d4e5f678-9012-3456-defa-456789012345
                        trace_id_guid: d4e5f678-9012-3456-defa-456789012345
                        debug: Unexpected server error while searching custom actions.
  /api/rest/2.0/customization/custom-actions/{custom_action_identifier}/update:
    post:
      operationId: updateCustomAction
      description: "\n <span class=\"since-beta-tag\">Version: 9.6.0.cl or later</span>\n\nUpdates a custom action.\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#### Usage Guidelines\n\nThe API allows you to modify the following properties:\n\n* Name of the custom action\n* Action availability to groups\n* Association to metadata objects\n* Authentication settings for a URL-based action\n\nFor more information, see [Custom actions](https://developers.thoughtspot.com/docs/custom-action-intro).\n\n\n\n\n#### Endpoint URL\n"
      tags:
      - Custom Action
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCustomActionRequest'
        required: true
      parameters:
      - in: path
        name: custom_action_identifier
        required: true
        schema:
          type: string
        description: Unique ID or name of the custom action.
      responses:
        '204':
          description: Custom action updated successfully.
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                invalid_request:
                  summary: Invalid request
                  value:
                    error:
                      message:
                        code: 10002
                        incident_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                        trace_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                        debug: Custom action with the specified identifier was not found.
        '401':
          description: Unauthorized access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthorized_access:
                  summary: Unauthorized access
                  value:
                    error:
                      message:
                        code: 10097
                        incident_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
                        trace_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
                        debug: Authentication required to update a custom action.
        '403':
          description: Forbidden access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                forbidden_access:
                  summary: Forbidden access
                  value:
                    error:
                      message:
                        code: 10023
                        incident_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
                        trace_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
                        debug: Insufficient privileges to update custom actions.
        '500':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unexpected_error:
                  summary: Unexpected error
                  value:
                    error:
                      message:
                        code: 10038
                        incident_id_guid: d4e5f678-9012-3456-defa-456789012345
                        trace_id_guid: d4e5f678-9012-3456-defa-456789012345
                        debug: Unexpected server error while updating the custom action.
components:
  schemas:
    ParametersListItemInput:
      type: object
      properties:
        key:
          type:
          - string
          - 'null'
          description: Key for the url query parameter
        value:
          type:
          - string
          - 'null'
          description: Value for the url query parameter
    CreateCustomActionRequest:
      type: object
      properties:
        name:
          description: Name of the custom action. The custom action name must be unique.
          type: string
        action_details:
          description: Action details includes `Type` and Configuration data for Custom Actions, either Callback or URL is required.
          allOf:
          - $ref: '#/components/schemas/Action_Details_Input_Create'
        associate_metadata:
          description: Metadata objects to which the custom action needs to be associated.
          type: array
          items:
            $ref: '#/components/schemas/Associate_Metadata_Input_Create'
        default_action_config:
          description: Default Custom action configuration. This includes if the custom action is available on all visualizations. By default, a custom action is added to all visualizations and Answers.
          allOf:
          - $ref: '#/components/schemas/Default_Action_Config_Input_Create'
        group_identifiers:
          description: Unique ID or name of the groups that can view and access the custom action.
          type: array
          items:
            type: string
      required:
      - name
      - action_details
    Default_Action_Config_Input_Create:
      type: object
      properties:
        visibility:
          type:
          - boolean
          - 'null'
          default: true
          description: 'Custom action is available on all visualizations. Earlier naming convention: LOCAL/GLOBAL. TRUE signifies GLOBAL for backward compatibility.

            Default: true'
      description: Default Custom action configuration. This includes the custom action's visibility across all visualizations and Answers. By default, a custom action is added to all visualizations and Answers.
    CustomActionMetadataTypeInput:
      type: object
      required:
      - identifier
      properties:
        type:
          type:
          - string
          - 'null'
          enum:
          - VISUALIZATION
          - ANSWER
          - WORKSHEET
          description: "  Type of metadata object.\n  \n\nRequired if the name of the object is set as the identifier. This attribute is optional when the object GUID is specified as the identifier."
        identifier:
          type: string
          description: Unique ID or name of the metadata object.
      description: MetadataType InputType used in Custom Action API's
    UpdateCustomActionRequest:
      type: object
      properties:
        action_details:
          description: Action details includes `Type` and Configuration for Custom Actions, either Callback or URL is required.
          allOf:
          - $ref: '#/components/schemas/Action_Details_Input'
        associate_metadata:
          description: Metadata objects to which the custom action needs to be associated.
          type: array
          items:
            $ref: '#/components/schemas/Associate_Metadata_Input'
        default_action_config:
          description: Default Custom action configuration. This includes if the custom action available on visualizations and Answers. By default, a custom action is added to all visualizations and Answers.
          allOf:
          - $ref: '#/components/schemas/Default_Action_Config_Input'
        group_identifiers:
          description: Unique ID or name of the groups that can view and access the custom action.
          type: array
          items:
            type: string
        name:
          description: Name of the custom action. The custom action name must be unique.
          type: string
        operation:
          description: Type of update operation. Default operation type is ADD
          default: ADD
          type: string
          enum:
          - ADD
          - REMOVE
    API_KeyInput:
      type: object
      properties:
        key:
          type:
          - string
          - 'null'
          description: Enter your key name
        value:
          type:
          - string
          - 'null'
          description: Enter you key value
      description: With API key auth, you send a key-value pair to the API either in the request headers or query parameters.
    URL:
      type: object
      required:
      - url
      properties:
        authentication:
          $ref: '#/components/schemas/Authentication'
          description: Authorization type for the custom action.
        parameters:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ParametersListItem'
          description: Query parameters for url.
        url:
          type: string
          description: Request Url for the Custom action.
        reference:
          type:
          - string
          - 'null'
          description: Reference name of the SDK. By default, the value will be set to action name.
      description: URL Custom Action Type
    SearchCustomActionsRequest:
      type: object
      properties:
        custom_action_identifier:
          description: Name or ID of the custom action.
          type: string
        name_pattern:
          description: A pattern to match case-insensitive name of the custom-action object.
          type: string
        default_action_config:
          description: Default Custom action configuration. This includes if the custom action is available on all visualizations. By default, a custom action is added to all visualizations and Answers.
          allOf:
          - $ref: '#/components/schemas/Default_Action_Config_Search_Input'
        include_group_associations:
          description: When set to true, returns the associated groups for a custom action.
          default: false
          type:
          - boolean
          - 'null'
        include_metadata_associations:
          description: When set to true, returns the associated metadata for a custom action.
          default: false
          type:
          - boolean
          - 'null'
        metadata:
          description: Search with a given metadata identifier.
          type: array
          items:
            $ref: '#/components/schemas/CustomActionMetadataTypeInput'
        type:
          description: Filter the action objects based on type
          type: string
          enum:
          - CALLBACK
          - URL
    ParametersListItem:
      type: object
      properties:
        key:
          type:
          - string
          - 'null'
          description: Key for the url query parameter
        value:
          type:
          - string
          - 'null'
          description: Value for the url query parameter
    URLInputMandatory:
      type: object
      required:
      - url
      properties:
        authentication:
          $ref: '#/components/schemas/AuthenticationInput'
          description: Authorization type for the custom action.
        parameters:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ParametersListItemInput'
          description: Query parameters for url.
        url:
          type: string
          description: Request Url for the Custom action.
        reference:
          type:
          - string
          - 'null'
          description: Reference name. By default the value will be set to action name
      description: URL Custom Action Type
    CALLBACK:
      type: object
      properties:
        reference:
          type:
          - string
          - 'null'
          description: Reference name of the SDK. By default, the value will be set to action name.
      description: CALLBACK Custom Action Type
    ActionConfigInputCreate:
      type: object
      properties:
        position:
          type:
          - string
          - 'null'
          enum:
          - MENU
          - PRIMARY
          - CONTEXT_MENU
          default: MENU
          description: 'Position of the Custom action on the Metadata object. Earlier naming convention: context.'
        visibility:
          type:
          - boolean
          - 'null'
          default: true
          description: 'Visibility of the metadata association with custom action. Earlier naming convention: enabled'
      description: Specify that the association is enabled for the metadata object Default
    AuthenticationInput:
      type: object
      properties:
        API_Key:
          $ref: '#/components/schemas/API_KeyInput'
          description: With API key auth, you send a key-value pair to the API either in the request headers or query parameters.
        Basic_Auth:
          $ref: '#/components/schemas/Basic_AuthInput'
          description: 'Basic Auth: Basic authentication involves sending a verified username and password with your request.'
        Bearer_Token:
          type:
          - string
          - 'null'
          description: Bearer tokens enable requests to authenticate using an access key.
        No_Auth:
          type:
          - string
          - 'null'
          description: No authorization. If your request doesn't require authorization.
      description: Authorization type for the custom action.
    Metadata_Association_Item:
      type: object
      required:
      - action_config
      - identifier
      - type
      properties:
        action_config:
          $ref: '#/components/schemas/Action_config'
          description: Specify that the association is enabled for the metadata object
        identifier:
          type: string
          description: Unique ID or name of the metadata.
        type:
          type: string
          description: "  Type of metadata.\n  \n\nRequired if the name of the object is set as the identifier. This attribute is optional when the object GUID is specified as the identifier."
    Basic_Auth:
      type: object
      properties:
        password:
          type:
          - string
          - 'null'
          description: Password for the basic authentication
        username:
          type:
          - string
          - 'null'
          description: Username for the basic authentication
      description: 'Basic Auth: Basic authentication involves sending a verified username and password with your request.'
    Default_action_config:
      type: object
      properties:
        visibility:
          type:
          - boolean
          - 'null'
          description: 'Custom action is available on all visualizations. Earlier , the naming convention: LOCAL/GLOBAL. TRUE signifies GLOBAL for backward compatibility.'
      description: Default Custom action configuration. This includes the custom action's visibility across all visualizations and Answers. By default, a custom action is added to all visualizations and Answers.
    Action_config:
      type: object
      properties:
        position:
          type:
          - string
          - 'null'
          description: 'Position of the Custom action on the Metadata object. Earlier naming convention: context.'
        visibility:
          type:
          - boolean
          - 'null'
          description: 'Visibility of the metadata association with custom action. Earlier naming convention: enabled'
      description: Specify that the association is enabled for the metadata object
    URLInput:
      type: object
      properties:
        authentication:
          $ref: '#/components/schemas/AuthenticationInput'
          description: Authorization type for the custom action.
        parameters:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ParametersListItemInput'
          description: Query parameters for url.
        url:
          type:
          - string
          - 'null'
          description: Request Url for the Custom action.
        reference:
          type:
          - string
          - 'null'
          description: Reference name. By default the value will be set to action name
      description: URL Custom Action Type
    Action_Details_Input_Create:
      type: object
      properties:
        CALLBACK:
          $ref: '#/components/schemas/CALLBACKInputMandatory'
          description: CALLBACK Custom Action Type
        URL:
          $ref: '#/components/schemas/URLInputMandatory'
          description: URL Custom Action Type
      description: 'Action details includes Type and Configuration for Custom Actions, either Callback or URL is required.

        When both callback and url are provided, callback would be considered'
    Authentication:
      type: object
      properties:
        API_Key:
          $ref: '#/components/schemas/API_Key'
          description: With API key auth, you send a key-value pair to the API either in the request headers or query parameters.
        Basic_Auth:
          $ref: '#/components/schemas/Basic_Auth'
          description: 'Basic Auth: Basic authentication involves sending a verified username and password with your request.'
        Bearer_Token:
          type:
          - string
          - 'null'
          description: Bearer tokens enable requests to authenticate using an access key.
        No_Auth:
          type:
          - string
          - 'null'
          description: No authorization. If your request doesn't require authorization.
      description: Authorization type for the custom action.
    Associate_Metadata_Input:
      type: object
      properties:
        action_config:
          $ref: '#/components/schemas/ActionConfigInput'
          description: Specify that the association is enabled for the metadata object
        identifier:
          type:
          - string
          - 'null'
          description: Unique ID or name of the metadata.
        type:
          type:
          - string
          - 'null'
          enum:
          - VISUALIZATION
          - ANSWER
          - WORKSHEET
          description: "  Type of metadata.\n  \n\nRequired if the name of the object is set as the identifier. This attribute is optional when the object GUID is specified as the identifier."
    ResponseCustomAction:
      type: object
      required:
      - action_details
      - default_action_config
      - id
      - name
      properties:
        action_details:
          $ref: '#/components/schemas/Action_details'
          description: '`Type` and configuration data for custom actions'
        default_action_config:
          $ref: '#/components/schemas/Default_action_config'
          description: Default custom action configuration. This includes the custom action's visibility across all visualizations and Answers. By default, a custom action is added to all visualizations and Answers.
        id:
          type: string
          description: Unique Id of the custom action.
        obj_id:
          type:
          - string
          - 'null'
          description: 'Custom object ID (obj_id) of the custom action, if one is set. <br/>  <span class="since-beta-tag">Version: 26.9.0.cl or later</span>'
        metadata_association:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Metadata_Association_Item'
          description: Metadata objects to assign the the custom action to.
        name:
          type: string
          description: Unique name of the custom action.
        user_groups:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Object_ID_And_Name'
          description: Unique ID or name of the User groups which are associated with the custom action.
      description: Custom action details
    CALLBACKInput:
      type: object
      properties:
        reference:
          type:
          - string
          - 'null'
          description: Reference name. By default, the value will be set to action name.
      description: CALLBACK Custom Action Type
    Associate_Metadata_Input_Create:
      type: object
      required:
    

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/thoughtspot/refs/heads/main/openapi/thoughtspot-custom-action-api-openapi.yml