From 47206945439cce1fb84de34214b8d825e8b7395e Mon Sep 17 00:00:00 2001 From: "piyush.tayal" Date: Tue, 28 Apr 2026 04:32:21 +0530 Subject: [PATCH 1/3] style new api --- api-spec/openapiSpecv3-2_0.json | 1685 ++++++++++++++++++++++++++++--- 1 file changed, 1524 insertions(+), 161 deletions(-) diff --git a/api-spec/openapiSpecv3-2_0.json b/api-spec/openapiSpecv3-2_0.json index 2b4b79940..b5c2b164c 100644 --- a/api-spec/openapiSpecv3-2_0.json +++ b/api-spec/openapiSpecv3-2_0.json @@ -189,6 +189,14 @@ ], "description": "Roles for version 26.3.0.cl" }, + { + "name": "26.7.0.cl", + "id": "26.7.0.cl", + "tags": [ + "26.7.0.cl" + ], + "description": "Roles for version 26.7.0.cl" + }, { "name": "10.14.0.cl", "id": "10.14.0.cl", @@ -9183,19 +9191,19 @@ } } }, - "/api/rest/2.0/system/preferences/communication-channels/configure": { + "/api/rest/2.0/customization/styles/fonts/delete": { "post": { - "operationId": "configureCommunicationChannelPreferences", - "description": "\nBeta Version: 10.14.0.cl or later\n\nConfigure communication channel preferences.\n- Use `cluster_preferences` to update the default preferences for your ThoughtSpot application instance.\n- If your instance has [Orgs](https://docs.thoughtspot.com/cloud/latest/orgs-overview), use `org_preferences` to specify Org-specific preferences that override the defaults.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, users with `APPLICATION_ADMINISTRATION` (**Can manage application settings**) privilege are also authorized to perform this action.\n\n\n\n\n#### Endpoint URL\n", + "operationId": "deleteStyleFonts", + "description": "\n Version: 26.7.0.cl or later\n\n\n\n\n\n#### Endpoint URL\n", "tags": [ - "System", - "10.14.0.cl" + "Style Customization", + "26.7.0.cl" ], "requestBody": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ConfigureCommunicationChannelPreferencesRequest" + "$ref": "#/components/schemas/DeleteStyleFontsRequest" } } }, @@ -9203,8 +9211,15 @@ }, "parameters": [], "responses": { - "204": { - "description": "Communication channel preferences successfully updated." + "200": { + "description": "Font deleted successfully.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StyleFontDeleteData" + } + } + } }, "400": { "description": "Invalid request.", @@ -9249,19 +9264,19 @@ } } }, - "/api/rest/2.0/system/security-settings/configure": { + "/api/rest/2.0/customization/styles/logos/export": { "post": { - "operationId": "configureSecuritySettings", - "description": "\n Version: 26.2.0.cl or later\n\nConfigure security settings for your ThoughtSpot application instance.\n- Use `cluster_preferences` to update cluster-level security settings including CORS whitelisted URLs, CSP settings, SAML redirect URLs, partitioned cookies, and non-embed access configuration.\n- Use `org_preferences` to configure Org-specific security settings. If your instance has [Orgs](https://docs.thoughtspot.com/cloud/latest/orgs-overview), this allows configuring CORS and non-embed access settings specific to the Org.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege. Cluster-level SAML and script-src settings require `ADMINISTRATION` privilege.\nSee [Security Settings](https://developers.thoughtspot.com/docs/security-settings) for more details.\n\n\n\n#### Endpoint URL\n", + "operationId": "exportStyleLogos", + "description": "\n Version: 26.7.0.cl or later\n\n\n\n\n\n#### Endpoint URL\n", "tags": [ - "System", - "26.2.0.cl" + "Style Customization", + "26.7.0.cl" ], "requestBody": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ConfigureSecuritySettingsRequest" + "$ref": "#/components/schemas/ExportStyleLogosRequest" } } }, @@ -9269,8 +9284,11 @@ }, "parameters": [], "responses": { - "204": { - "description": "Successfully configured the security settings." + "200": { + "description": "Logo ZIP archive retrieved successfully.", + "content": { + "application/octet-stream": {} + } }, "400": { "description": "Invalid request.", @@ -9315,30 +9333,34 @@ } } }, - "/api/rest/2.0/system/config": { - "get": { - "operationId": "getSystemConfig", - "description": "\n Version: 9.0.0.cl or later\n\nRetrieves the current configuration details of the cluster. If the request is successful, the API returns a list configuration settings applied on the cluster.\n\nRequires `ADMINISTRATION`(**Can administer ThoughtSpot**) privilege to view these complete configuration settings of the cluster.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `SYSTEM_INFO_ADMINISTRATION` (**Can view system activities**) privilege is required.\n\nThis API does not require any parameters to be passed in the request.\n\n\n\n\n#### Endpoint URL\n", + "/api/rest/2.0/customization/styles/search": { + "post": { + "operationId": "searchStyleCustomizations", + "description": "\n Version: 26.7.0.cl or later\n\n\n\n\n\n#### Endpoint URL\n", "tags": [ - "System", - "9.0.0.cl" + "Style Customization", + "26.7.0.cl" ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchStyleCustomizationsRequest" + } + } + }, + "required": true + }, "parameters": [], "responses": { "200": { - "description": "Cluster config information.", + "description": "Style preferences retrieved successfully.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SystemConfig" - }, - "examples": { - "example_1": { - "value": { - "onboarding_content_url": "", - "saml_enabled": false, - "okta_enabled": false - } + "type": "array", + "items": { + "$ref": "#/components/schemas/StylePreference" } } } @@ -9387,50 +9409,34 @@ } } }, - "/api/rest/2.0/system": { - "get": { - "operationId": "getSystemInformation", - "description": "\n Version: 9.0.0.cl or later\n\nGets system information such as the release version, locale, time zone, deployment environment, date format, and date time format of the cluster.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privileges.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `SYSTEM_INFO_ADMINISTRATION` (**Can view system activities**) privilege is required.\n\nThis API does not require any parameters to be passed in the request. \n\n\n\n\n#### Endpoint URL\n", + "/api/rest/2.0/customization/styles/fonts/search": { + "post": { + "operationId": "searchStyleFonts", + "description": "\n Version: 26.7.0.cl or later\n\n\n\n\n\n#### Endpoint URL\n", "tags": [ - "System", - "9.0.0.cl" + "Style Customization", + "26.7.0.cl" ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchStyleFontsRequest" + } + } + }, + "required": true + }, "parameters": [], "responses": { "200": { - "description": "Cluster information.", + "description": "Custom fonts retrieved successfully.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SystemInfo" - }, - "examples": { - "example_1": { - "value": { - "id": "local", - "name": "local", - "release_version": "test", - "time_zone": "America/Los_Angeles", - "locale": "", - "date_format": "MM/dd/yyyy", - "api_version": "v1", - "type": "SW", - "environment": "DEV", - "license": "EAE", - "date_time_format": "MM/dd/yyyy h:mm a", - "time_format": "HH:mm:ss", - "system_user_id": "67e15c06-d153-4924-a4cd-ff615393b60f", - "super_user_id": "0f0dd0f7-7411-4195-a4aa-0dc6b58413c9", - "hidden_object_id": "31745bb4-defd-4e8b-8de9-8fd01db78827", - "system_group_id": "179d8867-cf36-4a8d-a019-63a226fd3196", - "tsadmin_user_id": "59481331-ee53-42be-a548-bd87be6ddd4a", - "admin_group_id": "d0326b56-ef23-4c8a-8327-a30e99bcc72b", - "all_tables_connection_id": "bfc6feb4-8dac-402c-8ae8-78b43d318777", - "all_user_group_id": "b25ee394-9d13-49e3-9385-cd97f5b253b4", - "accept_language": "undefined", - "all_user_group_member_user_count": 13, - "logical_model_version": 43 - } + "type": "array", + "items": { + "$ref": "#/components/schemas/StyleFontRecord" } } } @@ -9479,26 +9485,93 @@ } } }, - "/api/rest/2.0/system/config-overrides": { - "get": { - "operationId": "getSystemOverrideInfo", - "description": "\n Version: 9.2.0.cl or later\n\nGets a list of configuration overrides applied on the cluster. \n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `APPLICATION_ADMINISTRATION` (**Can manage application settings**) privilege is required.\n\nThis API does not require any parameters to be passed in the request. \n\n\n\n\n#### Endpoint URL\n", + "/api/rest/2.0/customization/styles/update": { + "post": { + "operationId": "updateStyleCustomization", + "description": "\n Version: 26.7.0.cl or later\n\n\n\n\n\n#### Endpoint URL\n", "tags": [ - "System", - "9.2.0.cl" + "Style Customization", + "26.7.0.cl" ], - "parameters": [], - "responses": { - "200": { - "description": "Cluster configuration which can be overridden.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SystemOverrideInfo" + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "scope": { + "description": "Scope at which to apply the preferences. CLUSTER sets cluster-level\ndefaults for all orgs. ORG applies to the authenticated user's org.\nDefaults to ORG if omitted.", + "type": "string", + "enum": [ + "CLUSTER", + "ORG" + ] + }, + "operation": { + "description": "Operation to perform. REPLACE (default) applies the provided fields and\nleaves omitted fields unchanged. RESET reverts fields listed in\nreset_options to ThoughtSpot defaults.", + "type": "string", + "enum": [ + "REPLACE", + "RESET" + ] + }, + "reset_options": { + "description": "Fields to reset when operation is RESET. Specify style fields and\nvisualization areas to revert to ThoughtSpot defaults.", + "allOf": [ + { + "$ref": "#/components/schemas/StyleResetOptionsInput" + } + ] + }, + "navigation_panel": { + "description": "Navigation panel color. Provide theme and, when theme is CUSTOM, also\nprovide base_color.", + "allOf": [ + { + "$ref": "#/components/schemas/NavigationPanelInput" + } + ] + }, + "chart_color_palette": { + "description": "Chart color palette. When provided with operation REPLACE, exactly 8\ncolor entries must be specified in colors.", + "allOf": [ + { + "$ref": "#/components/schemas/StyleColorPaletteInput" + } + ] + }, + "embedded_footer_text": { + "description": "Custom footer text for the embedded ThoughtSpot application. An empty\nstring clears the footer.", + "type": "string" + }, + "visualization_fonts": { + "description": "Font assignments per visualization area. Provide only the areas to\nupdate; omitted areas remain unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/VisualizationFontsInput" + } + ] + }, + "default_logo": { + "description": "Binary image for the DEFAULT logo slot (square app icon and favicon;\nrecommended 140x140 px). Accepted formats: PNG, JPG, SVG.", + "type": "string", + "format": "binary" + }, + "wide_logo": { + "description": "Binary image for the WIDE logo slot (horizontal top nav bar logo;\nrecommended 230x45 px). Accepted formats: PNG, JPG, SVG.", + "type": "string", + "format": "binary" + } } } } }, + "required": true + }, + "parameters": [], + "responses": { + "204": { + "description": "Style preferences updated successfully." + }, "400": { "description": "Invalid request.", "content": { @@ -9542,65 +9615,38 @@ } } }, - "/api/rest/2.0/system/preferences/communication-channels/search": { + "/api/rest/2.0/customization/styles/fonts/{font_identifier}": { "post": { - "operationId": "searchCommunicationChannelPreferences", - "description": "\nBeta Version: 10.14.0.cl or later\n\nFetch communication channel preferences.\n- Use `cluster_preferences` to fetch the default preferences for your ThoughtSpot application instance.\n- If your instance has [Orgs](https://docs.thoughtspot.com/cloud/latest/orgs-overview), use `org_preferences` to fetch any Org-specific preferences that override the defaults.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, users with `APPLICATION_ADMINISTRATION` (**Can manage application settings**) privilege are also authorized to perform this action.\n\n\n\n\n#### Endpoint URL\n", + "operationId": "updateStyleFont", + "description": "\n Version: 26.7.0.cl or later\n\n\n\n\n\n#### Endpoint URL\n", "tags": [ - "System", - "10.14.0.cl" + "Style Customization", + "26.7.0.cl" ], "requestBody": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SearchCommunicationChannelPreferencesRequest" + "$ref": "#/components/schemas/UpdateStyleFontRequest" } } }, "required": true }, - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "font_identifier", + "required": true, + "schema": { + "type": "string" + }, + "description": "UUID or name of the font to update." + } + ], "responses": { - "200": { - "description": "Communication channel preferences retrieved successfully.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CommunicationChannelPreferencesResponse" - }, - "examples": { - "example_1": { - "value": { - "cluster_preferences": [ - { - "event_type": "LIVEBOARD_SCHEDULE", - "channels": [ - "WEBHOOK" - ] - } - ], - "org_preferences": [ - { - "org": { - "id": "583464508", - "name": "test_org" - }, - "preferences": [ - { - "event_type": "LIVEBOARD_SCHEDULE", - "channels": [ - "EMAIL" - ] - } - ] - } - ] - } - } - } - } - } + "204": { + "description": "Font metadata updated successfully." }, "400": { "description": "Invalid request.", @@ -9633,7 +9679,7 @@ } }, "500": { - "description": "Unexpected error", + "description": "Unexpected error.", "content": { "application/json": { "schema": { @@ -9645,19 +9691,599 @@ } } }, - "/api/rest/2.0/system/security-settings/search": { + "/api/rest/2.0/customization/styles/fonts/upload": { "post": { - "operationId": "searchSecuritySettings", - "description": "\n Version: 26.2.0.cl or later\n\nFetch security settings for your ThoughtSpot application instance.\n- Use `scope: CLUSTER` to retrieve cluster-level security settings, including CORS and CSP allowlists, SAML redirect URLs, and settings that control access to non-embedded pages.\n- Use `scope: ORG` to retrieve Org-level security settings. If your instance has [Orgs](https://docs.thoughtspot.com/cloud/latest/orgs-overview), this returns CORS and non-embed access settings specific to the Org.\n- If `scope` is not specified, returns both cluster and Org-specific settings based on user privileges.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege.\nSee [Security Settings](https://developers.thoughtspot.com/docs/security-settings) for more details.\n\n\n\n#### Endpoint URL\n", + "operationId": "uploadStyleFont", + "description": "\n Version: 26.7.0.cl or later\n\n\n\n\n\n#### Endpoint URL\n", "tags": [ - "System", - "26.2.0.cl" + "Style Customization", + "26.7.0.cl" ], "requestBody": { "content": { - "application/json": { + "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/SearchSecuritySettingsRequest" + "type": "object", + "properties": { + "scope": { + "description": "Scope of the font library to upload to. CLUSTER uploads to the\ncluster-level library, making the font available as a default for all\norgs. ORG uploads to the authenticated user's org library. Defaults to\nORG if omitted.", + "type": "string", + "enum": [ + "CLUSTER", + "ORG" + ] + }, + "name": { + "description": "Display name for the font (e.g. \"Acme Sans\"). Must be unique within the\ntarget scope; returns an error if a font with this name already exists.", + "type": "string" + }, + "weight": { + "description": "Weight of the font. Supported values: NORMAL, LIGHT, BOLD. Defaults to\nNORMAL if omitted.", + "type": "string", + "enum": [ + "NORMAL", + "LIGHT", + "BOLD" + ] + }, + "style": { + "description": "Style of the font. Supported values: NORMAL, ITALIC, OBLIQUE. Defaults\nto NORMAL if omitted.", + "type": "string", + "enum": [ + "NORMAL", + "ITALIC", + "OBLIQUE" + ] + }, + "color": { + "description": "Color of the font as a 6-digit hex string (e.g. \"#333333\"). Defaults to\n#000000 (black) if omitted. Returns an error if the value is malformed.", + "type": "string" + }, + "file_content": { + "description": "Binary WOFF or WOFF2 font file to upload. Only WOFF and WOFF2 formats\nare accepted; TTF and OTF are rejected. The file is validated on upload.", + "type": "string", + "format": "binary" + } + }, + "required": [ + "name", + "file_content" + ] + } + } + }, + "required": true + }, + "parameters": [], + "responses": { + "200": { + "description": "Font uploaded successfully.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StyleFontUploadData" + } + } + } + }, + "400": { + "description": "Invalid request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "description": "Unauthorized access.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "403": { + "description": "Forbidden access.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "500": { + "description": "Unexpected error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + } + }, + "/api/rest/2.0/system/preferences/communication-channels/configure": { + "post": { + "operationId": "configureCommunicationChannelPreferences", + "description": "\nBeta Version: 10.14.0.cl or later\n\nConfigure communication channel preferences.\n- Use `cluster_preferences` to update the default preferences for your ThoughtSpot application instance.\n- If your instance has [Orgs](https://docs.thoughtspot.com/cloud/latest/orgs-overview), use `org_preferences` to specify Org-specific preferences that override the defaults.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, users with `APPLICATION_ADMINISTRATION` (**Can manage application settings**) privilege are also authorized to perform this action.\n\n\n\n\n#### Endpoint URL\n", + "tags": [ + "System", + "10.14.0.cl" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfigureCommunicationChannelPreferencesRequest" + } + } + }, + "required": true + }, + "parameters": [], + "responses": { + "204": { + "description": "Communication channel preferences successfully updated." + }, + "400": { + "description": "Invalid request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "description": "Unauthorized access.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "403": { + "description": "Forbidden access.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "500": { + "description": "Unexpected error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + } + }, + "/api/rest/2.0/system/security-settings/configure": { + "post": { + "operationId": "configureSecuritySettings", + "description": "\n Version: 26.2.0.cl or later\n\nConfigure security settings for your ThoughtSpot application instance.\n- Use `cluster_preferences` to update cluster-level security settings including CORS whitelisted URLs, CSP settings, SAML redirect URLs, partitioned cookies, and non-embed access configuration.\n- Use `org_preferences` to configure Org-specific security settings. If your instance has [Orgs](https://docs.thoughtspot.com/cloud/latest/orgs-overview), this allows configuring CORS and non-embed access settings specific to the Org.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege. Cluster-level SAML and script-src settings require `ADMINISTRATION` privilege.\nSee [Security Settings](https://developers.thoughtspot.com/docs/security-settings) for more details.\n\n\n\n#### Endpoint URL\n", + "tags": [ + "System", + "26.2.0.cl" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfigureSecuritySettingsRequest" + } + } + }, + "required": true + }, + "parameters": [], + "responses": { + "204": { + "description": "Successfully configured the security settings." + }, + "400": { + "description": "Invalid request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "description": "Unauthorized access.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "403": { + "description": "Forbidden access.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "500": { + "description": "Unexpected error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + } + }, + "/api/rest/2.0/system/config": { + "get": { + "operationId": "getSystemConfig", + "description": "\n Version: 9.0.0.cl or later\n\nRetrieves the current configuration details of the cluster. If the request is successful, the API returns a list configuration settings applied on the cluster.\n\nRequires `ADMINISTRATION`(**Can administer ThoughtSpot**) privilege to view these complete configuration settings of the cluster.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `SYSTEM_INFO_ADMINISTRATION` (**Can view system activities**) privilege is required.\n\nThis API does not require any parameters to be passed in the request.\n\n\n\n\n#### Endpoint URL\n", + "tags": [ + "System", + "9.0.0.cl" + ], + "parameters": [], + "responses": { + "200": { + "description": "Cluster config information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SystemConfig" + }, + "examples": { + "example_1": { + "value": { + "onboarding_content_url": "", + "saml_enabled": false, + "okta_enabled": false + } + } + } + } + } + }, + "400": { + "description": "Invalid request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "description": "Unauthorized access.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "403": { + "description": "Forbidden access.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "500": { + "description": "Unexpected error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + } + }, + "/api/rest/2.0/system": { + "get": { + "operationId": "getSystemInformation", + "description": "\n Version: 9.0.0.cl or later\n\nGets system information such as the release version, locale, time zone, deployment environment, date format, and date time format of the cluster.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privileges.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `SYSTEM_INFO_ADMINISTRATION` (**Can view system activities**) privilege is required.\n\nThis API does not require any parameters to be passed in the request. \n\n\n\n\n#### Endpoint URL\n", + "tags": [ + "System", + "9.0.0.cl" + ], + "parameters": [], + "responses": { + "200": { + "description": "Cluster information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SystemInfo" + }, + "examples": { + "example_1": { + "value": { + "id": "local", + "name": "local", + "release_version": "test", + "time_zone": "America/Los_Angeles", + "locale": "", + "date_format": "MM/dd/yyyy", + "api_version": "v1", + "type": "SW", + "environment": "DEV", + "license": "EAE", + "date_time_format": "MM/dd/yyyy h:mm a", + "time_format": "HH:mm:ss", + "system_user_id": "67e15c06-d153-4924-a4cd-ff615393b60f", + "super_user_id": "0f0dd0f7-7411-4195-a4aa-0dc6b58413c9", + "hidden_object_id": "31745bb4-defd-4e8b-8de9-8fd01db78827", + "system_group_id": "179d8867-cf36-4a8d-a019-63a226fd3196", + "tsadmin_user_id": "59481331-ee53-42be-a548-bd87be6ddd4a", + "admin_group_id": "d0326b56-ef23-4c8a-8327-a30e99bcc72b", + "all_tables_connection_id": "bfc6feb4-8dac-402c-8ae8-78b43d318777", + "all_user_group_id": "b25ee394-9d13-49e3-9385-cd97f5b253b4", + "accept_language": "undefined", + "all_user_group_member_user_count": 13, + "logical_model_version": 43 + } + } + } + } + } + }, + "400": { + "description": "Invalid request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "description": "Unauthorized access.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "403": { + "description": "Forbidden access.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "500": { + "description": "Unexpected error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + } + }, + "/api/rest/2.0/system/config-overrides": { + "get": { + "operationId": "getSystemOverrideInfo", + "description": "\n Version: 9.2.0.cl or later\n\nGets a list of configuration overrides applied on the cluster. \n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `APPLICATION_ADMINISTRATION` (**Can manage application settings**) privilege is required.\n\nThis API does not require any parameters to be passed in the request. \n\n\n\n\n#### Endpoint URL\n", + "tags": [ + "System", + "9.2.0.cl" + ], + "parameters": [], + "responses": { + "200": { + "description": "Cluster configuration which can be overridden.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SystemOverrideInfo" + } + } + } + }, + "400": { + "description": "Invalid request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "description": "Unauthorized access.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "403": { + "description": "Forbidden access.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "500": { + "description": "Unexpected error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + } + }, + "/api/rest/2.0/system/preferences/communication-channels/search": { + "post": { + "operationId": "searchCommunicationChannelPreferences", + "description": "\nBeta Version: 10.14.0.cl or later\n\nFetch communication channel preferences.\n- Use `cluster_preferences` to fetch the default preferences for your ThoughtSpot application instance.\n- If your instance has [Orgs](https://docs.thoughtspot.com/cloud/latest/orgs-overview), use `org_preferences` to fetch any Org-specific preferences that override the defaults.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, users with `APPLICATION_ADMINISTRATION` (**Can manage application settings**) privilege are also authorized to perform this action.\n\n\n\n\n#### Endpoint URL\n", + "tags": [ + "System", + "10.14.0.cl" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchCommunicationChannelPreferencesRequest" + } + } + }, + "required": true + }, + "parameters": [], + "responses": { + "200": { + "description": "Communication channel preferences retrieved successfully.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CommunicationChannelPreferencesResponse" + }, + "examples": { + "example_1": { + "value": { + "cluster_preferences": [ + { + "event_type": "LIVEBOARD_SCHEDULE", + "channels": [ + "WEBHOOK" + ] + } + ], + "org_preferences": [ + { + "org": { + "id": "583464508", + "name": "test_org" + }, + "preferences": [ + { + "event_type": "LIVEBOARD_SCHEDULE", + "channels": [ + "EMAIL" + ] + } + ] + } + ] + } + } + } + } + } + }, + "400": { + "description": "Invalid request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "description": "Unauthorized access.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "403": { + "description": "Forbidden access.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "500": { + "description": "Unexpected error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + } + }, + "/api/rest/2.0/system/security-settings/search": { + "post": { + "operationId": "searchSecuritySettings", + "description": "\n Version: 26.2.0.cl or later\n\nFetch security settings for your ThoughtSpot application instance.\n- Use `scope: CLUSTER` to retrieve cluster-level security settings, including CORS and CSP allowlists, SAML redirect URLs, and settings that control access to non-embedded pages.\n- Use `scope: ORG` to retrieve Org-level security settings. If your instance has [Orgs](https://docs.thoughtspot.com/cloud/latest/orgs-overview), this returns CORS and non-embed access settings specific to the Org.\n- If `scope` is not specified, returns both cluster and Org-specific settings based on user privileges.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege.\nSee [Security Settings](https://developers.thoughtspot.com/docs/security-settings) for more details.\n\n\n\n#### Endpoint URL\n", + "tags": [ + "System", + "26.2.0.cl" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchSecuritySettingsRequest" } } }, @@ -17619,39 +18245,414 @@ "nullable": true } }, - "description": "Event metadata for the triggering event associated with a job." + "description": "Event metadata for the triggering event associated with a job." + }, + "JobRecipient": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "USER", + "EXTERNAL" + ], + "description": "Type of the recipient." + }, + "id": { + "type": "string", + "description": "Unique ID of the recipient.", + "nullable": true + }, + "name": { + "type": "string", + "description": "Name of the recipient.", + "nullable": true + }, + "email": { + "type": "string", + "description": "Email of the recipient.", + "nullable": true + } + }, + "description": "A recipient (user, group, or external) for a job execution." + }, + "StylePreference": { + "type": "object", + "required": [ + "scope" + ], + "properties": { + "scope": { + "type": "string", + "enum": [ + "CLUSTER", + "ORG" + ], + "description": "Scope at which these style preferences apply." + }, + "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 ThoughtSpot\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": "integer", + "format": "int32", + "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 ThoughtSpot font library." }, - "JobRecipient": { + "StyleFontAssignment": { "type": "object", - "required": [ - "type" - ], "properties": { - "type": { - "type": "string", - "enum": [ - "USER", - "EXTERNAL" - ], - "description": "Type of the recipient." - }, - "id": { - "type": "string", - "description": "Unique ID of the recipient.", - "nullable": true - }, - "name": { - "type": "string", - "description": "Name of the recipient.", + "org": { + "$ref": "#/components/schemas/StyleOrgInfo", + "description": "Org context for this assignment. Present only when scope is ORG.", "nullable": true }, - "email": { - "type": "string", - "description": "Email of the recipient.", + "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": "A recipient (user, group, or external) for a job execution." + "description": "Visualization areas assigned to a font, grouped by org context." }, "GenericInfo": { "type": "object", @@ -21846,6 +22847,249 @@ }, "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 ThoughtSpot 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": "UUID or name of the font to assign to this area." + } + }, + "description": "Font assignment for a single chart visualization area." + }, + "TableFontAssignmentInput": { + "type": "object", + "required": [ + "visualization_area", + "font_identifier" + ], + "properties": { + "visualization_area": { + "type": "string", + "enum": [ + "TABLE_VALUE_CELLS" + ], + "description": "Table visualization area to assign the font to." + }, + "font_identifier": { + "type": "string", + "description": "UUID or name of the font to assign to this area." + } + }, + "description": "Font assignment for a single table visualization area." + }, + "StyleFontUploadData": { + "type": "object", + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique UUID identifier of the uploaded font." + }, + "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/StyleFontDeleteAffectedAssignment" + }, + "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": "Result data for font deletion." + }, + "StyleFontDeleteAffectedAssignment": { + "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 that used the deleted font and were automatically reset\nto the system default font.", + "nullable": true + } + }, + "description": "A visualization area assignment affected by a font deletion." + }, "Runtime_Filter": { "type": "object", "properties": { @@ -27331,6 +28575,125 @@ "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.", + "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.", + "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 ThoughtSpot defaults if no custom logo is set. Defaults to ORG if\nomitted.", + "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. Defaults to ORG if omitted.", + "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. Defaults to\nORG 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.", + "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.", + "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": { From 7d65696ddff7e3031caa0934021b90dfba79cbcd Mon Sep 17 00:00:00 2001 From: "piyush.tayal" Date: Tue, 5 May 2026 16:15:22 +0530 Subject: [PATCH 2/3] new --- api-spec/openapiSpecv3-2_0.json | 356 ++++++++++++++++++++++++++++++-- 1 file changed, 339 insertions(+), 17 deletions(-) diff --git a/api-spec/openapiSpecv3-2_0.json b/api-spec/openapiSpecv3-2_0.json index b5c2b164c..c9d9e9570 100644 --- a/api-spec/openapiSpecv3-2_0.json +++ b/api-spec/openapiSpecv3-2_0.json @@ -5988,7 +5988,7 @@ "/api/rest/2.0/jobs/history/communication-channels/search": { "post": { "operationId": "searchChannelHistory", - "description": "\n Version: 26.4.0.cl or later\n\nSearches delivery history for communication channels such as webhooks. Returns channel-level delivery status for each job execution record. Use this to monitor channel health and delivery success rates across events.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, users with `CAN_MANAGE_WEBHOOKS` (**Can manage webhooks**) privilege are also authorized to perform this action.\n\n**NOTE**: When `channel_type` is `WEBHOOK`, the following constraints apply:\n\n- `job_ids`, `channel_identifiers`, and `events` each accept at most one element.\n- When `job_ids` is provided, it is used as the sole lookup key and other filter fields are ignored.\n- When `job_ids` is not provided, `channel_identifiers` and `events` are both required. Each must contain exactly one element, and the event object must include the `identifier` field.\n- Records older than the configured retention period are not returned.\n\n\n\n\n#### Endpoint URL\n", + "description": "\n Version: 26.4.0.cl or later\n\nSearches delivery history for communication channels such as webhooks. Returns channel-level delivery status for each job execution record. Use this to monitor channel health and delivery success rates across events.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, users with `CAN_MANAGE_WEBHOOKS` (**Can manage webhooks**) privilege are also authorized to perform this action.\n\n**NOTE**: When `channel_type` is `WEBHOOK`, the following constraints apply:\n\n- `job_ids`, `channel_identifiers`, and `events` each accept at most one element.\n- When `job_ids` is provided, it is used as the sole lookup key and other filter fields are ignored.\n- When `job_ids` is not provided, `channel_identifiers` and `events` are both required, each containing exactly one element.\n- Records older than the configured retention period are not returned.\n- Use `start_epoch_time_in_millis` and/or `end_epoch_time_in_millis` to narrow results to a specific time window.\n\n\n\n\n#### Endpoint URL\n", "tags": [ "Jobs", "26.4.0.cl" @@ -9194,7 +9194,7 @@ "/api/rest/2.0/customization/styles/fonts/delete": { "post": { "operationId": "deleteStyleFonts", - "description": "\n Version: 26.7.0.cl or later\n\n\n\n\n\n#### Endpoint URL\n", + "description": "\n Version: 26.7.0.cl or later\n\nDeletes one or more custom fonts from the cluster-level or org-level font library. If a deleted font is assigned to visualization areas, those assignments automatically fallback to the cluster/system default font. The response lists all affected areas. For cluster-level fonts, `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege is necessary. Important: dry_run defaults to true. To actually delete fonts, you must explicitly pass dry_run: false.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` privilege is required.\n\n#### Usage guidelines\n\n- Provide one or more font UUIDs or names in `font_identifiers`.\n- Set `scope` to `CLUSTER` to delete from the cluster-level library. Set `scope` to `ORG` (default) to delete from the authenticated user's org library.\n- Use `dry_run: true` to preview which visualization areas would be affected without actually deleting the font. The response lists affected assignments; no changes are applied.\n- Deletions cannot be undone. Re-upload the font file using `uploadStyleFont` if needed.\n\n\n\n\n#### Endpoint URL\n", "tags": [ "Style Customization", "26.7.0.cl" @@ -9217,6 +9217,31 @@ "application/json": { "schema": { "$ref": "#/components/schemas/StyleFontDeleteData" + }, + "examples": { + "example_1": { + "summary": "Font deleted with affected assignments", + "value": { + "affected_assignments": [ + { + "org": { + "id": 1234567890, + "name": "Sales" + }, + "visualization_areas": [ + "CHART_X_AXIS_LABELS", + "CHART_Y_AXIS_LABELS" + ] + } + ] + } + }, + "example_2": { + "summary": "Font deleted with no affected assignments", + "value": { + "affected_assignments": [] + } + } } } } @@ -9267,7 +9292,7 @@ "/api/rest/2.0/customization/styles/logos/export": { "post": { "operationId": "exportStyleLogos", - "description": "\n Version: 26.7.0.cl or later\n\n\n\n\n\n#### Endpoint URL\n", + "description": "\n Version: 26.7.0.cl or later\n\nDownloads the active logos (default and wide slots) at the requested scope as a single ZIP archive containing both logo image files. If no custom logo has been uploaded at the ORG scope, the archive contains the resolved logo falling through from the cluster. If no cluster logo has been uploaded, no file is returned.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` privilege is required.\n\n#### Usage guidelines\n\n- Set `scope` to `CLUSTER` to download cluster-level logos.\n- Set `scope` to `ORG` (default) to download logos for the authenticated user's org.\n- The response is a ZIP archive (`application/zip`). Save the response body directly to a `.zip` file.\n- The archive always contains two files — one for the DEFAULT slot and one for the WIDE slot — even if no custom logo is set at the requested scope.\n\n\n\n\n#### Endpoint URL\n", "tags": [ "Style Customization", "26.7.0.cl" @@ -9336,7 +9361,7 @@ "/api/rest/2.0/customization/styles/search": { "post": { "operationId": "searchStyleCustomizations", - "description": "\n Version: 26.7.0.cl or later\n\n\n\n\n\n#### Endpoint URL\n", + "description": "\n Version: 26.7.0.cl or later\n\nRetrieves style preferences at cluster level or for the authenticated user's org. Cluster-level preferences serve as defaults for all orgs. Org-level preferences override cluster defaults.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` privilege is required.\n\n#### Usage guidelines\n\n- Set `scope` to `CLUSTER` to retrieve cluster-level style defaults.\n- Set `scope` to `ORG` (default) to retrieve preferences for the authenticated user's org.\n- Each field in the response includes an `is_overridden` flag indicating whether the value was explicitly set at the requested scope or inherited from a parent scope (cluster or system default).\n\n\n\n\n#### Endpoint URL\n", "tags": [ "Style Customization", "26.7.0.cl" @@ -9362,6 +9387,251 @@ "items": { "$ref": "#/components/schemas/StylePreference" } + }, + "examples": { + "example_1": { + "value": [ + { + "scope": "CLUSTER", + "navigation_panel": { + "theme": "DARK", + "is_overridden": false + }, + "chart_color_palette": { + "colors": [ + { + "primary": "#2359B6", + "secondary": [ + "#1A4690", + "#0E2E66", + "#07194A", + "#030D30" + ] + }, + { + "primary": "#E8552D", + "secondary": [ + "#C4421A", + "#9E2F0D", + "#7A2005", + "#581302" + ] + }, + { + "primary": "#F5A623", + "secondary": [ + "#D08B0E", + "#A86E05", + "#825202", + "#5E3900" + ] + }, + { + "primary": "#7ED321", + "secondary": [ + "#62A815", + "#488009", + "#305A03", + "#1C3800" + ] + }, + { + "primary": "#9B59B6", + "secondary": [ + "#7D3F9A", + "#612C7E", + "#481C62", + "#320F48" + ] + }, + { + "primary": "#1ABC9C", + "secondary": [ + "#0E9E81", + "#077F67", + "#03624E", + "#014838" + ] + }, + { + "primary": "#E74C3C", + "secondary": [ + "#C0392B", + "#9A2518", + "#761409", + "#540703" + ] + }, + { + "primary": "#3498DB", + "secondary": [ + "#1A7DC0", + "#0E60A0", + "#074580", + "#032C60" + ] + } + ], + "disable_color_rotation": false, + "is_overridden": false + }, + "embedded_footer_text": { + "value": "", + "is_overridden": false + }, + "logo": { + "default_logo": { + "id": "a1b2c3d4-0001-0001-0001-000000000001", + "is_overridden": false + }, + "wide_logo": { + "id": "a1b2c3d4-0002-0002-0002-000000000002", + "is_overridden": false + } + }, + "visualization_fonts": { + "chart_visualization_fonts": [ + { + "visualization_area": "CHART_X_AXIS_LABELS", + "font_id": null, + "font_name": null, + "is_overridden": false + } + ], + "table_visualization_fonts": [ + { + "visualization_area": "TABLE_VALUE_CELLS", + "font_id": null, + "font_name": null, + "is_overridden": false + } + ] + } + }, + { + "scope": "ORG", + "org": { + "id": 1234567890, + "name": "Sales" + }, + "navigation_panel": { + "theme": "CUSTOM", + "base_color": "#2359B6", + "is_overridden": true + }, + "chart_color_palette": { + "colors": [ + { + "primary": "#2359B6", + "secondary": [ + "#1A4690", + "#0E2E66", + "#07194A", + "#030D30" + ] + }, + { + "primary": "#E8552D", + "secondary": [ + "#C4421A", + "#9E2F0D", + "#7A2005", + "#581302" + ] + }, + { + "primary": "#F5A623", + "secondary": [ + "#D08B0E", + "#A86E05", + "#825202", + "#5E3900" + ] + }, + { + "primary": "#7ED321", + "secondary": [ + "#62A815", + "#488009", + "#305A03", + "#1C3800" + ] + }, + { + "primary": "#9B59B6", + "secondary": [ + "#7D3F9A", + "#612C7E", + "#481C62", + "#320F48" + ] + }, + { + "primary": "#1ABC9C", + "secondary": [ + "#0E9E81", + "#077F67", + "#03624E", + "#014838" + ] + }, + { + "primary": "#E74C3C", + "secondary": [ + "#C0392B", + "#9A2518", + "#761409", + "#540703" + ] + }, + { + "primary": "#3498DB", + "secondary": [ + "#1A7DC0", + "#0E60A0", + "#074580", + "#032C60" + ] + } + ], + "disable_color_rotation": false, + "is_overridden": false + }, + "embedded_footer_text": { + "value": "Powered by Sales Analytics", + "is_overridden": true + }, + "logo": { + "default_logo": { + "id": "b2c3d4e5-0001-0001-0001-000000000011", + "is_overridden": true + }, + "wide_logo": { + "id": "b2c3d4e5-0002-0002-0002-000000000022", + "is_overridden": true + } + }, + "visualization_fonts": { + "chart_visualization_fonts": [ + { + "visualization_area": "CHART_X_AXIS_LABELS", + "font_id": "c3d4e5f6-1111-1111-1111-111111111111", + "font_name": "Acme Sans", + "is_overridden": true + } + ], + "table_visualization_fonts": [ + { + "visualization_area": "TABLE_VALUE_CELLS", + "font_id": null, + "font_name": null, + "is_overridden": false + } + ] + } + } + ] + } } } } @@ -9412,7 +9682,7 @@ "/api/rest/2.0/customization/styles/fonts/search": { "post": { "operationId": "searchStyleFonts", - "description": "\n Version: 26.7.0.cl or later\n\n\n\n\n\n#### Endpoint URL\n", + "description": "\n Version: 26.7.0.cl or later\n\nReturns custom fonts available in the cluster-level or org-level font library. Omitting all filter fields returns all fonts in the target scope.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` privilege is required.\n\n#### Usage guidelines\n\n- Set `scope` to `CLUSTER` to search the cluster-level library. Set `scope` to `ORG` (default) to search the authenticated user's org library.\n- Use `font_identifier` to look up a specific font by UUID or name.\n- Use `name_pattern` for partial, case-insensitive name matching.\n- Set `include_font_assignments` to `true` to include visualization areas this font is currently assigned to. Defaults to `false`.\n\n\n\n\n#### Endpoint URL\n", "tags": [ "Style Customization", "26.7.0.cl" @@ -9438,6 +9708,47 @@ "items": { "$ref": "#/components/schemas/StyleFontRecord" } + }, + "examples": { + "example_1": { + "value": [ + { + "id": "c3d4e5f6-1111-1111-1111-111111111111", + "scope": "ORG", + "org": { + "id": 1234567890, + "name": "Sales" + }, + "name": "Acme Sans", + "weight": "NORMAL", + "style": "NORMAL", + "color": "#333333", + "creation_time_in_millis": 1714000000000, + "assignments": [ + { + "org": { + "id": 1234567890, + "name": "Sales" + }, + "visualization_areas": [ + "CHART_X_AXIS_LABELS", + "CHART_Y_AXIS_LABELS" + ] + } + ] + }, + { + "id": "d4e5f6a7-2222-2222-2222-222222222222", + "scope": "CLUSTER", + "name": "Corporate Bold", + "weight": "BOLD", + "style": "NORMAL", + "color": "#000000", + "creation_time_in_millis": 1713500000000, + "assignments": [] + } + ] + } } } } @@ -9488,7 +9799,7 @@ "/api/rest/2.0/customization/styles/update": { "post": { "operationId": "updateStyleCustomization", - "description": "\n Version: 26.7.0.cl or later\n\n\n\n\n\n#### Endpoint URL\n", + "description": "\n Version: 26.7.0.cl or later\n\nUpdates style preferences at cluster level or for the authenticated user's org, including navigation panel color, chart color palette, embedded footer text, logo, and font assignments per visualization area. Cluster-level preferences serve as defaults for all orgs. Org-level preferences override cluster defaults.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**), `DEVELOPER` (**Has developer privilege**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` privilege is required.\n\n#### Usage guidelines\n\nTwo operations are supported via the `operation` field:\n\n- **REPLACE** (default): Applies the fields provided in the request. Omitted fields remain unchanged.\n- **RESET**: Reverts specific fields to ThoughtSpot defaults. Specify which fields to reset using `reset_options.style` (for style fields) and `reset_options.visualization_areas` (for font assignments). Fields not listed in `reset_options` are not affected.\n\n#### Logo upload\n\nLogo files are uploaded as binary fields using `multipart/form-data`:\n\n- `default_logo`: Square app icon and favicon. Recommended size: 140×140 px. Accepted formats: PNG, JPG.\n- `wide_logo`: Horizontal top nav bar logo. Recommended size: 230×45 px. Accepted formats: PNG, JPG.\n\nTo reset a logo to the ThoughtSpot default, use `operation: RESET` with `reset_options.style` set to `DEFAULT_LOGO` or `WIDE_LOGO`.\n\n#### Navigation panel color\n\nSet `navigation_panel.theme` to one of:\n\n- `DARK`: Default dark ThoughtSpot theme.\n- `TWO_TONE`: Dual-tone panel style.\n- `CUSTOM`: User-defined color. Provide `navigation_panel.base_color` as a 6-digit hex string (e.g. `#2359B6`).\n\n#### Chart color palette\n\nProvide exactly 8 color entries in `chart_color_palette.colors`. Each entry requires a `primary` hex color. If `secondary` shades are omitted, the server auto-generates 4 shades from the primary color.\n\n#### Font assignments\n\nSpecify `visualization_fonts.chart_visualization_fonts` and `visualization_fonts.table_visualization_fonts` to assign custom fonts to specific visualization areas. Only provide the areas you want to update; omitted areas remain unchanged.\n\n\n\n\n#### Endpoint URL\n", "tags": [ "Style Customization", "26.7.0.cl" @@ -9552,12 +9863,12 @@ ] }, "default_logo": { - "description": "Binary image for the DEFAULT logo slot (square app icon and favicon;\nrecommended 140x140 px). Accepted formats: PNG, JPG, SVG.", + "description": "Binary image for the DEFAULT logo slot (square app icon and favicon;\nrecommended 140x140 px). Accepted formats: PNG, JPG.", "type": "string", "format": "binary" }, "wide_logo": { - "description": "Binary image for the WIDE logo slot (horizontal top nav bar logo;\nrecommended 230x45 px). Accepted formats: PNG, JPG, SVG.", + "description": "Binary image for the WIDE logo slot (horizontal top nav bar logo;\nrecommended 230x45 px). Accepted formats: PNG, JPG.", "type": "string", "format": "binary" } @@ -9615,10 +9926,10 @@ } } }, - "/api/rest/2.0/customization/styles/fonts/{font_identifier}": { + "/api/rest/2.0/customization/styles/fonts/{font_identifier}/update": { "post": { "operationId": "updateStyleFont", - "description": "\n Version: 26.7.0.cl or later\n\n\n\n\n\n#### Endpoint URL\n", + "description": "\n Version: 26.7.0.cl or later\n\nUpdates the metadata of an existing custom font in the cluster-level or org-level font library. Only the fields provided in the request are modified; omitted fields remain unchanged.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` privilege is required.\n\n#### Usage guidelines\n\n- Identify the font using `font_identifier` (UUID or name).\n- Set `scope` to `CLUSTER` to target the cluster-level library. Set `scope` to `ORG` (default) to target the authenticated user's org library.\n- To replace the font file itself (WOFF/WOFF2 binary), delete the existing font and re-upload using `uploadStyleFont`.\n- `name` must be unique within the target scope if provided.\n- `color` must be a valid 6-digit hex string (e.g. `#333333`) if provided.\n\n\n\n\n#### Endpoint URL\n", "tags": [ "Style Customization", "26.7.0.cl" @@ -9694,7 +10005,7 @@ "/api/rest/2.0/customization/styles/fonts/upload": { "post": { "operationId": "uploadStyleFont", - "description": "\n Version: 26.7.0.cl or later\n\n\n\n\n\n#### Endpoint URL\n", + "description": "\n Version: 26.7.0.cl or later\n\nUploads a custom font to the cluster-level or org-level font library. Cluster-level fonts are available as defaults for all orgs. Org-level fonts are only available within that org.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` privilege is required.\n\n#### Usage guidelines\n\n- Only **WOFF** and **WOFF2** font formats are accepted. TTF and OTF files are rejected with an error.\n- The `name` field must be unique within the target scope. Uploading a font with a name that already exists returns an error.\n- Set `scope` to `CLUSTER` to upload to the cluster-level library. Set `scope` to `ORG` (default) to upload to the authenticated user's org library.\n- `weight` defaults to `NORMAL` if omitted. Supported values: `NORMAL`, `LIGHT`, `BOLD`.\n- `style` defaults to `NORMAL` if omitted. Supported values: `NORMAL`, `ITALIC`, `OBLIQUE`.\n- `color` defaults to `#000000` (black) if omitted. Provide as a 6-digit hex string (e.g. `#333333`).\n- The uploaded font can be assigned to visualization areas using the `updateStyleCustomization` endpoint.\n\n\n\n\n#### Endpoint URL\n", "tags": [ "Style Customization", "26.7.0.cl" @@ -9762,6 +10073,14 @@ "application/json": { "schema": { "$ref": "#/components/schemas/StyleFontUploadData" + }, + "examples": { + "example_1": { + "value": { + "id": "c3d4e5f6-1111-1111-1111-111111111111", + "name": "Acme Sans" + } + } } } } @@ -18281,9 +18600,6 @@ }, "StylePreference": { "type": "object", - "required": [ - "scope" - ], "properties": { "scope": { "type": "string", @@ -18291,7 +18607,8 @@ "CLUSTER", "ORG" ], - "description": "Scope at which these style preferences apply." + "description": "Scope at which these style preferences apply.", + "nullable": true }, "org": { "$ref": "#/components/schemas/StyleOrgInfo", @@ -18605,8 +18922,8 @@ "nullable": true }, "creation_time_in_millis": { - "type": "integer", - "format": "int32", + "type": "number", + "format": "float", "description": "Timestamp in milliseconds when the font was uploaded.", "nullable": true }, @@ -25462,6 +25779,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 on or before this time (epoch milliseconds).
Version: 26.7.0.cl or later", + "type": "number", + "format": "float" } }, "required": [ From 3ee705a633b3806b2932fb66dc728e97eb5ff503 Mon Sep 17 00:00:00 2001 From: "piyush.tayal" Date: Wed, 6 May 2026 05:03:49 +0530 Subject: [PATCH 3/3] test --- api-spec/openapiSpecv3-2_0.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/api-spec/openapiSpecv3-2_0.json b/api-spec/openapiSpecv3-2_0.json index c9d9e9570..f2a1c4582 100644 --- a/api-spec/openapiSpecv3-2_0.json +++ b/api-spec/openapiSpecv3-2_0.json @@ -9873,6 +9873,12 @@ "format": "binary" } } + }, + "encoding": { + "reset_options": { "contentType": "application/json" }, + "navigation_panel": { "contentType": "application/json" }, + "chart_color_palette": { "contentType": "application/json" }, + "visualization_fonts": { "contentType": "application/json" } } } },