\"` for errors)."
},
- "value": {
+ "content_type": {
"type": "string",
- "description": "Value for the url query parameter",
+ "enum": [
+ "TEXT_PLAIN",
+ "TEXT_MARKDOWN",
+ "TEXT_X_MARKDOWN_WITH_CODE",
+ "TEXT_HTML"
+ ],
+ "description": "Rendering hint for the result content; defaults to `TEXT_PLAIN` for tool\nresults. See `ContentMimeType` for accepted values.",
"nullable": true
- }
- }
- },
- "Default_action_config": {
- "type": "object",
- "properties": {
- "visibility": {
+ },
+ "success": {
"type": "boolean",
- "description": "Custom action is available on all visualizations. Earlier , the naming convention: LOCAL/GLOBAL. TRUE signifies GLOBAL for backward compatibility.",
+ "description": "False when the tool invocation errored; true otherwise.",
"nullable": 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."
+ "description": "Result returned from a tool invocation."
},
- "Metadata_Association_Item": {
+ "AnswerResponseItem": {
"type": "object",
"required": [
- "action_config",
- "identifier",
- "type"
+ "type",
+ "timestamp_in_millis",
+ "answer_id"
],
"properties": {
- "action_config": {
- "$ref": "#/components/schemas/Action_config",
- "description": "Specify that the association is enabled for the metadata object"
+ "type": {
+ "type": "string",
+ "description": "Variant discriminator. Always `\"answer\"`."
},
- "identifier": {
+ "timestamp_in_millis": {
+ "type": "object",
+ "description": "Milliseconds since Unix epoch when this item was produced."
+ },
+ "is_thinking": {
+ "type": "boolean",
+ "description": "True when the item represents internal agent reasoning rather than user-facing output.",
+ "nullable": true
+ },
+ "step_title": {
"type": "string",
- "description": "Unique ID or name of the metadata."
+ "description": "Human-readable label for the agent step producing this item.",
+ "nullable": true
},
- "type": {
+ "answer_id": {
"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."
- }
- }
- },
- "Action_config": {
- "type": "object",
- "properties": {
- "position": {
+ "description": "Identifier used to fetch the full answer payload separately."
+ },
+ "tool_call_id": {
"type": "string",
- "description": "Position of the Custom action on the Metadata object. Earlier naming convention: context.",
+ "description": "Links to the originating tool_call, when applicable.",
"nullable": true
},
- "visibility": {
- "type": "boolean",
- "description": "Visibility of the metadata association with custom action. Earlier naming convention: enabled",
+ "tool_name": {
+ "type": "string",
+ "description": "Tool that produced the answer, when applicable.",
"nullable": true
}
},
- "description": "Specify that the association is enabled for the metadata object"
+ "description": "Slim reference to a saved answer produced by the agent. Full answer payload\n(visualization spec, formulas, session info) is not embedded — fetch separately\nvia `loadAnswer` using `answer_id`."
},
- "CustomActionMetadataTypeInput": {
+ "SearchDatasetsResponseItem": {
"type": "object",
"required": [
- "identifier"
+ "type",
+ "timestamp_in_millis",
+ "text"
],
"properties": {
"type": {
"type": "string",
- "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.",
+ "description": "Variant discriminator. Always `\"search_datasets\"`."
+ },
+ "timestamp_in_millis": {
+ "type": "object",
+ "description": "Milliseconds since Unix epoch when this item was produced."
+ },
+ "is_thinking": {
+ "type": "boolean",
+ "description": "True when the item represents internal agent reasoning rather than user-facing output.",
"nullable": true
},
- "identifier": {
+ "step_title": {
"type": "string",
- "description": "Unique ID or name of the metadata object."
+ "description": "Human-readable label for the agent step producing this item.",
+ "nullable": true
+ },
+ "text": {
+ "type": "string",
+ "description": "Summary message describing the dataset search results."
+ },
+ "data_sources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DataSourceInfo"
+ },
+ "description": "Dataset descriptors returned by the `search_datasets` tool.",
+ "nullable": true
}
},
- "description": "MetadataType InputType used in Custom Action API's"
+ "description": "Result of a dataset discovery step."
},
- "MetadataContext": {
+ "DataSourceInfo": {
"type": "object",
"properties": {
- "data_source_identifiers": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "List of data_source_identifiers to provide context for breaking down user query into analytical queries that can be run on them.",
+ "data_source_identifier": {
+ "type": "string",
+ "description": "Unique identifier of the data source (mirrors `header.guid`).",
"nullable": true
},
- "answer_identifiers": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "List of answer unique identifiers (GUIDs) whose data will be used to guide the response.",
+ "data_source_name": {
+ "type": "string",
+ "description": "Display name of the data source (mirrors `header.display_name`).",
"nullable": true
},
- "conversation_identifier": {
+ "description": {
"type": "string",
- "description": "Unique identifier to denote current conversation.",
+ "description": "Optional description of the data source.",
+ "nullable": true
+ },
+ "confidence": {
+ "type": "number",
+ "format": "float",
+ "description": "Tool-reported confidence that this data source matches the query, in `[0, 1]`.",
+ "nullable": true
+ },
+ "reasoning": {
+ "type": "string",
+ "description": "LLM reasoning describing why the data source was selected.",
+ "nullable": true
+ },
+ "header": {
+ "$ref": "#/components/schemas/DataSourceHeader",
+ "description": "Header metadata extracted from the data source proto.",
"nullable": true
},
- "liveboard_identifiers": {
+ "related_liveboard_visualizations": {
"type": "array",
"items": {
- "type": "string"
+ "type": "object"
},
- "description": "List of liveboard unique identifiers (GUIDs) whose data will be used to guide the response.",
+ "description": "Related liveboard visualizations for this data source. Open-ended JSON shape\ndriven by the underlying proto.",
"nullable": true
- }
- }
- },
- "AIContext": {
- "type": "object",
- "properties": {
- "instructions": {
+ },
+ "related_answers": {
"type": "array",
"items": {
- "type": "string"
+ "type": "object"
},
- "description": "User specific text instructions sent to AI system for processing the query.",
+ "description": "Related saved answers for this data source. Open-ended JSON shape driven by\nthe underlying proto.",
"nullable": true
},
- "content": {
+ "related_spotter_queries": {
"type": "array",
"items": {
"type": "string"
},
- "description": "User provided content like text data, csv data as a string message to provide context & potentially improve the quality of the response.",
+ "description": "Related Spotter queries previously run against this data source. Truncated to\na small upper bound by the tool.",
"nullable": true
- }
- }
- },
- "eureka_GetRelevantQuestionsResponse": {
- "type": "object",
- "properties": {
- "relevant_questions": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/eureka_RelevantQuestion"
- },
- "description": "List of relevant questions that can be run on their respective data sources.",
+ },
+ "popularity": {
+ "$ref": "#/components/schemas/DataSourcePopularity",
+ "description": "Aggregate popularity counters.",
+ "nullable": true
+ },
+ "user_usage": {
+ "$ref": "#/components/schemas/DataSourceUserUsage",
+ "description": "Per-user usage counters scoped to the calling user.",
"nullable": true
}
- }
+ },
+ "description": "A data source descriptor returned by the agent's `search_datasets` tool."
},
- "eureka_RelevantQuestion": {
+ "DataSourceHeader": {
"type": "object",
"properties": {
- "query": {
+ "display_name": {
"type": "string",
- "description": "NL query that can be run using spotter aka natural language search to get an AI generated answer.",
+ "description": "Display name of the data source.",
"nullable": true
},
- "data_source_identifier": {
+ "guid": {
"type": "string",
- "description": "Unique identifier of the data source on which this query can be run on.",
+ "description": "Canonical unique identifier (GUID) of the data source.",
"nullable": true
},
- "data_source_name": {
+ "description": {
"type": "string",
- "description": "Display name of the data source on which this query can be run on.",
+ "description": "Optional description of the data source.",
"nullable": true
}
- }
+ },
+ "description": "Header metadata extracted from a data source proto. `guid` is the canonical\ndata source identifier and `display_name` is its user-facing name."
},
- "Input_eureka_NLSRequest": {
+ "DataSourcePopularity": {
"type": "object",
"properties": {
- "agentVersion": {
+ "total_spotter_queries": {
"type": "integer",
"format": "int32",
- "description": "Cluster version like 10.4.0.cl, 10.5.0.cl, so on.",
- "nullable": true
- },
- "bypassCache": {
- "type": "boolean",
- "description": "If true, results are not returned from cache & calculated every time. Can incur high costs & latency.",
+ "description": "Total number of Spotter natural-language queries run against this data source.",
"nullable": true
},
- "instructions": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "User specific instructions for processing the @query.",
+ "total_answers": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total number of saved answers backed by this data source.",
"nullable": true
},
- "query": {
- "type": "string",
- "description": "User query which is a topical/goal oriented question that needs to be broken down into smaller simple analytical questions.",
- "nullable": true
- }
- }
- },
- "eureka_DecomposeQueryResponse": {
- "type": "object",
- "properties": {
- "decomposedQueryResponse": {
- "$ref": "#/components/schemas/eureka_LLMDecomposeQueryResponse",
- "description": "Decomposed query response for a topical/goal oriented question that contains broken down analytical questions.",
+ "total_answer_impressions": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total number of impressions across saved answers backed by this data source.",
"nullable": true
}
- }
+ },
+ "description": "Aggregate popularity counters for a data source."
},
- "eureka_LLMDecomposeQueryResponse": {
+ "DataSourceUserUsage": {
"type": "object",
"properties": {
- "decomposedQueries": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/eureka_LLMSuggestedQuery"
- },
- "description": "List of analytical questions that can be run on their respective worksheet/data sources.",
+ "total_spotter_queries": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total Spotter natural-language queries the calling user has run against this\ndata source.",
"nullable": true
}
- }
+ },
+ "description": "Per-user usage counters for a data source, scoped to the calling user."
},
- "eureka_LLMSuggestedQuery": {
+ "CodeExecutionFileMetadata": {
"type": "object",
+ "required": [
+ "file_id",
+ "expired"
+ ],
"properties": {
- "query": {
+ "file_id": {
"type": "string",
- "description": "NL query that can be run using spotter aka natural language search to get an AI generated answer.",
- "nullable": true
+ "description": "Unique identifier of the code-execution-generated file. Stable across\nconversation turns."
},
- "worksheetId": {
+ "display_name": {
"type": "string",
- "description": "Unique identifier of the worksheet on which this query can be run on.",
+ "description": "Human-readable file name.",
"nullable": true
},
- "worksheetName": {
+ "file_type": {
"type": "string",
- "description": "Display name of the worksheet on which this query can be run on.",
+ "description": "File type hint. Either a MIME string (e.g. `text/csv`) or an extension\n(e.g. `csv`).",
+ "nullable": true
+ },
+ "created_time_in_millis": {
+ "type": "object",
+ "description": "Milliseconds since Unix epoch when the file was created.",
"nullable": true
+ },
+ "expired": {
+ "type": "boolean",
+ "description": "True when the file is no longer downloadable (storage expired or evicted)."
}
- }
+ },
+ "description": "Sanitized public metadata for a code-execution-generated file. Internal\nstorage identifiers (e.g. Azure blob ids) are deliberately not exposed."
},
- "eureka_DataSourceSuggestionResponse": {
+ "LoadAnswerResponse": {
"type": "object",
"properties": {
- "data_sources": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/DataSource"
- },
- "description": "List of data sources suggested.",
+ "answer": {
+ "$ref": "#/components/schemas/AnswerDetails",
+ "description": "Answer details for the loaded message.",
"nullable": true
}
}
},
- "DataSource": {
+ "AnswerDetails": {
"type": "object",
"properties": {
- "confidence": {
- "type": "number",
- "format": "float",
- "description": "Confidence score for the data source suggestion.",
+ "title": {
+ "type": "string",
+ "description": "Display title of the answer.",
"nullable": true
},
- "details": {
- "$ref": "#/components/schemas/EntityHeader",
- "description": "Details of the data source.",
+ "description": {
+ "type": "string",
+ "description": "Description of the answer.",
"nullable": true
},
- "reasoning": {
+ "session_identifier": {
"type": "string",
- "description": "LLM reasoning for the data source.",
+ "description": "Unique identifier of the session.",
"nullable": true
- }
- }
- },
- "EntityHeader": {
- "type": "object",
- "properties": {
- "description": {
- "type": "string",
- "description": "Description of the data source.",
+ },
+ "generation_number": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Generation number of the answer.",
"nullable": true
},
- "data_source_name": {
- "type": "string",
- "description": "Display name of the data source.",
+ "tokens": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Ordered list of TML token strings that make up the answer query.",
"nullable": true
},
- "data_source_identifier": {
+ "visualization_type": {
"type": "string",
- "description": "Unique identifier of the data source.",
+ "enum": [
+ "Chart",
+ "CHART",
+ "Table",
+ "TABLE",
+ "Undefined",
+ "UNDEFINED"
+ ],
+ "description": "Visualization type for the answer.",
"nullable": true
- }
- }
- },
- "eureka_GetNLInstructionsResponse": {
- "type": "object",
- "required": [
- "nl_instructions_info"
- ],
- "properties": {
- "nl_instructions_info": {
+ },
+ "formulas": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/NLInstructionsInfo"
+ "type": "string"
},
- "description": "List of NL instructions with their scopes."
- }
- }
- },
- "NLInstructionsInfo": {
- "type": "object",
- "required": [
- "instructions",
- "scope"
- ],
- "properties": {
- "instructions": {
+ "description": "List of formulas used in the answer.",
+ "nullable": true
+ },
+ "parameters": {
"type": "array",
"items": {
"type": "string"
},
- "description": "User instructions for natural language processing."
+ "description": "List of parameters used in the answer.",
+ "nullable": true
},
- "scope": {
+ "sub_queries": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "description": "List of sub-queries used in the answer.",
+ "nullable": true
+ },
+ "ac_state": {
+ "$ref": "#/components/schemas/ACState",
+ "description": "Agent context state for the answer.",
+ "nullable": true
+ }
+ }
+ },
+ "ACState": {
+ "type": "object",
+ "properties": {
+ "transaction_identifier": {
"type": "string",
- "enum": [
- "GLOBAL"
- ],
- "description": "Scope of the instruction."
+ "description": "Unique identifier of the transaction.",
+ "nullable": true
+ },
+ "generation_number": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Generation number of the transaction.",
+ "nullable": true
}
}
},
@@ -17026,7 +20477,93 @@
"type": "string",
"nullable": true
}
- }
+ }
+ },
+ "WebhookStorageConfigInfo": {
+ "type": "object",
+ "required": [
+ "storage_type",
+ "provider",
+ "config"
+ ],
+ "properties": {
+ "storage_type": {
+ "type": "string",
+ "enum": [
+ "OBJECT_STORAGE"
+ ],
+ "description": "Type of storage destination."
+ },
+ "provider": {
+ "type": "string",
+ "enum": [
+ "AWS_S3",
+ "GCP_GCS"
+ ],
+ "description": "Storage destination provider."
+ },
+ "config": {
+ "$ref": "#/components/schemas/WebhookStorageSetupConfig",
+ "description": "Setup configuration specific to the upload path."
+ }
+ },
+ "description": "Cluster-level storage setup information for configuring customer-managed storage."
+ },
+ "WebhookStorageSetupConfig": {
+ "type": "object",
+ "required": [
+ "config_type",
+ "setup_instructions"
+ ],
+ "properties": {
+ "config_type": {
+ "type": "string",
+ "enum": [
+ "AWS_TO_S3_STORAGE",
+ "GCP_TO_S3_STORAGE",
+ "GCP_TO_GCS_STORAGE"
+ ],
+ "description": "Discriminator identifying the upload path. One of: AWS_TO_S3_STORAGE, GCP_TO_S3_STORAGE, GCP_TO_GCS_STORAGE."
+ },
+ "aws_account_id": {
+ "type": "string",
+ "description": "AWS Account ID of the platform. Populated for AWS_TO_S3_STORAGE. Include in your IAM role trust policy.",
+ "nullable": true
+ },
+ "gcp_service_account_id": {
+ "type": "string",
+ "description": "GCP service account numeric ID of the platform (the 'sub' claim in OIDC tokens). Populated for GCP_TO_S3_STORAGE.",
+ "nullable": true
+ },
+ "oidc_provider": {
+ "type": "string",
+ "description": "OIDC identity provider URL. Populated for GCP_TO_S3_STORAGE; always 'accounts.google.com' for GCP.",
+ "nullable": true
+ },
+ "trust_policy_template": {
+ "type": "object",
+ "description": "Sample IAM trust policy JSON. Populated for AWS_TO_S3_STORAGE and GCP_TO_S3_STORAGE.",
+ "nullable": true
+ },
+ "service_account_email": {
+ "type": "string",
+ "description": "GCP service account email of the platform. Populated for GCP_TO_GCS_STORAGE. Grant it roles/iam.serviceAccountTokenCreator on your service account.",
+ "nullable": true
+ },
+ "required_role": {
+ "type": "string",
+ "description": "IAM role the customer must grant to the platform service account. Populated for GCP_TO_GCS_STORAGE.",
+ "nullable": true
+ },
+ "setup_instructions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Step-by-step instructions to configure the storage destination."
+ }
+ },
+ "description": "Storage setup configuration for a specific upload path. The populated fields depend on config_type:\nAWS_TO_S3_STORAGE: aws_account_id, trust_policy_template, setup_instructions.\nGCP_TO_S3_STORAGE: gcp_service_account_id, oidc_provider, trust_policy_template, setup_instructions.\nGCP_TO_GCS_STORAGE: service_account_email, required_role, setup_instructions."
},
"WebhookSortOptionsInput": {
"type": "object",
@@ -17164,6 +20701,15 @@
"$ref": "#/components/schemas/StorageDestination",
"description": "Storage destination configuration for webhook payload delivery.",
"nullable": true
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "description": "Status of the webhook (ENABLED or DISABLED).\nOnly present when explicitly set.
Version: 26.7.0.cl or later",
+ "nullable": true
}
}
},
@@ -17343,7 +20889,8 @@
"storage_type": {
"type": "string",
"enum": [
- "AWS_S3"
+ "AWS_S3",
+ "GCP_GCS"
],
"description": "Type of storage destination (e.g., AWS_S3)."
},
@@ -17361,6 +20908,11 @@
"$ref": "#/components/schemas/AwsS3Config",
"description": "AWS S3 storage configuration.",
"nullable": true
+ },
+ "gcp_gcs_config": {
+ "$ref": "#/components/schemas/GcpGcsConfig",
+ "description": "GCP GCS storage configuration.
Version: 26.7.0.cl or later",
+ "nullable": true
}
},
"description": "Storage configuration containing provider-specific settings."
@@ -17398,6 +20950,29 @@
},
"description": "AWS S3 storage configuration details."
},
+ "GcpGcsConfig": {
+ "type": "object",
+ "required": [
+ "bucket_name",
+ "service_account_email"
+ ],
+ "properties": {
+ "bucket_name": {
+ "type": "string",
+ "description": "Name of the GCS bucket where webhook payloads are stored."
+ },
+ "service_account_email": {
+ "type": "string",
+ "description": "Email of the GCP service account to impersonate for bucket access."
+ },
+ "path_prefix": {
+ "type": "string",
+ "description": "Path prefix for organizing objects within the bucket.",
+ "nullable": true
+ }
+ },
+ "description": "GCP GCS storage configuration details."
+ },
"WebhookPagination": {
"type": "object",
"required": [
@@ -17710,7 +21285,380 @@
"nullable": true
}
},
- "description": "A recipient (user, group, or external) for a job execution."
+ "description": "A recipient (user, group, or external) for a job execution."
+ },
+ "StylePreference": {
+ "type": "object",
+ "properties": {
+ "scope": {
+ "type": "string",
+ "enum": [
+ "CLUSTER",
+ "ORG"
+ ],
+ "description": "Scope at which these style preferences apply.",
+ "nullable": true
+ },
+ "org": {
+ "$ref": "#/components/schemas/StyleOrgInfo",
+ "description": "Org associated with these preferences. Present only when scope is ORG.",
+ "nullable": true
+ },
+ "navigation_panel": {
+ "$ref": "#/components/schemas/StyleNavigationPanel",
+ "description": "Navigation panel color configuration.",
+ "nullable": true
+ },
+ "chart_color_palette": {
+ "$ref": "#/components/schemas/StyleChartColorPalette",
+ "description": "Chart color palette configuration.",
+ "nullable": true
+ },
+ "embedded_footer_text": {
+ "$ref": "#/components/schemas/StyleEmbeddedFooterText",
+ "description": "Embedded footer text configuration.",
+ "nullable": true
+ },
+ "logo": {
+ "$ref": "#/components/schemas/StyleLogoStatus",
+ "description": "Logo status per slot.",
+ "nullable": true
+ },
+ "visualization_fonts": {
+ "$ref": "#/components/schemas/StyleVisualizationFonts",
+ "description": "Effective font assignments per visualization area.",
+ "nullable": true
+ }
+ },
+ "description": "Style preferences for a single scope entry."
+ },
+ "StyleOrgInfo": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Unique integer ID of the org.",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the org.",
+ "nullable": true
+ }
+ },
+ "description": "Org information returned in style API responses."
+ },
+ "StyleNavigationPanel": {
+ "type": "object",
+ "properties": {
+ "theme": {
+ "type": "string",
+ "enum": [
+ "DARK",
+ "TWO_TONE",
+ "CUSTOM"
+ ],
+ "description": "Navigation panel color mode.",
+ "nullable": true
+ },
+ "base_color": {
+ "type": "string",
+ "description": "Base color as a 6-digit hex string. Present only when theme is CUSTOM.",
+ "nullable": true
+ },
+ "is_overridden": {
+ "type": "boolean",
+ "description": "True if explicitly set at this scope, overriding any inherited value.",
+ "nullable": true
+ }
+ },
+ "description": "Navigation panel color configuration for a specific scope."
+ },
+ "StyleChartColorPalette": {
+ "type": "object",
+ "properties": {
+ "colors": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/StyleColorEntry"
+ },
+ "description": "Ordered array of 8 color entries.",
+ "nullable": true
+ },
+ "disable_color_rotation": {
+ "type": "boolean",
+ "description": "When true, automatic color rotation across chart data series is disabled.",
+ "nullable": true
+ },
+ "is_overridden": {
+ "type": "boolean",
+ "description": "True if explicitly set at this scope, overriding any inherited value.",
+ "nullable": true
+ }
+ },
+ "description": "Chart color palette configuration for a specific scope."
+ },
+ "StyleColorEntry": {
+ "type": "object",
+ "properties": {
+ "primary": {
+ "type": "string",
+ "description": "Primary color as a 6-digit hex string.",
+ "nullable": true
+ },
+ "secondary": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Array of 4 secondary shade hex strings.",
+ "nullable": true
+ }
+ },
+ "description": "A single color entry in the chart color palette."
+ },
+ "StyleEmbeddedFooterText": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Footer text value. Empty string indicates no footer is set.",
+ "nullable": true
+ },
+ "is_overridden": {
+ "type": "boolean",
+ "description": "True if explicitly set at this scope, overriding any inherited value.",
+ "nullable": true
+ }
+ },
+ "description": "Embedded footer text configuration for a specific scope."
+ },
+ "StyleLogoStatus": {
+ "type": "object",
+ "properties": {
+ "default_logo": {
+ "$ref": "#/components/schemas/StyleLogoSlot",
+ "description": "Status of the DEFAULT logo slot (square app icon and favicon; recommended\n140x140 px).",
+ "nullable": true
+ },
+ "wide_logo": {
+ "$ref": "#/components/schemas/StyleLogoSlot",
+ "description": "Status of the WIDE logo slot (horizontal top nav bar logo; recommended\n230x45 px).",
+ "nullable": true
+ }
+ },
+ "description": "Logo status per slot."
+ },
+ "StyleLogoSlot": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "UUID of the active logo.",
+ "nullable": true
+ },
+ "is_overridden": {
+ "type": "boolean",
+ "description": "True if a custom logo is uploaded at this scope. False if the system\ndefault or cluster logo is active.",
+ "nullable": true
+ }
+ },
+ "description": "Status of a single logo slot."
+ },
+ "StyleVisualizationFonts": {
+ "type": "object",
+ "properties": {
+ "chart_visualization_fonts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ChartVisualizationFontRecord"
+ },
+ "description": "Font assignments for chart visualization areas.",
+ "nullable": true
+ },
+ "table_visualization_fonts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TableVisualizationFontRecord"
+ },
+ "description": "Font assignments for table visualization areas.",
+ "nullable": true
+ }
+ },
+ "description": "Effective font assignments per visualization type."
+ },
+ "ChartVisualizationFontRecord": {
+ "type": "object",
+ "properties": {
+ "visualization_area": {
+ "type": "string",
+ "enum": [
+ "CHART_X_AXIS_LABELS",
+ "CHART_X_AXIS_TITLE",
+ "CHART_Y_AXIS_LABELS",
+ "CHART_Y_AXIS_TITLE",
+ "CHART_TOOLTIP",
+ "CHART_SCATTER_DATA_LABELS",
+ "CHART_DONUT_DATA_LABELS",
+ "CHART_LINE_DATA_LABELS",
+ "CHART_COLUMN_DATA_LABELS",
+ "CHART_BAR_DATA_LABELS",
+ "CHART_AREA_DATA_LABELS"
+ ],
+ "description": "Chart visualization area.",
+ "nullable": true
+ },
+ "font_id": {
+ "type": "string",
+ "description": "UUID of the font assigned to this area. Null when the system default font\nis active.",
+ "nullable": true
+ },
+ "font_name": {
+ "type": "string",
+ "description": "Display name of the font assigned to this area. Null when the system\ndefault font is active.",
+ "nullable": true
+ },
+ "is_overridden": {
+ "type": "boolean",
+ "description": "True if explicitly set at this scope, overriding any inherited value.",
+ "nullable": true
+ }
+ },
+ "description": "Font assignment for a chart visualization area in the response."
+ },
+ "TableVisualizationFontRecord": {
+ "type": "object",
+ "properties": {
+ "visualization_area": {
+ "type": "string",
+ "enum": [
+ "TABLE_VALUE_CELLS"
+ ],
+ "description": "Table visualization area.",
+ "nullable": true
+ },
+ "font_id": {
+ "type": "string",
+ "description": "UUID of the font assigned to this area. Null when the system default font\nis active.",
+ "nullable": true
+ },
+ "font_name": {
+ "type": "string",
+ "description": "Display name of the font assigned to this area. Null when the system\ndefault font is active.",
+ "nullable": true
+ },
+ "is_overridden": {
+ "type": "boolean",
+ "description": "True if explicitly set at this scope, overriding any inherited value.",
+ "nullable": true
+ }
+ },
+ "description": "Font assignment for a table visualization area in the response."
+ },
+ "StyleFontRecord": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique UUID identifier of the font."
+ },
+ "scope": {
+ "type": "string",
+ "enum": [
+ "CLUSTER",
+ "ORG"
+ ],
+ "description": "Scope indicating whether this font belongs to the cluster or org library.",
+ "nullable": true
+ },
+ "org": {
+ "$ref": "#/components/schemas/StyleOrgInfo",
+ "description": "Org associated with this font. Present only when scope is ORG.",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Display name of the font."
+ },
+ "weight": {
+ "type": "string",
+ "enum": [
+ "NORMAL",
+ "LIGHT",
+ "BOLD"
+ ],
+ "description": "Weight of the font.",
+ "nullable": true
+ },
+ "style": {
+ "type": "string",
+ "enum": [
+ "NORMAL",
+ "ITALIC",
+ "OBLIQUE"
+ ],
+ "description": "Style of the font.",
+ "nullable": true
+ },
+ "color": {
+ "type": "string",
+ "description": "Color of the font as a 6-digit hex string.",
+ "nullable": true
+ },
+ "creation_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Timestamp in milliseconds when the font was uploaded.",
+ "nullable": true
+ },
+ "assignments": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/StyleFontAssignment"
+ },
+ "description": "Visualization areas currently assigned to this font. Empty if not assigned\nto any area. Populated only when include_font_assignments is true.",
+ "nullable": true
+ }
+ },
+ "description": "A custom font record in the font library."
+ },
+ "StyleFontAssignment": {
+ "type": "object",
+ "properties": {
+ "org": {
+ "$ref": "#/components/schemas/StyleOrgInfo",
+ "description": "Org context for this assignment. Present only when scope is ORG.",
+ "nullable": true
+ },
+ "visualization_areas": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "CHART_X_AXIS_LABELS",
+ "CHART_X_AXIS_TITLE",
+ "CHART_Y_AXIS_LABELS",
+ "CHART_Y_AXIS_TITLE",
+ "CHART_TOOLTIP",
+ "CHART_SCATTER_DATA_LABELS",
+ "CHART_DONUT_DATA_LABELS",
+ "CHART_LINE_DATA_LABELS",
+ "CHART_COLUMN_DATA_LABELS",
+ "CHART_BAR_DATA_LABELS",
+ "CHART_AREA_DATA_LABELS",
+ "TABLE_VALUE_CELLS"
+ ]
+ },
+ "description": "Visualization areas using this font.",
+ "nullable": true
+ }
+ },
+ "description": "Visualization areas assigned to a font, grouped by org context."
},
"GenericInfo": {
"type": "object",
@@ -18897,6 +22845,11 @@
"$ref": "#/components/schemas/ChannelValidationAwsS3Info",
"description": "AWS S3 storage information from the validation step.",
"nullable": true
+ },
+ "gcp_gcs_info": {
+ "$ref": "#/components/schemas/ChannelValidationGcpGcsInfo",
+ "description": "GCP GCS storage information from the validation step.
Version: 26.7.0.cl or later",
+ "nullable": true
}
},
"description": "Validation detail result for a sub-step."
@@ -18922,6 +22875,27 @@
},
"description": "AWS S3 storage information returned from a validation step."
},
+ "ChannelValidationGcpGcsInfo": {
+ "type": "object",
+ "properties": {
+ "bucket_name": {
+ "type": "string",
+ "description": "Name of the GCS bucket.",
+ "nullable": true
+ },
+ "file_name": {
+ "type": "string",
+ "description": "Name of the uploaded file.",
+ "nullable": true
+ },
+ "object_key": {
+ "type": "string",
+ "description": "Key (path) of the object within the GCS bucket.",
+ "nullable": true
+ }
+ },
+ "description": "GCP GCS storage information returned from a validation step."
+ },
"TagMetadataTypeInput": {
"type": "object",
"required": [
@@ -19014,10 +22988,11 @@
"CAN_SETUP_VERSION_CONTROL",
"CAN_DOWNLOAD_VISUALS",
"CAN_DOWNLOAD_DETAILED_DATA",
- "CAN_USE_SPOTTER"
+ "CAN_USE_SPOTTER",
+ "CAN_MANAGE_SPOTTER"
]
},
- "description": "Privileges that will be assigned to the group.",
+ "description": "Privileges that will be assigned to the group. Note: AUTHORING is a no-op — always inherited via ALL_GROUP, assigning it has no effect.",
"nullable": true
},
"sub_group_identifiers": {
@@ -19372,7 +23347,8 @@
"ACTION_OBJECT",
"DATA_SOURCE",
"USER",
- "USER_GROUP"
+ "USER_GROUP",
+ "FOLDER"
],
"description": "Optional type of the header object.",
"nullable": true
@@ -19426,7 +23402,8 @@
"ACTION_OBJECT",
"DATA_SOURCE",
"USER",
- "USER_GROUP"
+ "USER_GROUP",
+ "FOLDER"
],
"description": "Type of metadata. Required if metadata_identifier is name of the object.",
"nullable": true
@@ -19457,7 +23434,8 @@
"USER",
"USER_GROUP",
"ROLE",
- "FEEDBACK"
+ "FEEDBACK",
+ "COLLECTION"
],
"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.",
"nullable": true
@@ -20078,7 +24056,8 @@
"CAN_MANAGE_WEBHOOKS",
"CAN_DOWNLOAD_VISUALS",
"CAN_DOWNLOAD_DETAILED_DATA",
- "CAN_USE_SPOTTER"
+ "CAN_USE_SPOTTER",
+ "CAN_MANAGE_SPOTTER"
]
},
"description": "Privileges granted to the role."
@@ -21083,8 +25062,11 @@
"type": "string",
"enum": [
"Chart",
+ "CHART",
"Table",
- "Undefined"
+ "TABLE",
+ "Undefined",
+ "UNDEFINED"
],
"description": "Generated visualization type.",
"nullable": true
@@ -21574,6 +25556,79 @@
}
}
},
+ "InputTableDefinitionInput": {
+ "type": "object",
+ "required": [
+ "new_columns",
+ "referenced_columns"
+ ],
+ "properties": {
+ "new_columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/InputColumnSchemaInput"
+ },
+ "description": "New input-only columns to create in the table."
+ },
+ "referenced_columns": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Column IDs from the linked model to include in the table.\nPass an empty array to create an input table with no reference\ncolumns from the model."
+ }
+ },
+ "description": "Definition of the input table schema."
+ },
+ "InputColumnSchemaInput": {
+ "type": "object",
+ "required": [
+ "name",
+ "data_type",
+ "type"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the column."
+ },
+ "data_type": {
+ "type": "string",
+ "description": "Physical data type of the column as recognized by the connected\nwarehouse (for example, VARCHAR, INT64, DOUBLE, BOOL, DATE).\nThe accepted values depend on the underlying Cloud Data Warehouse."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "ATTRIBUTE",
+ "MEASURE"
+ ],
+ "description": "Semantic role of the column in ThoughtSpot. Use ATTRIBUTE for\ndimensional data such as text, dates, and identifiers, and\nMEASURE for numeric or aggregatable values."
+ }
+ },
+ "description": "Schema definition for a single input column."
+ },
+ "InputTableResponse": {
+ "type": "object",
+ "properties": {
+ "input_table_identifier": {
+ "type": "string",
+ "description": "Unique ID of the newly created input table.",
+ "nullable": true
+ }
+ }
+ },
+ "InputTableUpdateResponse": {
+ "type": "object",
+ "properties": {
+ "rows_loaded": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of rows successfully written to the input table.",
+ "nullable": true
+ }
+ },
+ "description": "Response returned after successfully writing rows to an input table."
+ },
"PolicyProcessOptionsInput": {
"type": "object",
"properties": {
@@ -21707,13 +25762,14 @@
"storage_type": {
"type": "string",
"enum": [
- "AWS_S3"
+ "AWS_S3",
+ "GCP_GCS"
],
"description": "Type of storage destination.\nExample: \"AWS_S3\""
},
"storage_config": {
"$ref": "#/components/schemas/StorageConfigInput",
- "description": "Storage-specific configuration settings.\nExample: {\"aws_s3_config\": {\"bucket_name\": \"my-webhook-files\", \"region\": \"us-west-2\", \"role_arn\": \"arn:aws:iam::123456789012:role/ThoughtSpotDeliveryRole\", \"external_id\": \"ts-webhook-a1b2c3d4-7890\", \"path_prefix\": \"thoughtspot-webhooks/\"}}"
+ "description": "Storage-specific configuration settings.\nExample: {\"aws_s3_config\": {\"bucket_name\": \"my-webhook-files\", \"region\": \"us-west-2\", \"role_arn\": \"arn:aws:iam::123456789012:role/WebhookDeliveryRole\", \"external_id\": \"ts-webhook-a1b2c3d4-7890\", \"path_prefix\": \"webhook-deliveries/\"}}"
}
},
"description": "Input type for storage destination configuration."
@@ -21723,7 +25779,12 @@
"properties": {
"aws_s3_config": {
"$ref": "#/components/schemas/AwsS3ConfigInput",
- "description": "AWS S3 storage configuration.\nExample: {\"bucket_name\": \"my-webhook-files\", \"region\": \"us-west-2\", \"role_arn\": \"arn:aws:iam::123456789012:role/ThoughtSpotDeliveryRole\", \"external_id\": \"ts-webhook-a1b2c3d4-7890\", \"path_prefix\": \"thoughtspot-webhooks/\"}",
+ "description": "AWS S3 storage configuration.\nExample: {\"bucket_name\": \"my-webhook-files\", \"region\": \"us-west-2\", \"role_arn\": \"arn:aws:iam::123456789012:role/WebhookDeliveryRole\", \"external_id\": \"ts-webhook-a1b2c3d4-7890\", \"path_prefix\": \"webhook-deliveries/\"}",
+ "nullable": true
+ },
+ "gcp_gcs_config": {
+ "$ref": "#/components/schemas/GcpGcsConfigInput",
+ "description": "GCP GCS storage configuration.\nExample: {\"bucket_name\": \"my-webhook-files\", \"service_account_email\": \"my-sa@my-project.iam.gserviceaccount.com\", \"path_prefix\": \"webhooks/\"}
Version: 26.7.0.cl or later",
"nullable": true
}
},
@@ -21747,7 +25808,7 @@
},
"role_arn": {
"type": "string",
- "description": "ARN of the IAM role to assume for S3 access.\nExample: \"arn:aws:iam::123456789012:role/ThoughtSpotDeliveryRole\""
+ "description": "ARN of the IAM role to assume for S3 access.\nExample: \"arn:aws:iam::123456789012:role/WebhookDeliveryRole\""
},
"external_id": {
"type": "string",
@@ -21756,12 +25817,35 @@
},
"path_prefix": {
"type": "string",
- "description": "Optional path prefix for organizing objects within the bucket.\nExample: \"thoughtspot-webhooks/\"",
+ "description": "Optional path prefix for organizing objects within the bucket.\nExample: \"webhook-deliveries/\"",
"nullable": true
}
},
"description": "Input type for AWS S3 storage configuration."
},
+ "GcpGcsConfigInput": {
+ "type": "object",
+ "required": [
+ "bucket_name",
+ "service_account_email"
+ ],
+ "properties": {
+ "bucket_name": {
+ "type": "string",
+ "description": "Name of the GCS bucket where webhook payloads will be stored.\nExample: \"my-webhook-files\""
+ },
+ "service_account_email": {
+ "type": "string",
+ "description": "Email of the GCP service account to impersonate for bucket access.\nThe platform's service account must be granted roles/iam.serviceAccountTokenCreator on this SA.\nExample: \"my-sa@my-project.iam.gserviceaccount.com\""
+ },
+ "path_prefix": {
+ "type": "string",
+ "description": "Optional path prefix for organizing objects within the bucket.\nExample: \"webhooks/\"",
+ "nullable": true
+ }
+ },
+ "description": "Input type for GCP GCS storage configuration."
+ },
"WebhookKeyValuePairInput": {
"type": "object",
"required": [
@@ -21831,79 +25915,322 @@
"type": "string",
"description": "Name of the webhook that failed to delete."
},
- "error": {
+ "error": {
+ "type": "string",
+ "description": "Error message describing why the deletion failed."
+ }
+ }
+ },
+ "CollectionMetadataInput": {
+ "type": "object",
+ "required": [
+ "type",
+ "identifiers"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "COLLECTION"
+ ],
+ "description": "Type of metadata object."
+ },
+ "identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of unique IDs or names of metadata objects."
+ }
+ },
+ "description": "Input type for metadata to be added to a collection."
+ },
+ "CollectionDeleteResponse": {
+ "type": "object",
+ "properties": {
+ "metadata_deleted": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CollectionDeleteTypeIdentifiers"
+ },
+ "description": "List of metadata objects that were successfully deleted.",
+ "nullable": true
+ },
+ "metadata_skipped": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CollectionDeleteTypeIdentifiers"
+ },
+ "description": "List of metadata objects that were skipped during deletion.\nObjects may be skipped due to lack of permissions, dependencies, or other constraints.",
+ "nullable": true
+ }
+ },
+ "description": "Response object for delete collection operation."
+ },
+ "CollectionDeleteTypeIdentifiers": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Type of the metadata object (e.g., Collection, Worksheet, Table).",
+ "nullable": true
+ },
+ "identifiers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/GenericInfo"
+ },
+ "description": "List of metadata identifiers belonging to the given type.",
+ "nullable": true
+ }
+ },
+ "description": "Group of metadata objects identified by type."
+ },
+ "StyleResetOptionsInput": {
+ "type": "object",
+ "properties": {
+ "style": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "CHART_COLOR_PALETTE",
+ "EMBEDDED_FOOTER_TEXT",
+ "NAV_PANEL_COLOR",
+ "DEFAULT_LOGO",
+ "WIDE_LOGO"
+ ]
+ },
+ "description": "Style fields to reset. Supported values: CHART_COLOR_PALETTE,\nEMBEDDED_FOOTER_TEXT, NAV_PANEL_COLOR, DEFAULT_LOGO, WIDE_LOGO.",
+ "nullable": true
+ },
+ "visualization_areas": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "CHART_X_AXIS_LABELS",
+ "CHART_X_AXIS_TITLE",
+ "CHART_Y_AXIS_LABELS",
+ "CHART_Y_AXIS_TITLE",
+ "CHART_TOOLTIP",
+ "CHART_SCATTER_DATA_LABELS",
+ "CHART_DONUT_DATA_LABELS",
+ "CHART_LINE_DATA_LABELS",
+ "CHART_COLUMN_DATA_LABELS",
+ "CHART_BAR_DATA_LABELS",
+ "CHART_AREA_DATA_LABELS",
+ "TABLE_VALUE_CELLS"
+ ]
+ },
+ "description": "Visualization areas whose font assignments should revert to the system\ndefault font.",
+ "nullable": true
+ }
+ },
+ "description": "Fields to revert to defaults when operation is RESET."
+ },
+ "NavigationPanelInput": {
+ "type": "object",
+ "properties": {
+ "theme": {
+ "type": "string",
+ "enum": [
+ "DARK",
+ "TWO_TONE",
+ "CUSTOM"
+ ],
+ "description": "Color mode for the navigation panel. DARK applies the default dark theme.\nTWO_TONE applies a dual-tone style. CUSTOM enables a user-defined base\ncolor; base_color is required when theme is CUSTOM.",
+ "nullable": true
+ },
+ "base_color": {
+ "type": "string",
+ "description": "Base color as a 6-digit hex string (e.g. \"#2359B6\"). Required when theme\nis CUSTOM.",
+ "nullable": true
+ }
+ },
+ "description": "Navigation panel color configuration."
+ },
+ "StyleColorPaletteInput": {
+ "type": "object",
+ "properties": {
+ "colors": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/StyleColorEntryInput"
+ },
+ "description": "Ordered array of exactly 8 color entries defining the chart color palette.",
+ "nullable": true
+ },
+ "disable_color_rotation": {
+ "type": "boolean",
+ "description": "When true, disables automatic color rotation across chart data series.",
+ "nullable": true
+ }
+ },
+ "description": "Chart color palette configuration."
+ },
+ "StyleColorEntryInput": {
+ "type": "object",
+ "required": [
+ "primary"
+ ],
+ "properties": {
+ "primary": {
+ "type": "string",
+ "description": "Primary color as a 6-digit hex string (e.g. \"#2359B6\"). Required."
+ },
+ "secondary": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Array of exactly 4 secondary shade hex strings. If omitted, the server\nauto-generates 4 shades from the primary color. If provided, must contain\nexactly 4 valid 6-digit hex color strings.",
+ "nullable": true
+ }
+ },
+ "description": "A single color entry in the chart color palette."
+ },
+ "VisualizationFontsInput": {
+ "type": "object",
+ "properties": {
+ "chart_visualization_fonts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ChartFontAssignmentInput"
+ },
+ "description": "Font assignments for chart visualization areas. Provide only the areas to\nupdate; omitted areas remain unchanged.",
+ "nullable": true
+ },
+ "table_visualization_fonts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TableFontAssignmentInput"
+ },
+ "description": "Font assignments for table visualization areas. Provide only the areas to\nupdate; omitted areas remain unchanged.",
+ "nullable": true
+ }
+ },
+ "description": "Font assignments grouped by visualization type."
+ },
+ "ChartFontAssignmentInput": {
+ "type": "object",
+ "required": [
+ "visualization_area",
+ "font_identifier"
+ ],
+ "properties": {
+ "visualization_area": {
+ "type": "string",
+ "enum": [
+ "CHART_X_AXIS_LABELS",
+ "CHART_X_AXIS_TITLE",
+ "CHART_Y_AXIS_LABELS",
+ "CHART_Y_AXIS_TITLE",
+ "CHART_TOOLTIP",
+ "CHART_SCATTER_DATA_LABELS",
+ "CHART_DONUT_DATA_LABELS",
+ "CHART_LINE_DATA_LABELS",
+ "CHART_COLUMN_DATA_LABELS",
+ "CHART_BAR_DATA_LABELS",
+ "CHART_AREA_DATA_LABELS"
+ ],
+ "description": "Chart visualization area to assign the font to."
+ },
+ "font_identifier": {
"type": "string",
- "description": "Error message describing why the deletion failed."
+ "description": "UUID or name of the font to assign to this area."
}
- }
+ },
+ "description": "Font assignment for a single chart visualization area."
},
- "CollectionMetadataInput": {
+ "TableFontAssignmentInput": {
"type": "object",
"required": [
- "type",
- "identifiers"
+ "visualization_area",
+ "font_identifier"
],
"properties": {
- "type": {
+ "visualization_area": {
"type": "string",
"enum": [
- "LIVEBOARD",
- "ANSWER",
- "LOGICAL_TABLE",
- "COLLECTION"
+ "TABLE_VALUE_CELLS"
],
- "description": "Type of metadata object."
+ "description": "Table visualization area to assign the font to."
},
- "identifiers": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "List of unique IDs or names of metadata objects."
+ "font_identifier": {
+ "type": "string",
+ "description": "UUID or name of the font to assign to this area."
}
},
- "description": "Input type for metadata to be added to a collection."
+ "description": "Font assignment for a single table visualization area."
},
- "CollectionDeleteResponse": {
+ "StyleFontUploadData": {
"type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
"properties": {
- "metadata_deleted": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/CollectionDeleteTypeIdentifiers"
- },
- "description": "List of metadata objects that were successfully deleted.",
- "nullable": true
+ "id": {
+ "type": "string",
+ "description": "Unique UUID identifier of the uploaded font."
},
- "metadata_skipped": {
+ "name": {
+ "type": "string",
+ "description": "Display name of the uploaded font."
+ }
+ },
+ "description": "Font data returned after a successful upload."
+ },
+ "StyleFontDeleteData": {
+ "type": "object",
+ "properties": {
+ "affected_assignments": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/CollectionDeleteTypeIdentifiers"
+ "$ref": "#/components/schemas/StyleFontDeleteAffectedAssignment"
},
- "description": "List of metadata objects that were skipped during deletion.\nObjects may be skipped due to lack of permissions, dependencies, or other constraints.",
+ "description": "Visualization areas that used the deleted font(s) and were automatically\nreset to the system default font. Empty if no areas were affected.",
"nullable": true
}
},
- "description": "Response object for delete collection operation."
+ "description": "Result data for font deletion."
},
- "CollectionDeleteTypeIdentifiers": {
+ "StyleFontDeleteAffectedAssignment": {
"type": "object",
"properties": {
- "type": {
- "type": "string",
- "description": "Type of the metadata object (e.g., Collection, Worksheet, Table).",
+ "org": {
+ "$ref": "#/components/schemas/StyleOrgInfo",
+ "description": "Org context for this assignment. Present only when scope is ORG.",
"nullable": true
},
- "identifiers": {
+ "visualization_areas": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/GenericInfo"
+ "type": "string",
+ "enum": [
+ "CHART_X_AXIS_LABELS",
+ "CHART_X_AXIS_TITLE",
+ "CHART_Y_AXIS_LABELS",
+ "CHART_Y_AXIS_TITLE",
+ "CHART_TOOLTIP",
+ "CHART_SCATTER_DATA_LABELS",
+ "CHART_DONUT_DATA_LABELS",
+ "CHART_LINE_DATA_LABELS",
+ "CHART_COLUMN_DATA_LABELS",
+ "CHART_BAR_DATA_LABELS",
+ "CHART_AREA_DATA_LABELS",
+ "TABLE_VALUE_CELLS"
+ ]
},
- "description": "List of metadata identifiers belonging to the given type.",
+ "description": "Visualization areas that used the deleted font and were automatically reset\nto the system default font.",
"nullable": true
}
},
- "description": "Group of metadata objects identified by type."
+ "description": "A visualization area assignment affected by a font deletion."
},
"Runtime_Filter": {
"type": "object",
@@ -21980,7 +26307,7 @@
"type": "object",
"properties": {
"query": {
- "description": "User query used to suggest data sources.",
+ "description": "User query used to suggest data sources. Must be a non-empty string.",
"type": "string"
}
},
@@ -22022,7 +26349,7 @@
"nullable": true
},
"query": {
- "description": "A user query that requires breaking down into smaller, more manageable analytical questions to facilitate better understanding and analysis.",
+ "description": "A user query that requires breaking down into smaller, more manageable analytical questions to facilitate better understanding and analysis. Must be a non-empty string.",
"type": "string"
},
"ai_context": {
@@ -22171,6 +26498,18 @@
"message"
]
},
+ "SetAgentInstructionsRequest": {
+ "type": "object",
+ "properties": {
+ "instructions": {
+ "description": "The admin instructions text to set for the agent.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "instructions"
+ ]
+ },
"SetNLInstructionsRequest": {
"type": "object",
"properties": {
@@ -22208,6 +26547,15 @@
"metadata_identifier"
]
},
+ "UpdateConversationRequest": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "description": "New display title for the conversation. Omit to leave the title\nunchanged.",
+ "type": "string"
+ }
+ }
+ },
"ConfigureAuthSettingsRequest": {
"type": "object",
"properties": {
@@ -23841,7 +28189,7 @@
"type": "string"
},
"privileges": {
- "description": "Privileges to assign to the group",
+ "description": "Privileges to assign to the group. Note: AUTHORING is a no-op — always inherited via ALL_GROUP, assigning it has no effect.",
"type": "array",
"items": {
"type": "string",
@@ -23880,7 +28228,8 @@
"CAN_SETUP_VERSION_CONTROL",
"CAN_DOWNLOAD_VISUALS",
"CAN_DOWNLOAD_DETAILED_DATA",
- "CAN_USE_SPOTTER"
+ "CAN_USE_SPOTTER",
+ "CAN_MANAGE_SPOTTER"
]
}
},
@@ -24038,7 +28387,8 @@
"CAN_MANAGE_WEBHOOKS",
"CAN_DOWNLOAD_VISUALS",
"CAN_DOWNLOAD_DETAILED_DATA",
- "CAN_USE_SPOTTER"
+ "CAN_USE_SPOTTER",
+ "CAN_MANAGE_SPOTTER"
]
}
},
@@ -24138,7 +28488,7 @@
"type": "string"
},
"privileges": {
- "description": "Privileges to assign to the group.",
+ "description": "Privileges to assign to the group. Note: AUTHORING is a no-op — always inherited via ALL_GROUP, assigning it has no effect.",
"type": "array",
"items": {
"type": "string",
@@ -24177,7 +28527,8 @@
"CAN_SETUP_VERSION_CONTROL",
"CAN_DOWNLOAD_VISUALS",
"CAN_DOWNLOAD_DETAILED_DATA",
- "CAN_USE_SPOTTER"
+ "CAN_USE_SPOTTER",
+ "CAN_MANAGE_SPOTTER"
]
}
},
@@ -24232,6 +28583,58 @@
}
}
},
+ "CreateInputTableRequest": {
+ "type": "object",
+ "properties": {
+ "table_name": {
+ "description": "Physical table name to create in the external warehouse.",
+ "type": "string"
+ },
+ "model_identifier": {
+ "description": "Unique ID or name of the model (worksheet) to link the\ninput table to.",
+ "type": "string"
+ },
+ "table_definition": {
+ "description": "Definition of the input table, including new columns\nand referenced model columns.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/InputTableDefinitionInput"
+ }
+ ]
+ }
+ },
+ "required": [
+ "table_name",
+ "model_identifier",
+ "table_definition"
+ ]
+ },
+ "UpdateInputTableRequest": {
+ "type": "object",
+ "properties": {
+ "columns": {
+ "description": "Names of the columns being written, in the same order as\nthe values in each row.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "rows": {
+ "description": "Rows to write into the input table. Each row is an array\nof string values aligned positionally with columns.",
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "required": [
+ "columns",
+ "rows"
+ ]
+ },
"SearchChannelHistoryRequest": {
"type": "object",
"properties": {
@@ -24277,6 +28680,11 @@
"description": "Filter records created on or after this time (epoch milliseconds).",
"type": "number",
"format": "float"
+ },
+ "end_epoch_time_in_millis": {
+ "description": "Filter records created before this time (epoch milliseconds).
Version: 26.7.0.cl or later",
+ "type": "number",
+ "format": "float"
}
},
"required": [
@@ -24314,6 +28722,34 @@
"log_type"
]
},
+ "DeleteManualTranslationsRequest": {
+ "type": "object",
+ "properties": {
+ "scope": {
+ "description": "Org scope for the delete. `ORG` (default) targets the calling\nuser's current org. `CLUSTER` targets the All-Org context.",
+ "default": "ORG",
+ "type": "string",
+ "enum": [
+ "ORG",
+ "CLUSTER"
+ ]
+ }
+ }
+ },
+ "ExportManualTranslationsRequest": {
+ "type": "object",
+ "properties": {
+ "scope": {
+ "description": "Org scope for the export. `ORG` (default) targets the calling\nuser's current org. `CLUSTER` targets the All-Org context.",
+ "default": "ORG",
+ "type": "string",
+ "enum": [
+ "ORG",
+ "CLUSTER"
+ ]
+ }
+ }
+ },
"ConvertWorksheetToModelRequest": {
"type": "object",
"properties": {
@@ -24638,6 +29074,12 @@
"default": false,
"type": "boolean",
"nullable": true
+ },
+ "enable_personalized_view_upsert": {
+ "description": "Version: 26.8.0.cl or later
\n\nBoolean flag to enable update/insert of personalized views in liveboard.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
}
},
"required": [
@@ -24688,6 +29130,12 @@
"default": false,
"type": "boolean",
"nullable": true
+ },
+ "enable_personalized_view_upsert": {
+ "description": "Version: 26.8.0.cl or later
\n\nBoolean flag to enable update/insert of personalized views in liveboard.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
}
},
"required": [
@@ -25283,7 +29731,7 @@
"type": "string"
},
"privileges": {
- "description": "Privileges granted to the Role. See [Documentation](https://developers.thoughtspot.com/docs/rbac#_role_categories_and_privileges)for supported roles privileges.",
+ "description": "Privileges granted to the Role. See [Documentation](https://developers.thoughtspot.com/docs/rbac#_role_categories_and_privileges)for supported roles privileges. Note: AUTHORING is a no-op — always inherited via ALL_GROUP, assigning it has no effect.",
"type": "array",
"items": {
"type": "string",
@@ -25329,7 +29777,8 @@
"CAN_MANAGE_WEBHOOKS",
"CAN_DOWNLOAD_VISUALS",
"CAN_DOWNLOAD_DETAILED_DATA",
- "CAN_USE_SPOTTER"
+ "CAN_USE_SPOTTER",
+ "CAN_MANAGE_SPOTTER"
]
}
},
@@ -25427,7 +29876,8 @@
"CAN_MANAGE_WEBHOOKS",
"CAN_DOWNLOAD_VISUALS",
"CAN_DOWNLOAD_DETAILED_DATA",
- "CAN_USE_SPOTTER"
+ "CAN_USE_SPOTTER",
+ "CAN_MANAGE_SPOTTER"
]
}
},
@@ -25476,7 +29926,7 @@
"type": "string"
},
"privileges": {
- "description": "Privileges granted to the role. See [Documentation](https://developers.thoughtspot.com/docs/rbac#_role_categories_and_privileges)for supported roles privileges.",
+ "description": "Privileges granted to the role. See [Documentation](https://developers.thoughtspot.com/docs/rbac#_role_categories_and_privileges)for supported roles privileges. Note: AUTHORING is a no-op — always inherited via ALL_GROUP, assigning it has no effect.",
"type": "array",
"items": {
"type": "string",
@@ -25520,7 +29970,8 @@
"CAN_MANAGE_WEBHOOKS",
"CAN_DOWNLOAD_VISUALS",
"CAN_DOWNLOAD_DETAILED_DATA",
- "CAN_USE_SPOTTER"
+ "CAN_USE_SPOTTER",
+ "CAN_MANAGE_SPOTTER"
]
}
}
@@ -27385,6 +31836,130 @@
"column_security_rules"
]
},
+ "DeleteStyleFontsRequest": {
+ "type": "object",
+ "properties": {
+ "scope": {
+ "description": "Scope of the font library to delete from. CLUSTER deletes from the\ncluster-level library. ORG deletes from the authenticated user's org\nlibrary. Defaults to ORG if omitted.",
+ "default": "ORG",
+ "type": "string",
+ "enum": [
+ "CLUSTER",
+ "ORG"
+ ]
+ },
+ "font_identifiers": {
+ "description": "UUIDs or names of the fonts to delete. At least one identifier is\nrequired.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "dry_run": {
+ "description": "When true, returns affected assignments without applying the deletion.\nUse this to preview the impact before committing. Defaults to true if\nomitted.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "font_identifiers"
+ ]
+ },
+ "ExportStyleLogosRequest": {
+ "type": "object",
+ "properties": {
+ "scope": {
+ "description": "Scope of the logos to export. CLUSTER exports cluster-level logos. ORG\nexports logos for the authenticated user's org, falling back to cluster\nor defaults if no custom logo is set. Defaults to ORG if\nomitted.",
+ "default": "ORG",
+ "type": "string",
+ "enum": [
+ "CLUSTER",
+ "ORG"
+ ]
+ }
+ }
+ },
+ "SearchStyleCustomizationsRequest": {
+ "type": "object",
+ "properties": {
+ "scope": {
+ "description": "Scope of the style preferences to retrieve. CLUSTER returns cluster-level\ndefaults. ORG returns preferences for the authenticated user's org, which\nmay override cluster defaults. If not specified, returns both cluster and\norg preferences based on user privileges.",
+ "type": "string",
+ "enum": [
+ "CLUSTER",
+ "ORG"
+ ]
+ }
+ }
+ },
+ "SearchStyleFontsRequest": {
+ "type": "object",
+ "properties": {
+ "scope": {
+ "description": "Scope of the font library to search. CLUSTER searches the cluster-level\nlibrary. ORG searches the authenticated user's org library. Returns both Cluster and Org\nlevel font if omitted.",
+ "type": "string",
+ "enum": [
+ "CLUSTER",
+ "ORG"
+ ]
+ },
+ "font_identifier": {
+ "description": "Filter by UUID or name of a specific font.",
+ "type": "string"
+ },
+ "name_pattern": {
+ "description": "Filter by font display name. Supports partial, case-insensitive matching.",
+ "type": "string"
+ },
+ "include_font_assignments": {
+ "description": "When true, includes visualization areas this font is assigned to in the\nresponse. Defaults to false if omitted.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ },
+ "UpdateStyleFontRequest": {
+ "type": "object",
+ "properties": {
+ "scope": {
+ "description": "Scope of the font library containing this font. CLUSTER targets the\ncluster-level library. ORG targets the authenticated user's org library.\nDefaults to ORG if omitted.",
+ "default": "ORG",
+ "type": "string",
+ "enum": [
+ "CLUSTER",
+ "ORG"
+ ]
+ },
+ "name": {
+ "description": "New display name for the font. Must be unique within the target scope.",
+ "type": "string"
+ },
+ "weight": {
+ "description": "New weight for the font. Supported values: NORMAL, LIGHT, BOLD.",
+ "type": "string",
+ "enum": [
+ "NORMAL",
+ "LIGHT",
+ "BOLD"
+ ]
+ },
+ "style": {
+ "description": "New style for the font. Supported values: NORMAL, ITALIC, OBLIQUE.",
+ "type": "string",
+ "enum": [
+ "NORMAL",
+ "ITALIC",
+ "OBLIQUE"
+ ]
+ },
+ "color": {
+ "description": "New color for the font as a 6-digit hex string (e.g. \"#333333\"). Returns\nan error if the value is malformed.",
+ "type": "string"
+ }
+ }
+ },
"ConfigureCommunicationChannelPreferencesRequest": {
"type": "object",
"properties": {
@@ -27959,7 +32534,8 @@
"CAN_MANAGE_WEBHOOKS",
"CAN_DOWNLOAD_VISUALS",
"CAN_DOWNLOAD_DETAILED_DATA",
- "CAN_USE_SPOTTER"
+ "CAN_USE_SPOTTER",
+ "CAN_MANAGE_SPOTTER"
]
}
},
@@ -28655,7 +33231,7 @@
]
},
"storage_destination": {
- "description": "Configuration for storage destination.\nExample: {\"storage_type\": \"AWS_S3\", \"storage_config\": {\"aws_s3_config\": {\"bucket_name\": \"my-webhook-files\", \"region\": \"us-west-2\", \"role_arn\": \"arn:aws:iam::123456789012:role/ThoughtSpotDeliveryRole\", \"external_id\": \"ts-webhook-a1b2c3d4-7890\", \"path_prefix\": \"thoughtspot-webhooks/\"}}}
Version: 26.3.0.cl or later",
+ "description": "Configuration for storage destination.\nAWS S3 example: {\"storage_type\": \"AWS_S3\", \"storage_config\": {\"aws_s3_config\": {\"bucket_name\": \"my-webhook-files\", \"region\": \"us-west-2\", \"role_arn\": \"arn:aws:iam::123456789012:role/ThoughtSpotDeliveryRole\", \"external_id\": \"ts-webhook-a1b2c3d4-7890\", \"path_prefix\": \"thoughtspot-webhooks/\"}}}\nGCP GCS example: {\"storage_type\": \"GCP_GCS\", \"storage_config\": {\"gcp_gcs_config\": {\"bucket_name\": \"my-webhook-files\", \"service_account_email\": \"my-sa@my-project.iam.gserviceaccount.com\", \"path_prefix\": \"webhooks/\"}}}
Version: 26.3.0.cl or later",
"allOf": [
{
"$ref": "#/components/schemas/StorageDestinationInput"
@@ -28668,6 +33244,14 @@
"items": {
"$ref": "#/components/schemas/WebhookKeyValuePairInput"
}
+ },
+ "status": {
+ "description": "Status of the webhook (ENABLED or DISABLED). Optional — when omitted,\nstatus is not stored and will be absent from the response.
Version: 26.7.0.cl or later",
+ "type": "string",
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ]
}
},
"required": [
@@ -28728,6 +33312,14 @@
"$ref": "#/components/schemas/WebhookSortOptionsInput"
}
]
+ },
+ "status": {
+ "description": "Filter webhooks by status (ENABLED or DISABLED).
Version: 26.7.0.cl or later",
+ "type": "string",
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ]
}
}
},
@@ -28777,7 +33369,7 @@
]
},
"storage_destination": {
- "description": "Configuration for storage destination.\nExample: {\"storage_type\": \"AWS_S3\", \"storage_config\": {\"aws_s3_config\": {\"bucket_name\": \"my-webhook-files\", \"region\": \"us-west-2\", \"role_arn\": \"arn:aws:iam::123456789012:role/ThoughtSpotDeliveryRole\", \"external_id\": \"ts-webhook-a1b2c3d4-7890\", \"path_prefix\": \"thoughtspot-webhooks/\"}}}
Version: 26.3.0.cl or later",
+ "description": "Configuration for storage destination.\nAWS S3 example: {\"storage_type\": \"AWS_S3\", \"storage_config\": {\"aws_s3_config\": {\"bucket_name\": \"my-webhook-files\", \"region\": \"us-west-2\", \"role_arn\": \"arn:aws:iam::123456789012:role/ThoughtSpotDeliveryRole\", \"external_id\": \"ts-webhook-a1b2c3d4-7890\", \"path_prefix\": \"thoughtspot-webhooks/\"}}}\nGCP GCS example: {\"storage_type\": \"GCP_GCS\", \"storage_config\": {\"gcp_gcs_config\": {\"bucket_name\": \"my-webhook-files\", \"service_account_email\": \"my-sa@my-project.iam.gserviceaccount.com\", \"path_prefix\": \"webhooks/\"}}}
Version: 26.3.0.cl or later",
"allOf": [
{
"$ref": "#/components/schemas/StorageDestinationInput"
@@ -28790,6 +33382,26 @@
"items": {
"$ref": "#/components/schemas/WebhookKeyValuePairInput"
}
+ },
+ "status": {
+ "description": "Status of the webhook (ENABLED or DISABLED).
Version: 26.7.0.cl or later",
+ "type": "string",
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ]
+ },
+ "reset_options": {
+ "description": "List of optional configuration sections to clear. Each value removes the\ncorresponding configuration entirely from the webhook: AUTHENTICATION\nremoves the authentication config, SIGNATURE_VERIFICATION removes the\nsignature verification config, STORAGE_DESTINATION removes the storage\ndestination config.
Version: 26.7.0.cl or later",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "AUTHENTICATION",
+ "SIGNATURE_VERIFICATION",
+ "STORAGE_DESTINATION"
+ ]
+ }
}
}
}