** in the Liveboard schedule email notifications.\n* For Liveboards with both charts and tables, schedule creation is only supported in PDF and XLS formats. Schedules created in CSV formats for such Liveboards will fail to run. If `PDF` is set as the `file_format`, enable `pdf_options` to get the correct attachment. Not doing so may cause the attachment to be rendered empty.\n* To include only specific visualizations, specify the visualization GUIDs in the `visualization_identifiers` array.\n* You can schedule a Liveboard job to run periodically by setting frequency parameters. You can set the schedule to run daily, weekly, monthly or every n minutes or hours. The scheduled job can also be configured to run at a specific time of the day or on specific days of the week or month. Please ensure that when setting the schedule frequency for _minute of the object_, only values that are multiples of 5 are included.\n* If the `frequency` parameters are defined, you can set the time zone to a value that matches your server's time zone. For example, `US/Central`, `Etc/UTC`, `CET`. The default time zone is `America/Los_Angeles`.\n\nFor more information about Liveboard jobs, see [ThoughtSpot Product Documentation](https://docs.thoughtspot.com/cloud/latest/liveboard-schedule).\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Schedules",
+ "9.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the scheduled job.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the job.",
+ "type": "string"
+ },
+ "metadata_type": {
+ "description": "Type of the metadata object.",
+ "type": "string",
+ "enum": [
+ "LIVEBOARD"
+ ]
+ },
+ "metadata_identifier": {
+ "description": "Unique ID or name of the metadata object.",
+ "type": "string"
+ },
+ "file_format": {
+ "description": "Export file format.",
+ "default": "PDF",
+ "type": "string",
+ "enum": [
+ "CSV",
+ "PDF",
+ "XLSX"
+ ]
+ },
+ "liveboard_options": {
+ "description": "Options to specify details of Liveboard.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/LiveboardOptionsInput"
+ }
+ ]
+ },
+ "pdf_options": {
+ "description": "PDF layout and orientation settings. Applicable only if the `file_format` is specified as `PDF`.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SchedulesPdfOptionsInput"
+ }
+ ]
+ },
+ "time_zone": {
+ "description": "Time zone",
+ "default": "America/Los_Angeles",
+ "type": "string",
+ "enum": [
+ "Africa/Abidjan",
+ "Africa/Accra",
+ "Africa/Addis_Ababa",
+ "Africa/Algiers",
+ "Africa/Asmara",
+ "Africa/Asmera",
+ "Africa/Bamako",
+ "Africa/Bangui",
+ "Africa/Banjul",
+ "Africa/Bissau",
+ "Africa/Blantyre",
+ "Africa/Brazzaville",
+ "Africa/Bujumbura",
+ "Africa/Cairo",
+ "Africa/Casablanca",
+ "Africa/Ceuta",
+ "Africa/Conakry",
+ "Africa/Dakar",
+ "Africa/Dar_es_Salaam",
+ "Africa/Djibouti",
+ "Africa/Douala",
+ "Africa/El_Aaiun",
+ "Africa/Freetown",
+ "Africa/Gaborone",
+ "Africa/Harare",
+ "Africa/Johannesburg",
+ "Africa/Juba",
+ "Africa/Kampala",
+ "Africa/Khartoum",
+ "Africa/Kigali",
+ "Africa/Kinshasa",
+ "Africa/Lagos",
+ "Africa/Libreville",
+ "Africa/Lome",
+ "Africa/Luanda",
+ "Africa/Lubumbashi",
+ "Africa/Lusaka",
+ "Africa/Malabo",
+ "Africa/Maputo",
+ "Africa/Maseru",
+ "Africa/Mbabane",
+ "Africa/Mogadishu",
+ "Africa/Monrovia",
+ "Africa/Nairobi",
+ "Africa/Ndjamena",
+ "Africa/Niamey",
+ "Africa/Nouakchott",
+ "Africa/Ouagadougou",
+ "Africa/Porto-Novo",
+ "Africa/Sao_Tome",
+ "Africa/Timbuktu",
+ "Africa/Tripoli",
+ "Africa/Tunis",
+ "Africa/Windhoek",
+ "America/Adak",
+ "America/Anchorage",
+ "America/Anguilla",
+ "America/Antigua",
+ "America/Araguaina",
+ "America/Argentina/Buenos_Aires",
+ "America/Argentina/Catamarca",
+ "America/Argentina/ComodRivadavia",
+ "America/Argentina/Cordoba",
+ "America/Argentina/Jujuy",
+ "America/Argentina/La_Rioja",
+ "America/Argentina/Mendoza",
+ "America/Argentina/Rio_Gallegos",
+ "America/Argentina/Salta",
+ "America/Argentina/San_Juan",
+ "America/Argentina/San_Luis",
+ "America/Argentina/Tucuman",
+ "America/Argentina/Ushuaia",
+ "America/Aruba",
+ "America/Asuncion",
+ "America/Atikokan",
+ "America/Atka",
+ "America/Bahia",
+ "America/Bahia_Banderas",
+ "America/Barbados",
+ "America/Belem",
+ "America/Belize",
+ "America/Blanc-Sablon",
+ "America/Boa_Vista",
+ "America/Bogota",
+ "America/Boise",
+ "America/Buenos_Aires",
+ "America/Cambridge_Bay",
+ "America/Campo_Grande",
+ "America/Cancun",
+ "America/Caracas",
+ "America/Catamarca",
+ "America/Cayenne",
+ "America/Cayman",
+ "America/Chicago",
+ "America/Chihuahua",
+ "America/Coral_Harbour",
+ "America/Cordoba",
+ "America/Costa_Rica",
+ "America/Creston",
+ "America/Cuiaba",
+ "America/Curacao",
+ "America/Danmarkshavn",
+ "America/Dawson",
+ "America/Dawson_Creek",
+ "America/Denver",
+ "America/Detroit",
+ "America/Dominica",
+ "America/Edmonton",
+ "America/Eirunepe",
+ "America/El_Salvador",
+ "America/Ensenada",
+ "America/Fort_Nelson",
+ "America/Fort_Wayne",
+ "America/Fortaleza",
+ "America/Glace_Bay",
+ "America/Godthab",
+ "America/Goose_Bay",
+ "America/Grand_Turk",
+ "America/Grenada",
+ "America/Guadeloupe",
+ "America/Guatemala",
+ "America/Guayaquil",
+ "America/Guyana",
+ "America/Halifax",
+ "America/Havana",
+ "America/Hermosillo",
+ "America/Indiana/Indianapolis",
+ "America/Indiana/Knox",
+ "America/Indiana/Marengo",
+ "America/Indiana/Petersburg",
+ "America/Indiana/Tell_City",
+ "America/Indiana/Vevay",
+ "America/Indiana/Vincennes",
+ "America/Indiana/Winamac",
+ "America/Indianapolis",
+ "America/Inuvik",
+ "America/Iqaluit",
+ "America/Jamaica",
+ "America/Jujuy",
+ "America/Juneau",
+ "America/Kentucky/Louisville",
+ "America/Kentucky/Monticello",
+ "America/Knox_IN",
+ "America/Kralendijk",
+ "America/La_Paz",
+ "America/Lima",
+ "America/Los_Angeles",
+ "America/Louisville",
+ "America/Lower_Princes",
+ "America/Maceio",
+ "America/Managua",
+ "America/Manaus",
+ "America/Marigot",
+ "America/Martinique",
+ "America/Matamoros",
+ "America/Mazatlan",
+ "America/Mendoza",
+ "America/Menominee",
+ "America/Merida",
+ "America/Metlakatla",
+ "America/Mexico_City",
+ "America/Miquelon",
+ "America/Moncton",
+ "America/Monterrey",
+ "America/Montevideo",
+ "America/Montreal",
+ "America/Montserrat",
+ "America/Nassau",
+ "America/New_York",
+ "America/Nipigon",
+ "America/Nome",
+ "America/Noronha",
+ "America/North_Dakota/Beulah",
+ "America/North_Dakota/Center",
+ "America/North_Dakota/New_Salem",
+ "America/Nuuk",
+ "America/Ojinaga",
+ "America/Panama",
+ "America/Pangnirtung",
+ "America/Paramaribo",
+ "America/Phoenix",
+ "America/Port-au-Prince",
+ "America/Port_of_Spain",
+ "America/Porto_Acre",
+ "America/Porto_Velho",
+ "America/Puerto_Rico",
+ "America/Punta_Arenas",
+ "America/Rainy_River",
+ "America/Rankin_Inlet",
+ "America/Recife",
+ "America/Regina",
+ "America/Resolute",
+ "America/Rio_Branco",
+ "America/Rosario",
+ "America/Santa_Isabel",
+ "America/Santarem",
+ "America/Santiago",
+ "America/Santo_Domingo",
+ "America/Sao_Paulo",
+ "America/Scoresbysund",
+ "America/Shiprock",
+ "America/Sitka",
+ "America/St_Barthelemy",
+ "America/St_Johns",
+ "America/St_Kitts",
+ "America/St_Lucia",
+ "America/St_Thomas",
+ "America/St_Vincent",
+ "America/Swift_Current",
+ "America/Tegucigalpa",
+ "America/Thule",
+ "America/Thunder_Bay",
+ "America/Tijuana",
+ "America/Toronto",
+ "America/Tortola",
+ "America/Vancouver",
+ "America/Virgin",
+ "America/Whitehorse",
+ "America/Winnipeg",
+ "America/Yakutat",
+ "America/Yellowknife",
+ "Antarctica/Casey",
+ "Antarctica/Davis",
+ "Antarctica/DumontDUrville",
+ "Antarctica/Macquarie",
+ "Antarctica/Mawson",
+ "Antarctica/McMurdo",
+ "Antarctica/Palmer",
+ "Antarctica/Rothera",
+ "Antarctica/South_Pole",
+ "Antarctica/Syowa",
+ "Antarctica/Troll",
+ "Antarctica/Vostok",
+ "Arctic/Longyearbyen",
+ "Asia/Aden",
+ "Asia/Almaty",
+ "Asia/Amman",
+ "Asia/Anadyr",
+ "Asia/Aqtau",
+ "Asia/Aqtobe",
+ "Asia/Ashgabat",
+ "Asia/Ashkhabad",
+ "Asia/Atyrau",
+ "Asia/Baghdad",
+ "Asia/Bahrain",
+ "Asia/Baku",
+ "Asia/Bangkok",
+ "Asia/Barnaul",
+ "Asia/Beirut",
+ "Asia/Bishkek",
+ "Asia/Brunei",
+ "Asia/Calcutta",
+ "Asia/Chita",
+ "Asia/Choibalsan",
+ "Asia/Chongqing",
+ "Asia/Chungking",
+ "Asia/Colombo",
+ "Asia/Dacca",
+ "Asia/Damascus",
+ "Asia/Dhaka",
+ "Asia/Dili",
+ "Asia/Dubai",
+ "Asia/Dushanbe",
+ "Asia/Famagusta",
+ "Asia/Gaza",
+ "Asia/Harbin",
+ "Asia/Hebron",
+ "Asia/Ho_Chi_Minh",
+ "Asia/Hong_Kong",
+ "Asia/Hovd",
+ "Asia/Irkutsk",
+ "Asia/Istanbul",
+ "Asia/Jakarta",
+ "Asia/Jayapura",
+ "Asia/Jerusalem",
+ "Asia/Kabul",
+ "Asia/Kamchatka",
+ "Asia/Karachi",
+ "Asia/Kashgar",
+ "Asia/Kathmandu",
+ "Asia/Katmandu",
+ "Asia/Khandyga",
+ "Asia/Kolkata",
+ "Asia/Krasnoyarsk",
+ "Asia/Kuala_Lumpur",
+ "Asia/Kuching",
+ "Asia/Kuwait",
+ "Asia/Macao",
+ "Asia/Macau",
+ "Asia/Magadan",
+ "Asia/Makassar",
+ "Asia/Manila",
+ "Asia/Muscat",
+ "Asia/Nicosia",
+ "Asia/Novokuznetsk",
+ "Asia/Novosibirsk",
+ "Asia/Omsk",
+ "Asia/Oral",
+ "Asia/Phnom_Penh",
+ "Asia/Pontianak",
+ "Asia/Pyongyang",
+ "Asia/Qatar",
+ "Asia/Qostanay",
+ "Asia/Qyzylorda",
+ "Asia/Rangoon",
+ "Asia/Riyadh",
+ "Asia/Saigon",
+ "Asia/Sakhalin",
+ "Asia/Samarkand",
+ "Asia/Seoul",
+ "Asia/Shanghai",
+ "Asia/Singapore",
+ "Asia/Srednekolymsk",
+ "Asia/Taipei",
+ "Asia/Tashkent",
+ "Asia/Tbilisi",
+ "Asia/Tehran",
+ "Asia/Tel_Aviv",
+ "Asia/Thimbu",
+ "Asia/Thimphu",
+ "Asia/Tokyo",
+ "Asia/Tomsk",
+ "Asia/Ujung_Pandang",
+ "Asia/Ulaanbaatar",
+ "Asia/Ulan_Bator",
+ "Asia/Urumqi",
+ "Asia/Ust-Nera",
+ "Asia/Vientiane",
+ "Asia/Vladivostok",
+ "Asia/Yakutsk",
+ "Asia/Yangon",
+ "Asia/Yekaterinburg",
+ "Asia/Yerevan",
+ "Atlantic/Azores",
+ "Atlantic/Bermuda",
+ "Atlantic/Canary",
+ "Atlantic/Cape_Verde",
+ "Atlantic/Faeroe",
+ "Atlantic/Faroe",
+ "Atlantic/Jan_Mayen",
+ "Atlantic/Madeira",
+ "Atlantic/Reykjavik",
+ "Atlantic/South_Georgia",
+ "Atlantic/St_Helena",
+ "Atlantic/Stanley",
+ "Australia/ACT",
+ "Australia/Adelaide",
+ "Australia/Brisbane",
+ "Australia/Broken_Hill",
+ "Australia/Canberra",
+ "Australia/Currie",
+ "Australia/Darwin",
+ "Australia/Eucla",
+ "Australia/Hobart",
+ "Australia/LHI",
+ "Australia/Lindeman",
+ "Australia/Lord_Howe",
+ "Australia/Melbourne",
+ "Australia/NSW",
+ "Australia/North",
+ "Australia/Perth",
+ "Australia/Queensland",
+ "Australia/South",
+ "Australia/Sydney",
+ "Australia/Tasmania",
+ "Australia/Victoria",
+ "Australia/West",
+ "Australia/Yancowinna",
+ "Brazil/Acre",
+ "Brazil/DeNoronha",
+ "Brazil/East",
+ "Brazil/West",
+ "CET",
+ "CST6CDT",
+ "Canada/Atlantic",
+ "Canada/Central",
+ "Canada/Eastern",
+ "Canada/Mountain",
+ "Canada/Newfoundland",
+ "Canada/Pacific",
+ "Canada/Saskatchewan",
+ "Canada/Yukon",
+ "Chile/Continental",
+ "Chile/EasterIsland",
+ "Cuba",
+ "EET",
+ "EST5EDT",
+ "Egypt",
+ "Eire",
+ "Etc/GMT",
+ "Etc/GMT+0",
+ "Etc/GMT+1",
+ "Etc/GMT+10",
+ "Etc/GMT+11",
+ "Etc/GMT+12",
+ "Etc/GMT+2",
+ "Etc/GMT+3",
+ "Etc/GMT+4",
+ "Etc/GMT+5",
+ "Etc/GMT+6",
+ "Etc/GMT+7",
+ "Etc/GMT+8",
+ "Etc/GMT+9",
+ "Etc/GMT-0",
+ "Etc/GMT-1",
+ "Etc/GMT-10",
+ "Etc/GMT-11",
+ "Etc/GMT-12",
+ "Etc/GMT-13",
+ "Etc/GMT-14",
+ "Etc/GMT-2",
+ "Etc/GMT-3",
+ "Etc/GMT-4",
+ "Etc/GMT-5",
+ "Etc/GMT-6",
+ "Etc/GMT-7",
+ "Etc/GMT-8",
+ "Etc/GMT-9",
+ "Etc/GMT0",
+ "Etc/Greenwich",
+ "Etc/UCT",
+ "Etc/UTC",
+ "Etc/Universal",
+ "Etc/Zulu",
+ "Europe/Amsterdam",
+ "Europe/Andorra",
+ "Europe/Astrakhan",
+ "Europe/Athens",
+ "Europe/Belfast",
+ "Europe/Belgrade",
+ "Europe/Berlin",
+ "Europe/Bratislava",
+ "Europe/Brussels",
+ "Europe/Bucharest",
+ "Europe/Budapest",
+ "Europe/Busingen",
+ "Europe/Chisinau",
+ "Europe/Copenhagen",
+ "Europe/Dublin",
+ "Europe/Gibraltar",
+ "Europe/Guernsey",
+ "Europe/Helsinki",
+ "Europe/Isle_of_Man",
+ "Europe/Istanbul",
+ "Europe/Jersey",
+ "Europe/Kaliningrad",
+ "Europe/Kiev",
+ "Europe/Kirov",
+ "Europe/Kyiv",
+ "Europe/Lisbon",
+ "Europe/Ljubljana",
+ "Europe/London",
+ "Europe/Luxembourg",
+ "Europe/Madrid",
+ "Europe/Malta",
+ "Europe/Mariehamn",
+ "Europe/Minsk",
+ "Europe/Monaco",
+ "Europe/Moscow",
+ "Europe/Nicosia",
+ "Europe/Oslo",
+ "Europe/Paris",
+ "Europe/Podgorica",
+ "Europe/Prague",
+ "Europe/Riga",
+ "Europe/Rome",
+ "Europe/Samara",
+ "Europe/San_Marino",
+ "Europe/Sarajevo",
+ "Europe/Saratov",
+ "Europe/Simferopol",
+ "Europe/Skopje",
+ "Europe/Sofia",
+ "Europe/Stockholm",
+ "Europe/Tallinn",
+ "Europe/Tirane",
+ "Europe/Tiraspol",
+ "Europe/Ulyanovsk",
+ "Europe/Uzhgorod",
+ "Europe/Vaduz",
+ "Europe/Vatican",
+ "Europe/Vienna",
+ "Europe/Vilnius",
+ "Europe/Volgograd",
+ "Europe/Warsaw",
+ "Europe/Zagreb",
+ "Europe/Zaporozhye",
+ "Europe/Zurich",
+ "GB",
+ "GB-Eire",
+ "GMT",
+ "GMT0",
+ "Greenwich",
+ "Hongkong",
+ "Iceland",
+ "Indian/Antananarivo",
+ "Indian/Chagos",
+ "Indian/Christmas",
+ "Indian/Cocos",
+ "Indian/Comoro",
+ "Indian/Kerguelen",
+ "Indian/Mahe",
+ "Indian/Maldives",
+ "Indian/Mauritius",
+ "Indian/Mayotte",
+ "Indian/Reunion",
+ "Iran",
+ "Israel",
+ "Jamaica",
+ "Japan",
+ "Kwajalein",
+ "Libya",
+ "MET",
+ "MST7MDT",
+ "Mexico/BajaNorte",
+ "Mexico/BajaSur",
+ "Mexico/General",
+ "NZ",
+ "NZ-CHAT",
+ "Navajo",
+ "PRC",
+ "PST8PDT",
+ "Pacific/Apia",
+ "Pacific/Auckland",
+ "Pacific/Bougainville",
+ "Pacific/Chatham",
+ "Pacific/Chuuk",
+ "Pacific/Easter",
+ "Pacific/Efate",
+ "Pacific/Enderbury",
+ "Pacific/Fakaofo",
+ "Pacific/Fiji",
+ "Pacific/Funafuti",
+ "Pacific/Galapagos",
+ "Pacific/Gambier",
+ "Pacific/Guadalcanal",
+ "Pacific/Guam",
+ "Pacific/Honolulu",
+ "Pacific/Johnston",
+ "Pacific/Kanton",
+ "Pacific/Kiritimati",
+ "Pacific/Kosrae",
+ "Pacific/Kwajalein",
+ "Pacific/Majuro",
+ "Pacific/Marquesas",
+ "Pacific/Midway",
+ "Pacific/Nauru",
+ "Pacific/Niue",
+ "Pacific/Norfolk",
+ "Pacific/Noumea",
+ "Pacific/Pago_Pago",
+ "Pacific/Palau",
+ "Pacific/Pitcairn",
+ "Pacific/Pohnpei",
+ "Pacific/Ponape",
+ "Pacific/Port_Moresby",
+ "Pacific/Rarotonga",
+ "Pacific/Saipan",
+ "Pacific/Samoa",
+ "Pacific/Tahiti",
+ "Pacific/Tarawa",
+ "Pacific/Tongatapu",
+ "Pacific/Truk",
+ "Pacific/Wake",
+ "Pacific/Wallis",
+ "Pacific/Yap",
+ "Poland",
+ "Portugal",
+ "ROK",
+ "Singapore",
+ "SystemV/AST4",
+ "SystemV/AST4ADT",
+ "SystemV/CST6",
+ "SystemV/CST6CDT",
+ "SystemV/EST5",
+ "SystemV/EST5EDT",
+ "SystemV/HST10",
+ "SystemV/MST7",
+ "SystemV/MST7MDT",
+ "SystemV/PST8",
+ "SystemV/PST8PDT",
+ "SystemV/YST9",
+ "SystemV/YST9YDT",
+ "Turkey",
+ "UCT",
+ "US/Alaska",
+ "US/Aleutian",
+ "US/Arizona",
+ "US/Central",
+ "US/East-Indiana",
+ "US/Eastern",
+ "US/Hawaii",
+ "US/Indiana-Starke",
+ "US/Michigan",
+ "US/Mountain",
+ "US/Pacific",
+ "US/Samoa",
+ "UTC",
+ "Universal",
+ "W-SU",
+ "WET",
+ "Zulu",
+ "EST",
+ "HST",
+ "MST",
+ "ACT",
+ "AET",
+ "AGT",
+ "ART",
+ "AST",
+ "BET",
+ "BST",
+ "CAT",
+ "CNT",
+ "CST",
+ "CTT",
+ "EAT",
+ "ECT",
+ "IET",
+ "IST",
+ "JST",
+ "MIT",
+ "NET",
+ "NST",
+ "PLT",
+ "PNT",
+ "PRT",
+ "PST",
+ "SST",
+ "VST"
+ ]
+ },
+ "frequency": {
+ "description": "Frequency settings for the scheduled job.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/FrequencyInput"
+ }
+ ]
+ },
+ "recipient_details": {
+ "description": "Recipients of the scheduled job notifications. Add the GUID or name of the ThoughtSpot users or groups as recipients in the `principals` array. If a recipient is not a ThoughtSpot user, specify email address.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/RecipientDetailsInput"
+ }
+ ]
+ },
+ "personalised_view_id": {
+ "description": "Personalised view id of the liveboard to be scheduled.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "description",
+ "metadata_type",
+ "metadata_identifier",
+ "time_zone",
+ "recipient_details"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Schedule successfully created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseSchedule"
+ }
+ }
+ }
+ },
+ "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/schedules/{schedule_identifier}/delete": {
+ "post": {
+ "operationId": "deleteSchedule",
+ "description": "\nDeletes a scheduled job.
Version: 9.4.0.cl or later\n\nDeletes a scheduled Liveboard job.\n\nRequires at least edit access to Liveboard or `ADMINISTRATION` (**Can administer Org**) privilege. \nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `JOBSCHEDULING` (**Can schedule for others**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Schedules",
+ "9.4.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "schedule_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the scheduled job."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Schedule successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/schedules/search": {
+ "post": {
+ "operationId": "searchSchedules",
+ "description": "\nSearch Schedules
Version: 9.4.0.cl or later\n\nGets a list of scheduled jobs configured for a Liveboard.\n\nTo get details of a specific scheduled job, specify the name or GUID of the scheduled job.\n\nRequires at least view access to Liveboards.\n\n**NOTE**: When filtering schedules by parameters other than `metadata`, set `record_size` to `-1` and `record_offset` to `0` for accurate results.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Schedules",
+ "9.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects associated with the scheduled jobs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/MetadataInput"
+ }
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "sort_options": {
+ "description": "Sort options.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SortingOptions"
+ }
+ ]
+ },
+ "history_runs_options": {
+ "description": "Options while fetching history runs for the schedule.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ScheduleHistoryRunsOptionsInput"
+ }
+ ]
+ },
+ "schedule_identifiers": {
+ "description": "unique ID or name of the Schedule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Schedule search result.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ResponseSchedule"
+ }
+ }
+ }
+ }
+ },
+ "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/schedules/{schedule_identifier}/update": {
+ "post": {
+ "operationId": "updateSchedule",
+ "description": "\nUpdate schedule.
Version: 9.4.0.cl or later\n\nUpdates a scheduled Liveboard job.\n\nRequires at least edit access to Liveboards. To update a schedule on behalf of another user, you need `ADMINISTRATION` (**Can administer Org**) or `JOBSCHEDULING` (**Can schedule for others**) privilege and edit access to the Liveboard.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `JOBSCHEDULING` (**Can schedule for others**) privilege is required.\n\nThe API endpoint allows you to pause a scheduled job, change the status of a paused job. You can also edit the recipients list, frequency of the job, format of the file to send to the recipients in email notifications, PDF options, and time zone setting.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Schedules",
+ "9.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the scheduled job.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the scheduled job.",
+ "type": "string"
+ },
+ "metadata_type": {
+ "description": "Type of metadata object.",
+ "type": "string",
+ "enum": [
+ "LIVEBOARD"
+ ]
+ },
+ "metadata_identifier": {
+ "description": "Unique ID or name of the metadata object.",
+ "type": "string"
+ },
+ "file_format": {
+ "description": "Export file format.",
+ "type": "string",
+ "enum": [
+ "CSV",
+ "PDF",
+ "XLSX"
+ ]
+ },
+ "liveboard_options": {
+ "description": "Options to specify the details of a Liveboard.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/LiveboardOptionsInput"
+ }
+ ]
+ },
+ "pdf_options": {
+ "description": "Options for PDF export.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SchedulesPdfOptionsInput"
+ }
+ ]
+ },
+ "time_zone": {
+ "description": "Time zone",
+ "type": "string",
+ "enum": [
+ "Africa/Abidjan",
+ "Africa/Accra",
+ "Africa/Addis_Ababa",
+ "Africa/Algiers",
+ "Africa/Asmara",
+ "Africa/Asmera",
+ "Africa/Bamako",
+ "Africa/Bangui",
+ "Africa/Banjul",
+ "Africa/Bissau",
+ "Africa/Blantyre",
+ "Africa/Brazzaville",
+ "Africa/Bujumbura",
+ "Africa/Cairo",
+ "Africa/Casablanca",
+ "Africa/Ceuta",
+ "Africa/Conakry",
+ "Africa/Dakar",
+ "Africa/Dar_es_Salaam",
+ "Africa/Djibouti",
+ "Africa/Douala",
+ "Africa/El_Aaiun",
+ "Africa/Freetown",
+ "Africa/Gaborone",
+ "Africa/Harare",
+ "Africa/Johannesburg",
+ "Africa/Juba",
+ "Africa/Kampala",
+ "Africa/Khartoum",
+ "Africa/Kigali",
+ "Africa/Kinshasa",
+ "Africa/Lagos",
+ "Africa/Libreville",
+ "Africa/Lome",
+ "Africa/Luanda",
+ "Africa/Lubumbashi",
+ "Africa/Lusaka",
+ "Africa/Malabo",
+ "Africa/Maputo",
+ "Africa/Maseru",
+ "Africa/Mbabane",
+ "Africa/Mogadishu",
+ "Africa/Monrovia",
+ "Africa/Nairobi",
+ "Africa/Ndjamena",
+ "Africa/Niamey",
+ "Africa/Nouakchott",
+ "Africa/Ouagadougou",
+ "Africa/Porto-Novo",
+ "Africa/Sao_Tome",
+ "Africa/Timbuktu",
+ "Africa/Tripoli",
+ "Africa/Tunis",
+ "Africa/Windhoek",
+ "America/Adak",
+ "America/Anchorage",
+ "America/Anguilla",
+ "America/Antigua",
+ "America/Araguaina",
+ "America/Argentina/Buenos_Aires",
+ "America/Argentina/Catamarca",
+ "America/Argentina/ComodRivadavia",
+ "America/Argentina/Cordoba",
+ "America/Argentina/Jujuy",
+ "America/Argentina/La_Rioja",
+ "America/Argentina/Mendoza",
+ "America/Argentina/Rio_Gallegos",
+ "America/Argentina/Salta",
+ "America/Argentina/San_Juan",
+ "America/Argentina/San_Luis",
+ "America/Argentina/Tucuman",
+ "America/Argentina/Ushuaia",
+ "America/Aruba",
+ "America/Asuncion",
+ "America/Atikokan",
+ "America/Atka",
+ "America/Bahia",
+ "America/Bahia_Banderas",
+ "America/Barbados",
+ "America/Belem",
+ "America/Belize",
+ "America/Blanc-Sablon",
+ "America/Boa_Vista",
+ "America/Bogota",
+ "America/Boise",
+ "America/Buenos_Aires",
+ "America/Cambridge_Bay",
+ "America/Campo_Grande",
+ "America/Cancun",
+ "America/Caracas",
+ "America/Catamarca",
+ "America/Cayenne",
+ "America/Cayman",
+ "America/Chicago",
+ "America/Chihuahua",
+ "America/Coral_Harbour",
+ "America/Cordoba",
+ "America/Costa_Rica",
+ "America/Creston",
+ "America/Cuiaba",
+ "America/Curacao",
+ "America/Danmarkshavn",
+ "America/Dawson",
+ "America/Dawson_Creek",
+ "America/Denver",
+ "America/Detroit",
+ "America/Dominica",
+ "America/Edmonton",
+ "America/Eirunepe",
+ "America/El_Salvador",
+ "America/Ensenada",
+ "America/Fort_Nelson",
+ "America/Fort_Wayne",
+ "America/Fortaleza",
+ "America/Glace_Bay",
+ "America/Godthab",
+ "America/Goose_Bay",
+ "America/Grand_Turk",
+ "America/Grenada",
+ "America/Guadeloupe",
+ "America/Guatemala",
+ "America/Guayaquil",
+ "America/Guyana",
+ "America/Halifax",
+ "America/Havana",
+ "America/Hermosillo",
+ "America/Indiana/Indianapolis",
+ "America/Indiana/Knox",
+ "America/Indiana/Marengo",
+ "America/Indiana/Petersburg",
+ "America/Indiana/Tell_City",
+ "America/Indiana/Vevay",
+ "America/Indiana/Vincennes",
+ "America/Indiana/Winamac",
+ "America/Indianapolis",
+ "America/Inuvik",
+ "America/Iqaluit",
+ "America/Jamaica",
+ "America/Jujuy",
+ "America/Juneau",
+ "America/Kentucky/Louisville",
+ "America/Kentucky/Monticello",
+ "America/Knox_IN",
+ "America/Kralendijk",
+ "America/La_Paz",
+ "America/Lima",
+ "America/Los_Angeles",
+ "America/Louisville",
+ "America/Lower_Princes",
+ "America/Maceio",
+ "America/Managua",
+ "America/Manaus",
+ "America/Marigot",
+ "America/Martinique",
+ "America/Matamoros",
+ "America/Mazatlan",
+ "America/Mendoza",
+ "America/Menominee",
+ "America/Merida",
+ "America/Metlakatla",
+ "America/Mexico_City",
+ "America/Miquelon",
+ "America/Moncton",
+ "America/Monterrey",
+ "America/Montevideo",
+ "America/Montreal",
+ "America/Montserrat",
+ "America/Nassau",
+ "America/New_York",
+ "America/Nipigon",
+ "America/Nome",
+ "America/Noronha",
+ "America/North_Dakota/Beulah",
+ "America/North_Dakota/Center",
+ "America/North_Dakota/New_Salem",
+ "America/Nuuk",
+ "America/Ojinaga",
+ "America/Panama",
+ "America/Pangnirtung",
+ "America/Paramaribo",
+ "America/Phoenix",
+ "America/Port-au-Prince",
+ "America/Port_of_Spain",
+ "America/Porto_Acre",
+ "America/Porto_Velho",
+ "America/Puerto_Rico",
+ "America/Punta_Arenas",
+ "America/Rainy_River",
+ "America/Rankin_Inlet",
+ "America/Recife",
+ "America/Regina",
+ "America/Resolute",
+ "America/Rio_Branco",
+ "America/Rosario",
+ "America/Santa_Isabel",
+ "America/Santarem",
+ "America/Santiago",
+ "America/Santo_Domingo",
+ "America/Sao_Paulo",
+ "America/Scoresbysund",
+ "America/Shiprock",
+ "America/Sitka",
+ "America/St_Barthelemy",
+ "America/St_Johns",
+ "America/St_Kitts",
+ "America/St_Lucia",
+ "America/St_Thomas",
+ "America/St_Vincent",
+ "America/Swift_Current",
+ "America/Tegucigalpa",
+ "America/Thule",
+ "America/Thunder_Bay",
+ "America/Tijuana",
+ "America/Toronto",
+ "America/Tortola",
+ "America/Vancouver",
+ "America/Virgin",
+ "America/Whitehorse",
+ "America/Winnipeg",
+ "America/Yakutat",
+ "America/Yellowknife",
+ "Antarctica/Casey",
+ "Antarctica/Davis",
+ "Antarctica/DumontDUrville",
+ "Antarctica/Macquarie",
+ "Antarctica/Mawson",
+ "Antarctica/McMurdo",
+ "Antarctica/Palmer",
+ "Antarctica/Rothera",
+ "Antarctica/South_Pole",
+ "Antarctica/Syowa",
+ "Antarctica/Troll",
+ "Antarctica/Vostok",
+ "Arctic/Longyearbyen",
+ "Asia/Aden",
+ "Asia/Almaty",
+ "Asia/Amman",
+ "Asia/Anadyr",
+ "Asia/Aqtau",
+ "Asia/Aqtobe",
+ "Asia/Ashgabat",
+ "Asia/Ashkhabad",
+ "Asia/Atyrau",
+ "Asia/Baghdad",
+ "Asia/Bahrain",
+ "Asia/Baku",
+ "Asia/Bangkok",
+ "Asia/Barnaul",
+ "Asia/Beirut",
+ "Asia/Bishkek",
+ "Asia/Brunei",
+ "Asia/Calcutta",
+ "Asia/Chita",
+ "Asia/Choibalsan",
+ "Asia/Chongqing",
+ "Asia/Chungking",
+ "Asia/Colombo",
+ "Asia/Dacca",
+ "Asia/Damascus",
+ "Asia/Dhaka",
+ "Asia/Dili",
+ "Asia/Dubai",
+ "Asia/Dushanbe",
+ "Asia/Famagusta",
+ "Asia/Gaza",
+ "Asia/Harbin",
+ "Asia/Hebron",
+ "Asia/Ho_Chi_Minh",
+ "Asia/Hong_Kong",
+ "Asia/Hovd",
+ "Asia/Irkutsk",
+ "Asia/Istanbul",
+ "Asia/Jakarta",
+ "Asia/Jayapura",
+ "Asia/Jerusalem",
+ "Asia/Kabul",
+ "Asia/Kamchatka",
+ "Asia/Karachi",
+ "Asia/Kashgar",
+ "Asia/Kathmandu",
+ "Asia/Katmandu",
+ "Asia/Khandyga",
+ "Asia/Kolkata",
+ "Asia/Krasnoyarsk",
+ "Asia/Kuala_Lumpur",
+ "Asia/Kuching",
+ "Asia/Kuwait",
+ "Asia/Macao",
+ "Asia/Macau",
+ "Asia/Magadan",
+ "Asia/Makassar",
+ "Asia/Manila",
+ "Asia/Muscat",
+ "Asia/Nicosia",
+ "Asia/Novokuznetsk",
+ "Asia/Novosibirsk",
+ "Asia/Omsk",
+ "Asia/Oral",
+ "Asia/Phnom_Penh",
+ "Asia/Pontianak",
+ "Asia/Pyongyang",
+ "Asia/Qatar",
+ "Asia/Qostanay",
+ "Asia/Qyzylorda",
+ "Asia/Rangoon",
+ "Asia/Riyadh",
+ "Asia/Saigon",
+ "Asia/Sakhalin",
+ "Asia/Samarkand",
+ "Asia/Seoul",
+ "Asia/Shanghai",
+ "Asia/Singapore",
+ "Asia/Srednekolymsk",
+ "Asia/Taipei",
+ "Asia/Tashkent",
+ "Asia/Tbilisi",
+ "Asia/Tehran",
+ "Asia/Tel_Aviv",
+ "Asia/Thimbu",
+ "Asia/Thimphu",
+ "Asia/Tokyo",
+ "Asia/Tomsk",
+ "Asia/Ujung_Pandang",
+ "Asia/Ulaanbaatar",
+ "Asia/Ulan_Bator",
+ "Asia/Urumqi",
+ "Asia/Ust-Nera",
+ "Asia/Vientiane",
+ "Asia/Vladivostok",
+ "Asia/Yakutsk",
+ "Asia/Yangon",
+ "Asia/Yekaterinburg",
+ "Asia/Yerevan",
+ "Atlantic/Azores",
+ "Atlantic/Bermuda",
+ "Atlantic/Canary",
+ "Atlantic/Cape_Verde",
+ "Atlantic/Faeroe",
+ "Atlantic/Faroe",
+ "Atlantic/Jan_Mayen",
+ "Atlantic/Madeira",
+ "Atlantic/Reykjavik",
+ "Atlantic/South_Georgia",
+ "Atlantic/St_Helena",
+ "Atlantic/Stanley",
+ "Australia/ACT",
+ "Australia/Adelaide",
+ "Australia/Brisbane",
+ "Australia/Broken_Hill",
+ "Australia/Canberra",
+ "Australia/Currie",
+ "Australia/Darwin",
+ "Australia/Eucla",
+ "Australia/Hobart",
+ "Australia/LHI",
+ "Australia/Lindeman",
+ "Australia/Lord_Howe",
+ "Australia/Melbourne",
+ "Australia/NSW",
+ "Australia/North",
+ "Australia/Perth",
+ "Australia/Queensland",
+ "Australia/South",
+ "Australia/Sydney",
+ "Australia/Tasmania",
+ "Australia/Victoria",
+ "Australia/West",
+ "Australia/Yancowinna",
+ "Brazil/Acre",
+ "Brazil/DeNoronha",
+ "Brazil/East",
+ "Brazil/West",
+ "CET",
+ "CST6CDT",
+ "Canada/Atlantic",
+ "Canada/Central",
+ "Canada/Eastern",
+ "Canada/Mountain",
+ "Canada/Newfoundland",
+ "Canada/Pacific",
+ "Canada/Saskatchewan",
+ "Canada/Yukon",
+ "Chile/Continental",
+ "Chile/EasterIsland",
+ "Cuba",
+ "EET",
+ "EST5EDT",
+ "Egypt",
+ "Eire",
+ "Etc/GMT",
+ "Etc/GMT+0",
+ "Etc/GMT+1",
+ "Etc/GMT+10",
+ "Etc/GMT+11",
+ "Etc/GMT+12",
+ "Etc/GMT+2",
+ "Etc/GMT+3",
+ "Etc/GMT+4",
+ "Etc/GMT+5",
+ "Etc/GMT+6",
+ "Etc/GMT+7",
+ "Etc/GMT+8",
+ "Etc/GMT+9",
+ "Etc/GMT-0",
+ "Etc/GMT-1",
+ "Etc/GMT-10",
+ "Etc/GMT-11",
+ "Etc/GMT-12",
+ "Etc/GMT-13",
+ "Etc/GMT-14",
+ "Etc/GMT-2",
+ "Etc/GMT-3",
+ "Etc/GMT-4",
+ "Etc/GMT-5",
+ "Etc/GMT-6",
+ "Etc/GMT-7",
+ "Etc/GMT-8",
+ "Etc/GMT-9",
+ "Etc/GMT0",
+ "Etc/Greenwich",
+ "Etc/UCT",
+ "Etc/UTC",
+ "Etc/Universal",
+ "Etc/Zulu",
+ "Europe/Amsterdam",
+ "Europe/Andorra",
+ "Europe/Astrakhan",
+ "Europe/Athens",
+ "Europe/Belfast",
+ "Europe/Belgrade",
+ "Europe/Berlin",
+ "Europe/Bratislava",
+ "Europe/Brussels",
+ "Europe/Bucharest",
+ "Europe/Budapest",
+ "Europe/Busingen",
+ "Europe/Chisinau",
+ "Europe/Copenhagen",
+ "Europe/Dublin",
+ "Europe/Gibraltar",
+ "Europe/Guernsey",
+ "Europe/Helsinki",
+ "Europe/Isle_of_Man",
+ "Europe/Istanbul",
+ "Europe/Jersey",
+ "Europe/Kaliningrad",
+ "Europe/Kiev",
+ "Europe/Kirov",
+ "Europe/Kyiv",
+ "Europe/Lisbon",
+ "Europe/Ljubljana",
+ "Europe/London",
+ "Europe/Luxembourg",
+ "Europe/Madrid",
+ "Europe/Malta",
+ "Europe/Mariehamn",
+ "Europe/Minsk",
+ "Europe/Monaco",
+ "Europe/Moscow",
+ "Europe/Nicosia",
+ "Europe/Oslo",
+ "Europe/Paris",
+ "Europe/Podgorica",
+ "Europe/Prague",
+ "Europe/Riga",
+ "Europe/Rome",
+ "Europe/Samara",
+ "Europe/San_Marino",
+ "Europe/Sarajevo",
+ "Europe/Saratov",
+ "Europe/Simferopol",
+ "Europe/Skopje",
+ "Europe/Sofia",
+ "Europe/Stockholm",
+ "Europe/Tallinn",
+ "Europe/Tirane",
+ "Europe/Tiraspol",
+ "Europe/Ulyanovsk",
+ "Europe/Uzhgorod",
+ "Europe/Vaduz",
+ "Europe/Vatican",
+ "Europe/Vienna",
+ "Europe/Vilnius",
+ "Europe/Volgograd",
+ "Europe/Warsaw",
+ "Europe/Zagreb",
+ "Europe/Zaporozhye",
+ "Europe/Zurich",
+ "GB",
+ "GB-Eire",
+ "GMT",
+ "GMT0",
+ "Greenwich",
+ "Hongkong",
+ "Iceland",
+ "Indian/Antananarivo",
+ "Indian/Chagos",
+ "Indian/Christmas",
+ "Indian/Cocos",
+ "Indian/Comoro",
+ "Indian/Kerguelen",
+ "Indian/Mahe",
+ "Indian/Maldives",
+ "Indian/Mauritius",
+ "Indian/Mayotte",
+ "Indian/Reunion",
+ "Iran",
+ "Israel",
+ "Jamaica",
+ "Japan",
+ "Kwajalein",
+ "Libya",
+ "MET",
+ "MST7MDT",
+ "Mexico/BajaNorte",
+ "Mexico/BajaSur",
+ "Mexico/General",
+ "NZ",
+ "NZ-CHAT",
+ "Navajo",
+ "PRC",
+ "PST8PDT",
+ "Pacific/Apia",
+ "Pacific/Auckland",
+ "Pacific/Bougainville",
+ "Pacific/Chatham",
+ "Pacific/Chuuk",
+ "Pacific/Easter",
+ "Pacific/Efate",
+ "Pacific/Enderbury",
+ "Pacific/Fakaofo",
+ "Pacific/Fiji",
+ "Pacific/Funafuti",
+ "Pacific/Galapagos",
+ "Pacific/Gambier",
+ "Pacific/Guadalcanal",
+ "Pacific/Guam",
+ "Pacific/Honolulu",
+ "Pacific/Johnston",
+ "Pacific/Kanton",
+ "Pacific/Kiritimati",
+ "Pacific/Kosrae",
+ "Pacific/Kwajalein",
+ "Pacific/Majuro",
+ "Pacific/Marquesas",
+ "Pacific/Midway",
+ "Pacific/Nauru",
+ "Pacific/Niue",
+ "Pacific/Norfolk",
+ "Pacific/Noumea",
+ "Pacific/Pago_Pago",
+ "Pacific/Palau",
+ "Pacific/Pitcairn",
+ "Pacific/Pohnpei",
+ "Pacific/Ponape",
+ "Pacific/Port_Moresby",
+ "Pacific/Rarotonga",
+ "Pacific/Saipan",
+ "Pacific/Samoa",
+ "Pacific/Tahiti",
+ "Pacific/Tarawa",
+ "Pacific/Tongatapu",
+ "Pacific/Truk",
+ "Pacific/Wake",
+ "Pacific/Wallis",
+ "Pacific/Yap",
+ "Poland",
+ "Portugal",
+ "ROK",
+ "Singapore",
+ "SystemV/AST4",
+ "SystemV/AST4ADT",
+ "SystemV/CST6",
+ "SystemV/CST6CDT",
+ "SystemV/EST5",
+ "SystemV/EST5EDT",
+ "SystemV/HST10",
+ "SystemV/MST7",
+ "SystemV/MST7MDT",
+ "SystemV/PST8",
+ "SystemV/PST8PDT",
+ "SystemV/YST9",
+ "SystemV/YST9YDT",
+ "Turkey",
+ "UCT",
+ "US/Alaska",
+ "US/Aleutian",
+ "US/Arizona",
+ "US/Central",
+ "US/East-Indiana",
+ "US/Eastern",
+ "US/Hawaii",
+ "US/Indiana-Starke",
+ "US/Michigan",
+ "US/Mountain",
+ "US/Pacific",
+ "US/Samoa",
+ "UTC",
+ "Universal",
+ "W-SU",
+ "WET",
+ "Zulu",
+ "EST",
+ "HST",
+ "MST",
+ "ACT",
+ "AET",
+ "AGT",
+ "ART",
+ "AST",
+ "BET",
+ "BST",
+ "CAT",
+ "CNT",
+ "CST",
+ "CTT",
+ "EAT",
+ "ECT",
+ "IET",
+ "IST",
+ "JST",
+ "MIT",
+ "NET",
+ "NST",
+ "PLT",
+ "PNT",
+ "PRT",
+ "PST",
+ "SST",
+ "VST"
+ ]
+ },
+ "frequency": {
+ "description": "Frequency of the scheduled job run.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/FrequencyInput"
+ }
+ ]
+ },
+ "recipient_details": {
+ "description": "Recipients of the scheduled job notifications. You can add the ID or name of the ThoughtSpot users or groups as recipients in the `principals` array. If a recipient is not a ThoughtSpot user, specify email address.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/RecipientDetailsInput"
+ }
+ ]
+ },
+ "status": {
+ "description": "Status of the schedule",
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "PAUSE"
+ ]
+ },
+ "personalised_view_id": {
+ "description": "Personalised view id of the liveboard to be scheduled.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "schedule_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the schedule."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Schedule 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/security/metadata/assign": {
+ "post": {
+ "operationId": "assignChangeAuthor",
+ "description": "\n Version: 9.0.0.cl or later\n\nTransfers the ownership of one or several objects from one user to another.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `USER_ADMINISTRATION` (**Can manage users**) privilege and edit access to the objects are required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "GUID or name of the metadata object.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/AuthorMetadataTypeInput"
+ }
+ },
+ "user_identifier": {
+ "description": "GUID or name of the user who you want to assign as the author.",
+ "type": "string"
+ },
+ "current_owner_identifier": {
+ "description": "GUID or name of the current author. When defined, the metadata objects\nauthored by the specified owner are filtered for the API operation.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "metadata",
+ "user_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Author assignment for given metadata objects is successful."
+ },
+ "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/security/column/rules/fetch": {
+ "post": {
+ "operationId": "fetchColumnSecurityRules",
+ "description": "\nBeta Version: 10.12.0.cl or later\n\nFetches column security rules for specified tables.\n\nThis API endpoint retrieves column-level security rules configured for tables. It returns information about which columns are secured and which groups have access to those columns.\n\n#### Usage guidelines\n\n- Provide an array of table identifiers using either `identifier` (GUID or name) or `obj_identifier` (object ID)\n- At least one of `identifier` or `obj_identifier` must be provided for each table\n- The API returns column security rules for all specified tables\n- Users must have appropriate permissions to access security rules for the specified tables\n\n#### Required permissions\n\n- `ADMINISTRATION` - Can administer ThoughtSpot\n- `DATAMANAGEMENT` - Can manage data\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` - Can manage worksheet views and tables\n\n#### Example request\n\n```json\n{\n \"tables\": [\n {\n \"identifier\": \"table-guid\",\n \"obj_identifier\": \"table-object-id\"\n }\n ]\n}\n```\n\n#### Response format\n\nThe API returns an array of `ColumnSecurityRuleResponse` objects wrapped in a `data` field. Each `ColumnSecurityRuleResponse` object contains:\n- Table information (GUID and object ID) \n- Array of column security rules with column details, group access, and source table information\n\n#### Example response\n\n```json\n{\n \"data\": [\n {\n \"guid\": \"table-guid\",\n \"objId\": \"table-object-id\",\n \"columnSecurityRules\": [\n {\n \"column\": {\n \"id\": \"col_123\",\n \"name\": \"Salary\"\n },\n \"groups\": [\n {\n \"id\": \"group_1\",\n \"name\": \"HR Department\"\n }\n ],\n \"sourceTableDetails\": {\n \"id\": \"source-table-guid\",\n \"name\": \"Employee_Data\"\n }\n }\n ]\n }\n ]\n}\n```\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "tables": {
+ "description": "Array of table identifier objects for which to fetch column security rules",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnSecurityRuleTableInput"
+ }
+ }
+ },
+ "required": [
+ "tables"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successfully fetched column security rules",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnSecurityRuleResponse"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad request - Table not found or invalid parameters",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden - User doesn't have permission to access security rules for this table",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/security/principals/fetch-permissions": {
+ "post": {
+ "operationId": "fetchPermissionsOfPrincipals",
+ "description": "\n Version: 9.0.0.cl or later\n\nFetches object permission details for a given principal object such as a user and group.\n\nRequires view access to the metadata object. \n\n#### Usage guidelines\n\n* To get a list of all metadata objects that a user or group can access, specify the `type` and GUID or name of the principal.\n* To get permission details for a specific object, add the `type` and GUID or name of the metadata object to your API request.\n\nUpon successful execution, the API returns a list of metadata objects and permission details for each object. \n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "principals": {
+ "description": "GUID or name of the user or group.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PrincipalsInput"
+ }
+ },
+ "metadata": {
+ "description": "Metadata objects for which you want to fetch permission details.\nIf not specified, the API returns permission details for all\nmetadata objects that the specified users and groups can access.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PermissionsMetadataTypeInput"
+ }
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included for each metadata type.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included for each metadata type.",
+ "default": -1,
+ "type": "integer",
+ "format": "int32"
+ },
+ "default_metadata_type": {
+ "description": "When no metadata objects input is passed, metadata objects of this type are fetched.",
+ "type": "string",
+ "enum": [
+ "ALL",
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION"
+ ]
+ }
+ },
+ "required": [
+ "principals"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Fetching permissions of principals is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PermissionOfPrincipalsResponse"
+ },
+ "examples": {
+ "example_1": {
+ "value": {
+ "principal_permission_details": [
+ {
+ "principal_id": "7f5e7f87-09a1-487c-a1da-c4bb35e45270",
+ "principal_name": "test_user",
+ "principal_type": "USER",
+ "principal_sub_type": "LOCAL_USER",
+ "metadata_permission_info": [
+ {
+ "metadata_type": "LIVEBOARD",
+ "metadata_permissions": [
+ {
+ "metadata_id": "2ff57a24-cf90-485f-8b4b-45fc17474c6f",
+ "metadata_name": "Learn how to use ThoughtSpot",
+ "metadata_owner": {
+ "id": "2ff57a24-cf90-485f-8b4b-45fc17474c6f",
+ "name": "Learn how to use ThoughtSpot"
+ },
+ "metadata_author": {
+ "id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "name": "tsadmin"
+ },
+ "permission": "READ_ONLY",
+ "shared_permission": "NO_ACCESS",
+ "group_permission": []
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "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/security/metadata/fetch-permissions": {
+ "post": {
+ "operationId": "fetchPermissionsOnMetadata",
+ "description": "\n Version: 9.0.0.cl or later\n\nFetches permission details for a given metadata object.\n\nRequires view access to the metadata object.\n\n#### Usage guidelines\n\n* To fetch a list of users and groups for a metadata object, specify `type` and GUID or name of the metadata object.\n* To get permission details for a specific user or group, add `type` and GUID or name of the principal object to your API request.\n\nUpon successful execution, the API returns permission details and principal information for the object specified in the API request.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "GUID or name of the metadata object.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PermissionsMetadataTypeInput"
+ }
+ },
+ "principals": {
+ "description": "User or group objects for which you want to fetch permissions.\nIf not specified, the API returns all users and groups that\ncan access the specified metadata objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PrincipalsInput"
+ }
+ },
+ "include_dependent_objects": {
+ "description": "Indicates whether to fetch permissions of dependent metadata objects.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included for each metadata type.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included for each metadata type.",
+ "default": -1,
+ "type": "integer",
+ "format": "int32"
+ },
+ "permission_type": {
+ "description": "Version: 10.3.0.cl or later
\n\nSpecifies the type of permission. Valid values are:\n EFFECTIVE - If the user permission to the metadata objects is granted by the privileges assigned to the groups to which they belong.\n DEFINED - If a user or user group received access to metadata objects via object sharing by another user.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "metadata"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Fetching permissions of metadata objects is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PermissionOfMetadataResponse"
+ },
+ "examples": {
+ "example_1": {
+ "value": {
+ "metadata_permission_details": [
+ {
+ "metadata_id": "a62a5bf3-9f16-45b2-a174-7d30b3b577a9",
+ "metadata_name": "testing",
+ "metadata_type": "LIVEBOARD",
+ "metadata_owner": {
+ "id": "a62a5bf3-9f16-45b2-a174-7d30b3b577a9",
+ "name": "testing"
+ },
+ "metadata_author": {
+ "id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "name": "tsadmin"
+ },
+ "principal_permission_info": [
+ {
+ "principal_type": "USER_GROUP",
+ "principal_sub_type": "LOCAL_GROUP",
+ "principal_permissions": [
+ {
+ "principal_id": "d0326b56-ef23-4c8a-8327-a30e99bcc72b",
+ "principal_name": "Administrator",
+ "permission": "MODIFY",
+ "shared_permission": "NO_ACCESS",
+ "group_permission": []
+ }
+ ]
+ },
+ {
+ "principal_type": "USER",
+ "principal_sub_type": "LOCAL_USER",
+ "principal_permissions": [
+ {
+ "principal_id": "0f0dd0f7-7411-4195-a4aa-0dc6b58413c9",
+ "principal_name": "su",
+ "permission": "MODIFY",
+ "shared_permission": "NO_ACCESS",
+ "group_permission": []
+ },
+ {
+ "principal_id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "principal_name": "tsadmin",
+ "permission": "MODIFY",
+ "shared_permission": "NO_ACCESS",
+ "group_permission": []
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "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/security/metadata/publish": {
+ "post": {
+ "operationId": "publishMetadata",
+ "description": "\nBeta Version: 10.9.0.cl or later\n\nAllows publishing metadata objects across organizations in ThoughtSpot.\n\nRequires ADMINISTRATION role and TENANT scope.\n\nThe API endpoint allows publishing the following types of metadata objects:\n* Liveboards\n* Answers\n* Logical Tables\n\nThis API will essentially share the objects along with it's dependencies to\nthe org admins of the orgs to which it is being published.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "10.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects to be published.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PublishMetadataListItem"
+ }
+ },
+ "org_identifiers": {
+ "description": "Unique ID or name of orgs to which metadata objects should be published.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "skip_validation": {
+ "description": "Skip validations of objects to be published.",
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "metadata",
+ "org_identifiers"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Publishing metadata objects is successful."
+ },
+ "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/security/metadata/share": {
+ "post": {
+ "operationId": "shareMetadata",
+ "description": "\n Version: 9.0.0.cl or later\n\nAllows sharing one or several metadata objects with users and groups in ThoughtSpot.\n\nRequires edit access to the metadata object.\n\nThe API endpoint allows sharing only the following types of metadata objects:\n* Liveboards\n* Visualizations\n* Answers\n* Worksheets\n* Views\n* Connections\n\nYou can provide `READ_ONLY` or `MODIFY` access when sharing an object with another user or group. With `READ_ONLY` access grants view access to the shared object, whereas `MODIFY` provides edit access.\n\nTo prevent a user or group from accessing the shared object, specify the GUID or name of the principal and set `shareMode` to `NO_ACCESS`.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_type": {
+ "description": "Type of metadata. Required if identifier in metadata_identifies is a name.\n1. Liveboard\n2. Answers\n3. LOGICAL_TABLE for any data object such as table, worksheet or view.\n4. LOGICAL_COLUMN\n5. Connection",
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION"
+ ]
+ },
+ "metadata_identifiers": {
+ "description": "Unique ID or name of metadata objects. Note: All the names should belong to same metadata_type",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "description": "Metadata details for sharing objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ShareMetadataTypeInput"
+ }
+ },
+ "permissions": {
+ "description": "Permission details for sharing the objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SharePermissionsInput"
+ }
+ },
+ "visualization_identifiers": {
+ "description": "Options to specify details of Liveboard. First Liveboard encountered in payload is considered to be the corresponding Liveboard.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "emails": {
+ "description": "Email IDs to which notifications will be sent.",
+ "default": [],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "message": {
+ "description": "Message to be included in notification.",
+ "type": "string"
+ },
+ "enable_custom_url": {
+ "description": "Sends object URLs in the customized format in email notifications.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "notify_on_share": {
+ "description": "Flag to notify user when any object is shared.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "has_lenient_discoverability": {
+ "description": "Flag to make the object discoverable.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "permissions",
+ "message"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Sharing metadata objects is successful."
+ },
+ "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/security/metadata/unpublish": {
+ "post": {
+ "operationId": "unpublishMetadata",
+ "description": "\nBeta Version: 10.9.0.cl or later\n\nAllows unpublishing metadata objects from organizations in ThoughtSpot.\n\nRequires ADMINISTRATION role and TENANT scope.\n\nThe API endpoint allows unpublishing the following types of metadata objects:\n* Liveboards\n* Answers\n* Logical Tables\n\nWhen unpublishing objects, you can:\n* Include dependencies by setting `include_dependencies` to true - this will unpublish all dependent objects if no other published object is using them\n* Force unpublish by setting `force` to true - this will break all dependent objects in the unpublished organizations\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "10.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "force": {
+ "description": "Force unpublishes the object. This will break all the dependent objects in the unpublished orgs.",
+ "type": "boolean",
+ "nullable": true
+ },
+ "include_dependencies": {
+ "description": "Should we unpublish all the dependencies for the objects specified.\nThe dependencies will be unpublished if no other published object is using it.",
+ "type": "boolean"
+ },
+ "metadata": {
+ "description": "Metadata objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PublishMetadataListItem"
+ }
+ },
+ "org_identifiers": {
+ "description": "Unique ID or name of orgs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "include_dependencies",
+ "metadata",
+ "org_identifiers"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Unpublishing metadata objects is successful."
+ },
+ "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/security/column/rules/update": {
+ "post": {
+ "operationId": "updateColumnSecurityRules",
+ "description": "\nBeta Version: 10.12.0.cl or later\n\nCreates, updates, or deletes column security rules for specified tables.\n\nThis API endpoint allows you to create, update, or delete column-level security rules on columns of a table. The operation follows an \"all or none\" policy: if defining security rules for any of the provided columns fails, the entire operation will be rolled back, and no rules will be created.\n\n#### Usage guidelines\n\n- Provide table identifier using either `identifier` (GUID or name) or `obj_identifier` (object ID)\n- Use `clear_csr: true` to remove all column security rules from the table\n- For each column, specify the security rule using `column_security_rules` array\n- Use `is_unsecured: true` to mark a specific column as unprotected\n- Use `group_access` operations to manage group associations:\n - `ADD`: Add groups to the column's access list\n - `REMOVE`: Remove groups from the column's access list\n - `REPLACE`: Replace all existing groups with the specified groups\n\n#### Required permissions\n\n- `ADMINISTRATION` - Can administer ThoughtSpot\n- `DATAMANAGEMENT` - Can manage data (if RBAC is disabled)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` - Can manage worksheet views and tables (if RBAC is enabled)\n\n#### Example request\n\n```json\n{\n \"identifier\": \"table-guid\",\n \"obj_identifier\": \"table-object-id\",\n \"clear_csr\": false,\n \"column_security_rules\": [\n {\n \"column_identifier\": \"col id or col name\",\n \"is_unsecured\": false,\n \"group_access\": [\n {\n \"operation\": \"ADD\",\n \"group_identifiers\": [\"hr_group_id\", \"hr_group_name\", \"finance_group_id\"]\n }\n ]\n },\n {\n \"column_identifier\": \"col id or col name\",\n \"is_unsecured\": true\n },\n {\n \"column_identifier\": \"col id or col name\",\n \"is_unsecured\": false,\n \"group_access\": [\n {\n \"operation\": \"REPLACE\",\n \"group_identifiers\": [\"management_group_id\", \"management_group_name\"]\n }\n ]\n }\n ]\n}\n```\n\n#### Request Body Schema\n\n- `identifier` (string, optional): GUID or name of the table for which we want to create column security rules\n- `obj_identifier` (string, optional): The object ID of the table\n- `clear_csr` (boolean, optional): If true, then all the secured columns will be marked as unprotected, and all the group associations will be removed\n- `column_security_rules` (array of objects, required): An array where each object defines the security rule for a specific column\n\nEach column security rule object contains:\n- `column_identifier` (string, required): Column identifier (col_id or name)\n- `is_unsecured` (boolean, optional): If true, the column will be marked as unprotected and all groups associated with it will be removed\n- `group_access` (array of objects, optional): Array of group operation objects\n\nEach group operation object contains:\n- `operation` (string, required): Operation type - ADD, REMOVE, or REPLACE\n- `group_identifiers` (array of strings, required): Array of group identifiers (name or GUID) on which the operation will be performed\n\n#### Response\n\nThis API does not return any response body. A successful operation returns HTTP 200 status code.\n\n#### Operation Types\n\n- **ADD**: Adds the specified groups to the column's access list\n- **REMOVE**: Removes the specified groups from the column's access list \n- **REPLACE**: Replaces all existing groups with the specified groups \n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "description": "GUID or name of the table for which we want to create column security rules",
+ "type": "string"
+ },
+ "obj_identifier": {
+ "description": "The object ID of the table",
+ "type": "string"
+ },
+ "clear_csr": {
+ "description": "If true, then all the secured columns will be marked as unprotected, and all the group associations will be removed",
+ "type": "boolean",
+ "nullable": true
+ },
+ "column_security_rules": {
+ "description": "Array where each object defines the security rule for a specific column",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnSecurityRuleUpdate"
+ }
+ }
+ },
+ "required": [
+ "column_security_rules"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Successfully updated column security rules"
+ },
+ "400": {
+ "description": "Bad request - Invalid parameters or table not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden - User doesn't have permission to modify security rules for this table",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server 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": ""
+ }
+ }
+ }
+ }
+ }
+ },
+ "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/config-update": {
+ "post": {
+ "operationId": "updateSystemConfig",
+ "description": "\n Version: 9.2.0.cl or later\n\nUpdates the current configuration of the cluster. You must send the configuration data in JSON format.\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 `APPLICATION_ADMINISTRATION` (**Can manage application settings**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "System",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "configuration": {
+ "description": "Configuration JSON with the key-value pair of configuration attributes to be updated.",
+ "type": "object"
+ }
+ },
+ "required": [
+ "configuration"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Configuration successfully updated."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/tags/assign": {
+ "post": {
+ "operationId": "assignTag",
+ "description": "\n Version: 9.0.0.cl or later\n\nAssigns tags to Liveboards, Answers, Tables, and Worksheets.\n\nRequires edit access to the metadata object.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Tags",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TagMetadataTypeInput"
+ }
+ },
+ "tag_identifiers": {
+ "description": "GUID or name of the tag.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "metadata",
+ "tag_identifiers"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Tags successfully assigned."
+ },
+ "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/tags/create": {
+ "post": {
+ "operationId": "createTag",
+ "description": "\n Version: 9.0.0.cl or later\n\nCreates a tag object.\n\nTags are labels that identify a metadata object. For example, you can create a tag to designate subject areas, such as sales, HR, marketing, and finance.\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 `TAGMANAGEMENT` (**Can manage tags**) privilege is required to create, edit, and delete tags.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Tags",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the tag.",
+ "type": "string"
+ },
+ "color": {
+ "description": "Hex color code to be assigned to the tag. For example, #ff78a9.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Tag successfully created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Tag"
+ },
+ "examples": {
+ "example_1": {
+ "value": {
+ "name": "test5",
+ "id": "6abf5aec-3485-4f83-b25f-8c55b92e2b20",
+ "color": "#342323",
+ "deleted": false,
+ "hidden": false,
+ "external": false,
+ "deprecated": false,
+ "creation_time_in_millis": 1685441468684,
+ "modification_time_in_millis": 1685441468684,
+ "author_id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "modifier_id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "owner_id": "6abf5aec-3485-4f83-b25f-8c55b92e2b20"
+ }
+ }
+ }
+ }
+ }
+ },
+ "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/tags/{tag_identifier}/delete": {
+ "post": {
+ "operationId": "deleteTag",
+ "description": "\n Version: 9.0.0.cl or later\n\nDeletes a tag object from the ThoughtSpot system\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 `TAGMANAGEMENT` (**Can manage tags**) privilege is required to create, edit, and delete tags.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Tags",
+ "9.0.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tag_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Tag identifier Tag name or Tag id."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Tag successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/tags/search": {
+ "post": {
+ "operationId": "searchTags",
+ "description": "\n Version: 9.0.0.cl or later\n\nGets a list of tag objects available on the ThoughtSpot system. To get details of a specific tag object, specify the GUID or name.\n\nAny authenticated user can search for tag objects.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Tags",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "tag_identifier": {
+ "description": "Name or Id of the tag.",
+ "type": "string"
+ },
+ "name_pattern": {
+ "description": "A pattern to match case-insensitive name of the Tag object.",
+ "type": "string"
+ },
+ "color": {
+ "description": "Color of the tag.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Tags search result.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Tag"
+ }
+ },
+ "examples": {
+ "example_1": {
+ "value": [
+ {
+ "name": "test4",
+ "id": "0935bbb5-17e2-43ab-b657-da6bf347cbb4",
+ "color": "#342323",
+ "deleted": false,
+ "hidden": false,
+ "external": false,
+ "deprecated": false,
+ "creation_time_in_millis": 1684937524885,
+ "modification_time_in_millis": 1684937524885,
+ "author_id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "modifier_id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "owner_id": "0935bbb5-17e2-43ab-b657-da6bf347cbb4"
+ },
+ {
+ "name": "test6",
+ "id": "65a5c39a-daf5-4cae-975f-44283628494e",
+ "color": "#342323",
+ "deleted": false,
+ "hidden": false,
+ "external": false,
+ "deprecated": false,
+ "creation_time_in_millis": 1684988834183,
+ "modification_time_in_millis": 1684988887888,
+ "author_id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "modifier_id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "owner_id": "65a5c39a-daf5-4cae-975f-44283628494e"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "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/tags/unassign": {
+ "post": {
+ "operationId": "unassignTag",
+ "description": "\n Version: 9.0.0.cl or later\n\nRemoves the tags applied to a Liveboard, Answer, Table, or Worksheet.\n\nRequires edit access to the metadata object.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Tags",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TagMetadataTypeInput"
+ }
+ },
+ "tag_identifiers": {
+ "description": "GUID or name of the tag.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "metadata",
+ "tag_identifiers"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Tags successfully unassigned."
+ },
+ "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/tags/{tag_identifier}/update": {
+ "post": {
+ "operationId": "updateTag",
+ "description": "\n Version: 9.0.0.cl or later\n\nUpdates a tag object.\n\nYou can modify the `name` and `color` properties of a tag object. \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 `TAGMANAGEMENT` (**Can manage tags**) privilege is required to create, edit, and delete tags.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Tags",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the tag.",
+ "type": "string"
+ },
+ "color": {
+ "description": "Hex color code to be assigned to the tag. For example, #ff78a9.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tag_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Name or Id of the tag."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Tag 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/users/activate": {
+ "post": {
+ "operationId": "activateUser",
+ "description": "\n Version: 9.7.0.cl or later\n\nActivates a deactivated user account.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\nTo activate an inactive user account, the API request body must include the following information:\n\n- Username or the GUID of the user account.\n- Auth token generated for the deactivated user. The auth token is sent in the API response when a user is deactivated.\n- Password for the user account.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.7.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "user_identifier": {
+ "description": "Unique ID or name of the user.",
+ "type": "string"
+ },
+ "auth_token": {
+ "description": "Auth token for the user.",
+ "type": "string"
+ },
+ "password": {
+ "description": "New password for the user to access the account.",
+ "type": "string"
+ },
+ "properties": {
+ "description": "Properties of the user.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "user_identifier",
+ "auth_token",
+ "password"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "User activated successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/User"
+ }
+ }
+ }
+ },
+ "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/users/change-password": {
+ "post": {
+ "operationId": "changeUserPassword",
+ "description": "\n Version: 9.0.0.cl or later\n\nUpdates the current password of the user.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "current_password": {
+ "description": "Current password of the user.",
+ "type": "string"
+ },
+ "new_password": {
+ "description": "New password for the user.",
+ "type": "string"
+ },
+ "user_identifier": {
+ "description": "GUID or name of the user.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "current_password",
+ "new_password",
+ "user_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "User password change operation successful."
+ },
+ "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/users/create": {
+ "post": {
+ "operationId": "createUser",
+ "description": "\n Version: 9.0.0.cl or later\n\nCreates a user in ThoughtSpot.\n\nThe API endpoint allows you to configure several user properties such as email address, account status, share notification preferences, and sharing visibility. You can provision the user to [groups](https://docs.thoughtspot.com/cloud/latest/groups-privileges) and [Orgs](https://docs.thoughtspot.com/cloud/latest/orgs-overview). You can also add Liveboard, Answer, and Worksheet objects to the user's favorites list, assign a default Liveboard for the user, and set user preferences.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the user. The username string must be unique.",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "A unique display name string for the user account, usually their first and last name",
+ "type": "string"
+ },
+ "password": {
+ "description": "Password for the user account. For IAMv2 users, you must set this password if you do not want to trigger an activation email.",
+ "type": "string"
+ },
+ "email": {
+ "description": "Email of the user account",
+ "type": "string"
+ },
+ "account_type": {
+ "description": "Type of the account.",
+ "default": "LOCAL_USER",
+ "type": "string",
+ "enum": [
+ "LOCAL_USER",
+ "LDAP_USER",
+ "SAML_USER",
+ "OIDC_USER",
+ "REMOTE_USER"
+ ]
+ },
+ "account_status": {
+ "description": "Current status of the user account. The `SUSPENDED` user state indicates a transitional state applicable to IAMv2 users only.",
+ "default": "ACTIVE",
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "INACTIVE",
+ "EXPIRED",
+ "LOCKED",
+ "PENDING",
+ "SUSPENDED"
+ ]
+ },
+ "org_identifiers": {
+ "description": "List of Org IDs to which the user belongs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "group_identifiers": {
+ "description": "GUIDs or names of the groups to which the newly created user belongs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "visibility": {
+ "description": "Visibility of the users. When set to SHARABLE, the user is visible to other users and groups when they try to share an object.",
+ "default": "SHARABLE",
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ]
+ },
+ "notify_on_share": {
+ "description": "User preference for receiving email notifications when another ThoughtSpot\nuser shares a metadata object such as Answer, Liveboard, or Worksheet.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "show_onboarding_experience": {
+ "description": "The user preference for revisiting the onboarding experience.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "onboarding_experience_completed": {
+ "description": "flag to get the on-boarding experience is completed or not.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "home_liveboard_identifier": {
+ "description": "GUID of the Liveboard to set a default Liveboard for the user.\nThoughtSpot displays this Liveboard on the Home page when the user logs in.",
+ "type": "string"
+ },
+ "favorite_metadata": {
+ "description": "Metadata objects to add to the user's favorites list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FavoriteMetadataInput"
+ }
+ },
+ "preferred_locale": {
+ "description": "Locale for the user.",
+ "type": "string",
+ "enum": [
+ "en-CA",
+ "en-GB",
+ "en-US",
+ "de-DE",
+ "ja-JP",
+ "zh-CN",
+ "pt-BR",
+ "fr-FR",
+ "fr-CA",
+ "es-US",
+ "da-DK",
+ "es-ES",
+ "fi-FI",
+ "sv-SE",
+ "nb-NO",
+ "pt-PT",
+ "nl-NL",
+ "it-IT",
+ "ru-RU",
+ "en-IN",
+ "de-CH",
+ "en-NZ",
+ "es-MX",
+ "en-AU",
+ "zh-Hant",
+ "ko-KR",
+ "en-DE"
+ ]
+ },
+ "extended_properties": {
+ "description": "Properties for the user",
+ "type": "object"
+ },
+ "extended_preferences": {
+ "description": "Preferences for the user",
+ "type": "object"
+ },
+ "trigger_welcome_email": {
+ "description": "Flag to indicate whether welcome email should be sent to user. This parameter is applied only on clusters on which IAM is disabled.",
+ "type": "boolean",
+ "nullable": true
+ },
+ "trigger_activation_email": {
+ "description": "Flag to indicate whether activation email should be sent to the user. Default value for IAMv2 users is set to true. Users must either set this to false, or enter a valid \npassword if they do not want to trigger an activation email.",
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "name",
+ "display_name",
+ "email"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "User successfully created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/User"
+ }
+ }
+ }
+ },
+ "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/users/deactivate": {
+ "post": {
+ "operationId": "deactivateUser",
+ "description": "\n Version: 9.7.0.cl or later\n\nDeactivates a user account.\n\nRequires `ADMINISTRATION` (**Can administer Thoughtspot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\nTo deactivate a user account, the API request body must include the following information:\n\n- Username or the GUID of the user account\n- Base URL of the ThoughtSpot instance\n\nIf the API request is successful, ThoughtSpot returns the activation URL in the response. The activation URL is valid for 14 days and can be used to re-activate the account and reset the password of the deactivated account.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.7.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "user_identifier": {
+ "description": "Unique ID or name of the user.",
+ "type": "string"
+ },
+ "base_url": {
+ "description": "Base url of the cluster.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "user_identifier",
+ "base_url"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "User deactivated successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseActivationURL"
+ }
+ }
+ }
+ },
+ "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/users/{user_identifier}/delete": {
+ "post": {
+ "operationId": "deleteUser",
+ "description": "\n Version: 9.0.0.cl or later\n\nDeletes a user from the ThoughtSpot system.\n\nIf you want to remove a user from a specific Org but not from ThoughtSpot, update the group and Org mapping properties of the user object via a POST API call to the [/api/rest/2.0/users/{user_identifier}/update](#/http/api-endpoints/users/update-user) endpoint.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "user_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "GUID / name of the user"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "User successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/users/force-logout": {
+ "post": {
+ "operationId": "forceLogoutUsers",
+ "description": "\n Version: 9.0.0.cl or later\n\nEnforces logout on current user sessions. \n\nUse this API with caution as it may invalidate active user sessions and force users to re-login. Make sure you specify the usernames or GUIDs. If you pass null values in the API call, all user sessions on your cluster become invalid, and the users are forced to re-login.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "user_identifiers": {
+ "description": "GUID or name of the users for force logging out their sessions.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Force logging out of users operation successful."
+ },
+ "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/users/import": {
+ "post": {
+ "operationId": "importUsers",
+ "description": "\n Version: 9.0.0.cl or later\n\nImports user data from external databases into ThoughtSpot. During the user import operation:\n\n* If the specified users are not available in ThoughtSpot, the users are created and assigned a default password. Defining a `default_password` in the API request is optional.\n* If `delete_unspecified_users` is set to `true`, the users not specified in the API request, excluding the `tsadmin`, `guest`, `system` and `su` users, are deleted.\n* If the specified user objects are already available in ThoughtSpot, the object properties are updated and synchronized as per the input data in the API request.\n\nA successful API call returns the object that represents the changes made in the ThoughtSpot system.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "users": {
+ "description": "List of users needs to be imported.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ImportUser"
+ }
+ },
+ "default_password": {
+ "description": "The default password to assign to users if they do not have a password assigned in ThoughtSpot.",
+ "type": "string"
+ },
+ "dry_run": {
+ "description": "If true, the API performs a test operation and returns user IDs whose data will be edited after the import.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "delete_unspecified_users": {
+ "description": "If set to true, removes the users that are not specified in the API request.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "users"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Import users operation successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ImportUsersResponse"
+ }
+ }
+ }
+ },
+ "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/users/reset-password": {
+ "post": {
+ "operationId": "resetUserPassword",
+ "description": "\n Version: 9.0.0.cl or later\n\nResets the password of a user account. Administrators can reset password on behalf of a user.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "new_password": {
+ "description": "New password for the user.",
+ "type": "string"
+ },
+ "user_identifier": {
+ "description": "GUID or name of the user.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "new_password",
+ "user_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "User password reset operation successful."
+ },
+ "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/users/search": {
+ "post": {
+ "operationId": "searchUsers",
+ "description": "\n Version: 9.0.0.cl or later\n\nGets a list of users available on the ThoughtSpot system.\n\nTo get details of a specific user, specify the user GUID or name. You can also filter the API response based on groups, Org ID, user visibility, account status, user type, and user preference settings and favorites.\n\nAvailable to all users. Users with `ADMINISTRATION` (**Can administer ThoughtSpot**) privileges can view all users properties. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n**NOTE**: If the API returns an empty list, consider increasing the value of the `record_size` parameter. To search across all available users, set `record_size` to `-1`.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "user_identifier": {
+ "description": "GUID / name of the user to search",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "A unique display name string for the user account, usually their first and last name",
+ "type": "string"
+ },
+ "name_pattern": {
+ "description": "A pattern to match case-insensitive name of the User object.",
+ "type": "string"
+ },
+ "visibility": {
+ "description": "Visibility of the user",
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ]
+ },
+ "email": {
+ "description": "Email of the user account",
+ "type": "string"
+ },
+ "group_identifiers": {
+ "description": "GUID or name of the group to which the user belongs",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "privileges": {
+ "description": "Privileges assigned to the user",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "ADMINISTRATION",
+ "AUTHORING",
+ "USERDATAUPLOADING",
+ "DATADOWNLOADING",
+ "USERMANAGEMENT",
+ "DATAMANAGEMENT",
+ "SHAREWITHALL",
+ "JOBSCHEDULING",
+ "A3ANALYSIS",
+ "EXPERIMENTALFEATUREPRIVILEGE",
+ "BYPASSRLS",
+ "RANALYSIS",
+ "DEVELOPER",
+ "USER_ADMINISTRATION",
+ "GROUP_ADMINISTRATION",
+ "SYNCMANAGEMENT",
+ "CAN_CREATE_CATALOG",
+ "DISABLE_PINBOARD_CREATION",
+ "LIVEBOARD_VERIFIER",
+ "PREVIEW_THOUGHTSPOT_SAGE",
+ "APPLICATION_ADMINISTRATION",
+ "SYSTEM_INFO_ADMINISTRATION",
+ "ORG_ADMINISTRATION",
+ "ROLE_ADMINISTRATION",
+ "AUTHENTICATION_ADMINISTRATION",
+ "BILLING_INFO_ADMINISTRATION",
+ "CAN_MANAGE_CUSTOM_CALENDAR",
+ "CAN_CREATE_OR_EDIT_CONNECTIONS",
+ "CAN_MANAGE_WORKSHEET_VIEWS_TABLES",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "ALLOW_NON_EMBED_FULL_APP_ACCESS",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "CAN_SETUP_VERSION_CONTROL"
+ ]
+ }
+ },
+ "account_type": {
+ "description": "Type of the account",
+ "type": "string",
+ "enum": [
+ "LOCAL_USER",
+ "LDAP_USER",
+ "SAML_USER",
+ "OIDC_USER",
+ "REMOTE_USER"
+ ]
+ },
+ "account_status": {
+ "description": "Current status of the user account.",
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "INACTIVE",
+ "EXPIRED",
+ "LOCKED",
+ "PENDING",
+ "SUSPENDED"
+ ]
+ },
+ "notify_on_share": {
+ "description": "User preference for receiving email notifications when another ThoughtSpot user\nshares a metadata object such as Answer, Liveboard, or Worksheet.",
+ "type": "boolean",
+ "nullable": true
+ },
+ "show_onboarding_experience": {
+ "description": "The user preference for revisiting the onboarding experience",
+ "type": "boolean",
+ "nullable": true
+ },
+ "onboarding_experience_completed": {
+ "description": "Indicates if the user has completed the onboarding walkthrough",
+ "type": "boolean",
+ "nullable": true
+ },
+ "org_identifiers": {
+ "description": "IDs or names of the Orgs to which the user belongs",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "home_liveboard_identifier": {
+ "description": "Unique ID or name of the user's home Liveboard.",
+ "type": "string"
+ },
+ "favorite_metadata": {
+ "description": "Metadata objects which are assigned as favorites of the user.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FavoriteMetadataInput"
+ }
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included.",
+ "default": 10,
+ "type": "integer",
+ "format": "int32"
+ },
+ "sort_options": {
+ "description": "Sort options.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SortOptions"
+ }
+ ]
+ },
+ "role_identifiers": {
+ "description": "Filters by the role assigned to the user.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "include_favorite_metadata": {
+ "description": "Indicates if the user's favorite objects should be displayed.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "User search result.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/User"
+ }
+ }
+ }
+ }
+ },
+ "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/users/{user_identifier}/update": {
+ "post": {
+ "operationId": "updateUser",
+ "description": "\n Version: 9.0.0.cl or later\n\nUpdates the properties of a user object.\n\nYou can modify user properties such as username, email, and share notification settings. You can also assign new groups and Orgs, remove the user from a group or Org, reset password, and modify user preferences.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the user. The username string must be unique.",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "A unique display name string for the user account, usually their first and last name",
+ "type": "string"
+ },
+ "visibility": {
+ "description": "Visibility of the users. When set to SHARABLE, the user is visible to other users and groups when they try to share an object.",
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ]
+ },
+ "email": {
+ "description": "Email of the user account",
+ "type": "string"
+ },
+ "account_status": {
+ "description": "Current status of the user account. The `SUSPENDED` user state indicates a transitional state applicable to IAMv2 users only.",
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "INACTIVE",
+ "EXPIRED",
+ "LOCKED",
+ "PENDING",
+ "SUSPENDED"
+ ]
+ },
+ "notify_on_share": {
+ "description": "User preference for receiving email notifications when another ThoughtSpot user\nshares a metadata object such as Answer, Liveboard, or Worksheet.",
+ "type": "boolean",
+ "nullable": true
+ },
+ "show_onboarding_experience": {
+ "description": "The user preference for revisiting the onboarding experience.",
+ "type": "boolean",
+ "nullable": true
+ },
+ "onboarding_experience_completed": {
+ "description": "Indicates if the user has completed the onboarding and allows turning off the onboarding walkthrough.",
+ "type": "boolean",
+ "nullable": true
+ },
+ "account_type": {
+ "description": "Type of the account.",
+ "type": "string",
+ "enum": [
+ "LOCAL_USER",
+ "LDAP_USER",
+ "SAML_USER",
+ "OIDC_USER",
+ "REMOTE_USER"
+ ]
+ },
+ "group_identifiers": {
+ "description": "GUIDs or names of the groups.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "home_liveboard_identifier": {
+ "description": "GUID of the Liveboard to set a default Liveboard for the user. ThoughtSpot displays\nthis Liveboard on the Home page when the user logs in.",
+ "type": "string"
+ },
+ "favorite_metadata": {
+ "description": "Metadata objects to add to the user's favorites list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FavoriteMetadataInput"
+ }
+ },
+ "org_identifiers": {
+ "description": "IDs of the Orgs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "operation": {
+ "description": "Type of update operation. Default operation type is REPLACE",
+ "default": "REPLACE",
+ "type": "string",
+ "enum": [
+ "ADD",
+ "REMOVE",
+ "REPLACE"
+ ]
+ },
+ "preferred_locale": {
+ "description": "Locale for the user.",
+ "type": "string",
+ "enum": [
+ "en-CA",
+ "en-GB",
+ "en-US",
+ "de-DE",
+ "ja-JP",
+ "zh-CN",
+ "pt-BR",
+ "fr-FR",
+ "fr-CA",
+ "es-US",
+ "da-DK",
+ "es-ES",
+ "fi-FI",
+ "sv-SE",
+ "nb-NO",
+ "pt-PT",
+ "nl-NL",
+ "it-IT",
+ "ru-RU",
+ "en-IN",
+ "de-CH",
+ "en-NZ",
+ "es-MX",
+ "en-AU",
+ "zh-Hant",
+ "ko-KR",
+ "en-DE"
+ ]
+ },
+ "extended_properties": {
+ "description": "Properties for the user",
+ "type": "object"
+ },
+ "extended_preferences": {
+ "description": "Preferences for the user",
+ "type": "object"
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "user_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "GUID / name of the user"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "User 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/template/variables/create": {
+ "post": {
+ "operationId": "createVariable",
+ "description": "\nCreate a variable which can be used for parameterizing metadata objects
Beta Version: 10.9.0.cl or later\n\nAllows creating a variable which can be used for parameterizing metadata objects in ThoughtSpot.\n\nRequires ADMINISTRATION role and TENANT scope.\n\nThe API endpoint supports the following types of variables:\n* CONNECTION_PROPERTY - For connection properties\n* TABLE_MAPPING - For table mappings\n* CONNECTION_PROPERTY_PER_PRINCIPAL - For connection properties per principal. In order to use this please contact support to enable this.\n\nWhen creating a variable, you need to specify:\n* The variable type\n* A unique name for the variable\n* Whether the variable contains sensitive values (defaults to false)\n* The variable values (optional)\n\nThe operation will fail if:\n* The user lacks required permissions\n* The variable name already exists\n* The variable type is invalid\n* The variable values are invalid for the specified type \n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Variable",
+ "10.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of variable",
+ "type": "string",
+ "enum": [
+ "CONNECTION_PROPERTY",
+ "TABLE_MAPPING",
+ "CONNECTION_PROPERTY_PER_PRINCIPAL"
+ ]
+ },
+ "name": {
+ "description": "Name of the variable. This is unique across the cluster.",
+ "type": "string"
+ },
+ "sensitive": {
+ "description": "If the variable contains sensitive values like passwords",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "values": {
+ "description": "Values of variable",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/InputVariableValue"
+ }
+ }
+ },
+ "required": [
+ "type",
+ "name"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Create variable is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Variable"
+ }
+ }
+ }
+ },
+ "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/template/variables/{identifier}/delete": {
+ "post": {
+ "operationId": "deleteVariable",
+ "description": "\nDelete a variable
Beta Version: 10.9.0.cl or later\n\nAllows deleting a variable from ThoughtSpot.\n\nRequires ADMINISTRATION role and TENANT scope.\n\nThe API endpoint requires:\n* The variable identifier (ID or name)\n\nThe operation will fail if:\n* The user lacks required permissions\n* The variable doesn't exist\n* The variable is being used by other objects \n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Variable",
+ "10.9.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique id or name of the variable"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Deleting the variable is successful."
+ },
+ "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/template/variables/search": {
+ "post": {
+ "operationId": "searchVariables",
+ "description": "\nSearch variables
Beta Version: 10.9.0.cl or later\n\nAllows searching for variables in ThoughtSpot.\n\nRequires ADMINISTRATION role.\n\nThe API endpoint supports searching variables by:\n* Variable identifier (ID or name)\n* Variable type\n* Name pattern (case-insensitive, supports % for wildcard)\n\nThe search results can be formatted in three ways:\n* METADATA_ONLY - Returns only variable metadata (default)\n* METADATA_AND_VALUES - Returns variable metadata and values\n* EDITABLE_METADATA_AND_VALUES - Returns only editable variable metadata and values\n\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Variable",
+ "10.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "variable_details": {
+ "description": "Variable details",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VariableDetailInput"
+ }
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included",
+ "default": 10,
+ "type": "integer",
+ "format": "int32"
+ },
+ "output_format": {
+ "description": "Format in which we want the output",
+ "default": "METADATA_ONLY",
+ "type": "string",
+ "enum": [
+ "METADATA_ONLY",
+ "METADATA_AND_VALUES",
+ "EDITABLE_METADATA_AND_VALUES"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "List of variables is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Variable"
+ }
+ }
+ }
+ }
+ },
+ "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/template/variables/{identifier}/update": {
+ "post": {
+ "operationId": "updateVariable",
+ "description": "\nUpdate a variable's properties
Beta Version: 10.9.0.cl or later\n\nAllows updating a variable's properties in ThoughtSpot.\n\nRequires ADMINISTRATION role and TENANT scope.\n\nThe API endpoint allows updating:\n* The variable name\n* The variable values\n\nWhen updating variable values, you need to specify:\n* The operation to perform (ADD, REPLACE, REMOVE)\n* The new values to add/replace/remove\n\nWhen the operation is ADD, a value any pre-existing value with the same set of constraints will be replaced.\nWhen the operation is REPLACE, all values of the variable are replaced with the values specified.\nWhen the operation is REMOVE, all values with the given set of conditions are removed.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Variable",
+ "10.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "New name of the variable if we want to rename.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation to perform on the values.",
+ "default": "REPLACE",
+ "type": "string",
+ "enum": [
+ "ADD",
+ "REMOVE",
+ "REPLACE"
+ ]
+ },
+ "values": {
+ "description": "Values of variable to be updated.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/InputVariableValue"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique id or name of the variable to update."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Updating the variable is successful."
+ },
+ "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/template/variables/update": {
+ "post": {
+ "operationId": "updateVariableValues",
+ "description": "\nUpdate values for multiple variables
Beta Version: 10.9.0.cl or later\n\nAllows updating values for multiple variables in ThoughtSpot.\n\nRequires ADMINISTRATION role.\n\nThe API endpoint allows:\n* Adding new values to variables\n* Replacing existing values\n* Deleting values from variables\n\nWhen updating variable values, you need to specify:\n* The variable identifiers\n* The values to add/replace/remove for each variable\n* The operation to perform (ADD, REPLACE, REMOVE)\n\nBehaviour based on operation type:\n* ADD - Adds values to the variable. Any pre-existing values with the same conditions are replaced.\n* REPLACE - Replaces all values of a given org with the current set of values.\n* REMOVE - Removes any values which match the set of conditions of the variables.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Variable",
+ "10.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "variable_updates": {
+ "description": "Variables and values",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VariableValueInput"
+ }
+ },
+ "operation": {
+ "description": "Type of update operation",
+ "type": "string",
+ "enum": [
+ "ADD",
+ "REMOVE",
+ "REPLACE"
+ ]
+ }
+ },
+ "required": [
+ "variable_updates",
+ "operation"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Updating variable values is successful."
+ },
+ "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/vcs/git/branches/commit": {
+ "post": {
+ "operationId": "commitBranch",
+ "description": "\n Version: 9.2.0.cl or later\n\nCommits TML files of metadata objects to the Git branch configured on your instance.\n\nRequires at least edit access to objects used in the commit operation.\n\nBefore using this endpoint to push your commits:\n\n* Enable Git integration on your instance.\n* Make sure the Git repository and branch details are configured on your instance.\n\nFor more information, see [Git integration documentation](https://developers.thoughtspot.com/docs/git-integration).\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/MetadataObject"
+ }
+ },
+ "delete_aware": {
+ "description": "Delete the tml files from version control repo if it does not exist in the ThoughSpot instance",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "branch_name": {
+ "description": " Name of the remote branch where object should be pushed\n \n\nNote: If no branch_name is specified, then the commit_branch_name will be considered.",
+ "type": "string"
+ },
+ "comment": {
+ "description": "Comment to be added to the commit",
+ "type": "string"
+ }
+ },
+ "required": [
+ "metadata",
+ "comment"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successfully committed the metadata objects",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CommitResponse"
+ }
+ }
+ }
+ },
+ "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/vcs/git/config/create": {
+ "post": {
+ "operationId": "createConfig",
+ "description": "\n Version: 9.2.0.cl or later\n\nAllows you to connect a ThoughtSpot instance to a Git repository.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance on your instance, the `CAN_SETUP_VERSION_CONTROL` (**Can set up version control**) privilege.\n\nYou can use this API endpoint to connect your ThoughtSpot development and production environments to the development and production branches of a Git repository.\n\nBefore using this endpoint to connect your ThoughtSpot instance to a Git repository, check the following prerequisites:\n\n* You have a Git repository. If you are using GitHub, make sure you have a valid account and an access token to connect ThoughtSpot to GitHub. For information about generating a token, see [GitHub Documentation](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens).\n\n* Your access token has `repo` scope that grants full access to public and private repositories.\n* Your Git repository has a branch that can be configured as a default branch in ThoughtSpot.\n\nFor more information, see [Git integration documentation](https://developers.thoughtspot.com/docs/?pageid=git-integration).\n\n**Note**: ThoughtSpot supports only GitHub / itHub Enterprise for CI/CD.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "repository_url": {
+ "description": "URL for connecting to remote repository",
+ "type": "string"
+ },
+ "username": {
+ "description": "Username to authenticate connection to remote repository",
+ "type": "string"
+ },
+ "access_token": {
+ "description": "Access token corresponding to the user to authenticate connection to remote repository",
+ "type": "string"
+ },
+ "org_identifier": {
+ "description": " Applicable when Orgs is enabled in the cluster\n \n\nList of Org ids or name. Provide value -1 for cluster level. Example : [\"OrgID1-or-Name1\", \"OrgID2-or-Name2\"] \n\n\n \n\nNote: If no value is specified, then the configurations will be returned for all orgs the user has access to
Version: 9.5.0.cl or later",
+ "type": "string"
+ },
+ "branch_names": {
+ "description": "List the remote branches to configure. Example:[development, production]",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "commit_branch_name": {
+ "description": "Name of the remote branch where objects from this Thoughtspot instance will be versioned.
Version: 9.7.0.cl or later",
+ "type": "string"
+ },
+ "enable_guid_mapping": {
+ "description": "Maintain mapping of guid for the deployment to an instance
Version: 9.4.0.cl or later",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "configuration_branch_name": {
+ "description": " Name of the branch where the configuration files related to operations between Thoughtspot and version control repo should be maintained.\n \n\nNote: If no branch name is specified, then by default, ts_config_files branch is considered. Ensure this branch exists before configuration.
Version: 9.7.0.cl or later",
+ "type": "string"
+ }
+ },
+ "required": [
+ "repository_url",
+ "username",
+ "access_token"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successfully configured local repository",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RepoConfigObject"
+ }
+ }
+ }
+ },
+ "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/vcs/git/config/delete": {
+ "post": {
+ "operationId": "deleteConfig",
+ "description": "\n Version: 9.2.0.cl or later\n\nDeletes Git repository configuration from your ThoughtSpot instance.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance on your instance, the `CAN_SETUP_VERSION_CONTROL` (**Can set up version control**) privilege.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "cluster_level": {
+ "description": " Applicable when Orgs is enabled in the cluster\n \n\nIndicator to consider cluster level or org level config. Set it to false to delete configuration from current org. If set to true, then the configuration at cluster level and orgs that inherited the configuration from cluster level will be deleted.
Version: 9.5.0.cl or later",
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Successfully deleted local repository configuration"
+ },
+ "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/vcs/git/commits/deploy": {
+ "post": {
+ "operationId": "deployCommit",
+ "description": "\n Version: 9.2.0.cl or later\n\nAllows you to deploy a commit and publish TML content to your ThoughtSpot instance.\n\nRequires at least edit access to the objects used in the deploy operation.\n\nThe API deploys the head of the branch unless a `commit_id` is specified in the API request. If the branch name is not defined in the request, the default branch is considered for deploying commits.\n\nFor more information, see [Git integration documentation](https://developers.thoughtspot.com/docs/git-integration).\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "commit_id": {
+ "description": " Commit_id against which the files should be picked to deploy.\n \n\nNote: If no commit_id is specified, then the head of the branch is considered.",
+ "type": "string"
+ },
+ "branch_name": {
+ "description": "Name of the remote branch where changes should be picked",
+ "type": "string"
+ },
+ "deploy_type": {
+ "description": "Indicates if all files or only modified file at specified commit point should be considered",
+ "default": "DELTA",
+ "type": "string",
+ "enum": [
+ "FULL",
+ "DELTA"
+ ]
+ },
+ "deploy_policy": {
+ "description": "Define the policy to follow while importing TML in the ThoughtSpot environment. Use "ALL_OR_NONE" to cancel the deployment of all ThoughtSpot objects if at least one of them fails to import. Use "Partial" to import ThoughtSpot objects that validate successfully even if other objects in the same deploy operations fail to import.",
+ "default": "ALL_OR_NONE",
+ "type": "string",
+ "enum": [
+ "ALL_OR_NONE",
+ "PARTIAL",
+ "VALIDATE_ONLY"
+ ]
+ }
+ },
+ "required": [
+ "branch_name"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successfully deployed the changes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DeployResponse"
+ }
+ }
+ }
+ }
+ },
+ "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/vcs/git/commits/{commit_id}/revert": {
+ "post": {
+ "operationId": "revertCommit",
+ "description": "\n Version: 9.2.0.cl or later\n\nReverts TML objects to a previous commit specified in the API request.\n\nRequires at least edit access to objects.\n\nIn the API request, specify the `commit_id`. If the branch name is not specified in the request, the API will consider the default branch configured on your instance.\n\nBy default, the API reverts all objects. If the revert operation fails for one of the objects provided in the commit, the API returns an error and does not revert any object.\n\nFor more information, see [Git integration documentation](https://developers.thoughtspot.com/docs/git-integration).\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/MetadataObject"
+ }
+ },
+ "branch_name": {
+ "description": " Name of the branch where the reverted version should be committed\n \n\nNote: If no branch_name is specified, then the commit_branch_name will be considered.",
+ "type": "string"
+ },
+ "revert_policy": {
+ "description": "Policy to apply when reverting a commit. Valid values: [ALL_OR_NONE, PARTIAL]",
+ "default": "ALL_OR_NONE",
+ "type": "string",
+ "enum": [
+ "ALL_OR_NONE",
+ "PARTIAL"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "commit_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Commit id to which the object should be reverted"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Reverted the object to the commit point specified",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RevertResponse"
+ }
+ }
+ }
+ },
+ "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/vcs/git/commits/search": {
+ "post": {
+ "operationId": "searchCommits",
+ "description": "\n Version: 9.2.0.cl or later\n\nGets a list of commits for a given metadata object.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance on your instance, the `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**) privilege and edit access to the metadata objects.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_identifier": {
+ "description": "Unique ID or name of the metadata.",
+ "type": "string"
+ },
+ "metadata_type": {
+ "description": "Type of metadata.",
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "CUSTOM_ACTION"
+ ]
+ },
+ "branch_name": {
+ "description": " Name of the branch from which commit history needs to be displayed.\n \n\nNote: If no branch_name is specified, then commits will be returned for the default branch for this configuration.",
+ "type": "string"
+ },
+ "record_offset": {
+ "description": " Record offset point in the commit history to display the response.\n \n\nNote: If no record offset is specified, the beginning of the record will be considered.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": " Number of history records from record offset point to be displayed in the response.\n \n\nNote: If no record size is specified, then all the records will be considered.",
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "required": [
+ "metadata_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Commit history of the metadata object",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CommitHistoryResponse"
+ }
+ }
+ }
+ }
+ },
+ "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/vcs/git/config/search": {
+ "post": {
+ "operationId": "searchConfig",
+ "description": "\n Version: 9.2.0.cl or later\n\nGets Git repository connections configured on the ThoughtSpot instance.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance on your instance, the `CAN_SETUP_VERSION_CONTROL` (**Can set up version control**) privilege.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "org_identifiers": {
+ "description": " Applicable when Orgs is enabled in the cluster\n \n\nList of Org ids or name. Provide value -1 for cluster level. Example : [\"OrgID1-or-Name1\", \"OrgID2-or-Name2\"] \n\n\n \n\nNote: If no value is specified, then the configurations will be returned for all orgs the user has access to
Version: 9.5.0.cl or later",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Details of local repository configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/RepoConfigObject"
+ }
+ }
+ }
+ }
+ },
+ "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/vcs/git/config/update": {
+ "post": {
+ "operationId": "updateConfig",
+ "description": "\n Version: 9.2.0.cl or later\n\nUpdates Git repository configuration settings.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance on your instance, the `CAN_SETUP_VERSION_CONTROL` (**Can set up version control**) privilege.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "Username to authenticate connection to version control system",
+ "type": "string"
+ },
+ "access_token": {
+ "description": "Access token corresponding to the user to authenticate connection to version control system",
+ "type": "string"
+ },
+ "org_identifier": {
+ "description": " Applicable when Orgs is enabled in the cluster\n \n\nList of Org ids or name. Provide value -1 for cluster level. Example : [\"OrgID1-or-Name1\", \"OrgID2-or-Name2\"] \n\n\n \n\nNote: If no value is specified, then the configurations will be returned for all orgs the user has access to
Version: 9.5.0.cl or later",
+ "type": "string"
+ },
+ "branch_names": {
+ "description": "List the remote branches to configure. Example:[development, production]",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "commit_branch_name": {
+ "description": "Name of the remote branch where objects from this Thoughtspot instance will be versioned.
Version: 9.7.0.cl or later",
+ "type": "string"
+ },
+ "enable_guid_mapping": {
+ "description": "Maintain mapping of guid for the deployment to an instance
Version: 9.4.0.cl or later",
+ "type": "boolean",
+ "nullable": true
+ },
+ "configuration_branch_name": {
+ "description": "Name of the branch where the configuration files related to operations between Thoughtspot and version control repo should be maintained.
Version: 9.7.0.cl or later",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successfully updated local repository configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RepoConfigObject"
+ }
+ }
+ }
+ },
+ "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/vcs/git/branches/validate": {
+ "post": {
+ "operationId": "validateMerge",
+ "description": "\n Version: 9.2.0.cl or later\n\nValidates the content of your source branch against the objects in your destination environment.\n\nBefore merging content from your source branch to the destination branch, run this API operation from your destination environment and ensure that the changes from the source branch function in the destination environment.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance on your instance, the `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**) privilege and edit access to the metadata objects.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "source_branch_name": {
+ "description": "Name of the branch from which changes need to be picked for validation",
+ "type": "string"
+ },
+ "target_branch_name": {
+ "description": "Name of the branch where files will be merged",
+ "type": "string"
+ }
+ },
+ "required": [
+ "source_branch_name",
+ "target_branch_name"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "validation done successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DeployResponse"
+ }
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "schemas": {
+ "ErrorResponse": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "object",
+ "nullable": true
+ }
+ }
+ },
+ "GetTokenResponse": {
+ "type": "object",
+ "required": [
+ "token",
+ "creation_time_in_millis",
+ "expiration_time_in_millis",
+ "valid_for_user_id",
+ "valid_for_username"
+ ],
+ "properties": {
+ "token": {
+ "type": "string",
+ "description": "Bearer auth token."
+ },
+ "creation_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token creation time in milliseconds."
+ },
+ "expiration_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token expiration time in milliseconds."
+ },
+ "valid_for_user_id": {
+ "type": "string",
+ "description": "Username to whom the token is issued."
+ },
+ "valid_for_username": {
+ "type": "string",
+ "description": "Unique identifier of the user to whom the token is issued."
+ }
+ }
+ },
+ "RiseSetter": {
+ "type": "object",
+ "required": [
+ "field",
+ "path"
+ ],
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ }
+ }
+ },
+ "User": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "display_name",
+ "visibility"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier of the user."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the user."
+ },
+ "display_name": {
+ "type": "string",
+ "description": "Display name of the user."
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ],
+ "description": "Visibility of the users. The `SHARABLE` property makes a user visible to other users and group, who can share objects with the user."
+ },
+ "author_id": {
+ "type": "string",
+ "description": "Unique identifier of author of the user.",
+ "nullable": true
+ },
+ "can_change_password": {
+ "type": "boolean",
+ "description": "Defines whether the user can change their password.",
+ "nullable": true
+ },
+ "complete_detail": {
+ "type": "boolean",
+ "description": "Defines whether the response has complete detail of the user.",
+ "nullable": true
+ },
+ "creation_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Creation time of the user in milliseconds.",
+ "nullable": true
+ },
+ "current_org": {
+ "$ref": "#/components/schemas/Org",
+ "description": "Current logged-in Org of the user.",
+ "nullable": true
+ },
+ "deleted": {
+ "type": "boolean",
+ "description": "Indicates whether the user is deleted.",
+ "nullable": true
+ },
+ "deprecated": {
+ "type": "boolean",
+ "description": "Indicates whether the user is deprecated.",
+ "nullable": true
+ },
+ "account_type": {
+ "type": "string",
+ "enum": [
+ "LOCAL_USER",
+ "LDAP_USER",
+ "SAML_USER",
+ "OIDC_USER",
+ "REMOTE_USER"
+ ],
+ "description": "Type of the user account.",
+ "nullable": true
+ },
+ "account_status": {
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "INACTIVE",
+ "EXPIRED",
+ "LOCKED",
+ "PENDING",
+ "SUSPENDED"
+ ],
+ "description": "Status of the user account.",
+ "nullable": true
+ },
+ "email": {
+ "type": "string",
+ "description": "Email of the user.",
+ "nullable": true
+ },
+ "expiration_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Expiration time of the user in milliseconds.",
+ "nullable": true
+ },
+ "external": {
+ "type": "boolean",
+ "description": "Indicates whether the user is external.",
+ "nullable": true
+ },
+ "favorite_metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FavoriteMetadataItem"
+ },
+ "description": "Metadata objects to add to the users' favorites list.",
+ "nullable": true
+ },
+ "first_login_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Timestamp of the first login session of the user in milliseconds.",
+ "nullable": true
+ },
+ "group_mask": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Group mask of the user.",
+ "nullable": true
+ },
+ "hidden": {
+ "type": "boolean",
+ "description": "Indicates whether the user is hidden.",
+ "nullable": true
+ },
+ "home_liveboard": {
+ "$ref": "#/components/schemas/Object_ID_And_Name",
+ "description": "Unique ID or name of the default Liveboard assigned to the user.",
+ "nullable": true
+ },
+ "incomplete_details": {
+ "type": "object",
+ "description": "Incomplete details of user if any present.",
+ "nullable": true
+ },
+ "is_first_login": {
+ "type": "boolean",
+ "description": "Indicates whether it is first login of the user.",
+ "nullable": true
+ },
+ "modification_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Last modified time of the user in milliseconds.",
+ "nullable": true
+ },
+ "modifier_id": {
+ "type": "string",
+ "description": "Unique identifier of modifier of the user.",
+ "nullable": true
+ },
+ "notify_on_share": {
+ "type": "boolean",
+ "description": "User preference for receiving email notifications on shared Answers or Liveboard.",
+ "nullable": true
+ },
+ "onboarding_experience_completed": {
+ "type": "boolean",
+ "description": "The user preference for turning off the onboarding experience.",
+ "nullable": true
+ },
+ "orgs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Org"
+ },
+ "description": "Orgs to which the user belongs.",
+ "nullable": true
+ },
+ "owner_id": {
+ "type": "string",
+ "description": "Unique identifier of owner of the user.",
+ "nullable": true
+ },
+ "parent_type": {
+ "type": "string",
+ "enum": [
+ "USER",
+ "GROUP"
+ ],
+ "description": "Parent type of the user.",
+ "nullable": true
+ },
+ "privileges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Privileges which are assigned to the user.",
+ "nullable": true
+ },
+ "show_onboarding_experience": {
+ "type": "boolean",
+ "description": "User's preference to revisit the new user onboarding experience.",
+ "nullable": true
+ },
+ "super_user": {
+ "type": "boolean",
+ "description": "Indicates whether the user is a super user.",
+ "nullable": true
+ },
+ "system_user": {
+ "type": "boolean",
+ "description": "Indicates whether the user is a system user.",
+ "nullable": true
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Object_ID_And_Name"
+ },
+ "description": "Tags associated with the user.",
+ "nullable": true
+ },
+ "tenant_id": {
+ "type": "string",
+ "description": "Unique identifier of tenant of the user.",
+ "nullable": true
+ },
+ "user_groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Object_ID_And_Name"
+ },
+ "description": "Groups to which the user is assigned.",
+ "nullable": true
+ },
+ "user_inherited_groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Object_ID_And_Name"
+ },
+ "description": "Inherited User Groups which the user is part of.",
+ "nullable": true
+ },
+ "welcome_email_sent": {
+ "type": "boolean",
+ "description": "Indicates whether welcome email is sent for the user.",
+ "nullable": true
+ },
+ "org_privileges": {
+ "type": "object",
+ "description": "Privileges which are assigned to the user with org.",
+ "nullable": true
+ },
+ "preferred_locale": {
+ "type": "string",
+ "description": "Locale for the user.",
+ "nullable": true
+ },
+ "extended_properties": {
+ "type": "object",
+ "description": "Properties for the user",
+ "nullable": true
+ },
+ "extended_preferences": {
+ "type": "object",
+ "description": "Preferences for the user",
+ "nullable": true
+ },
+ "user_parameters": {
+ "type": "object",
+ "description": "User Parameters which are specified for the user via JWToken",
+ "nullable": true
+ },
+ "access_control_properties": {
+ "type": "object",
+ "description": "Access Control Properties which are specified for the user via JWToken",
+ "nullable": true
+ }
+ }
+ },
+ "Org": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The ID of the object."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the object."
+ }
+ },
+ "description": "The current Org context of the user."
+ },
+ "FavoriteMetadataItem": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "type"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique ID of the metadata object."
+ },
+ "name": {
+ "type": "string",
+ "description": "name of the metadata object."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION",
+ "TAG",
+ "USER",
+ "USER_GROUP",
+ "LOGICAL_RELATIONSHIP"
+ ],
+ "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."
+ }
+ }
+ },
+ "Object_ID_And_Name": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The unique identifier of the object.",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the object.",
+ "nullable": true
+ }
+ },
+ "description": "The object representation with ID and Name."
+ },
+ "FavoriteMetadataInput": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata object.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER"
+ ],
+ "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.",
+ "nullable": true
+ }
+ }
+ },
+ "SortOptions": {
+ "type": "object",
+ "properties": {
+ "field_name": {
+ "type": "string",
+ "enum": [
+ "NAME",
+ "DISPLAY_NAME",
+ "AUTHOR",
+ "CREATED",
+ "MODIFIED"
+ ],
+ "description": "Name of the field to apply the sort on.",
+ "nullable": true
+ },
+ "order": {
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "description": "Sort order : ASC(Ascending) or DESC(Descending).",
+ "nullable": true
+ }
+ },
+ "description": "Sort options."
+ },
+ "SystemInfo": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The unique identifier of the object",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the cluster.",
+ "nullable": true
+ },
+ "release_version": {
+ "type": "string",
+ "description": "The release version of the cluster.",
+ "nullable": true
+ },
+ "time_zone": {
+ "type": "string",
+ "description": "The timezone of the cluster.",
+ "nullable": true
+ },
+ "locale": {
+ "type": "string",
+ "description": "The default locale of the cluster.",
+ "nullable": true
+ },
+ "date_format": {
+ "type": "string",
+ "description": "The default date format representation of the cluster.",
+ "nullable": true
+ },
+ "api_version": {
+ "type": "string",
+ "description": "The API version of the cluster.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The deployment type of the cluster.",
+ "nullable": true
+ },
+ "environment": {
+ "type": "string",
+ "description": "The deployed environment of the cluster.",
+ "nullable": true
+ },
+ "license": {
+ "type": "string",
+ "description": "The license applied to the cluster.",
+ "nullable": true
+ },
+ "date_time_format": {
+ "type": "string",
+ "description": "The default date time format representation of the cluster.",
+ "nullable": true
+ },
+ "time_format": {
+ "type": "string",
+ "description": "The default time format representation of the cluster.",
+ "nullable": true
+ },
+ "system_user_id": {
+ "type": "string",
+ "description": "The unique identifier of system user.",
+ "nullable": true
+ },
+ "super_user_id": {
+ "type": "string",
+ "description": "The unique identifier of super user.",
+ "nullable": true
+ },
+ "hidden_object_id": {
+ "type": "string",
+ "description": "The unique identifier of hidden object.",
+ "nullable": true
+ },
+ "system_group_id": {
+ "type": "string",
+ "description": "The unique identifier of system group.",
+ "nullable": true
+ },
+ "tsadmin_user_id": {
+ "type": "string",
+ "description": "The unique identifier of tsadmin user.",
+ "nullable": true
+ },
+ "admin_group_id": {
+ "type": "string",
+ "description": "The unique identifier of admin group.",
+ "nullable": true
+ },
+ "all_tables_connection_id": {
+ "type": "string",
+ "description": "The unique identifier of all tables connection.",
+ "nullable": true
+ },
+ "all_user_group_id": {
+ "type": "string",
+ "description": "The unique identifier of ALL group.",
+ "nullable": true
+ },
+ "accept_language": {
+ "type": "string",
+ "description": "The supported accept language by the cluster.",
+ "nullable": true
+ },
+ "all_user_group_member_user_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The count of users of ALL group.",
+ "nullable": true
+ },
+ "logical_model_version": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The version number of logical model of the cluster.",
+ "nullable": true
+ }
+ }
+ },
+ "SystemConfig": {
+ "type": "object",
+ "properties": {
+ "onboarding_content_url": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ },
+ "SystemOverrideInfo": {
+ "type": "object",
+ "properties": {
+ "config_override_info": {
+ "type": "object",
+ "nullable": true
+ }
+ }
+ },
+ "OrgResponse": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Unique identifier of the Org.",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the Org.",
+ "nullable": true
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "IN_ACTIVE"
+ ],
+ "description": "Status of the Org.",
+ "nullable": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the Org.",
+ "nullable": true
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "SHOW",
+ "HIDDEN"
+ ],
+ "description": "Visibility of the Org.",
+ "nullable": true
+ }
+ }
+ },
+ "Tag": {
+ "type": "object",
+ "required": [
+ "name",
+ "id"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "color": {
+ "type": "string",
+ "nullable": true
+ },
+ "deleted": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "hidden": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "external": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "deprecated": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "creation_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "nullable": true
+ },
+ "modification_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "nullable": true
+ },
+ "author_id": {
+ "type": "string",
+ "nullable": true
+ },
+ "modifier_id": {
+ "type": "string",
+ "nullable": true
+ },
+ "owner_id": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ },
+ "UserGroupResponse": {
+ "type": "object",
+ "required": [
+ "display_name",
+ "id",
+ "name",
+ "visibility"
+ ],
+ "properties": {
+ "author_id": {
+ "type": "string",
+ "description": "The unique identifier of the object",
+ "nullable": true
+ },
+ "complete_detail": {
+ "type": "boolean",
+ "description": "Indicates whether the response has complete detail of the group.",
+ "nullable": true
+ },
+ "content": {
+ "type": "object",
+ "description": "Content details of the group",
+ "nullable": true
+ },
+ "creation_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Creation time of the group in milliseconds",
+ "nullable": true
+ },
+ "default_liveboards": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "Liveboards that are assigned as default Liveboards to the group.",
+ "nullable": true
+ },
+ "deleted": {
+ "type": "boolean",
+ "description": "Indicates whether the group is deleted",
+ "nullable": true
+ },
+ "deprecated": {
+ "type": "boolean",
+ "description": "Indicates whether the group is deprecated",
+ "nullable": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the group",
+ "nullable": true
+ },
+ "display_name": {
+ "type": "string",
+ "description": "Display name of the group."
+ },
+ "external": {
+ "type": "boolean",
+ "description": "Indicates whether the group is external",
+ "nullable": true
+ },
+ "generation_number": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Generation number of the group",
+ "nullable": true
+ },
+ "hidden": {
+ "type": "boolean",
+ "description": "Indicates whether the group is hidden",
+ "nullable": true
+ },
+ "id": {
+ "type": "string",
+ "description": "The unique identifier of the object"
+ },
+ "index": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Index number of the group",
+ "nullable": true
+ },
+ "index_version": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Index version number of the group",
+ "nullable": true
+ },
+ "metadata_version": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Metadata version number of the group",
+ "nullable": true
+ },
+ "modification_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Last modified time of the group in milliseconds.",
+ "nullable": true
+ },
+ "modifier_id": {
+ "type": "string",
+ "description": "The unique identifier of the object",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the group."
+ },
+ "orgs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "Orgs in which group exists.",
+ "nullable": true
+ },
+ "owner_id": {
+ "type": "string",
+ "description": "The unique identifier of the object",
+ "nullable": true
+ },
+ "parent_type": {
+ "type": "string",
+ "enum": [
+ "USER",
+ "GROUP"
+ ],
+ "description": "Parent type of the group.",
+ "nullable": true
+ },
+ "privileges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Privileges which are assigned to the group",
+ "nullable": true
+ },
+ "sub_groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "Groups who are part of the group",
+ "nullable": true
+ },
+ "system_group": {
+ "type": "boolean",
+ "description": "Indicates whether the group is a system group.",
+ "nullable": true
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "Tags associated with the group.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LOCAL_GROUP",
+ "LDAP_GROUP"
+ ],
+ "description": "Type of the group.",
+ "nullable": true
+ },
+ "users": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "Users who are part of the group.",
+ "nullable": true
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ],
+ "description": "Visibility of the group. The SHARABLE makes a group visible to other users and groups, and thus allows them to share objects."
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Role"
+ },
+ "description": "List of roles assgined to the user",
+ "nullable": true
+ }
+ }
+ },
+ "Role": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "id of the role",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "name of the role",
+ "nullable": true
+ }
+ }
+ },
+ "MetadataListItemInput": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata.",
+ "nullable": true
+ },
+ "obj_identifier": {
+ "type": "string",
+ "description": "CustomObjectId of the metadata.",
+ "nullable": true
+ },
+ "name_pattern": {
+ "type": "string",
+ "description": "A pattern to match the case-insensitive name of the metadata object. User % for a wildcard match.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION",
+ "TAG",
+ "USER",
+ "USER_GROUP",
+ "LOGICAL_RELATIONSHIP",
+ "INSIGHT_SPEC"
+ ],
+ "description": "Type of metadata. Required if the name of the object is set as identifier. This attribute is optional when the object GUID is specified as identifier.\n1. Liveboard\n2. Answers\n3. LOGICAL_TABLE for any data object such as table, worksheet or view.\n4. LOGICAL_COLUMN for a column of any data object such as table, worksheet or view.\n5. CONNECTION for creating or modify data connections.\n6. TAG for tag objects.\n7. USER for user objects.\n8. USER_GROUP for group objects.\n9. LOGICAL_RELATIONSHIP for table or worksheet joins. A join combines from one or several data object by using matching values\n10. INSIGHT_SPEC for SpotIQ objects",
+ "nullable": true
+ },
+ "subtypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "ONE_TO_ONE_LOGICAL",
+ "WORKSHEET",
+ "PRIVATE_WORKSHEET",
+ "USER_DEFINED",
+ "AGGR_WORKSHEET",
+ "SQL_VIEW"
+ ]
+ },
+ "description": "List of subtype of metadata. Applies for LOGICAL_TABLE type with the following valid values.\n1. ONE_TO_ONE_LOGICAL\n2. WORKSHEET\n3. PRIVATE_WORKSHEET.\n4. USER_DEFINED.\n5. AGGR_WORKSHEET.\n6. SQL_VIEW
Version: 10.11.0.cl or later",
+ "nullable": true
+ }
+ }
+ },
+ "PermissionInput": {
+ "type": "object",
+ "required": [
+ "principal",
+ "share_mode"
+ ],
+ "properties": {
+ "principal": {
+ "$ref": "#/components/schemas/PrincipalsInput",
+ "description": "Details of users or groups."
+ },
+ "share_mode": {
+ "type": "string",
+ "enum": [
+ "READ_ONLY",
+ "MODIFY",
+ "NO_ACCESS"
+ ],
+ "description": "Object share mode."
+ }
+ },
+ "description": "Details of users or groups."
+ },
+ "ExcludeMetadataListItemInput": {
+ "type": "object",
+ "required": [
+ "identifier",
+ "type"
+ ],
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION",
+ "TAG",
+ "USER",
+ "USER_GROUP",
+ "LOGICAL_RELATIONSHIP",
+ "INSIGHT_SPEC"
+ ],
+ "description": "Type of metadata. Required if the name of the object is set as identifier. This attribute is optional when the object GUID is specified as identifier.\n1. Liveboard\n2. Answers\n3. LOGICAL_TABLE for any data object such as table, worksheet or view\n4. LOGICAL_COLUMN for a column of any data object such as table, worksheet or view\n5. CONNECTION for connection objects\n6. TAG for tag objects\n7. USER for user objects\n8. USER_GROUP for group objects\n9. LOGICAL_RELATIONSHIP for table or worksheet joins. A join combines from one or several data object by using matching values.\n10. INSIGHT_SPEC for SpotIQ objects"
+ }
+ }
+ },
+ "FavoriteObjectOptionsInput": {
+ "type": "object",
+ "properties": {
+ "include": {
+ "type": "boolean",
+ "default": false,
+ "description": "Includes objects marked as favorite for the specified users.",
+ "nullable": true
+ },
+ "user_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the users. If not specified, the favorite objects of current logged in user are returned.",
+ "nullable": true
+ }
+ },
+ "description": "Favorite object options."
+ },
+ "MetadataSearchSortOptions": {
+ "type": "object",
+ "properties": {
+ "field_name": {
+ "type": "string",
+ "enum": [
+ "NAME",
+ "DISPLAY_NAME",
+ "AUTHOR",
+ "CREATED",
+ "MODIFIED",
+ "VIEWS",
+ "FAVORITES",
+ "LAST_ACCESSED"
+ ],
+ "description": "Name of the field to apply the sort on.",
+ "nullable": true
+ },
+ "order": {
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "description": "Sort order : ASC(Ascending) or DESC(Descending).",
+ "nullable": true
+ }
+ },
+ "description": "Sort options."
+ },
+ "MetadataSearchResponse": {
+ "type": "object",
+ "required": [
+ "metadata_type"
+ ],
+ "properties": {
+ "metadata_id": {
+ "type": "string",
+ "description": "Unique identifier of the metadata.",
+ "nullable": true
+ },
+ "metadata_name": {
+ "type": "string",
+ "description": "Name of the metadata.",
+ "nullable": true
+ },
+ "metadata_type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION",
+ "TAG",
+ "USER",
+ "USER_GROUP",
+ "LOGICAL_RELATIONSHIP",
+ "INSIGHT_SPEC"
+ ],
+ "description": "Type of the metadata."
+ },
+ "metadata_obj_id": {
+ "type": "string",
+ "description": "Custom identifier of the metadata.\n(Available from 10.8.0.cl onwards)",
+ "nullable": true
+ },
+ "dependent_objects": {
+ "type": "object",
+ "description": "Details of dependent objects of the metadata objects.",
+ "nullable": true
+ },
+ "incomplete_objects": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "description": "Details of incomplete information of the metadata objects if any.",
+ "nullable": true
+ },
+ "metadata_detail": {
+ "type": "object",
+ "description": "Complete details of the metadata objects.",
+ "nullable": true
+ },
+ "metadata_header": {
+ "type": "object",
+ "description": "Header information of the metadata objects.",
+ "nullable": true
+ },
+ "visualization_headers": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "description": "Visualization header information of the metadata objects.",
+ "nullable": true
+ },
+ "stats": {
+ "type": "object",
+ "description": "Stats of the metadata object. Includes views, favorites, last_accessed.",
+ "nullable": true
+ }
+ },
+ "description": "Metadata Search Response Object."
+ },
+ "GetAsyncImportStatusResponse": {
+ "type": "object",
+ "properties": {
+ "status_list": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ImportEPackAsyncTaskStatus"
+ },
+ "description": "List of task statuses.",
+ "nullable": true
+ },
+ "last_batch": {
+ "type": "boolean",
+ "description": "Indicates whether there are more task statuses to fetch.",
+ "nullable": true
+ }
+ }
+ },
+ "ImportEPackAsyncTaskStatus": {
+ "type": "object",
+ "properties": {
+ "tenant_id": {
+ "type": "string",
+ "description": "GUID of tenant from which the task is initiated.",
+ "nullable": true
+ },
+ "org_id": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Organisation ID of the user who initiated the task.",
+ "nullable": true
+ },
+ "task_id": {
+ "type": "string",
+ "description": "Unique identifier for the task.",
+ "nullable": true
+ },
+ "task_name": {
+ "type": "string",
+ "description": "Name of the task.",
+ "nullable": true
+ },
+ "import_response": {
+ "type": "object",
+ "description": "Response of imported objects so far.",
+ "nullable": true
+ },
+ "task_status": {
+ "type": "string",
+ "enum": [
+ "COMPLETED",
+ "IN_QUEUE",
+ "IN_PROGRESS",
+ "FAILED"
+ ],
+ "description": "Current status of the task.",
+ "nullable": true
+ },
+ "author_id": {
+ "type": "string",
+ "description": "ID of the user who initiated the task.",
+ "nullable": true
+ },
+ "import_policy": {
+ "type": "string",
+ "enum": [
+ "PARTIAL",
+ "ALL_OR_NONE",
+ "VALIDATE_ONLY",
+ "PARTIAL_OBJECT"
+ ],
+ "description": "Policy used for the import task.",
+ "nullable": true
+ },
+ "created_at": {
+ "type": "number",
+ "format": "float",
+ "description": "Time when the task was created (in ms since epoch).",
+ "nullable": true
+ },
+ "in_progress_at": {
+ "type": "number",
+ "format": "float",
+ "description": "Time when the task started (in ms since epoch).",
+ "nullable": true
+ },
+ "completed_at": {
+ "type": "number",
+ "format": "float",
+ "description": "Time when the task was completed (in ms since epoch).",
+ "nullable": true
+ },
+ "total_object_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total number of objects to process.",
+ "nullable": true
+ },
+ "object_processed_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of objects processed so far.",
+ "nullable": true
+ },
+ "modified_at": {
+ "type": "number",
+ "format": "float",
+ "description": "Last time the task status was updated (in ms since epoch).",
+ "nullable": true
+ },
+ "author_display_name": {
+ "type": "string",
+ "description": "Display name of the user who initiated the task.",
+ "nullable": true
+ }
+ }
+ },
+ "SqlQueryResponse": {
+ "type": "object",
+ "required": [
+ "metadata_id",
+ "metadata_name",
+ "metadata_type",
+ "sql_queries"
+ ],
+ "properties": {
+ "metadata_id": {
+ "type": "string",
+ "description": "Unique identifier of the metadata."
+ },
+ "metadata_name": {
+ "type": "string",
+ "description": "Name of the metadata."
+ },
+ "metadata_type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION",
+ "TAG",
+ "USER",
+ "USER_GROUP",
+ "LOGICAL_RELATIONSHIP"
+ ],
+ "description": "Type of the metadata."
+ },
+ "sql_queries": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SqlQuery"
+ },
+ "description": "SQL query details of metadata objects."
+ }
+ }
+ },
+ "SqlQuery": {
+ "type": "object",
+ "required": [
+ "metadata_id",
+ "metadata_name",
+ "sql_query"
+ ],
+ "properties": {
+ "metadata_id": {
+ "type": "string",
+ "description": "Unique identifier of the metadata."
+ },
+ "metadata_name": {
+ "type": "string",
+ "description": "Name of the metadata."
+ },
+ "sql_query": {
+ "type": "string",
+ "description": "SQL query of a metadata object."
+ }
+ },
+ "description": "Response format associated with fetch SQL query api"
+ },
+ "PdfOptionsInput": {
+ "type": "object",
+ "properties": {
+ "include_cover_page": {
+ "type": "boolean",
+ "default": true,
+ "description": "Indicates whether to include the cover page with the Liveboard title.",
+ "nullable": true
+ },
+ "include_custom_logo": {
+ "type": "boolean",
+ "default": true,
+ "description": "Indicates whether to include customized wide logo in the footer if available.",
+ "nullable": true
+ },
+ "include_filter_page": {
+ "type": "boolean",
+ "default": true,
+ "description": "Indicates whether to include a page with all applied filters.",
+ "nullable": true
+ },
+ "include_page_number": {
+ "type": "boolean",
+ "default": true,
+ "description": "Indicates whether to include page number in the footer of each page.",
+ "nullable": true
+ },
+ "page_orientation": {
+ "type": "string",
+ "enum": [
+ "PORTRAIT",
+ "LANDSCAPE"
+ ],
+ "default": "PORTRAIT",
+ "description": "Page orientation of the PDF.",
+ "nullable": true
+ },
+ "truncate_table": {
+ "type": "boolean",
+ "default": false,
+ "description": "Indicates whether to include only the first page of the tables.",
+ "nullable": true
+ },
+ "page_footer_text": {
+ "type": "string",
+ "description": "Text to include in the footer of each page.",
+ "nullable": true
+ }
+ }
+ },
+ "PngOptionsInput": {
+ "type": "object",
+ "properties": {
+ "include_cover_page": {
+ "type": "boolean",
+ "default": false,
+ "description": "Indicates whether to include the cover page with the Liveboard title.",
+ "nullable": true
+ },
+ "include_filter_page": {
+ "type": "boolean",
+ "default": false,
+ "description": "Indicates whether to include a page with all applied filters.",
+ "nullable": true
+ },
+ "personalised_view_id": {
+ "type": "string",
+ "description": "Indicates personalised view of the Liveboard in case of png",
+ "nullable": true
+ },
+ "image_resolution": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Desired width of the Liveboard image in pixels. Ex. 1920 for Full HD image
Beta Version: 10.9.0.cl or later",
+ "nullable": true
+ },
+ "image_scale": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The scale of the image in percentage. Ex. 100 for 100% scale.
Beta Version: 10.9.0.cl or later",
+ "nullable": true
+ },
+ "include_header": {
+ "type": "boolean",
+ "default": false,
+ "description": "Indicates whether to include the header of the liveboard.
Beta Version: 10.9.0.cl or later",
+ "nullable": true
+ }
+ }
+ },
+ "RegionalSettingsInput": {
+ "type": "object",
+ "properties": {
+ "currency_format": {
+ "type": "string",
+ "description": "ISO code to be appended with currency values.",
+ "nullable": true,
+ "enum": [
+ "ADP",
+ "AED",
+ "AFN",
+ "ALL",
+ "AMD",
+ "ANG",
+ "AOA",
+ "ARA",
+ "ARS",
+ "ATS",
+ "AUD",
+ "AWG",
+ "AZN",
+ "BAM",
+ "BBD",
+ "BDT",
+ "BEF",
+ "BGL",
+ "BGM",
+ "BGN",
+ "BHD",
+ "BIF",
+ "BMD",
+ "BND",
+ "BOB",
+ "BOP",
+ "BOV",
+ "BRL",
+ "BSD",
+ "BTN",
+ "BUK",
+ "BWP",
+ "BYN",
+ "BZD",
+ "CAD",
+ "CDF",
+ "CHE",
+ "CHF",
+ "CHW",
+ "CLE",
+ "CLP",
+ "CNX",
+ "CNY",
+ "COP",
+ "COU",
+ "CRC",
+ "CSK",
+ "CUC",
+ "CUP",
+ "CVE",
+ "CYP",
+ "CZK",
+ "DDM",
+ "DEM",
+ "DJF",
+ "DKK",
+ "DOP",
+ "DZD",
+ "ECS",
+ "ECV",
+ "EEK",
+ "EGP",
+ "ERN",
+ "ESP",
+ "ETB",
+ "EUR",
+ "FIM",
+ "FJD",
+ "FKP",
+ "FRF",
+ "GBP",
+ "GEK",
+ "GEL",
+ "GHS",
+ "GIP",
+ "GMD",
+ "GNF",
+ "GNS",
+ "GQE",
+ "GRD",
+ "GTQ",
+ "GWE",
+ "GWP",
+ "GYD",
+ "HKD",
+ "HNL",
+ "HRD",
+ "HRK",
+ "HTG",
+ "HUF",
+ "IDR",
+ "IEP",
+ "ILP",
+ "ILS",
+ "INR",
+ "IQD",
+ "IRR",
+ "ISK",
+ "ITL",
+ "JMD",
+ "JOD",
+ "JPY",
+ "KES",
+ "KGS",
+ "KHR",
+ "KMF",
+ "KPW",
+ "KRW",
+ "KWD",
+ "KYD",
+ "KZT",
+ "LAK",
+ "LBP",
+ "LKR",
+ "LRD",
+ "LSL",
+ "LTL",
+ "LTT",
+ "LUC",
+ "LUF",
+ "LUL",
+ "LVL",
+ "LVR",
+ "LYD",
+ "MAD",
+ "MAF",
+ "MCF",
+ "MDC",
+ "MDL",
+ "MGA",
+ "MGF",
+ "MKD",
+ "MLF",
+ "MMK",
+ "MNT",
+ "MOP",
+ "MRU",
+ "MTL",
+ "MTP",
+ "MUR",
+ "MVR",
+ "MWK",
+ "MXN",
+ "MXV",
+ "MYR",
+ "MZE",
+ "MZN",
+ "NAD",
+ "NGN",
+ "NIO",
+ "NLG",
+ "NOK",
+ "NPR",
+ "NZD",
+ "OMR",
+ "PAB",
+ "PEI",
+ "PEN",
+ "PGK",
+ "PHP",
+ "PKR",
+ "PLN",
+ "PTE",
+ "PYG",
+ "QAR",
+ "RHD",
+ "RON",
+ "RSD",
+ "RUB",
+ "RWF",
+ "SAR",
+ "SBD",
+ "SCR",
+ "SDG",
+ "SEK",
+ "SGD",
+ "SHP",
+ "SIT",
+ "SKK",
+ "SLL",
+ "SOS",
+ "SRD",
+ "SRG",
+ "SSP",
+ "STN",
+ "SUR",
+ "SVC",
+ "SYP",
+ "SZL",
+ "THB",
+ "TJR",
+ "TJS",
+ "TMT",
+ "TND",
+ "TOP",
+ "TPE",
+ "TRY",
+ "TTD",
+ "TWD",
+ "TZS",
+ "UAH",
+ "UAK",
+ "UGX",
+ "USD",
+ "UYU",
+ "UYW",
+ "UZS",
+ "VES",
+ "VND",
+ "VUV",
+ "WST",
+ "XAF",
+ "XAG",
+ "XAU",
+ "XBA",
+ "XBB",
+ "XCD",
+ "XDR",
+ "XEU",
+ "XFO",
+ "XFU",
+ "XOF",
+ "XPD",
+ "XPF",
+ "XPT",
+ "XRE",
+ "XSU",
+ "XTS",
+ "XUA",
+ "XXX",
+ "YDD",
+ "YER",
+ "ZAR",
+ "ZMW"
+ ]
+ },
+ "user_locale": {
+ "type": "string",
+ "description": "Indicates the locale to be used for all formattings.",
+ "nullable": true,
+ "enum": [
+ "en-CA",
+ "en-GB",
+ "en-US",
+ "de-DE",
+ "ja-JP",
+ "zh-CN",
+ "pt-BR",
+ "fr-FR",
+ "fr-CA",
+ "es-US",
+ "da-DK",
+ "es-ES",
+ "fi-FI",
+ "sv-SE",
+ "nb-NO",
+ "pt-PT",
+ "nl-NL",
+ "it-IT",
+ "ru-RU",
+ "en-IN",
+ "de-CH",
+ "en-NZ",
+ "es-MX",
+ "en-AU",
+ "zh-Hant",
+ "ko-KR",
+ "en-DE"
+ ]
+ },
+ "number_format_locale": {
+ "type": "string",
+ "description": "Indicates the locale to be used for number formatting.",
+ "nullable": true,
+ "enum": [
+ "en-CA",
+ "en-GB",
+ "en-US",
+ "de-DE",
+ "ja-JP",
+ "zh-CN",
+ "pt-BR",
+ "fr-FR",
+ "fr-CA",
+ "es-US",
+ "da-DK",
+ "es-ES",
+ "fi-FI",
+ "sv-SE",
+ "nb-NO",
+ "pt-PT",
+ "nl-NL",
+ "it-IT",
+ "ru-RU",
+ "en-IN",
+ "de-CH",
+ "en-NZ",
+ "es-MX",
+ "en-AU",
+ "zh-Hant",
+ "ko-KR",
+ "en-DE"
+ ]
+ },
+ "date_format_locale": {
+ "type": "string",
+ "description": "Indicates the locale to be used for date formatting.",
+ "nullable": true,
+ "enum": [
+ "en-CA",
+ "en-GB",
+ "en-US",
+ "de-DE",
+ "ja-JP",
+ "zh-CN",
+ "pt-BR",
+ "fr-FR",
+ "fr-CA",
+ "es-US",
+ "da-DK",
+ "es-ES",
+ "fi-FI",
+ "sv-SE",
+ "nb-NO",
+ "pt-PT",
+ "nl-NL",
+ "it-IT",
+ "ru-RU",
+ "en-IN",
+ "de-CH",
+ "en-NZ",
+ "es-MX",
+ "en-AU",
+ "zh-Hant",
+ "ko-KR",
+ "en-DE"
+ ]
+ }
+ }
+ },
+ "PermissionOfPrincipalsResponse": {
+ "type": "object",
+ "properties": {
+ "principal_permission_details": {
+ "type": "object",
+ "nullable": true
+ }
+ }
+ },
+ "PermissionOfMetadataResponse": {
+ "type": "object",
+ "properties": {
+ "metadata_permission_details": {
+ "type": "object",
+ "nullable": true
+ }
+ }
+ },
+ "PrincipalsInput": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the principal object such as a user or group."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "USER",
+ "USER_GROUP"
+ ],
+ "description": "Principal type.",
+ "nullable": true
+ }
+ }
+ },
+ "PermissionsMetadataTypeInput": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION"
+ ],
+ "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.",
+ "nullable": true
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata object."
+ }
+ },
+ "description": "MetadataType InputType used in Permission API's"
+ },
+ "ColumnSecurityRuleTableInput": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Name or GUID of the table",
+ "nullable": true
+ },
+ "obj_identifier": {
+ "type": "string",
+ "description": "Object ID of the table",
+ "nullable": true
+ }
+ }
+ },
+ "ColumnSecurityRuleResponse": {
+ "type": "object",
+ "properties": {
+ "guid": {
+ "type": "string",
+ "description": "GUID of the table for which the column security rules are fetched",
+ "nullable": true
+ },
+ "objId": {
+ "type": "string",
+ "description": "Object ID of the table for which the column security rules are fetched",
+ "nullable": true
+ },
+ "columnSecurityRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnSecurityRule"
+ },
+ "description": "Array containing column security rule objects",
+ "nullable": true
+ }
+ }
+ },
+ "ColumnSecurityRule": {
+ "type": "object",
+ "required": [
+ "column"
+ ],
+ "properties": {
+ "column": {
+ "$ref": "#/components/schemas/ColumnSecurityRuleColumn",
+ "description": "Information about the column"
+ },
+ "groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnSecurityRuleGroup"
+ },
+ "description": "Array of groups that have access to this column",
+ "nullable": true
+ },
+ "sourceTableDetails": {
+ "$ref": "#/components/schemas/ColumnSecurityRuleSourceTable",
+ "description": "Information about the source table",
+ "nullable": true
+ }
+ }
+ },
+ "ColumnSecurityRuleColumn": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The unique identifier of the column"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the column"
+ }
+ }
+ },
+ "ColumnSecurityRuleGroup": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The unique identifier of the group"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the group"
+ }
+ }
+ },
+ "ColumnSecurityRuleSourceTable": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The unique identifier of the source table"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the source table"
+ }
+ }
+ },
+ "SearchDataResponse": {
+ "type": "object",
+ "required": [
+ "contents"
+ ],
+ "properties": {
+ "contents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/AnswerContent"
+ },
+ "description": "Data content of metadata objects"
+ }
+ },
+ "description": "Response format associated with the search data API."
+ },
+ "AnswerContent": {
+ "type": "object",
+ "required": [
+ "available_data_row_count",
+ "column_names",
+ "data_rows",
+ "record_offset",
+ "record_size",
+ "returned_data_row_count",
+ "sampling_ratio"
+ ],
+ "properties": {
+ "available_data_row_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total available data row count."
+ },
+ "column_names": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Name of the columns."
+ },
+ "data_rows": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "description": "Rows of data set."
+ },
+ "record_offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The starting record number from where the records should be included."
+ },
+ "record_size": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of records that should be included."
+ },
+ "returned_data_row_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total returned data row count."
+ },
+ "sampling_ratio": {
+ "type": "number",
+ "format": "float",
+ "description": "Sampling ratio (0 to 1). If the query was sampled, it is the ratio of keys returned in the data set to the total number of keys expected in the query. If the value is 1.0, this means that the complete result is returned."
+ }
+ }
+ },
+ "LiveboardDataResponse": {
+ "type": "object",
+ "required": [
+ "metadata_id",
+ "metadata_name",
+ "contents"
+ ],
+ "properties": {
+ "metadata_id": {
+ "type": "string",
+ "description": "The unique identifier of the object"
+ },
+ "metadata_name": {
+ "type": "string",
+ "description": "Name of the metadata object"
+ },
+ "contents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/LiveboardContent"
+ },
+ "description": "Data content of metadata objects"
+ }
+ }
+ },
+ "LiveboardContent": {
+ "type": "object",
+ "required": [
+ "available_data_row_count",
+ "column_names",
+ "data_rows",
+ "record_offset",
+ "record_size",
+ "returned_data_row_count",
+ "sampling_ratio"
+ ],
+ "properties": {
+ "available_data_row_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total available data row count."
+ },
+ "column_names": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Name of the columns."
+ },
+ "data_rows": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "description": "Rows of data set."
+ },
+ "record_offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The starting record number from where the records should be included."
+ },
+ "record_size": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of records that should be included."
+ },
+ "returned_data_row_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total returned data row count."
+ },
+ "sampling_ratio": {
+ "type": "number",
+ "format": "float",
+ "description": "Sampling ratio (0 to 1). If the query was sampled, it is the ratio of keys returned in the data set to the total number of keys expected in the query. If the value is 1.0, this means that the complete result is returned."
+ },
+ "visualization_id": {
+ "type": "string",
+ "description": "Unique ID of the visualization.",
+ "nullable": true
+ },
+ "visualization_name": {
+ "type": "string",
+ "description": "Name of the visualization.",
+ "nullable": true
+ }
+ }
+ },
+ "AnswerDataResponse": {
+ "type": "object",
+ "required": [
+ "metadata_id",
+ "metadata_name",
+ "contents"
+ ],
+ "properties": {
+ "metadata_id": {
+ "type": "string",
+ "description": "The unique identifier of the object"
+ },
+ "metadata_name": {
+ "type": "string",
+ "description": "Name of the metadata object"
+ },
+ "contents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/AnswerContent"
+ },
+ "description": "Data content of metadata objects"
+ }
+ },
+ "description": "Response format associated with fetch data api"
+ },
+ "LogResponse": {
+ "type": "object",
+ "required": [
+ "date",
+ "log"
+ ],
+ "properties": {
+ "date": {
+ "type": "string",
+ "description": "Date timestamp of the log entry"
+ },
+ "log": {
+ "type": "string",
+ "description": "Log data"
+ }
+ }
+ },
+ "RepoConfigObject": {
+ "type": "object",
+ "properties": {
+ "repository_url": {
+ "type": "string",
+ "description": "Remote repository URL configured",
+ "nullable": true
+ },
+ "username": {
+ "type": "string",
+ "description": "Username to authenticate connection to the version control system",
+ "nullable": true
+ },
+ "commit_branch_name": {
+ "type": "string",
+ "description": "Name of the remote branch where objects from this Thoughtspot instance will be versioned.",
+ "nullable": true
+ },
+ "branches": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Branches that have been pulled in local repository",
+ "nullable": true
+ },
+ "enable_guid_mapping": {
+ "type": "boolean",
+ "description": "Maintain mapping of guid for the deployment to an instance",
+ "nullable": true
+ },
+ "configuration_branch_name": {
+ "type": "string",
+ "description": "Name of the branch where the configuration files related to operations between Thoughtspot and version control repo should be maintained.",
+ "nullable": true
+ },
+ "org": {
+ "$ref": "#/components/schemas/Org",
+ "description": "Details of the Org",
+ "nullable": true
+ }
+ }
+ },
+ "CommitHistoryResponse": {
+ "type": "object",
+ "required": [
+ "committer",
+ "author",
+ "comment",
+ "commit_time",
+ "commit_id",
+ "branch"
+ ],
+ "properties": {
+ "committer": {
+ "$ref": "#/components/schemas/CommiterType",
+ "description": "Repository user using which changes were committed"
+ },
+ "author": {
+ "$ref": "#/components/schemas/AuthorType",
+ "description": "Thoughtspot user who commits the changes"
+ },
+ "comment": {
+ "type": "string",
+ "description": "Comments associated with the commit"
+ },
+ "commit_time": {
+ "type": "string",
+ "description": "Time at which the changes were committed."
+ },
+ "commit_id": {
+ "type": "string",
+ "description": "SHA id associated with the commit"
+ },
+ "branch": {
+ "type": "string",
+ "description": "Branch where changes were committed"
+ }
+ }
+ },
+ "CommiterType": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "Email id of the committer",
+ "nullable": true
+ },
+ "username": {
+ "type": "string",
+ "description": "Username of the committer",
+ "nullable": true
+ }
+ }
+ },
+ "AuthorType": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "Email id of the committer",
+ "nullable": true
+ },
+ "username": {
+ "type": "string",
+ "description": "Username of the committer",
+ "nullable": true
+ }
+ }
+ },
+ "ConnectionInput": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the connection.",
+ "nullable": true
+ },
+ "name_pattern": {
+ "type": "string",
+ "description": "A pattern to match case-insensitive name of the connection object. User `%` for a wildcard match.",
+ "nullable": true
+ },
+ "data_warehouse_objects": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DataWarehouseObjectInput"
+ },
+ "description": "Filter options for databases, schemas, tables and columns.",
+ "nullable": true
+ }
+ }
+ },
+ "DataWarehouseObjectInput": {
+ "type": "object",
+ "properties": {
+ "database": {
+ "type": "string",
+ "description": "Name of the database.",
+ "nullable": true
+ },
+ "schema": {
+ "type": "string",
+ "description": "Name of the schema within the database.",
+ "nullable": true
+ },
+ "table": {
+ "type": "string",
+ "description": "Name of the table within the schema.",
+ "nullable": true
+ },
+ "column": {
+ "type": "string",
+ "description": "Name of the column within the table.",
+ "nullable": true
+ }
+ }
+ },
+ "SortOptionInput": {
+ "type": "object",
+ "properties": {
+ "field_name": {
+ "type": "string",
+ "enum": [
+ "NAME",
+ "DISPLAY_NAME",
+ "AUTHOR",
+ "CREATED",
+ "MODIFIED",
+ "LAST_ACCESSED",
+ "SYNCED",
+ "VIEWS",
+ "USER_STATE",
+ "ROW_COUNT"
+ ],
+ "description": "Name of the field to apply the sort on.",
+ "nullable": true
+ },
+ "order": {
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "description": "Sort order : ASC(Ascending) or DESC(Descending).",
+ "nullable": true
+ }
+ }
+ },
+ "SearchConnectionResponse": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "data_warehouse_type"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique ID of the connection."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the connection."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the connection.",
+ "nullable": true
+ },
+ "data_warehouse_type": {
+ "type": "string",
+ "enum": [
+ "SNOWFLAKE",
+ "AMAZON_REDSHIFT",
+ "GOOGLE_BIGQUERY",
+ "AZURE_SYNAPSE",
+ "TERADATA",
+ "SAP_HANA",
+ "STARBURST",
+ "ORACLE_ADW",
+ "DATABRICKS",
+ "DENODO",
+ "DREMIO",
+ "TRINO",
+ "PRESTO",
+ "POSTGRES",
+ "SQLSERVER",
+ "MYSQL",
+ "GENERIC_JDBC",
+ "AMAZON_RDS_POSTGRESQL",
+ "AMAZON_AURORA_POSTGRESQL",
+ "AMAZON_RDS_MYSQL",
+ "AMAZON_AURORA_MYSQL",
+ "LOOKER",
+ "AMAZON_ATHENA",
+ "SINGLESTORE",
+ "GCP_SQLSERVER",
+ "GCP_ALLOYDB_POSTGRESQL",
+ "GCP_POSTGRESQL",
+ "GCP_MYSQL",
+ "MODE",
+ "GOOGLE_SHEETS",
+ "FALCON",
+ "FALCON_ONPREM",
+ "CLICKHOUSE"
+ ],
+ "description": "Type of data warehouse."
+ },
+ "data_warehouse_objects": {
+ "$ref": "#/components/schemas/DataWarehouseObjects",
+ "description": "List of Data warehouse objects",
+ "nullable": true
+ },
+ "details": {
+ "type": "object",
+ "description": "Details of the connection.",
+ "nullable": true
+ }
+ }
+ },
+ "DataWarehouseObjects": {
+ "type": "object",
+ "required": [
+ "databases"
+ ],
+ "properties": {
+ "databases": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Database"
+ },
+ "description": "Databases of the connection."
+ }
+ }
+ },
+ "Database": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the database."
+ },
+ "schemas": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SchemaObject"
+ },
+ "description": "Schemas of the database.",
+ "nullable": true
+ },
+ "auto_created": {
+ "type": "boolean",
+ "description": "Determines if the object is auto created.",
+ "nullable": true
+ }
+ }
+ },
+ "SchemaObject": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the schema."
+ },
+ "tables": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Table"
+ },
+ "description": "Tables in the schema.",
+ "nullable": true
+ }
+ }
+ },
+ "Table": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the table."
+ },
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Column"
+ },
+ "description": "Columns of the table.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of table. Either view or table",
+ "nullable": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the table",
+ "nullable": true
+ },
+ "selected": {
+ "type": "boolean",
+ "description": "Determines if the table is selected",
+ "nullable": true
+ },
+ "linked": {
+ "type": "boolean",
+ "description": "Determines if the table is linked",
+ "nullable": true
+ },
+ "relationships": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "description": "List of relationships for the table",
+ "nullable": true
+ }
+ }
+ },
+ "Column": {
+ "type": "object",
+ "required": [
+ "name",
+ "data_type"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the column"
+ },
+ "data_type": {
+ "type": "string",
+ "description": "Data type of the column"
+ },
+ "is_aggregate": {
+ "type": "string",
+ "description": "Determines if the column schema is an aggregate",
+ "nullable": true
+ },
+ "can_import": {
+ "type": "boolean",
+ "description": "Determines if the column schema can be imported",
+ "nullable": true
+ },
+ "selected": {
+ "type": "boolean",
+ "description": "Determines if the table is selected",
+ "nullable": true
+ },
+ "is_linked_active": {
+ "type": "boolean",
+ "description": "Determines if the table is linked",
+ "nullable": true
+ }
+ }
+ },
+ "SearchRoleResponse": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "description",
+ "privileges"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique Id of the role."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the role"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the role"
+ },
+ "groups_assigned_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "number of groups assigned with this role",
+ "nullable": true
+ },
+ "orgs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/GenericInfo"
+ },
+ "description": "Orgs in which role exists.",
+ "nullable": true
+ },
+ "groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/GenericInfo"
+ },
+ "description": "Details of groups assigned with this role",
+ "nullable": true
+ },
+ "privileges": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "UNKNOWN",
+ "ADMINISTRATION",
+ "AUTHORING",
+ "USERDATAUPLOADING",
+ "DATADOWNLOADING",
+ "USERMANAGEMENT",
+ "SECURITYMANAGEMENT",
+ "LOGICALMODELING",
+ "DATAMANAGEMENT",
+ "TAGMANAGEMENT",
+ "SHAREWITHALL",
+ "SYSTEMMANAGEMENT",
+ "JOBSCHEDULING",
+ "A3ANALYSIS",
+ "EXPERIMENTALFEATUREPRIVILEGE",
+ "BYPASSRLS",
+ "RANALYSIS",
+ "DISABLE_PINBOARD_CREATION",
+ "DEVELOPER",
+ "APPLICATION_ADMINISTRATION",
+ "USER_ADMINISTRATION",
+ "GROUP_ADMINISTRATION",
+ "BACKUP_ADMINISTRATION",
+ "SYSTEM_INFO_ADMINISTRATION",
+ "ENABLESPOTAPPCREATION",
+ "SYNCMANAGEMENT",
+ "ORG_ADMINISTRATION",
+ "ROLE_ADMINISTRATION",
+ "AUTHENTICATION_ADMINISTRATION",
+ "BILLING_INFO_ADMINISTRATION",
+ "PREVIEW_THOUGHTSPOT_SAGE",
+ "LIVEBOARD_VERIFIER",
+ "CAN_MANAGE_CUSTOM_CALENDAR",
+ "CAN_CREATE_OR_EDIT_CONNECTIONS",
+ "CAN_CONFIGURE_CONNECTIONS",
+ "CAN_MANAGE_WORKSHEET_VIEWS_TABLES",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "CONTROL_TRUSTED_AUTH",
+ "CAN_CREATE_CATALOG",
+ "ALLOW_NON_EMBED_FULL_APP_ACCESS",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "CAN_SETUP_VERSION_CONTROL"
+ ]
+ },
+ "description": "Privileges granted to the role."
+ },
+ "permission": {
+ "type": "string",
+ "enum": [
+ "READ_ONLY",
+ "MODIFY",
+ "NO_ACCESS"
+ ],
+ "description": "Permission details of the Role",
+ "nullable": true
+ },
+ "author_id": {
+ "type": "string",
+ "description": "Unique identifier of author of the role.",
+ "nullable": true
+ },
+ "modifier_id": {
+ "type": "string",
+ "description": "Unique identifier of modifier of the role.",
+ "nullable": true
+ },
+ "creation_time_in_millis": {
+ "type": "object",
+ "description": "Creation time of the role in milliseconds.",
+ "nullable": true
+ },
+ "modification_time_in_millis": {
+ "type": "object",
+ "description": "Last modified time of the role in milliseconds.",
+ "nullable": true
+ },
+ "deleted": {
+ "type": "boolean",
+ "description": "Indicates whether the role is deleted.",
+ "nullable": true
+ },
+ "deprecated": {
+ "type": "boolean",
+ "description": "Indicates whether the role is deprecated.",
+ "nullable": true
+ },
+ "external": {
+ "type": "boolean",
+ "description": "Indicates whether the role is external.",
+ "nullable": true
+ },
+ "hidden": {
+ "type": "boolean",
+ "description": "Indicates whether the role is hidden.",
+ "nullable": true
+ },
+ "shared_via_connection": {
+ "type": "boolean",
+ "description": "Indicates whether the role is shared via connection",
+ "nullable": true
+ }
+ },
+ "description": "Response for search role api should handle hidden privileges as well."
+ },
+ "Default_Action_Config_Search_Input": {
+ "type": "object",
+ "properties": {
+ "visibility": {
+ "type": "boolean",
+ "description": "Custom action is available on all visualizations. Earlier naming convention: LOCAL/GLOBAL. TRUE signifies GLOBAL for backward compatibility.",
+ "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."
+ },
+ "ResponseCustomAction": {
+ "type": "object",
+ "required": [
+ "action_details",
+ "default_action_config",
+ "id",
+ "name"
+ ],
+ "properties": {
+ "action_details": {
+ "$ref": "#/components/schemas/Action_details",
+ "description": "`Type` and configuration data for custom actions"
+ },
+ "default_action_config": {
+ "$ref": "#/components/schemas/Default_action_config",
+ "description": "Default custom action configuration. This includes the custom action's visibility across all visualizations and Answers. By default, a custom action is added to all visualizations and Answers."
+ },
+ "id": {
+ "type": "string",
+ "description": "Unique Id of the custom action."
+ },
+ "metadata_association": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Metadata_Association_Item"
+ },
+ "description": "Metadata objects to assign the the custom action to.",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Unique name of the custom action."
+ },
+ "user_groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Object_ID_And_Name"
+ },
+ "description": "Unique ID or name of the User groups which are associated with the custom action.",
+ "nullable": true
+ }
+ },
+ "description": "Custom action details"
+ },
+ "Action_details": {
+ "type": "object",
+ "properties": {
+ "CALLBACK": {
+ "$ref": "#/components/schemas/CALLBACK",
+ "description": "CALLBACK Custom Action Type",
+ "nullable": true
+ },
+ "URL": {
+ "$ref": "#/components/schemas/URL",
+ "description": "URL Custom Action Type",
+ "nullable": true
+ }
+ },
+ "description": "Type and Configuration for Custom Actions"
+ },
+ "CALLBACK": {
+ "type": "object",
+ "properties": {
+ "reference": {
+ "type": "string",
+ "description": "Reference name of the SDK. By default, the value will be set to action name.",
+ "nullable": true
+ }
+ },
+ "description": "CALLBACK Custom Action Type"
+ },
+ "URL": {
+ "type": "object",
+ "required": [
+ "url"
+ ],
+ "properties": {
+ "authentication": {
+ "$ref": "#/components/schemas/Authentication",
+ "description": "Authorization type for the custom action.",
+ "nullable": true
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ParametersListItem"
+ },
+ "description": "Query parameters for url.",
+ "nullable": true
+ },
+ "url": {
+ "type": "string",
+ "description": "Request Url for the Custom action."
+ },
+ "reference": {
+ "type": "string",
+ "description": "Reference name of the SDK. By default, the value will be set to action name.",
+ "nullable": true
+ }
+ },
+ "description": "URL Custom Action Type"
+ },
+ "Authentication": {
+ "type": "object",
+ "properties": {
+ "API_Key": {
+ "$ref": "#/components/schemas/API_Key",
+ "description": "With API key auth, you send a key-value pair to the API either in the request headers or query parameters.",
+ "nullable": true
+ },
+ "Basic_Auth": {
+ "$ref": "#/components/schemas/Basic_Auth",
+ "description": "Basic Auth: Basic authentication involves sending a verified username and password with your request.",
+ "nullable": true
+ },
+ "Bearer_Token": {
+ "type": "string",
+ "description": "Bearer tokens enable requests to authenticate using an access key.",
+ "nullable": true
+ },
+ "No_Auth": {
+ "type": "string",
+ "description": "No authorization. If your request doesn't require authorization.",
+ "nullable": true
+ }
+ },
+ "description": "Authorization type for the custom action."
+ },
+ "API_Key": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "Enter your key name",
+ "nullable": true
+ },
+ "value": {
+ "type": "string",
+ "description": "Enter you key value",
+ "nullable": true
+ }
+ },
+ "description": "With API key auth, you send a key-value pair to the API either in the request headers or query parameters."
+ },
+ "Basic_Auth": {
+ "type": "object",
+ "properties": {
+ "password": {
+ "type": "string",
+ "description": "Password for the basic authentication",
+ "nullable": true
+ },
+ "username": {
+ "type": "string",
+ "description": "Username for the basic authentication",
+ "nullable": true
+ }
+ },
+ "description": "Basic Auth: Basic authentication involves sending a verified username and password with your request."
+ },
+ "ParametersListItem": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "Key for the url query parameter",
+ "nullable": true
+ },
+ "value": {
+ "type": "string",
+ "description": "Value for the url query parameter",
+ "nullable": true
+ }
+ }
+ },
+ "Default_action_config": {
+ "type": "object",
+ "properties": {
+ "visibility": {
+ "type": "boolean",
+ "description": "Custom action is available on all visualizations. Earlier , the naming convention: LOCAL/GLOBAL. TRUE signifies GLOBAL for backward compatibility.",
+ "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."
+ },
+ "Metadata_Association_Item": {
+ "type": "object",
+ "required": [
+ "action_config",
+ "identifier",
+ "type"
+ ],
+ "properties": {
+ "action_config": {
+ "$ref": "#/components/schemas/Action_config",
+ "description": "Specify that the association is enabled for the metadata object"
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata."
+ },
+ "type": {
+ "type": "string",
+ "description": " Type of metadata.\n \n\nRequired if the name of the object is set as the identifier. This attribute is optional when the object GUID is specified as the identifier."
+ }
+ }
+ },
+ "Action_config": {
+ "type": "object",
+ "properties": {
+ "position": {
+ "type": "string",
+ "description": "Position of the Custom action on the Metadata object. Earlier naming convention: context.",
+ "nullable": true
+ },
+ "visibility": {
+ "type": "boolean",
+ "description": "Visibility of the metadata association with custom action. Earlier naming convention: enabled",
+ "nullable": true
+ }
+ },
+ "description": "Specify that the association is enabled for the metadata object"
+ },
+ "CustomActionMetadataTypeInput": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "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.",
+ "nullable": true
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata object."
+ }
+ },
+ "description": "MetadataType InputType used in Custom Action API's"
+ },
+ "Input_eureka_NLSRequest": {
+ "type": "object",
+ "properties": {
+ "agentVersion": {
+ "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.",
+ "nullable": true
+ },
+ "instructions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "User specific instructions for processing the @query.",
+ "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.",
+ "nullable": true
+ }
+ }
+ },
+ "eureka_LLMDecomposeQueryResponse": {
+ "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.",
+ "nullable": true
+ }
+ }
+ },
+ "eureka_LLMSuggestedQuery": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "NL query that can be run using spotter aka natural language search to get an AI generated answer.",
+ "nullable": true
+ },
+ "worksheetId": {
+ "type": "string",
+ "description": "Unique identifier of the worksheet on which this query can be run on.",
+ "nullable": true
+ },
+ "worksheetName": {
+ "type": "string",
+ "description": "Display name of the worksheet on which this query can be run on.",
+ "nullable": true
+ }
+ }
+ },
+ "RiseGQLArgWrapper": {
+ "type": "object",
+ "required": [
+ "name",
+ "type"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ }
+ }
+ },
+ "VariableDetailInput": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the variable",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "CONNECTION_PROPERTY",
+ "TABLE_MAPPING",
+ "CONNECTION_PROPERTY_PER_PRINCIPAL"
+ ],
+ "description": "Type of variable",
+ "nullable": true
+ },
+ "name_pattern": {
+ "type": "string",
+ "description": "A pattern to match case-insensitive name of the variable. User % for a wildcard match",
+ "nullable": true
+ }
+ },
+ "description": "Input for variable details in search"
+ },
+ "Variable": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier of the variable"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the variable"
+ },
+ "variable_type": {
+ "type": "string",
+ "enum": [
+ "CONNECTION_PROPERTY",
+ "TABLE_MAPPING",
+ "CONNECTION_PROPERTY_PER_PRINCIPAL"
+ ],
+ "description": "Type of the variable",
+ "nullable": true
+ },
+ "sensitive": {
+ "type": "boolean",
+ "description": "If the variable is sensitive",
+ "nullable": true
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VariableValue"
+ },
+ "description": "Values of the variable",
+ "nullable": true
+ }
+ },
+ "description": "Variable object"
+ },
+ "VariableValue": {
+ "type": "object",
+ "required": [
+ "org_identifier"
+ ],
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The value of the variable",
+ "nullable": true
+ },
+ "org_identifier": {
+ "type": "string",
+ "description": "The unique name of the org"
+ },
+ "principal_type": {
+ "type": "string",
+ "enum": [
+ "USER",
+ "USER_GROUP"
+ ],
+ "description": "Principal type",
+ "nullable": true
+ },
+ "principal_identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the principal",
+ "nullable": true
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The priority assigned to this value. If there are 2 matching values, the one with the higher priority will be picked.",
+ "nullable": true
+ }
+ }
+ },
+ "SortOption": {
+ "type": "object",
+ "properties": {
+ "field_name": {
+ "type": "string",
+ "enum": [
+ "DEFAULT",
+ "NAME",
+ "DISPLAY_NAME",
+ "AUTHOR",
+ "CREATED",
+ "MODIFIED"
+ ],
+ "default": "DEFAULT",
+ "description": "Name of the field to apply the sort on.",
+ "nullable": true
+ },
+ "order": {
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "default": "ASC",
+ "description": "Sort order : ASC(Ascending) or DESC(Descending).",
+ "nullable": true
+ }
+ }
+ },
+ "CalendarResponse": {
+ "type": "object",
+ "properties": {
+ "calendar_name": {
+ "type": "string",
+ "description": "Name of the calendar",
+ "nullable": true
+ },
+ "connection_name": {
+ "type": "string",
+ "description": "Name of the connection",
+ "nullable": true
+ },
+ "data_warehouse_type": {
+ "type": "string",
+ "description": "Type of data warehouse",
+ "nullable": true
+ },
+ "modification_time_in_millis": {
+ "type": "string",
+ "description": "Last modification time in milliseconds",
+ "nullable": true
+ },
+ "author_name": {
+ "type": "string",
+ "description": "Name of the author who created the calendar",
+ "nullable": true
+ },
+ "connection_id": {
+ "type": "string",
+ "description": "Unique ID of the connection",
+ "nullable": true
+ },
+ "calendar_id": {
+ "type": "string",
+ "description": "Unique ID of the calendar",
+ "nullable": true
+ }
+ }
+ },
+ "ConnectionConfigurationResponse": {
+ "type": "object",
+ "properties": {
+ "configuration_identifier": {
+ "type": "string",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "nullable": true
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "configuration": {
+ "type": "object",
+ "nullable": true
+ },
+ "policy_principals": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserPrincipal"
+ },
+ "nullable": true
+ },
+ "policy_processes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "SAGE_INDEXING",
+ "ROW_COUNT_STATS"
+ ]
+ },
+ "nullable": true
+ },
+ "disabled": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "data_warehouse_type": {
+ "type": "string",
+ "enum": [
+ "SNOWFLAKE",
+ "AMAZON_REDSHIFT",
+ "GOOGLE_BIGQUERY",
+ "AZURE_SYNAPSE",
+ "TERADATA",
+ "SAP_HANA",
+ "STARBURST",
+ "ORACLE_ADW",
+ "DATABRICKS",
+ "DENODO",
+ "DREMIO",
+ "TRINO",
+ "PRESTO",
+ "POSTGRES",
+ "SQLSERVER",
+ "MYSQL",
+ "GENERIC_JDBC",
+ "AMAZON_RDS_POSTGRESQL",
+ "AMAZON_AURORA_POSTGRESQL",
+ "AMAZON_RDS_MYSQL",
+ "AMAZON_AURORA_MYSQL",
+ "LOOKER",
+ "AMAZON_ATHENA",
+ "SINGLESTORE",
+ "GCP_SQLSERVER",
+ "GCP_ALLOYDB_POSTGRESQL",
+ "GCP_POSTGRESQL",
+ "GCP_MYSQL",
+ "MODE",
+ "GOOGLE_SHEETS",
+ "FALCON",
+ "FALCON_ONPREM",
+ "CLICKHOUSE"
+ ],
+ "nullable": true
+ },
+ "policy_type": {
+ "type": "string",
+ "enum": [
+ "NO_POLICY",
+ "PRINCIPALS",
+ "PROCESSES"
+ ],
+ "nullable": true
+ }
+ }
+ },
+ "UserPrincipal": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ },
+ "GenericInfo": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ },
+ "UserGroup": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ },
+ "JWT_User_Options": {
+ "type": "object",
+ "properties": {
+ "parameters": {
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/Runtime_Filter"
+ },
+ {
+ "$ref": "#/components/schemas/Runtime_Sort"
+ },
+ {
+ "$ref": "#/components/schemas/Runtime_Param_Override"
+ }
+ ]
+ }
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/JWT_Metadata_Object"
+ },
+ "nullable": true
+ }
+ },
+ "description": "JWT user options to create a JWT token given the payload.\n\n\n*Deprecated in 9.12.0.cl. Use user_parameters instead.*"
+ },
+ "JWT_Parameter": {
+ "type": "object",
+ "properties": {
+ "runtime_filter": {
+ "type": "object",
+ "description": "Runtime filter parameter type in JWT.",
+ "nullable": true
+ },
+ "runtime_sort": {
+ "type": "object",
+ "description": "Runtime sort parameter type in JWT.",
+ "nullable": true
+ },
+ "runtime_param_override": {
+ "type": "object",
+ "description": "Runtime param override type in JWT.",
+ "nullable": true
+ }
+ },
+ "description": "List of runtime parameters need to set during the session."
+ },
+ "JWT_Metadata_Object": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LOGICAL_TABLE"
+ ],
+ "nullable": true
+ }
+ },
+ "description": "Metadata objects."
+ },
+ "User_Parameter_Options": {
+ "type": "object",
+ "properties": {
+ "objects": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/User_Object"
+ },
+ "nullable": true
+ },
+ "runtime_filters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Runtime_Filters"
+ },
+ "description": "Objects to apply the User_Runtime_Filters.\n\nExamples to set the `runtime_filters` :\n```json\n{ \"column_name\": \"Color\", \"operator\": \"EQ\", \"values\": [\"red\"], \"persist\": false }\n```",
+ "nullable": true
+ },
+ "runtime_sorts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Runtime_Sorts"
+ },
+ "description": "Objects to apply the User_Runtime_Sorts.\n\nExamples to set the `runtime_sorts` :\n```json\n{ \"column_name\": \"Color\", \"order\": \"ASC\", \"persist\": false }\n```",
+ "nullable": true
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Runtime_Parameters"
+ },
+ "description": "Objects to apply the Runtime_Parameters.\n\nExamples to set the `parameters` :\n```json\n{ \"name\": \"Color\", \"values\": [\"Blue\"], \"persist\": false }\n```",
+ "nullable": true
+ }
+ },
+ "description": "Define attributes such as Runtime filters and Runtime parameters to send security entitlements to a user session. For more information, see [Documentation](https://developers.thoughtspot.com/docs/abac-user-parameters).\n"
+ },
+ "User_Object": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "LOGICAL_TABLE"
+ ],
+ "description": " Type of 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.\n \n\n Specify the object type as `LOGICAL_TABLE`. The `LIVEBOARD` and `ANSWER` object types are not supported.",
+ "nullable": true
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique name/id of the object."
+ }
+ },
+ "description": "Objects to apply the User_Object."
+ },
+ "Runtime_Filters": {
+ "type": "object",
+ "required": [
+ "column_name",
+ "values",
+ "operator"
+ ],
+ "properties": {
+ "column_name": {
+ "type": "string",
+ "description": "The column name to apply filter."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Value of the filters."
+ },
+ "operator": {
+ "type": "string",
+ "enum": [
+ "EQ",
+ "NE",
+ "LT",
+ "LE",
+ "GT",
+ "GE",
+ "IN",
+ "BW",
+ "CONTAINS",
+ "BEGINS_WITH",
+ "ENDS_WITH",
+ "BW_INC",
+ "BW_INC_MIN",
+ "BW_INC_MAX",
+ "LIKE",
+ "NOT_IN"
+ ],
+ "description": "Operator value. Example: EQ"
+ },
+ "persist": {
+ "type": "boolean",
+ "default": false,
+ "description": "Flag to persist the runtime filters.
Version: 9.12.0.cl or later",
+ "nullable": true
+ },
+ "objects": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/User_Object"
+ },
+ "description": "Object to apply the runtime filter.",
+ "nullable": true
+ }
+ },
+ "description": "Objects to apply the Runtime_Filters."
+ },
+ "Runtime_Sorts": {
+ "type": "object",
+ "properties": {
+ "column_name": {
+ "type": "string",
+ "description": "The column name to apply filter.",
+ "nullable": true
+ },
+ "order": {
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "description": "Order for the sort.",
+ "nullable": true
+ },
+ "persist": {
+ "type": "boolean",
+ "default": false,
+ "description": "Flag to persist the runtime sorts.
Version: 9.12.0.cl or later",
+ "nullable": true
+ },
+ "objects": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/User_Object"
+ },
+ "description": "Object to apply the runtime sort.",
+ "nullable": true
+ }
+ },
+ "description": "Objects to apply the Runtime_Sorts."
+ },
+ "Runtime_Parameters": {
+ "type": "object",
+ "required": [
+ "name",
+ "values"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the parameter."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The array of values."
+ },
+ "persist": {
+ "type": "boolean",
+ "default": false,
+ "description": "Flag to persist the parameters.
Version: 9.12.0.cl or later",
+ "nullable": true
+ },
+ "objects": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/User_Object"
+ },
+ "description": "Object to apply the runtime parameter.",
+ "nullable": true
+ }
+ },
+ "description": "Objects to apply the Runtime_Parameters."
+ },
+ "Token": {
+ "type": "object",
+ "required": [
+ "token",
+ "creation_time_in_millis",
+ "expiration_time_in_millis",
+ "scope",
+ "valid_for_user_id",
+ "valid_for_username"
+ ],
+ "properties": {
+ "token": {
+ "type": "string",
+ "description": "Bearer auth token."
+ },
+ "creation_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token creation time in milliseconds."
+ },
+ "expiration_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token expiration time in milliseconds."
+ },
+ "scope": {
+ "$ref": "#/components/schemas/Scope",
+ "description": "Token access scope details"
+ },
+ "valid_for_user_id": {
+ "type": "string",
+ "description": "Username to whom the token is issued."
+ },
+ "valid_for_username": {
+ "type": "string",
+ "description": "Unique identifier of the user to whom the token is issued."
+ }
+ }
+ },
+ "Scope": {
+ "type": "object",
+ "required": [
+ "access_type"
+ ],
+ "properties": {
+ "access_type": {
+ "type": "string",
+ "description": "Object access scope type."
+ },
+ "org_id": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Unique identifier of the metadata.",
+ "nullable": true
+ },
+ "metadata_id": {
+ "type": "string",
+ "description": "Unique identifier of the Org.",
+ "nullable": true
+ }
+ }
+ },
+ "JWT_User_Options_Full": {
+ "type": "object",
+ "properties": {
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/JWT_Parameter"
+ },
+ "nullable": true
+ }
+ },
+ "description": "JWT user options to create a JWT token given the payload.\n\n\n*Deprecated in 9.12.0.cl. Use user_parameters instead.*"
+ },
+ "TokenValidationResponse": {
+ "type": "object",
+ "required": [
+ "creation_time_in_millis",
+ "expiration_time_in_millis",
+ "scope",
+ "valid_for_user_id",
+ "token_type"
+ ],
+ "properties": {
+ "creation_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token creation time in milliseconds."
+ },
+ "expiration_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token expiration time in milliseconds."
+ },
+ "scope": {
+ "$ref": "#/components/schemas/Scope",
+ "description": "Token access scope details"
+ },
+ "valid_for_user_id": {
+ "type": "string",
+ "description": "Username to whom the token is issued."
+ },
+ "token_type": {
+ "type": "string",
+ "description": "Type of token."
+ }
+ }
+ },
+ "FilterRules": {
+ "type": "object",
+ "required": [
+ "column_name",
+ "operator",
+ "values"
+ ],
+ "properties": {
+ "column_name": {
+ "type": "string",
+ "description": "The name of the column to apply the filter on."
+ },
+ "operator": {
+ "type": "string",
+ "enum": [
+ "EQ",
+ "NE",
+ "LT",
+ "LE",
+ "GT",
+ "GE",
+ "IN",
+ "BW",
+ "CONTAINS",
+ "BEGINS_WITH",
+ "ENDS_WITH",
+ "BW_INC",
+ "BW_INC_MIN",
+ "BW_INC_MAX",
+ "LIKE",
+ "NOT_IN"
+ ],
+ "description": "The operator to use for filtering. Example: EQ (equals), GT(greater than), etc."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ "description": "The values to filter on. To get all records, use TS_WILDCARD_ALL as values."
+ }
+ },
+ "description": "Filter Rules to be applied on Objects."
+ },
+ "ParameterValues": {
+ "type": "object",
+ "required": [
+ "name",
+ "values"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the column to apply the filter on."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ "description": "The values to filter on. Only single value is supported currently."
+ }
+ },
+ "description": "Filter Rules to be applied on Objects."
+ },
+ "TokenAccessScopeObject": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "LOGICAL_TABLE"
+ ],
+ "description": " Type of 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.\n \n\n Specify the object type as `LOGICAL_TABLE`. The `LIVEBOARD` and `ANSWER` object types are not supported.",
+ "nullable": true
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique name/id of the object."
+ }
+ },
+ "description": "Objects on which the filter rules and parameters values should be applied to"
+ },
+ "Group_Object": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "description": "Groups objects."
+ },
+ "AccessToken": {
+ "type": "object",
+ "required": [
+ "token",
+ "org",
+ "user",
+ "creation_time_in_millis",
+ "expiration_time_in_millis"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "GUID of the auth token.",
+ "nullable": true
+ },
+ "token": {
+ "type": "string",
+ "description": "Bearer auth token."
+ },
+ "org": {
+ "$ref": "#/components/schemas/OrgInfo",
+ "description": "Org information for which the token is generated."
+ },
+ "user": {
+ "$ref": "#/components/schemas/UserInfo",
+ "description": "User information for which the token is generated."
+ },
+ "creation_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token creation time in milliseconds."
+ },
+ "expiration_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token expiration time in milliseconds."
+ }
+ }
+ },
+ "OrgInfo": {
+ "type": "object",
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Id."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name.",
+ "nullable": true
+ }
+ }
+ },
+ "UserInfo": {
+ "type": "object",
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Id."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name.",
+ "nullable": true
+ }
+ }
+ },
+ "ResponseActivationURL": {
+ "type": "object",
+ "properties": {
+ "activation_link": {
+ "type": "string",
+ "description": "Activation link to activate the user.",
+ "nullable": true
+ }
+ },
+ "description": "The object representation with activation link."
+ },
+ "ImportUser": {
+ "type": "object",
+ "required": [
+ "user_identifier",
+ "display_name"
+ ],
+ "properties": {
+ "user_identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the user."
+ },
+ "display_name": {
+ "type": "string",
+ "description": "Display name of the user."
+ },
+ "password": {
+ "type": "string",
+ "description": "Password of the user.",
+ "nullable": true
+ },
+ "account_type": {
+ "type": "string",
+ "enum": [
+ "LOCAL_USER",
+ "LDAP_USER",
+ "SAML_USER",
+ "OIDC_USER",
+ "REMOTE_USER"
+ ],
+ "default": "LOCAL_USER",
+ "description": "Type of the user account.",
+ "nullable": true
+ },
+ "account_status": {
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "INACTIVE",
+ "EXPIRED",
+ "LOCKED",
+ "PENDING",
+ "SUSPENDED"
+ ],
+ "default": "ACTIVE",
+ "description": "Status of the user account.",
+ "nullable": true
+ },
+ "email": {
+ "type": "string",
+ "description": "Email address of the user.",
+ "nullable": true
+ },
+ "org_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "ID or name of the Orgs to which the user belongs.",
+ "nullable": true
+ },
+ "group_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "ID or name of the groups to which the user belongs.",
+ "nullable": true
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ],
+ "description": "Visibility of the users. The SHARABLE property makes a user visible to other users and group, who can share objects with the user.",
+ "nullable": true
+ },
+ "notify_on_share": {
+ "type": "boolean",
+ "default": true,
+ "description": "Notify user when other users or groups share metadata objects",
+ "nullable": true
+ },
+ "show_onboarding_experience": {
+ "type": "boolean",
+ "description": "Show or hide the new user onboarding walkthroughs",
+ "nullable": true
+ },
+ "onboarding_experience_completed": {
+ "type": "boolean",
+ "description": "Revisit the new user onboarding walkthroughs",
+ "nullable": true
+ },
+ "home_liveboard_identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the default Liveboard assigned to the user.",
+ "nullable": true
+ },
+ "favorite_metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FavoriteMetadataInput"
+ },
+ "description": "Metadata objects to add to the user's favorites list.",
+ "nullable": true
+ }
+ }
+ },
+ "ImportUsersResponse": {
+ "type": "object",
+ "properties": {
+ "users_added": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ImportUserType"
+ },
+ "nullable": true
+ },
+ "users_updated": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ImportUserType"
+ },
+ "nullable": true
+ },
+ "users_deleted": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ImportUserType"
+ },
+ "nullable": true
+ }
+ }
+ },
+ "ImportUserType": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier of the user.",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the user."
+ }
+ }
+ },
+ "TagMetadataTypeInput": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION"
+ ],
+ "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.\n 1. LIVEBOARD\n 2. ANSWERS\n 3. LOGICAL_TABLE for any data object such as table, worksheet or view.\n 4. LOGICAL_COLUMN for a column of any data object such as tables, worksheets or views.",
+ "nullable": true
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata."
+ }
+ }
+ },
+ "GroupsImportListInput": {
+ "type": "object",
+ "required": [
+ "display_name",
+ "group_identifier"
+ ],
+ "properties": {
+ "display_name": {
+ "type": "string",
+ "description": "Unique display name of the group."
+ },
+ "group_identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the group."
+ },
+ "default_liveboard_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Unique ID of Liveboards that will be assigned as default Liveboards to the users in the group.",
+ "nullable": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the group.",
+ "nullable": true
+ },
+ "privileges": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "ADMINISTRATION",
+ "AUTHORING",
+ "USERDATAUPLOADING",
+ "DATADOWNLOADING",
+ "USERMANAGEMENT",
+ "DATAMANAGEMENT",
+ "SHAREWITHALL",
+ "JOBSCHEDULING",
+ "A3ANALYSIS",
+ "EXPERIMENTALFEATUREPRIVILEGE",
+ "BYPASSRLS",
+ "RANALYSIS",
+ "DEVELOPER",
+ "USER_ADMINISTRATION",
+ "GROUP_ADMINISTRATION",
+ "SYNCMANAGEMENT",
+ "CAN_CREATE_CATALOG",
+ "DISABLE_PINBOARD_CREATION",
+ "LIVEBOARD_VERIFIER",
+ "PREVIEW_THOUGHTSPOT_SAGE",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "ALLOW_NON_EMBED_FULL_APP_ACCESS",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "CAN_SETUP_VERSION_CONTROL"
+ ]
+ },
+ "description": "Privileges that will be assigned to the group.",
+ "nullable": true
+ },
+ "sub_group_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the sub-groups to add to the group.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LOCAL_GROUP",
+ "LDAP_GROUP"
+ ],
+ "description": "Type of the group.",
+ "nullable": true
+ },
+ "user_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the users to assign to the group.",
+ "nullable": true
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ],
+ "description": "Visibility of the group. The SHARABLE makes a group visible to other users and groups, and thus allows them to share objects.",
+ "nullable": true
+ }
+ }
+ },
+ "ImportUserGroupsResponse": {
+ "type": "object",
+ "required": [
+ "groups_added",
+ "groups_deleted",
+ "groups_updated"
+ ],
+ "properties": {
+ "groups_added": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "The groups which are added into the system."
+ },
+ "groups_deleted": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "The groups which are deleted from the system."
+ },
+ "groups_updated": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "The groups which are updated in the system."
+ }
+ }
+ },
+ "Export_Options": {
+ "type": "object",
+ "properties": {
+ "include_obj_id_ref": {
+ "type": "boolean",
+ "default": false,
+ "description": "Boolean Flag to export Object ID of referenced object. This flag will work only after the Object ID feature has been enabled. Please contact support to enable the feature.",
+ "nullable": true
+ },
+ "include_guid": {
+ "type": "boolean",
+ "default": true,
+ "description": "Boolean flag to export guid of the object. This flag will work only after the Object ID feature has been enabled. Please contact support to enable the feature.",
+ "nullable": true
+ },
+ "include_obj_id": {
+ "type": "boolean",
+ "default": false,
+ "description": "Boolean flag to export Object ID of the object. This flag will work only after the Object ID feature has been enabled. Please contact support to enable the feature.",
+ "nullable": true
+ },
+ "export_with_associated_feedbacks": {
+ "type": "boolean",
+ "default": false,
+ "description": "Boolean flag indicating whether to export associated feedbacks of the object. This will only be respected when the object can have feedbacks.
Version: 10.7.0.cl or later",
+ "nullable": true
+ },
+ "export_column_security_rules": {
+ "type": "boolean",
+ "default": false,
+ "description": "Boolean flag indicating whether to export column security rules of the object. This will only be respected when the object can have column security rules and export_associated is true.
Beta Version: 10.12.0.cl or later",
+ "nullable": true
+ }
+ },
+ "description": "Flags to specify additional options for export. This will only be active when UserDefinedId in TML is enabled."
+ },
+ "ResponseCopyObject": {
+ "type": "object",
+ "properties": {
+ "metadata_id": {
+ "type": "string",
+ "description": "The unique identifier of the object.",
+ "nullable": true
+ }
+ }
+ },
+ "ResponseWorksheetToModelConversion": {
+ "type": "object",
+ "required": [
+ "name",
+ "success_count",
+ "failure_count",
+ "incomplete_count",
+ "post_upgrade_failed_count",
+ "total_time_in_millis",
+ "successful_entities",
+ "failed_entities",
+ "incomplete_entities",
+ "post_upgrade_failed_entities"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "success_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of worksheets successfully converted to models."
+ },
+ "failure_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of worksheets that failed to convert."
+ },
+ "incomplete_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of worksheets that were incomplete during the conversion process."
+ },
+ "post_upgrade_failed_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of worksheets that failed after an upgrade during the conversion process."
+ },
+ "total_time_in_millis": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The total time taken to complete the conversion process in milliseconds."
+ },
+ "successful_entities": {
+ "$ref": "#/components/schemas/ResponseSuccessfulEntities",
+ "description": "List of worksheets successfully converted to models."
+ },
+ "failed_entities": {
+ "$ref": "#/components/schemas/ResponseFailedEntities",
+ "description": "List of worksheets that failed to convert."
+ },
+ "incomplete_entities": {
+ "$ref": "#/components/schemas/ResponseIncompleteEntities",
+ "description": "List of worksheets that were incomplete during the conversion."
+ },
+ "post_upgrade_failed_entities": {
+ "$ref": "#/components/schemas/ResponsePostUpgradeFailedEntities",
+ "description": "List of worksheets that failed after an upgrade during the conversion process."
+ }
+ },
+ "description": "Name of the conversion process, which involves converting worksheets to models."
+ },
+ "ResponseSuccessfulEntities": {
+ "type": "object",
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ResponseSuccessfulEntity"
+ }
+ }
+ },
+ "description": "Wrapper for the successful entities, as they are inside a 'data' field in the response."
+ },
+ "ResponseSuccessfulEntity": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the worksheet."
+ }
+ },
+ "description": "Unique ID of the worksheet."
+ },
+ "ResponseFailedEntities": {
+ "type": "object",
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ResponseFailedEntity"
+ }
+ }
+ },
+ "description": "Wrapper for the failed entities, as they are inside a 'data' field in the response."
+ },
+ "ResponseFailedEntity": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "error"
+ ],
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the worksheet that failed to convert."
+ },
+ "error": {
+ "type": "string",
+ "description": "Error details related to the failed conversion."
+ }
+ },
+ "description": "Unique ID of the failed worksheet."
+ },
+ "ResponseIncompleteEntities": {
+ "type": "object",
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ResponseIncompleteEntity"
+ }
+ }
+ },
+ "description": "Wrapper for the incomplete entities, as they are inside a 'data' field in the response."
+ },
+ "ResponseIncompleteEntity": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "error"
+ ],
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the incomplete worksheet."
+ },
+ "error": {
+ "type": "string",
+ "description": "Error details related to the incomplete conversion."
+ }
+ },
+ "description": "Unique ID of the incomplete worksheet."
+ },
+ "ResponsePostUpgradeFailedEntities": {
+ "type": "object",
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ResponsePostUpgradeFailedEntity"
+ }
+ }
+ },
+ "description": "Wrapper for the post-upgrade failed entities, as they are inside a 'data' field in the response."
+ },
+ "ResponsePostUpgradeFailedEntity": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "error"
+ ],
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the worksheet that failed post-upgrade."
+ },
+ "error": {
+ "type": "string",
+ "description": "Error details related to the post-upgrade failure."
+ }
+ },
+ "description": "Unique ID of the worksheet that failed post-upgrade."
+ },
+ "HeaderUpdateInput": {
+ "type": "object",
+ "required": [
+ "attributes"
+ ],
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID of a specified type to identify the header.",
+ "nullable": true
+ },
+ "obj_identifier": {
+ "type": "string",
+ "description": "Custom object identifier to uniquely identify header.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "LIVEBOARD",
+ "ACTION_OBJECT",
+ "DATA_SOURCE",
+ "USER",
+ "USER_GROUP"
+ ],
+ "description": "Optional type of the header object.",
+ "nullable": true
+ },
+ "attributes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/HeaderAttributeInput"
+ },
+ "description": "List of attributes to update"
+ }
+ },
+ "description": "Favorite object options."
+ },
+ "HeaderAttributeInput": {
+ "type": "object",
+ "required": [
+ "name",
+ "value"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Attribute name to be updated."
+ },
+ "value": {
+ "type": "string",
+ "description": "Attribute's new value."
+ }
+ },
+ "description": "Attribute to update in a header."
+ },
+ "UpdateObjIdInput": {
+ "type": "object",
+ "required": [
+ "new_obj_id"
+ ],
+ "properties": {
+ "metadata_identifier": {
+ "type": "string",
+ "description": "GUID or name of the metadata object.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "LIVEBOARD",
+ "ACTION_OBJECT",
+ "DATA_SOURCE",
+ "USER",
+ "USER_GROUP"
+ ],
+ "description": "Type of metadata. Required if metadata_identifier is name of the object.",
+ "nullable": true
+ },
+ "current_obj_id": {
+ "type": "string",
+ "description": "Current object ID value.",
+ "nullable": true
+ },
+ "new_obj_id": {
+ "type": "string",
+ "description": "New object ID value to set."
+ }
+ },
+ "description": "Input for updating object ID of a metadata object."
+ },
+ "ExportMetadataTypeInput": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "CONNECTION",
+ "CUSTOM_ACTION",
+ "USER",
+ "USER_GROUP",
+ "ROLE",
+ "FEEDBACK"
+ ],
+ "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
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata object. Not required if the metadata type is ANSWER when session_id and generation_number is set.",
+ "nullable": true
+ },
+ "session_identifier": {
+ "type": "string",
+ "description": "Unique ID of the Answer session. Required if the metadata type is ANSWER and identifier is not set.",
+ "nullable": true
+ },
+ "generation_number": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Generation Number of the Answer session. Required if the metadata type is ANSWER and identifier is not set.",
+ "nullable": true
+ }
+ },
+ "description": "MetadataType InputType used in Export MetadataType API"
+ },
+ "DeleteMetadataTypeInput": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "LOGICAL_RELATIONSHIP"
+ ],
+ "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
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata object."
+ }
+ },
+ "description": "MetadataType InputType used in Delete MetadataType API"
+ },
+ "PublishMetadataListItem": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE"
+ ],
+ "description": "Type of metadata. Required if identifier is name.",
+ "nullable": true
+ }
+ }
+ },
+ "AuthorMetadataTypeInput": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "CONNECTION"
+ ],
+ "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
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata object."
+ }
+ },
+ "description": "MetadataType InputType used in Author API's"
+ },
+ "ShareMetadataTypeInput": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION"
+ ],
+ "description": " Type of metadata.\n \n\nType of metadata. Required 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
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata object."
+ }
+ }
+ },
+ "SharePermissionsInput": {
+ "type": "object",
+ "required": [
+ "principal",
+ "share_mode"
+ ],
+ "properties": {
+ "principal": {
+ "$ref": "#/components/schemas/PrincipalsInput",
+ "description": "Details of users or groups."
+ },
+ "share_mode": {
+ "type": "string",
+ "enum": [
+ "READ_ONLY",
+ "MODIFY",
+ "NO_ACCESS"
+ ],
+ "description": "Type of access to the shared object"
+ }
+ }
+ },
+ "ColumnSecurityRuleUpdate": {
+ "type": "object",
+ "required": [
+ "column_identifier"
+ ],
+ "properties": {
+ "column_identifier": {
+ "type": "string",
+ "description": "Column identifier (col_id or name)"
+ },
+ "is_unsecured": {
+ "type": "boolean",
+ "description": "If true, the column will be marked as unprotected and all groups associated with it will be removed",
+ "nullable": true
+ },
+ "group_access": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnSecurityRuleGroupOperation"
+ },
+ "description": "Array of group operation objects that specifies the actions for groups to be associated with a column",
+ "nullable": true
+ }
+ }
+ },
+ "ColumnSecurityRuleGroupOperation": {
+ "type": "object",
+ "required": [
+ "operation",
+ "group_identifiers"
+ ],
+ "properties": {
+ "operation": {
+ "type": "string",
+ "enum": [
+ "ADD",
+ "REMOVE",
+ "REPLACE"
+ ],
+ "description": "Type of operation to be performed on the groups"
+ },
+ "group_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Array of group identifiers (name or GUID) on which the operation will be performed"
+ }
+ }
+ },
+ "MetadataObject": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "CUSTOM_ACTION"
+ ],
+ "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
+ }
+ }
+ },
+ "CommitResponse": {
+ "type": "object",
+ "properties": {
+ "committer": {
+ "$ref": "#/components/schemas/CommiterType",
+ "description": "Repository user using which changes were committed",
+ "nullable": true
+ },
+ "author": {
+ "$ref": "#/components/schemas/AuthorType",
+ "description": "Thoughtspot user who commits the changes",
+ "nullable": true
+ },
+ "comment": {
+ "type": "string",
+ "description": "Comments associated with the commit",
+ "nullable": true
+ },
+ "commit_time": {
+ "type": "string",
+ "description": "Time at which the changes were committed.",
+ "nullable": true
+ },
+ "commit_id": {
+ "type": "string",
+ "description": "SHA id associated with the commit",
+ "nullable": true
+ },
+ "branch": {
+ "type": "string",
+ "description": "Branch where changes were committed",
+ "nullable": true
+ },
+ "committed_files": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CommitFileType"
+ },
+ "description": "Files that were pushed as part of this commit",
+ "nullable": true
+ }
+ }
+ },
+ "CommitFileType": {
+ "type": "object",
+ "required": [
+ "file_name",
+ "status_code"
+ ],
+ "properties": {
+ "file_name": {
+ "type": "string",
+ "description": "Name of the file deployed"
+ },
+ "status_code": {
+ "type": "string",
+ "description": "Indicates the status of deployment for the file"
+ },
+ "status_message": {
+ "type": "string",
+ "description": "Any error or warning with the deployment",
+ "nullable": true
+ }
+ }
+ },
+ "RevertResponse": {
+ "type": "object",
+ "properties": {
+ "committer": {
+ "$ref": "#/components/schemas/CommiterType",
+ "description": "Repository user using which changes were committed",
+ "nullable": true
+ },
+ "author": {
+ "$ref": "#/components/schemas/AuthorType",
+ "description": "Thoughtspot user who commits the changes",
+ "nullable": true
+ },
+ "comment": {
+ "type": "string",
+ "description": "Comments associated with the commit",
+ "nullable": true
+ },
+ "commit_time": {
+ "type": "string",
+ "description": "Time at which the changes were committed.",
+ "nullable": true
+ },
+ "commit_id": {
+ "type": "string",
+ "description": "SHA id associated with the commit",
+ "nullable": true
+ },
+ "branch": {
+ "type": "string",
+ "description": "Branch where changes were committed",
+ "nullable": true
+ },
+ "committed_files": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CommitFileType"
+ },
+ "description": "Files that were pushed as part of this commit",
+ "nullable": true
+ },
+ "reverted_metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/RevertedMetadata"
+ },
+ "description": "Metadata of reverted file of this commit",
+ "nullable": true
+ }
+ }
+ },
+ "RevertedMetadata": {
+ "type": "object",
+ "required": [
+ "file_name",
+ "metadata_name",
+ "metadata_type",
+ "status_code",
+ "status_message"
+ ],
+ "properties": {
+ "file_name": {
+ "type": "string",
+ "description": "Name of the file deployed"
+ },
+ "metadata_name": {
+ "type": "string",
+ "description": "Name of the metadata object"
+ },
+ "metadata_type": {
+ "type": "string",
+ "description": "Type of the metadata object"
+ },
+ "status_code": {
+ "type": "string",
+ "description": "Indicates the status of deployment for the file"
+ },
+ "status_message": {
+ "type": "string",
+ "description": "Any error or warning with the deployment"
+ }
+ }
+ },
+ "DeployResponse": {
+ "type": "object",
+ "properties": {
+ "file_name": {
+ "type": "string",
+ "description": "Name of the file deployed",
+ "nullable": true
+ },
+ "metadata_name": {
+ "type": "string",
+ "description": "Name of the metadata object",
+ "nullable": true
+ },
+ "metadata_type": {
+ "type": "string",
+ "description": "Type of the metadata object",
+ "nullable": true
+ },
+ "status_code": {
+ "type": "string",
+ "description": "Indicates the status of deployment for the file",
+ "nullable": true
+ },
+ "status_message": {
+ "type": "string",
+ "description": "Any error or warning with the deployment",
+ "nullable": true
+ }
+ }
+ },
+ "CreateConnectionResponse": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "data_warehouse_type"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "ID of the connection created."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the connection."
+ },
+ "data_warehouse_type": {
+ "type": "string",
+ "enum": [
+ "SNOWFLAKE",
+ "AMAZON_REDSHIFT",
+ "GOOGLE_BIGQUERY",
+ "AZURE_SYNAPSE",
+ "TERADATA",
+ "SAP_HANA",
+ "STARBURST",
+ "ORACLE_ADW",
+ "DATABRICKS",
+ "DENODO",
+ "DREMIO",
+ "TRINO",
+ "PRESTO",
+ "POSTGRES",
+ "SQLSERVER",
+ "MYSQL",
+ "GENERIC_JDBC",
+ "AMAZON_RDS_POSTGRESQL",
+ "AMAZON_AURORA_POSTGRESQL",
+ "AMAZON_RDS_MYSQL",
+ "AMAZON_AURORA_MYSQL",
+ "LOOKER",
+ "AMAZON_ATHENA",
+ "SINGLESTORE",
+ "GCP_SQLSERVER",
+ "GCP_ALLOYDB_POSTGRESQL",
+ "GCP_POSTGRESQL",
+ "GCP_MYSQL",
+ "MODE",
+ "GOOGLE_SHEETS",
+ "FALCON",
+ "FALCON_ONPREM",
+ "CLICKHOUSE"
+ ],
+ "description": "Type of data warehouse."
+ },
+ "details": {
+ "type": "object",
+ "description": "Details of the connection.",
+ "nullable": true
+ }
+ }
+ },
+ "FetchConnectionDiffStatusResponse": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "boolean",
+ "description": "Status of the connection diff.",
+ "nullable": true
+ }
+ }
+ },
+ "RoleResponse": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "description",
+ "privileges"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique Id of the role."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the role"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the role"
+ },
+ "groups_assigned_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "number of groups assigned with this role",
+ "nullable": true
+ },
+ "orgs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/GenericInfo"
+ },
+ "description": "Orgs in which role exists.",
+ "nullable": true
+ },
+ "groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/GenericInfo"
+ },
+ "description": "Details of groups assigned with this role",
+ "nullable": true
+ },
+ "privileges": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "USERDATAUPLOADING",
+ "DATADOWNLOADING",
+ "DATAMANAGEMENT",
+ "SHAREWITHALL",
+ "JOBSCHEDULING",
+ "A3ANALYSIS",
+ "BYPASSRLS",
+ "DISABLE_PINBOARD_CREATION",
+ "DEVELOPER",
+ "APPLICATION_ADMINISTRATION",
+ "USER_ADMINISTRATION",
+ "GROUP_ADMINISTRATION",
+ "SYSTEM_INFO_ADMINISTRATION",
+ "SYNCMANAGEMENT",
+ "ORG_ADMINISTRATION",
+ "ROLE_ADMINISTRATION",
+ "AUTHENTICATION_ADMINISTRATION",
+ "BILLING_INFO_ADMINISTRATION",
+ "CONTROL_TRUSTED_AUTH",
+ "TAGMANAGEMENT",
+ "LIVEBOARD_VERIFIER",
+ "CAN_MANAGE_CUSTOM_CALENDAR",
+ "CAN_CREATE_OR_EDIT_CONNECTIONS",
+ "CAN_MANAGE_WORKSHEET_VIEWS_TABLES",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "CAN_CREATE_CATALOG",
+ "ALLOW_NON_EMBED_FULL_APP_ACCESS",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "CAN_SETUP_VERSION_CONTROL",
+ "PREVIEW_THOUGHTSPOT_SAGE"
+ ]
+ },
+ "description": "Privileges granted to the role."
+ },
+ "permission": {
+ "type": "string",
+ "enum": [
+ "READ_ONLY",
+ "MODIFY",
+ "NO_ACCESS"
+ ],
+ "description": "Permission details of the Role",
+ "nullable": true
+ },
+ "author_id": {
+ "type": "string",
+ "description": "Unique identifier of author of the role.",
+ "nullable": true
+ },
+ "modifier_id": {
+ "type": "string",
+ "description": "Unique identifier of modifier of the role.",
+ "nullable": true
+ },
+ "creation_time_in_millis": {
+ "type": "object",
+ "description": "Creation time of the role in milliseconds.",
+ "nullable": true
+ },
+ "modification_time_in_millis": {
+ "type": "object",
+ "description": "Last modified time of the role in milliseconds.",
+ "nullable": true
+ },
+ "deleted": {
+ "type": "boolean",
+ "description": "Indicates whether the role is deleted.",
+ "nullable": true
+ },
+ "deprecated": {
+ "type": "boolean",
+ "description": "Indicates whether the role is deprecated.",
+ "nullable": true
+ },
+ "external": {
+ "type": "boolean",
+ "description": "Indicates whether the role is external.",
+ "nullable": true
+ },
+ "hidden": {
+ "type": "boolean",
+ "description": "Indicates whether the role is hidden.",
+ "nullable": true
+ },
+ "shared_via_connection": {
+ "type": "boolean",
+ "description": "Indicates whether the role is shared via connection",
+ "nullable": true
+ }
+ }
+ },
+ "LiveboardOptionsInput": {
+ "type": "object",
+ "required": [
+ "visualization_identifiers"
+ ],
+ "properties": {
+ "visualization_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of visualizations."
+ }
+ },
+ "description": "Options to specify details of Liveboard."
+ },
+ "SchedulesPdfOptionsInput": {
+ "type": "object",
+ "properties": {
+ "complete_liveboard": {
+ "type": "boolean",
+ "description": "Indicates whether to include complete Liveboard.",
+ "nullable": true
+ },
+ "include_cover_page": {
+ "type": "boolean",
+ "description": "Indicates whether to include cover page with the Liveboard title.",
+ "nullable": true
+ },
+ "include_custom_logo": {
+ "type": "boolean",
+ "description": "Indicates whether to include customized wide logo in the footer if available.",
+ "nullable": true
+ },
+ "include_filter_page": {
+ "type": "boolean",
+ "description": "Indicates whether to include a page with all applied filters.",
+ "nullable": true
+ },
+ "include_page_number": {
+ "type": "boolean",
+ "description": "Indicates whether to include page number in the footer of each page",
+ "nullable": true
+ },
+ "page_footer_text": {
+ "type": "string",
+ "description": "Text to include in the footer of each page.",
+ "nullable": true
+ },
+ "page_orientation": {
+ "type": "string",
+ "description": "Page orientation of the PDF.",
+ "nullable": true
+ },
+ "page_size": {
+ "type": "string",
+ "enum": [
+ "A4"
+ ],
+ "description": "Page size.",
+ "nullable": true
+ },
+ "truncate_table": {
+ "type": "boolean",
+ "description": "Indicates whether to include only first page of the tables.",
+ "nullable": true
+ }
+ },
+ "description": "Options for PDF export."
+ },
+ "FrequencyInput": {
+ "type": "object",
+ "required": [
+ "cron_expression"
+ ],
+ "properties": {
+ "cron_expression": {
+ "$ref": "#/components/schemas/CronExpressionInput",
+ "description": "Schedule selected cron expression."
+ }
+ },
+ "description": "Configuration of schedule with cron expression"
+ },
+ "CronExpressionInput": {
+ "type": "object",
+ "required": [
+ "day_of_month",
+ "day_of_week",
+ "hour",
+ "minute",
+ "month",
+ "second"
+ ],
+ "properties": {
+ "day_of_month": {
+ "type": "string",
+ "description": "Day of month of the object."
+ },
+ "day_of_week": {
+ "type": "string",
+ "description": "Day of Week of the object."
+ },
+ "hour": {
+ "type": "string",
+ "description": "Hour of the object."
+ },
+ "minute": {
+ "type": "string",
+ "description": "Minute of the object."
+ },
+ "month": {
+ "type": "string",
+ "description": "Month of the object."
+ },
+ "second": {
+ "type": "string",
+ "description": "Second of the object."
+ }
+ },
+ "description": "Schedule selected cron expression."
+ },
+ "RecipientDetailsInput": {
+ "type": "object",
+ "properties": {
+ "emails": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Emails of the recipients.",
+ "nullable": true
+ },
+ "principals": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PrincipalsListItemInput"
+ },
+ "description": "User or groups to be set as recipients of the schedule notifications.",
+ "nullable": true
+ }
+ },
+ "description": "Recipients of the scheduled job notification."
+ },
+ "PrincipalsListItemInput": {
+ "type": "object",
+ "required": [
+ "identifier",
+ "type"
+ ],
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the user or group."
+ },
+ "type": {
+ "type": "string",
+ "description": "Principal type."
+ }
+ }
+ },
+ "ResponseSchedule": {
+ "type": "object",
+ "required": [
+ "author",
+ "creation_time_in_millis",
+ "file_format",
+ "frequency",
+ "id",
+ "metadata",
+ "name",
+ "recipient_details",
+ "time_zone"
+ ],
+ "properties": {
+ "author": {
+ "$ref": "#/components/schemas/Author",
+ "description": "Author of the schedule."
+ },
+ "creation_time_in_millis": {
+ "type": "object",
+ "description": "Schedule creation time in milliseconds."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the job.",
+ "nullable": true
+ },
+ "file_format": {
+ "type": "string",
+ "description": "Export file format."
+ },
+ "frequency": {
+ "$ref": "#/components/schemas/Frequency",
+ "description": "Configuration of schedule with cron expression"
+ },
+ "id": {
+ "type": "string",
+ "description": "GUID of the scheduled job."
+ },
+ "liveboard_options": {
+ "$ref": "#/components/schemas/LiveboardOptions",
+ "description": "Options to specify details of Liveboard.",
+ "nullable": true
+ },
+ "metadata": {
+ "$ref": "#/components/schemas/MetadataResponse",
+ "description": "Unique ID or name of the metadata."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the scheduled job."
+ },
+ "pdf_options": {
+ "$ref": "#/components/schemas/PdfOptions",
+ "description": "Options for PDF export.",
+ "nullable": true
+ },
+ "recipient_details": {
+ "$ref": "#/components/schemas/RecipientDetails",
+ "description": "Recipient of the scheduled job notifications."
+ },
+ "status": {
+ "type": "string",
+ "description": "Status of the job",
+ "nullable": true
+ },
+ "time_zone": {
+ "type": "string",
+ "description": "Time zone"
+ },
+ "history_runs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ResponseScheduleRun"
+ },
+ "description": "Schedule runs history records.",
+ "nullable": true
+ },
+ "personalised_view_id": {
+ "type": "string",
+ "description": "Personalised view id of the liveboard to be scheduled.",
+ "nullable": true
+ }
+ }
+ },
+ "Author": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The unique identifier of the object."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the object."
+ }
+ },
+ "description": "Author of the schedule."
+ },
+ "Frequency": {
+ "type": "object",
+ "required": [
+ "cron_expression"
+ ],
+ "properties": {
+ "cron_expression": {
+ "$ref": "#/components/schemas/CronExpression",
+ "description": "Schedule selected cron expression."
+ }
+ },
+ "description": "Configuration of schedule with cron expression"
+ },
+ "CronExpression": {
+ "type": "object",
+ "required": [
+ "day_of_month",
+ "day_of_week",
+ "hour",
+ "minute",
+ "month",
+ "second"
+ ],
+ "properties": {
+ "day_of_month": {
+ "type": "string",
+ "description": "Day of month of the object."
+ },
+ "day_of_week": {
+ "type": "string",
+ "description": "Day of Week of the object."
+ },
+ "hour": {
+ "type": "string",
+ "description": "Hour of the object."
+ },
+ "minute": {
+ "type": "string",
+ "description": "Minute of the object."
+ },
+ "month": {
+ "type": "string",
+ "description": "Month of the object."
+ },
+ "second": {
+ "type": "string",
+ "description": "Second of the object."
+ }
+ },
+ "description": "Schedule selected cron expression."
+ },
+ "LiveboardOptions": {
+ "type": "object",
+ "required": [
+ "visualization_identifiers"
+ ],
+ "properties": {
+ "visualization_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of visualizations."
+ }
+ },
+ "description": "Options to specify details of Liveboard."
+ },
+ "MetadataResponse": {
+ "type": "object",
+ "required": [
+ "id",
+ "type"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "nullable": true
+ },
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD"
+ ]
+ }
+ }
+ },
+ "PdfOptions": {
+ "type": "object",
+ "properties": {
+ "complete_liveboard": {
+ "type": "boolean",
+ "description": "Indicates whether to include complete Liveboard.",
+ "nullable": true
+ },
+ "include_cover_page": {
+ "type": "boolean",
+ "description": "Indicates whether to include cover page with the Liveboard title.",
+ "nullable": true
+ },
+ "include_custom_logo": {
+ "type": "boolean",
+ "description": "Indicates whether to include customized wide logo in the footer if available.",
+ "nullable": true
+ },
+ "include_filter_page": {
+ "type": "boolean",
+ "description": "Indicates whether to include a page with all applied filters.",
+ "nullable": true
+ },
+ "include_page_number": {
+ "type": "boolean",
+ "description": "Indicates whether to include page number in the footer of each page",
+ "nullable": true
+ },
+ "page_footer_text": {
+ "type": "string",
+ "description": "Text to include in the footer of each page.",
+ "nullable": true
+ },
+ "page_orientation": {
+ "type": "string",
+ "description": "Page orientation of the PDF.",
+ "nullable": true
+ },
+ "page_size": {
+ "type": "string",
+ "enum": [
+ "A4"
+ ],
+ "description": "Page size.",
+ "nullable": true
+ },
+ "truncate_table": {
+ "type": "boolean",
+ "description": "Indicates whether to include only first page of the tables.",
+ "nullable": true
+ }
+ },
+ "description": "Options for PDF export."
+ },
+ "RecipientDetails": {
+ "type": "object",
+ "properties": {
+ "emails": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Emails of the recipients. Specify email address if the recipient is not a ThoughtSpot user.",
+ "nullable": true
+ },
+ "principals": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PrincipalsListItem"
+ },
+ "description": "List of user or groups to subscribe for the scheduled job notifications.",
+ "nullable": true
+ }
+ },
+ "description": "Recipient configuration which includes email address, ID or name of the users and groups."
+ },
+ "PrincipalsListItem": {
+ "type": "object",
+ "required": [
+ "identifier",
+ "type"
+ ],
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the user or group."
+ },
+ "type": {
+ "type": "string",
+ "description": "Principal type. Valid values are"
+ }
+ }
+ },
+ "ResponseScheduleRun": {
+ "type": "object",
+ "required": [
+ "id",
+ "start_time_in_millis",
+ "end_time_in_millis",
+ "status"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "GUID of the scheduled job."
+ },
+ "start_time_in_millis": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Schedule run start time in milliseconds."
+ },
+ "end_time_in_millis": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Schedule run end time in milliseconds."
+ },
+ "status": {
+ "type": "string",
+ "description": "Status of the schedule run."
+ },
+ "detail": {
+ "type": "string",
+ "description": "Message details related to the schedule run.",
+ "nullable": true
+ }
+ },
+ "description": "Schedule run response object"
+ },
+ "MetadataInput": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD"
+ ],
+ "nullable": true
+ }
+ }
+ },
+ "SortingOptions": {
+ "type": "object",
+ "properties": {
+ "field_name": {
+ "type": "string",
+ "description": "Name of the field to apply the sort on.",
+ "nullable": true
+ },
+ "order": {
+ "type": "string",
+ "description": "Sort order : ASC(Ascending) or DESC(Descending).",
+ "nullable": true
+ }
+ },
+ "description": "Sort options."
+ },
+ "ScheduleHistoryRunsOptionsInput": {
+ "type": "object",
+ "properties": {
+ "include_history_runs": {
+ "type": "boolean",
+ "default": false,
+ "description": "Indicates whether to fetch history runs for the scheduled notification.",
+ "nullable": true
+ },
+ "record_size": {
+ "type": "integer",
+ "format": "int32",
+ "default": 10,
+ "description": "Indicates the max number of records that can be fetched as past runs of any scheduled job.",
+ "nullable": true
+ },
+ "record_offset": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0,
+ "description": "Indicates the starting record number from where history runs records should be fetched.",
+ "nullable": true
+ }
+ }
+ },
+ "Action_Details_Input_Create": {
+ "type": "object",
+ "properties": {
+ "CALLBACK": {
+ "$ref": "#/components/schemas/CALLBACKInputMandatory",
+ "description": "CALLBACK Custom Action Type",
+ "nullable": true
+ },
+ "URL": {
+ "$ref": "#/components/schemas/URLInputMandatory",
+ "description": "URL Custom Action Type",
+ "nullable": true
+ }
+ },
+ "description": "Action details includes Type and Configuration for Custom Actions, either Callback or URL is required.\nWhen both callback and url are provided, callback would be considered"
+ },
+ "CALLBACKInputMandatory": {
+ "type": "object",
+ "properties": {
+ "reference": {
+ "type": "string",
+ "description": "Reference name. By default, the value will be set to action name.",
+ "nullable": true
+ }
+ },
+ "description": "CALLBACK Custom Action Type"
+ },
+ "URLInputMandatory": {
+ "type": "object",
+ "required": [
+ "url"
+ ],
+ "properties": {
+ "authentication": {
+ "$ref": "#/components/schemas/AuthenticationInput",
+ "description": "Authorization type for the custom action.",
+ "nullable": true
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ParametersListItemInput"
+ },
+ "description": "Query parameters for url.",
+ "nullable": true
+ },
+ "url": {
+ "type": "string",
+ "description": "Request Url for the Custom action."
+ },
+ "reference": {
+ "type": "string",
+ "description": "Reference name. By default the value will be set to action name",
+ "nullable": true
+ }
+ },
+ "description": "URL Custom Action Type"
+ },
+ "AuthenticationInput": {
+ "type": "object",
+ "properties": {
+ "API_Key": {
+ "$ref": "#/components/schemas/API_KeyInput",
+ "description": "With API key auth, you send a key-value pair to the API either in the request headers or query parameters.",
+ "nullable": true
+ },
+ "Basic_Auth": {
+ "$ref": "#/components/schemas/Basic_AuthInput",
+ "description": "Basic Auth: Basic authentication involves sending a verified username and password with your request.",
+ "nullable": true
+ },
+ "Bearer_Token": {
+ "type": "string",
+ "description": "Bearer tokens enable requests to authenticate using an access key.",
+ "nullable": true
+ },
+ "No_Auth": {
+ "type": "string",
+ "description": "No authorization. If your request doesn't require authorization.",
+ "nullable": true
+ }
+ },
+ "description": "Authorization type for the custom action."
+ },
+ "API_KeyInput": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "Enter your key name",
+ "nullable": true
+ },
+ "value": {
+ "type": "string",
+ "description": "Enter you key value",
+ "nullable": true
+ }
+ },
+ "description": "With API key auth, you send a key-value pair to the API either in the request headers or query parameters."
+ },
+ "Basic_AuthInput": {
+ "type": "object",
+ "properties": {
+ "password": {
+ "type": "string",
+ "description": "Password for the basic authentication",
+ "nullable": true
+ },
+ "username": {
+ "type": "string",
+ "description": "Username for the basic authentication",
+ "nullable": true
+ }
+ },
+ "description": "Basic Auth: Basic authentication involves sending a verified username and password with your request."
+ },
+ "ParametersListItemInput": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "Key for the url query parameter",
+ "nullable": true
+ },
+ "value": {
+ "type": "string",
+ "description": "Value for the url query parameter",
+ "nullable": true
+ }
+ }
+ },
+ "Associate_Metadata_Input_Create": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "action_config": {
+ "$ref": "#/components/schemas/ActionConfigInputCreate",
+ "description": "Specify that the association is enabled for the metadata object",
+ "nullable": true
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "VISUALIZATION",
+ "ANSWER",
+ "WORKSHEET"
+ ],
+ "description": " Type of metadata.\n \n\nRequired if the name of the object is set as the identifier. This attribute is optional when the object GUID is specified as the identifier.",
+ "nullable": true
+ }
+ }
+ },
+ "ActionConfigInputCreate": {
+ "type": "object",
+ "properties": {
+ "position": {
+ "type": "string",
+ "enum": [
+ "MENU",
+ "PRIMARY",
+ "CONTEXT_MENU"
+ ],
+ "default": "MENU",
+ "description": "Position of the Custom action on the Metadata object. Earlier naming convention: context.",
+ "nullable": true
+ },
+ "visibility": {
+ "type": "boolean",
+ "default": true,
+ "description": "Visibility of the metadata association with custom action. Earlier naming convention: enabled",
+ "nullable": true
+ }
+ },
+ "description": "Specify that the association is enabled for the metadata object Default"
+ },
+ "Default_Action_Config_Input_Create": {
+ "type": "object",
+ "properties": {
+ "visibility": {
+ "type": "boolean",
+ "default": true,
+ "description": "Custom action is available on all visualizations. Earlier naming convention: LOCAL/GLOBAL. TRUE signifies GLOBAL for backward compatibility.\nDefault: true",
+ "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."
+ },
+ "Action_Details_Input": {
+ "type": "object",
+ "properties": {
+ "CALLBACK": {
+ "$ref": "#/components/schemas/CALLBACKInput",
+ "description": "CALLBACK Custom Action Type",
+ "nullable": true
+ },
+ "URL": {
+ "$ref": "#/components/schemas/URLInput",
+ "description": "URL Custom Action Type",
+ "nullable": true
+ }
+ },
+ "description": "Action details includes `Type` and configuration details of Custom Actions. Either Callback or URL is required."
+ },
+ "CALLBACKInput": {
+ "type": "object",
+ "properties": {
+ "reference": {
+ "type": "string",
+ "description": "Reference name. By default, the value will be set to action name.",
+ "nullable": true
+ }
+ },
+ "description": "CALLBACK Custom Action Type"
+ },
+ "URLInput": {
+ "type": "object",
+ "properties": {
+ "authentication": {
+ "$ref": "#/components/schemas/AuthenticationInput",
+ "description": "Authorization type for the custom action.",
+ "nullable": true
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ParametersListItemInput"
+ },
+ "description": "Query parameters for url.",
+ "nullable": true
+ },
+ "url": {
+ "type": "string",
+ "description": "Request Url for the Custom action.",
+ "nullable": true
+ },
+ "reference": {
+ "type": "string",
+ "description": "Reference name. By default the value will be set to action name",
+ "nullable": true
+ }
+ },
+ "description": "URL Custom Action Type"
+ },
+ "Associate_Metadata_Input": {
+ "type": "object",
+ "properties": {
+ "action_config": {
+ "$ref": "#/components/schemas/ActionConfigInput",
+ "description": "Specify that the association is enabled for the metadata object",
+ "nullable": true
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "VISUALIZATION",
+ "ANSWER",
+ "WORKSHEET"
+ ],
+ "description": " Type of metadata.\n \n\nRequired if the name of the object is set as the identifier. This attribute is optional when the object GUID is specified as the identifier.",
+ "nullable": true
+ }
+ }
+ },
+ "ActionConfigInput": {
+ "type": "object",
+ "properties": {
+ "position": {
+ "type": "string",
+ "enum": [
+ "MENU",
+ "PRIMARY",
+ "CONTEXT_MENU"
+ ],
+ "description": "Position of the Custom action on the Metadata object. Earlier naming convention: context.",
+ "nullable": true
+ },
+ "visibility": {
+ "type": "boolean",
+ "description": "Visibility of the metadata association with custom action. Earlier naming convention: enabled",
+ "nullable": true
+ }
+ },
+ "description": "Specify that the association is enabled for the metadata object Default"
+ },
+ "Default_Action_Config_Input": {
+ "type": "object",
+ "properties": {
+ "visibility": {
+ "type": "boolean",
+ "description": "Custom action is available on all visualizations. Earlier naming convention: LOCAL/GLOBAL. TRUE signifies GLOBAL for backward compatibility.",
+ "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."
+ },
+ "ModelTableList": {
+ "type": "object",
+ "required": [
+ "model_name",
+ "tables"
+ ],
+ "properties": {
+ "model_name": {
+ "type": "string",
+ "description": "Name of the Model."
+ },
+ "model_path": {
+ "type": "string",
+ "description": "Model directory path, this is optional param and required if there are duplicate models with the same name.",
+ "nullable": true
+ },
+ "tables": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of Tables."
+ }
+ }
+ },
+ "DbtSearchResponse": {
+ "type": "object",
+ "properties": {
+ "dbt_connection_identifier": {
+ "type": "string",
+ "nullable": true
+ },
+ "project_name": {
+ "type": "string",
+ "nullable": true
+ },
+ "connection_id": {
+ "type": "string",
+ "nullable": true
+ },
+ "connection_name": {
+ "type": "string",
+ "nullable": true
+ },
+ "cdw_database": {
+ "type": "string",
+ "nullable": true
+ },
+ "import_type": {
+ "type": "string",
+ "nullable": true
+ },
+ "author_name": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ },
+ "Conversation": {
+ "type": "object",
+ "required": [
+ "conversation_identifier"
+ ],
+ "properties": {
+ "conversation_identifier": {
+ "type": "string",
+ "description": "Unique identifier of the conversation."
+ }
+ }
+ },
+ "ResponseMessage": {
+ "type": "object",
+ "required": [
+ "message_type"
+ ],
+ "properties": {
+ "session_identifier": {
+ "type": "string",
+ "description": "Unique identifier of the generated response.",
+ "nullable": true
+ },
+ "generation_number": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Generate number of the response.",
+ "nullable": true
+ },
+ "message_type": {
+ "type": "string",
+ "enum": [
+ "TSAnswer"
+ ],
+ "description": "Type of the generated response."
+ },
+ "visualization_type": {
+ "type": "string",
+ "enum": [
+ "Chart",
+ "Table",
+ "Undefined"
+ ],
+ "description": "Generated visualization type.",
+ "nullable": true
+ },
+ "tokens": {
+ "type": "string",
+ "description": "Tokens for the response.",
+ "nullable": true
+ },
+ "display_tokens": {
+ "type": "string",
+ "description": "User friendly tokens for the response.",
+ "nullable": true
+ }
+ }
+ },
+ "InputVariableValue": {
+ "type": "object",
+ "required": [
+ "value",
+ "org_identifier"
+ ],
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The connection property value"
+ },
+ "org_identifier": {
+ "type": "string",
+ "description": "The unique name of the org"
+ },
+ "principal_type": {
+ "type": "string",
+ "enum": [
+ "USER",
+ "USER_GROUP"
+ ],
+ "description": "Principal type",
+ "nullable": true
+ },
+ "principal_identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the principal",
+ "nullable": true
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The priority assigned to this value. If there are 2 matching values, the one with the higher priority will be picked.",
+ "nullable": true
+ }
+ }
+ },
+ "VariableValueInput": {
+ "type": "object",
+ "required": [
+ "variable_identifier",
+ "variable_values"
+ ],
+ "properties": {
+ "variable_identifier": {
+ "type": "string",
+ "description": "ID or Name of the variable"
+ },
+ "variable_values": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/InputVariableValue"
+ },
+ "description": "Values of the variable"
+ }
+ },
+ "description": "Input for variable value update"
+ },
+ "CreateEmailCustomizationResponse": {
+ "type": "object",
+ "required": [
+ "tenant_id",
+ "org",
+ "name",
+ "template_properties"
+ ],
+ "properties": {
+ "tenant_id": {
+ "type": "string",
+ "description": "Tenant ID"
+ },
+ "org": {
+ "$ref": "#/components/schemas/OrgType",
+ "description": "Email customization org"
+ },
+ "name": {
+ "type": "string",
+ "description": "Email customization name."
+ },
+ "template_properties": {
+ "type": "object",
+ "description": "Customization configuration for the email"
+ }
+ }
+ },
+ "OrgType": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "nullable": true
+ },
+ "id": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ }
+ }
+ },
+ "Template_Properties_Input_Create": {
+ "type": "object",
+ "properties": {
+ "cta_button_bg_color": {
+ "type": "string",
+ "description": "Background color for call-to-action button in hex format",
+ "nullable": true
+ },
+ "cta_text_font_color": {
+ "type": "string",
+ "description": "Text color for call-to-action button in hex format",
+ "nullable": true
+ },
+ "primary_bg_color": {
+ "type": "string",
+ "description": "Primary background color in hex format",
+ "nullable": true
+ },
+ "home_url": {
+ "type": "string",
+ "description": "Home page URL (HTTP/HTTPS only)",
+ "nullable": true
+ },
+ "logo_url": {
+ "type": "string",
+ "description": "Logo image URL (HTTP/HTTPS only)",
+ "nullable": true
+ },
+ "font_family": {
+ "type": "string",
+ "description": "Font family for email content (e.g., Arial, sans-serif)",
+ "nullable": true
+ },
+ "product_name": {
+ "type": "string",
+ "description": "Product name to display",
+ "nullable": true
+ },
+ "footer_address": {
+ "type": "string",
+ "description": "Footer address text",
+ "nullable": true
+ },
+ "footer_phone": {
+ "type": "string",
+ "description": "Footer phone number",
+ "nullable": true
+ },
+ "replacement_value_for_liveboard": {
+ "type": "string",
+ "description": "Replacement value for Liveboard",
+ "nullable": true
+ },
+ "replacement_value_for_answer": {
+ "type": "string",
+ "description": "Replacement value for Answer",
+ "nullable": true
+ },
+ "replacement_value_for_spot_iq": {
+ "type": "string",
+ "description": "Replacement value for SpotIQ",
+ "nullable": true
+ },
+ "hide_footer_address": {
+ "type": "boolean",
+ "description": "Whether to hide footer address",
+ "nullable": true
+ },
+ "hide_footer_phone": {
+ "type": "boolean",
+ "description": "Whether to hide footer phone number",
+ "nullable": true
+ },
+ "hide_manage_notification": {
+ "type": "boolean",
+ "description": "Whether to hide manage notification link",
+ "nullable": true
+ },
+ "hide_mobile_app_nudge": {
+ "type": "boolean",
+ "description": "Whether to hide mobile app nudge",
+ "nullable": true
+ },
+ "hide_privacy_policy": {
+ "type": "boolean",
+ "description": "Whether to hide privacy policy link",
+ "nullable": true
+ },
+ "hide_product_name": {
+ "type": "boolean",
+ "description": "Whether to hide product name",
+ "nullable": true
+ },
+ "hide_ts_vocabulary_definitions": {
+ "type": "boolean",
+ "description": "Whether to hide ThoughtSpot vocabulary definitions",
+ "nullable": true
+ },
+ "hide_notification_status": {
+ "type": "boolean",
+ "description": "Whether to hide notification status",
+ "nullable": true
+ },
+ "hide_error_message": {
+ "type": "boolean",
+ "description": "Whether to hide error message",
+ "nullable": true
+ },
+ "hide_unsubscribe_link": {
+ "type": "boolean",
+ "description": "Whether to hide unsubscribe link",
+ "nullable": true
+ },
+ "hide_modify_alert": {
+ "type": "boolean",
+ "description": "Whether to hide modify alert",
+ "nullable": true
+ }
+ },
+ "description": "Email customization configuration properties"
+ },
+ "ExternalTableInput": {
+ "type": "object",
+ "required": [
+ "connection_identifier",
+ "table_name"
+ ],
+ "properties": {
+ "connection_identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the connection."
+ },
+ "database_name": {
+ "type": "string",
+ "default": "",
+ "description": "Name of the database.",
+ "nullable": true
+ },
+ "schema_name": {
+ "type": "string",
+ "default": "",
+ "description": "Name of the schema.",
+ "nullable": true
+ },
+ "table_name": {
+ "type": "string",
+ "description": "Name of the table. Table names may be case-sensitive depending on the database system."
+ }
+ }
+ },
+ "Runtime_Filter": {
+ "type": "object",
+ "properties": {
+ "runtime_filter": {
+ "type": "object",
+ "description": "Runtime filter parameter type in JWT."
+ }
+ },
+ "description": "List of runtime parameters need to set during the session."
+ },
+ "Runtime_Sort": {
+ "type": "object",
+ "properties": {
+ "runtime_sort": {
+ "type": "object",
+ "description": "Runtime sort parameter type in JWT."
+ }
+ },
+ "description": "List of runtime parameters need to set during the session."
+ },
+ "Runtime_Param_Override": {
+ "type": "object",
+ "properties": {
+ "runtime_param_override": {
+ "type": "object",
+ "description": "Runtime param override type in JWT."
+ }
+ },
+ "description": "List of runtime parameters need to set during the session."
+ }
+ },
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "servers": [
+ {
+ "url": "{base-url}",
+ "variables": {
+ "base-url": {
+ "default": "https://localhost:443"
+ }
+ }
+ }
+ ]
+}{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "ThoughtSpot Public REST API",
+ "version": "2.0"
+ },
+ "x-roles": [
+ {
+ "name": "10.4.0.cl",
+ "id": "10.4.0.cl",
+ "tags": [
+ "10.4.0.cl"
+ ],
+ "description": "Roles for version 10.4.0.cl"
+ },
+ {
+ "name": "10.7.0.cl",
+ "id": "10.7.0.cl",
+ "tags": [
+ "10.7.0.cl"
+ ],
+ "description": "Roles for version 10.7.0.cl"
+ },
+ {
+ "name": "9.0.0.cl",
+ "id": "9.0.0.cl",
+ "tags": [
+ "9.0.0.cl"
+ ],
+ "description": "Roles for version 9.0.0.cl"
+ },
+ {
+ "name": "9.4.0.cl",
+ "id": "9.4.0.cl",
+ "tags": [
+ "9.4.0.cl"
+ ],
+ "description": "Roles for version 9.4.0.cl"
+ },
+ {
+ "name": "9.12.0.cl",
+ "id": "9.12.0.cl",
+ "tags": [
+ "9.12.0.cl"
+ ],
+ "description": "Roles for version 9.12.0.cl"
+ },
+ {
+ "name": "10.12.0.cl",
+ "id": "10.12.0.cl",
+ "tags": [
+ "10.12.0.cl"
+ ],
+ "description": "Roles for version 10.12.0.cl"
+ },
+ {
+ "name": "9.2.0.cl",
+ "id": "9.2.0.cl",
+ "tags": [
+ "9.2.0.cl"
+ ],
+ "description": "Roles for version 9.2.0.cl"
+ },
+ {
+ "name": "9.9.0.cl",
+ "id": "9.9.0.cl",
+ "tags": [
+ "9.9.0.cl"
+ ],
+ "description": "Roles for version 9.9.0.cl"
+ },
+ {
+ "name": "9.6.0.cl",
+ "id": "9.6.0.cl",
+ "tags": [
+ "9.6.0.cl"
+ ],
+ "description": "Roles for version 9.6.0.cl"
+ },
+ {
+ "name": "10.10.0.cl",
+ "id": "10.10.0.cl",
+ "tags": [
+ "10.10.0.cl"
+ ],
+ "description": "Roles for version 10.10.0.cl"
+ },
+ {
+ "name": "10.6.0.cl",
+ "id": "10.6.0.cl",
+ "tags": [
+ "10.6.0.cl"
+ ],
+ "description": "Roles for version 10.6.0.cl"
+ },
+ {
+ "name": "10.3.0.cl",
+ "id": "10.3.0.cl",
+ "tags": [
+ "10.3.0.cl"
+ ],
+ "description": "Roles for version 10.3.0.cl"
+ },
+ {
+ "name": "10.1.0.cl",
+ "id": "10.1.0.cl",
+ "tags": [
+ "10.1.0.cl"
+ ],
+ "description": "Roles for version 10.1.0.cl"
+ },
+ {
+ "name": "10.9.0.cl",
+ "id": "10.9.0.cl",
+ "tags": [
+ "10.9.0.cl"
+ ],
+ "description": "Roles for version 10.9.0.cl"
+ },
+ {
+ "name": "10.8.0.cl",
+ "id": "10.8.0.cl",
+ "tags": [
+ "10.8.0.cl"
+ ],
+ "description": "Roles for version 10.8.0.cl"
+ },
+ {
+ "name": "9.5.0.cl",
+ "id": "9.5.0.cl",
+ "tags": [
+ "9.5.0.cl"
+ ],
+ "description": "Roles for version 9.5.0.cl"
+ },
+ {
+ "name": "9.7.0.cl",
+ "id": "9.7.0.cl",
+ "tags": [
+ "9.7.0.cl"
+ ],
+ "description": "Roles for version 9.7.0.cl"
+ }
+ ],
+ "tags": [],
+ "paths": {
+ "/api/rest/2.0/ai/conversation/create": {
+ "post": {
+ "operationId": "createConversation",
+ "description": "\nBeta Version: 10.4.0.cl or later\n\nCreates a Conversation object to start an AI-driven conversation based on a specific data model.\n\nRequires at least view access to the metadata object specified in the request.\n\n#### Usage guidelines\n\nThis API requires the `metadata_identifier` parameter to define the context for the conversation.\n\nYou can also specify the tokens to initiate the conversation as shown in this example:\n\n`\"tokens\": \"[tea],[sales],[type]\"`\n\nIf the API request is successful, ThoughtSpot returns the ID of the conversation.\n\n> ###### Note:\n> * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available.\n> * This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "AI",
+ "10.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_identifier": {
+ "description": "ID of the metadata object, such as a Worksheet or Model, to use as a data source for the conversation.",
+ "type": "string"
+ },
+ "tokens": {
+ "description": "Token string to set the context for the conversation. For example,`[sales],[item type],[state]`.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "metadata_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Common successful response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Conversation"
+ }
+ }
+ }
+ },
+ "201": {
+ "description": "Common error response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Conversation"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Operation failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Operation failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/ai/analytical-questions": {
+ "post": {
+ "operationId": "queryGetDecomposedQuery",
+ "description": "Beta Version: 10.7.0.cl or later",
+ "tags": [
+ "AI",
+ "10.7.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "answerIds": {
+ "description": "List of answer unique identifiers (GUIDs) whose data will be used to guide the response.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "content": {
+ "description": "User provided content like text data, csv data as a string message to provide context & potentially improve the quality of the response.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "conversationId": {
+ "description": "Unique identifier to denote current conversation.",
+ "type": "string"
+ },
+ "liveboardIds": {
+ "description": "List of liveboard unique identifiers (GUIDs) whose data will be used to guide the response.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "maxDecomposedQueries": {
+ "description": "Maximum number of decomposed queries that is allowed in the response, default = 5.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "nlsRequest": {
+ "description": "NLSRequest object containing user query & instructions.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Input_eureka_NLSRequest"
+ }
+ ]
+ },
+ "worksheetIds": {
+ "description": "List of worksheetIds to provide context for decomposing user query into analytical queries that can be run on them.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Common successful response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/eureka_DecomposeQueryResponse"
+ }
+ }
+ }
+ },
+ "201": {
+ "description": "Common error response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/eureka_DecomposeQueryResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Operation failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Operation failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/ai/conversation/{conversation_identifier}/converse": {
+ "post": {
+ "operationId": "sendMessage",
+ "description": "\nBeta Version: 10.4.0.cl or later\n\nAllows sending a follow-up message to an ongoing conversation within the context of the metadata model.\n\nRequires at least view access to the metadata object specified in the request.\n\n#### Usage guidelines\n\nThe API requires you to specify the `conversation_identifier` in the request path, and a `metadata_identifier` and `message` string in the request body.\n\nIf the API request is successful, ThoughtSpot returns the session ID, tokens used in the conversation, and visualization type.\n\n> ###### Note:\n> * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available.\n> * This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "AI",
+ "10.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_identifier": {
+ "description": "ID of the metadata object, such as a Worksheet or Model, to use as a data source for the conversation.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A message string with the follow-up question to continue the conversation.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "metadata_identifier",
+ "message"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "conversation_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique identifier of the conversation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Common successful response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ResponseMessage"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "description": "Common error response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ResponseMessage"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Operation failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Operation failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/ai/answer/create": {
+ "post": {
+ "operationId": "singleAnswer",
+ "description": "\nBeta Version: 10.4.0.cl or later\n\nProcesses a natural language query and returns an AI-generated response based on a specified data model.\n\nRequires at least view access to the metadata object specified in the request.\n\n> ###### Note:\n> * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available.\n> * This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "AI",
+ "10.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "description": "A natural language query string to generate the Answer.",
+ "type": "string"
+ },
+ "metadata_identifier": {
+ "description": "ID of the metadata object, such as a Worksheet or Model, to use as a data source for the query.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "query",
+ "metadata_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Common successful response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseMessage"
+ }
+ }
+ }
+ },
+ "201": {
+ "description": "Common error response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseMessage"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Operation failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Operation failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/auth/session/user": {
+ "get": {
+ "operationId": "getCurrentUserInfo",
+ "description": "\n Version: 9.0.0.cl or later\n\nRetrieves details of the current user session for the token provided in the request header.\n\nAny ThoughtSpot user can access this endpoint and send an API request. The data returned in the API response varies according to user's privilege and object access permissions.\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Authentication",
+ "9.0.0.cl"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Fetch current session user detail successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/User"
+ }
+ }
+ }
+ },
+ "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/auth/session/token": {
+ "get": {
+ "operationId": "getCurrentUserToken",
+ "description": "\n Version: 9.4.0.cl or later\n\nRetrieves details of the current session token for the bearer token provided in the request header.\n\nThis API endpoint does not create a new token. Instead, it returns details about the token, including the token string, creation time, expiration time, and the associated user.\n\nUse this endpoint to introspect your current session token, debug authentication issues, or when a frontend application needs session token details.\n\nAny ThoughtSpot user with a valid bearer token can access this endpoint and send an API request\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Authentication",
+ "9.4.0.cl"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Fetching token for current user successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GetTokenResponse"
+ }
+ }
+ }
+ },
+ "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/auth/token/custom": {
+ "post": {
+ "operationId": "getCustomAccessToken",
+ "description": "\n Version: 10.4.0.cl or later\n\nGets an authentication token with custom rules and security attributes and creates a full session in ThoughtSpot for a given user. By default, the token obtained from ThoughtSpot remains valid for 5 mins.\n\nTo add a new user and assign privileges during auto creation, you need `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled, the `CONTROL_TRUSTED_AUTH`(**Can Enable or Disable Trusted Authentication**) privilege and edit access to the data source is required.\n\nTo assign security attributes with filter rules and Parameters to the JWT token, you'll need administrator privileges and edit access to the data source (Worksheet or Model). If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled, the `CONTROL_TRUSTED_AUTH`(**Can Enable or Disable Trusted Authentication**) privilege and edit access to the data source is required.\n\n#### Usage guidelines\n\nYou can generate the token for a user by providing a `username` and `password`, or by using the cluster's `secret_key`.\n\nTo generate a `secret_key` on your cluster, the administrator must enable [Trusted authentication](https://developers.thoughtspot.com/docs/?pageid=trusted-auth#trusted-auth-enable) in the **Develop** > **Customizations** > **Security Settings** page.\n\n**Note**: When both `password` and `secret_key` are included in the API request, `password` takes precedence.\n\nIf Multi-Factor Authentication (MFA) is enabled on your instance, the API login request with basic authentication (`username` and `password` ) returns an error. You can switch to token-based authentication with `secret_key` or contact ThoughtSpot Support for assistance.\n\n##### Attribute-Based Access Control (ABAC) with tokens\n\nTo implement Attribute-Based Access Control (ABAC) and assign security entitlements to users during session creation, you can generate a token with custom filtering rules and Parameters in the `filter_rules` and `parameter_values` array respectively. These attributes can be configured to persist on a specific set of objects for user sessions initiated using the token. Once defined, the rules are added to the user's `access_control_properties` object, after which all sessions will use the persisted values.\n\nSpecify the object type as `LOGICAL_TABLE`. The `LIVEBOARD` and `ANSWER` object types are not supported.\n\nFor more information, see [ABAC via tokens Documentation](https://developers.thoughtspot.com/docs/api-authv2#_get_tokens_with_custom_rules_and_filter_conditions).\n\n##### Just-in-time provisioning\n\nFor just-in-time user creation and provisioning, define the following attributes:\n\n* `auto_create`\n* `username`\n* `display_name`\n* `email`\n* `groups`\n\nSet `auto_create` to `true` if the user is not available in ThoughtSpot. If the user already exists in ThoughtSpot and the `auto_create` parameter is set to `true` in the API request, the user properties such as the display name, email, Org and group assignment will not be updated with new values.\n\nFor more information, see [Just-in-time provisioning](https://developers.thoughtspot.com/docs/just-in-time-provisioning).\n\n##### Important point to note\nAll options in the token creation APIs that define access to the content in ThoughtSpot will do so during the token creation and not when the token is being used for authentication. For example, `auto_create:true` will create the user when the authentication token is created. Persist options such as `APPEND`, `REPLACE`, `RESET` will persist security parameters on the user profile when the token is created, while Persist option `NONE` will not persist anything but will be honoured in the session.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Authentication",
+ "10.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "Username of the ThoughtSpot user. The username is stored in the `name` attribute of the user object.",
+ "type": "string"
+ },
+ "password": {
+ "description": "Password of the user account",
+ "default": "",
+ "type": "string"
+ },
+ "secret_key": {
+ "description": "The secret key string provided by the ThoughtSpot application server. ThoughtSpot generates a secret key when Trusted authentication is enabled.",
+ "default": "",
+ "type": "string"
+ },
+ "validity_time_in_sec": {
+ "description": "Token validity duration in seconds",
+ "default": 300,
+ "type": "integer",
+ "format": "int32"
+ },
+ "org_identifier": {
+ "description": "ID or name of the Org context to log in to. If the Org ID or name is not specified but a secret key is provided, the user will be logged into the Org associated with the secret key. If neither the Org ID/name nor the secret key is provided, the user will be logged into the Org context from their previous login session.",
+ "type": "string"
+ },
+ "persist_option": {
+ "description": "Indicates whether the specified attributes should be persisted or not.",
+ "type": "string",
+ "enum": [
+ "REPLACE",
+ "APPEND",
+ "NONE",
+ "RESET"
+ ]
+ },
+ "filter_rules": {
+ "description": "Filter rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FilterRules"
+ }
+ },
+ "parameter_values": {
+ "description": "Parameter values.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ParameterValues"
+ }
+ },
+ "objects": {
+ "description": "Objects on which the filter rules and parameters values should be applied to",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TokenAccessScopeObject"
+ }
+ },
+ "email": {
+ "description": "(just-in-time (JIT) provisioning)Email address of the user. Specify this attribute when creating a new user.",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "(just-in-time (JIT) provisioning) Indicates display name of the user. Specify this attribute when creating a new user.",
+ "type": "string"
+ },
+ "groups": {
+ "description": "(just-in-time (JIT) provisioning) ID or name of the groups to which the newly created user belongs. Specify this attribute when creating a new user.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Group_Object"
+ }
+ },
+ "auto_create": {
+ "description": " Creates a new user if the specified username does not exist in ThoughtSpot. To provision a user just-in-time (JIT), set this attribute to true.\n \n\nNote: For JIT provisioning of a user, the secret_key is required.
Version: 10.5.0.cl or later",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "username",
+ "persist_option"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "ABAC token creation was successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AccessToken"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request. This could be due to missing or incorrect parameters.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access. The request could not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden access. The user does not have permission to access this resource.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "An unexpected error occurred on the server.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "security": []
+ }
+ },
+ "/api/rest/2.0/auth/token/full": {
+ "post": {
+ "operationId": "getFullAccessToken",
+ "description": "\n Version: 9.0.0.cl or later\n\nGets an authentication token and creates a full session in ThoughtSpot for a given user. By default, the token obtained from ThoughtSpot remains valid for 5 mins.\n\nYou can generate the token for a user by providing a `username` and `password`, or by using the cluster's `secret_key` (for [Trusted authentication](https://developers.thoughtspot.com/docs/?pageid=trusted-auth#trusted-auth-enable)).\n\nTo generate a `secret_key` on your cluster, the administrator must enable **Trusted authentication** in the **Develop** > **Customizations** > **Security Settings** page. For more information, see [Trusted authentication](https://developers.thoughtspot.com/docs/?pageid=trusted-auth#trusted-auth-enable).\n\n**Note**: When both `password` and `secret_key` are included in the API request, `password` takes precedence.\n\nIf Multi-Factor Authentication (MFA) is enabled on your instance, the API login request with basic authentication (`username` and `password` ) returns an error. You can switch to token-based authentication with `secret_key` or contact ThoughtSpot Support for assistance.\n\n#### Just-in-time provisioning\n\nFor just-in-time user creation and provisioning, define the following attributes:\n\n* `auto_create`\n* `username`\n* `display_name`\n* `email`\n* `group_identifiers`\n\nSet `auto_create` to `True` if the user is not available in ThoughtSpot. If the user already exists in ThoughtSpot and the `auto_create` parameter is set to `true`, the API call will update user properties like display name, email and group assignment.\n\nFor more information, see [Just-in-time provisioning](https://developers.thoughtspot.com/docs/just-in-time-provisioning).\n\nTo add a new user and assign privileges, you need `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled, the `CONTROL_TRUSTED_AUTH`(**Can Enable or Disable Trusted Authentication**) privilege is required.\n\n#### Important point to note\nAll options in the token creation APIs changing the content in ThoughtSpot will do so during the token creation and not when the token is being used for authentication. For example, `auto_create:true` will create the user when the authentication token is created.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Authentication",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "Username of the ThoughtSpot user. The username is stored in the `name` attribute of the user object.",
+ "type": "string"
+ },
+ "password": {
+ "description": "Password of the user account",
+ "default": "",
+ "type": "string"
+ },
+ "secret_key": {
+ "description": "The secret key string provided by the ThoughtSpot application server. ThoughtSpot generates a secret key when Trusted authentication is enabled.",
+ "default": "",
+ "type": "string"
+ },
+ "validity_time_in_sec": {
+ "description": "Token validity duration in seconds",
+ "default": 300,
+ "type": "integer",
+ "format": "int32"
+ },
+ "org_id": {
+ "description": "ID of the Org context to log in to. If the Org ID is not specified and secret key is provided then user will be logged into the org corresponding to the secret key, and if secret key is not provided then user will be logged in to the Org context of their previous login session.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "email": {
+ "description": "Email address of the user. Specify this attribute when creating a new user (just-in-time (JIT) provisioning).",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "Indicates display name of the user. Use this parameter to provision a user just-in-time (JIT).",
+ "type": "string"
+ },
+ "auto_create": {
+ "description": " Creates a new user if the specified username does not already exist in ThoughtSpot. To provision a user just-in-time (JIT), set this attribute to true.\n \n\nNote: For JIT provisioning of a user, the secret_key is required. ",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "group_identifiers": {
+ "description": "ID or name of the groups to which the newly created user belongs. Use this parameter to provision a user just-in-time (JIT).",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "username"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Bearer auth token creation successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Token"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "security": []
+ }
+ },
+ "/api/rest/2.0/auth/token/object": {
+ "post": {
+ "operationId": "getObjectAccessToken",
+ "description": "\n Version: 9.0.0.cl or later\n\nGets an authentication token that provides access to a specific metadata object. By default, the token obtained from ThoughtSpot remains valid for 5 mins.\n\nYou can generate the token for a user by providing a `username` and `password`, or by using the cluster's `secret key` (for [Trusted authentication](https://developers.thoughtspot.com/docs/?pageid=trusted-auth#trusted-auth-enable)).\n\nTo generate a `secret_key` on your cluster, the administrator must enable **Trusted authentication** in the **Develop** > **Customizations** > **Security Settings** page.\n\n**Note**: When both `password` and `secret_key` are included in the API request, `password` takes precedence.\n\nIf Multi-Factor Authentication (MFA) is enabled on your instance, the API login request with basic authentication (`username` and `password` ) returns an error. You can switch to token-based authentication with `secret_key` or contact ThoughtSpot Support for assistance.\n\n#### Just-in-time provisioning\n\nFor just-in-time user creation and provisioning, define the following attributes:\n\n* `auto_create`\n* `username`\n* `display_name`\n* `email`\n* `group_identifiers`\n\nSet `auto_create` to `True` if the user is not available in ThoughtSpot. If the user already exists in ThoughtSpot and the `auto_create` parameter is set to `true`, the API call will update user properties like display name, email and group assignment.\n\nFor more information, see [Just-in-time provisioning](https://developers.thoughtspot.com/docs/just-in-time-provisioning).\n\nTo add a new user and assign privileges, you need `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled, the `CONTROL_TRUSTED_AUTH`(**Can Enable or Disable Trusted Authentication**) privilege is required.\n\n#### Important point to note\nAll options in the token creation APIs changing the content in ThoughtSpot will do so during the token creation and not when the token is being used for authentication. For example, `auto_create:true` will create the user when the authentication token is created.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Authentication",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "Username of the ThoughtSpot user. The username is stored in the `name` attribute of the user object.",
+ "type": "string"
+ },
+ "object_id": {
+ "description": "GUID of the ThoughtSpot metadata object that the user can access. The bearer will only have access to the object specified in the API request.",
+ "type": "string"
+ },
+ "password": {
+ "description": "Password of the user account",
+ "default": "",
+ "type": "string"
+ },
+ "secret_key": {
+ "description": "The secret key string provided by the ThoughtSpot application server. ThoughtSpot generates a secret key when Trusted authentication is enabled.",
+ "default": "",
+ "type": "string"
+ },
+ "validity_time_in_sec": {
+ "description": "Token validity duration in seconds",
+ "default": 300,
+ "type": "integer",
+ "format": "int32"
+ },
+ "org_id": {
+ "description": "ID of the Org context to log in to. If the Org ID is not specified and secret key is provided then user will be logged into the org corresponding to the secret key, and if secret key is not provided then user will be logged in to the Org context of their previous login session.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "email": {
+ "description": "Email address of the user. Specify this attribute when creating a new user (just-in-time (JIT) provisioning).",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "Display name of the user. Specify this attribute when creating a new user (just-in-time (JIT) provisioning).",
+ "type": "string"
+ },
+ "auto_create": {
+ "description": " Creates a new user if the specified username does not exist in ThoughtSpot. To provision a user just-in-time (JIT), set this attribute to true.\n \n\nNote: For JIT provisioning of a user, the secret_key is required. ",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "group_identifiers": {
+ "description": "Unique ID or name of the groups to which you want to assign the new user. You can specify this attribute to dynamically assign privileges during just-in-time (JIT) provisioning.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "username"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Bearer auth token creation successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Token"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "security": []
+ }
+ },
+ "/api/rest/2.0/auth/session/login": {
+ "post": {
+ "operationId": "login",
+ "description": "\n Version: 9.0.0.cl or later\n\nCreates a login session for a ThoughtSpot user with Basic authentication.\n\nIn Basic authentication method, REST clients log in to ThoughtSpot using `username` and `password` attributes. On a multi-tenant cluster with Orgs, users can pass the ID of the Org in the API request to log in to a specific Org context.\n\n**Note**: If Multi-Factor Authentication (MFA) is enabled on your instance, the API login request with basic authentication (`username` and `password` ) returns an error. Contact ThoughtSpot Support for assistance.\n\nA successful login returns a session cookie that can be used in your subsequent API requests.\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Authentication",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "Username of the ThoughtSpot user",
+ "type": "string"
+ },
+ "password": {
+ "description": "Password of the user account",
+ "type": "string"
+ },
+ "org_identifier": {
+ "description": "ID of the Org context to log in to. If Org ID is not specified, the user will be logged in to the Org context of their previous login session.",
+ "type": "string"
+ },
+ "remember_me": {
+ "description": "A flag to remember the user session. When set to true, a session cookie is created and used in subsequent API requests.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "User login successful."
+ },
+ "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/auth/session/logout": {
+ "post": {
+ "operationId": "logout",
+ "description": "\n Version: 9.0.0.cl or later\n\n\nLogs out a user from their current session.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Authentication",
+ "9.0.0.cl"
+ ],
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "User logout successful."
+ },
+ "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/auth/token/revoke": {
+ "post": {
+ "operationId": "revokeToken",
+ "description": "\n Version: 9.0.0.cl or later\n\n\nRevokes the authentication token issued for current user session.\n\nThe token of your current session expires when you make a call to the `/api/rest/2.0/auth/token/revoke` endpoint.\nthe users will not be able to access ThoughtSpot objects until a new token is obtained.\n\nTo restart your session, request for a new token from ThoughtSpot. See [Get Full Access Token](#/http/api-endpoints/authentication/get-full-access-token).\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Authentication",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "user_identifier": {
+ "type": "string"
+ },
+ "token": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Token successfully revoked."
+ },
+ "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/auth/token/validate": {
+ "post": {
+ "operationId": "validateToken",
+ "description": "\n Version: 9.12.0.cl or later\n\n\nValidates the authentication token specified in the API request.\n\nIf your token is not valid, [Get a new token](#/http/api-endpoints/authentication/get-full-access-token).\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Authentication",
+ "9.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "token": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "token"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Token validation successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TokenValidationResponse"
+ }
+ }
+ }
+ },
+ "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/connection-configurations/search": {
+ "post": {
+ "operationId": "connectionConfigurationSearch",
+ "description": "\n Version: 10.12.0.cl or later\n\nGets connection configuration objects.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) and edit permissions to the connection object, or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\n#### Usage guidelines\n* To get a list of all configurations available in the ThoughtSpot system, send the API request with only the connection name or GUID in the request body.\n* To fetch details of a configuration object, specify the configuration object name or GUID.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Connection Configurations",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "connection_identifier": {
+ "description": "Unique ID or name of the connection.",
+ "type": "string"
+ },
+ "configuration_identifier": {
+ "description": "Unique ID or name of the configuration.",
+ "type": "string"
+ },
+ "policy_type": {
+ "description": "Type of policy.",
+ "type": "string",
+ "enum": [
+ "NO_POLICY",
+ "PRINCIPALS",
+ "PROCESSES"
+ ]
+ }
+ },
+ "required": [
+ "connection_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Configuration fetched successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ConnectionConfigurationResponse"
+ }
+ }
+ }
+ }
+ },
+ "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/connection-configurations/create": {
+ "post": {
+ "operationId": "createConnectionConfiguration",
+ "description": "\n Version: 10.12.0.cl or later\n\nCreates an additional configuration to an existing connection to a data warehouse. \n\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\n#### Usage guidelines\n\n * A JSON map of configuration attributes in `configuration`. The following example shows the configuration attributes:\n ```\n {\n \"user\":\"DEV_USER\",\n \"password\":\"TestConn123\",\n \"role\":\"DEV\",\n \"warehouse\":\"DEV_WH\"\n }\n ```\n\n* If the `policy_type` is `PRINCIPALS`, then `policy_principals` is a required field.\n* If the `policy_type` is `PROCESSES`, then `policy_processes` is a required field.\n* If the `policy_type` is `NO_POLICY`, then `policy_principals` and `policy_processes` are not required fields.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Connection Configurations",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Unique name for the configuration.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the configuration.",
+ "type": "string"
+ },
+ "connection_identifier": {
+ "description": "Unique ID or name of the connection.",
+ "type": "string"
+ },
+ "authentication_type": {
+ "description": "Type of authentication used for the connection.",
+ "default": "SERVICE_ACCOUNT",
+ "type": "string",
+ "enum": [
+ "SERVICE_ACCOUNT",
+ "KEY_PAIR",
+ "PERSONAL_ACCESS_TOKEN",
+ "OAUTH_WITH_SERVICE_PRINCIPAL"
+ ]
+ },
+ "configuration": {
+ "description": "Configuration properties in JSON.",
+ "type": "object"
+ },
+ "policy_type": {
+ "description": "Type of policy.",
+ "default": "NO_POLICY",
+ "type": "string",
+ "enum": [
+ "NO_POLICY",
+ "PRINCIPALS",
+ "PROCESSES"
+ ]
+ },
+ "policy_principals": {
+ "description": "Unique ID or name of the User and User Groups.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "policy_processes": {
+ "description": "Action that the query performed on the data warehouse, such as SAGE_INDEXING and ROW_COUNT_STATS.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "SAGE_INDEXING",
+ "ROW_COUNT_STATS"
+ ]
+ }
+ }
+ },
+ "required": [
+ "name",
+ "connection_identifier",
+ "configuration"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Connection configuration successfully created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ConnectionConfigurationResponse"
+ }
+ }
+ }
+ },
+ "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/connection-configurations/delete": {
+ "post": {
+ "operationId": "deleteConnectionConfiguration",
+ "description": "\n Version: 10.12.0.cl or later\n\nDeletes connection configuration objects.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) and edit permissions to the connection object, or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Connection Configurations",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "configuration_identifier": {
+ "description": "Unique ID or name of the configuration.",
+ "type": "string"
+ },
+ "connection_identifier": {
+ "description": "Unique ID or name of the connection.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "configuration_identifier",
+ "connection_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Connection Configurations successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/connection-configurations/{configuration_identifier}/update": {
+ "post": {
+ "operationId": "updateConnectionConfiguration",
+ "description": "\n Version: 10.12.0.cl or later\n\nUpdates a connection configuration object.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) and edit permissions to the connection object, or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\n#### Supported operations\nThis API endpoint lets you perform the following operations in a single API request:\n\n * Edit the name or description of the configuration\n * Edit the configuration properties\n * Edit the `policy_type`\n * Edit the type of authentication\n * Enable or disable a configuration\n\n **NOTE**: When updating a configuration where `disabled` is `true`, you must reset `disabled` to `true` in your update request payload. If not explicitly set again, the API will default `disabled` to `false`.\n \n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Connection Configurations",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "connection_identifier": {
+ "description": "Unique ID or name of the connection.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the configuration to update.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the configuration.",
+ "type": "string"
+ },
+ "authentication_type": {
+ "description": "Type of authentication.",
+ "type": "string",
+ "enum": [
+ "SERVICE_ACCOUNT",
+ "OAUTH",
+ "OAUTH_WITH_SERVICE_PRINCIPAL",
+ "EXTOAUTH",
+ "KEY_PAIR",
+ "EXTOAUTH_WITH_PKCE",
+ "OAUTH_WITH_PKCE",
+ "PERSONAL_ACCESS_TOKEN"
+ ]
+ },
+ "configuration": {
+ "description": "Configuration properties in JSON.",
+ "type": "object"
+ },
+ "policy_type": {
+ "description": "Type of policy.",
+ "type": "string",
+ "enum": [
+ "NO_POLICY",
+ "PRINCIPALS",
+ "PROCESSES"
+ ]
+ },
+ "policy_principals": {
+ "description": "Unique ID or name of the User and User Groups.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "policy_processes": {
+ "description": "Action that the query performed on the data warehouse, such as SAGE_INDEXING and ROW_COUNT_STATS.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "SAGE_INDEXING",
+ "ROW_COUNT_STATS"
+ ]
+ }
+ },
+ "disable": {
+ "description": "Indicates whether the configuration enable/disable.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "connection_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "configuration_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the configuration."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Connection configuration successfully updated."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/connection/create": {
+ "post": {
+ "operationId": "createConnection",
+ "description": "\n Version: 9.2.0.cl or later\n\nCreates a connection to a data warehouse for live query services. \n\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\n#### Create a connection without tables\n\nTo create a connection without tables:\n\n1. Pass these parameters in your API request.\n * Name of the connection.\n * Type of the data warehouse to connect to.\n * A JSON map of configuration attributes in `data_warehouse_config`. The following example shows the configuration attributes for a SnowFlake connection:\n ```\n {\n \"configuration\":{\n \"accountName\":\"thoughtspot_partner\",\n \"user\":\"tsadmin\",\n \"password\":\"TestConn123\",\n \"role\":\"sysadmin\",\n \"warehouse\":\"MEDIUM_WH\"\n },\n \"externalDatabases\":[\n\n ]\n }\n ```\n2. Set `validate` to `false`.\n\n#### Create a connection with tables\n\nTo create a connection with tables:\n\n1. Pass these parameters in your API request.\n * Name of the connection.\n * Type of the data warehouse to connect to.\n * A JSON map of configuration attributes, database details, and table properties in `data_warehouse_config` as shown in the following example:\n ```\n {\n \"configuration\":{\n \"accountName\":\"thoughtspot_partner\",\n \"user\":\"tsadmin\",\n \"password\":\"TestConn123\",\n \"role\":\"sysadmin\",\n \"warehouse\":\"MEDIUM_WH\"\n },\n \"externalDatabases\":[\n {\n \"name\":\"AllDatatypes\",\n \"isAutoCreated\":false,\n \"schemas\":[\n {\n \"name\":\"alldatatypes\",\n \"tables\":[\n {\n \"name\":\"allDatatypes\",\n \"type\":\"TABLE\",\n \"description\":\"\",\n \"selected\":true,\n \"linked\":true,\n \"columns\":[\n {\n \"name\":\"CNUMBER\",\n \"type\":\"INT64\",\n \"canImport\":true,\n \"selected\":true,\n \"isLinkedActive\":true,\n \"isImported\":false,\n \"tableName\":\"allDatatypes\",\n \"schemaName\":\"alldatatypes\",\n \"dbName\":\"AllDatatypes\"\n },\n {\n \"name\":\"CDECIMAL\",\n \"type\":\"INT64\",\n \"canImport\":true,\n \"selected\":true,\n \"isLinkedActive\":true,\n \"isImported\":false,\n \"tableName\":\"allDatatypes\",\n \"schemaName\":\"alldatatypes\",\n \"dbName\":\"AllDatatypes\"\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ```\n2. Set `validate` to `true`.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Connections",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Unique name for the connection.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the connection.",
+ "type": "string"
+ },
+ "data_warehouse_type": {
+ "description": "Type of the data warehouse.",
+ "type": "string",
+ "enum": [
+ "SNOWFLAKE",
+ "AMAZON_REDSHIFT",
+ "GOOGLE_BIGQUERY",
+ "AZURE_SYNAPSE",
+ "TERADATA",
+ "SAP_HANA",
+ "STARBURST",
+ "ORACLE_ADW",
+ "DATABRICKS",
+ "DENODO",
+ "DREMIO",
+ "TRINO",
+ "PRESTO",
+ "POSTGRES",
+ "SQLSERVER",
+ "MYSQL",
+ "GENERIC_JDBC",
+ "AMAZON_RDS_POSTGRESQL",
+ "AMAZON_AURORA_POSTGRESQL",
+ "AMAZON_RDS_MYSQL",
+ "AMAZON_AURORA_MYSQL",
+ "LOOKER",
+ "AMAZON_ATHENA",
+ "SINGLESTORE",
+ "GCP_SQLSERVER",
+ "GCP_ALLOYDB_POSTGRESQL",
+ "GCP_POSTGRESQL",
+ "GCP_MYSQL",
+ "MODE",
+ "GOOGLE_SHEETS",
+ "FALCON",
+ "FALCON_ONPREM",
+ "CLICKHOUSE"
+ ]
+ },
+ "data_warehouse_config": {
+ "description": "Connection configuration attributes in JSON format. To create a connection with tables, include table attributes. See the documentation above for sample JSON.",
+ "type": "object"
+ },
+ "validate": {
+ "description": "Validates the connection metadata if tables are included. If you are creating a connection without tables, specify `false`.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "name",
+ "data_warehouse_type",
+ "data_warehouse_config"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Connection to the datasource successfully created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateConnectionResponse"
+ }
+ }
+ }
+ },
+ "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/connection/delete": {
+ "post": {
+ "operationId": "deleteConnection",
+ "description": "\n Version: 9.2.0.cl or later\n\n\n**Important**: This endpoint is deprecated and will be removed from ThoughtSpot in September 2025. ThoughtSpot strongly recommends using the\n[Delete Connection V2](#/http/api-endpoints/connections/delete-connection-v2) endpoint to delete your connection objects. \n\n#### Usage guidelines\n\nDeletes a connection object.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) and edit permissions to the connection object, or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\n**Note**: If a connection has dependent objects, make sure you remove its associations before the delete operation.\n\n\n\n#### Endpoint URL\n",
+ "deprecated": true,
+ "tags": [
+ "Connections",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "connection_identifier": {
+ "description": "Unique ID or name of the connection.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "connection_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Connection successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/connections/{connection_identifier}/delete": {
+ "post": {
+ "operationId": "deleteConnectionV2",
+ "description": "\n Version: 10.4.0.cl or later\n\nDeletes a connection object.\n\n**Note**: If a connection has dependent objects, make sure you remove its associations before the delete operation.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) and edit permissions to the connection object, or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Connections",
+ "10.4.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "connection_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the connection."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Connection successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/connections/download-connection-metadata-changes/{connection_identifier}": {
+ "post": {
+ "operationId": "downloadConnectionMetadataChanges",
+ "description": "\n Version: 9.9.0.cl or later\n\nExports the difference in connection metadata between CDW and ThoughtSpot\n\nRequires `DATAMANAGEMENT` (**Can manage data**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the following Data control privileges may be required: \n- `CAN_MANAGE_CUSTOM_CALENDAR`(**Can manage custom calendars**)\n- `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**)\n\nTo download the connection metadata difference between ThoughtSpot and CDW, pass the connection GUID as `connection_identifier` in the API request.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Connections",
+ "9.9.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "connection_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "GUID of the connection"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Export metadata changes.",
+ "content": {
+ "application/octet-stream": {}
+ }
+ },
+ "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/connections/fetch-connection-diff-status/{connection_identifier}": {
+ "post": {
+ "operationId": "fetchConnectionDiffStatus",
+ "description": "\n Version: 9.9.0.cl or later\n\nValidates the difference in connection metadata between CDW and ThoughtSpot.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the following Data control privileges may be required:\n\n- `CAN_MANAGE_CUSTOM_CALENDAR`(**Can manage custom calendars**)\n- `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**)\n\nReturns a boolean indicating whether there is any difference between the connection metadata at ThoughtSpot and CDW.\n\nTo get the connection metadata difference status, pass the connection GUID as `connection_identifier` in the API request.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Connections",
+ "9.9.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "connection_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "GUID of the connection"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "true/false",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/FetchConnectionDiffStatusResponse"
+ }
+ }
+ }
+ },
+ "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/connection/search": {
+ "post": {
+ "operationId": "searchConnection",
+ "description": "\n Version: 9.2.0.cl or later\n\nGets connection objects.\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\n- To get a list of all connections available in the ThoughtSpot system, send the API request without any attributes in the request body.\n- To get the connection objects for a specific type of data warehouse, specify the type in `data_warehouse_types`.\n- To fetch details of a connection object, specify the connection object GUID or name. The `name_pattern` attribute allows passing partial text with `%` for a wildcard match.\n- To get details of the database, schemas, tables, or columns from a data connection object, specify `data_warehouse_object_type`.\n- To get a specific database, schema, table, or column from a connection object, define the object type in `data_warehouse_object_type` and object properties in the `data_warehouse_objects` array. For example, to search for a column, you must pass the database, schema, and table names in the API request.\n Note that in the following example, object properties are set in a hierarchical order (`database` > `schema` > `table` > `column`).\n\n```\n{\n \"connections\": [\n {\n \"identifier\": \"b9d1f2ef-fa65-4a4b-994e-30fa2d57b0c2\",\n \"data_warehouse_objects\": [\n {\n \"database\": \"NEBULADEV\",\n \"schema\": \"INFORMATION_SCHEMA\",\n \"table\": \"APPLICABLE_ROLES\",\n \"column\": \"ROLE_NAME\"\n }\n ]\n }\n ],\n \"data_warehouse_object_type\": \"COLUMN\"\n}\n```\n\n- To fetch data by `configuration`, specify `data_warehouse_object_type`. For example, to fetch columns from the `DEVELOPMENT` database, specify the `data_warehouse_object_type` as `DATABASE` and define the `configuration` string as `{\"database\":\"DEVELOPMENT\"}`. To get column data for a specific table, specify the table, for example,`{\"database\":\"RETAILAPPAREL\",\"table\":\"PIPES\"}`.\n- To query connections by `authentication_type`, specify `data_warehouse_object_type`. Supported values for `authentication_type` are:\n - `SERVICE_ACCOUNT`: For connections that require service account credentials to authenticate to the Cloud Data Warehouse and fetch data.\n - `OAUTH`: For connections that require OAuth credentials to authenticate to the Cloud Data Warehouse and fetch data. Teradata, Oracle, and Presto Cloud Data Warehouses do not support the OAuth authentication type.\n - `IAM`: For connections that have the IAM OAuth set up. This authentication type is supported on Amazon Redshift connections only.\n - `EXTOAUTH`: For connections that have External OAuth set up. ThoughtSpot supports external [OAuth with Microsoft Azure Active Directory (AD)](https://docs.thoughtspot.com/cloud/latest/ connections-snowflake-azure-ad-oauth) and [Okta for Snowflake data connections](https://docs.thoughtspot.com/cloud/latest/connections-snowflake-okta-oauth).\n - `KEY_PAIR`: For connections that require Key Pair account credentials to authenticate to the Cloud Data Warehouse and fetch data. This authentication type is supported on Snowflake connections only.\n - `OAUTH_WITH_PKCE`: For connections that require OAuth with PKCE account credentials to authenticate to the Cloud Data Warehouse and fetch data. This authentication type is supported on Snowflake, Starburst, Databricks, Denodo connections only.\n - `EXTOAUTH_WITH_PKCE`: For connections that require External OAuth With PKCE account credentials to authenticate to the Cloud Data Warehouse and fetch data. This authentication type is supported on Snowflake connections only.\n - `OAUTH_WITH_PEZ`: For connections that require OAuth With PEZ account credentials to authenticate to the Cloud Data Warehouse and fetch data. This authentication type is supported on Amazon Redshift connections only.\n - `OAUTH_WITH_SERVICE_PRINCIPAL`: For connections that require OAuth With Service Principal account credentials to authenticate to the Cloud Data Warehouse and fetch data. This authentication type is supported on Databricks connections only.\n - `PERSONAL_ACCESS_TOKEN`: For connections that require Personal Access Token account credentials to authenticate to the Cloud Data Warehouse and fetch data. This authentication type is supported on Databricks connections only.\n - `OAUTH_CLIENT_CREDENTIALS`: For connections that require OAuth Client Credentials to authenticate to the Cloud Data Warehouse and fetch data. This authentication type is supported on Snowflake connections only.\n- To include more details about connection objects in the API response, set `include_details` to `true`.\n- You can also sort the output by field names and filter connections by tags.\n\n**NOTE**: When filtering connection records by parameters other than `data_warehouse_types` or `tag_identifiers`, ensure that you set `record_size` to `-1` and `record_offset` to `0` for precise results.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Connections",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "connections": {
+ "description": "List of connections and name pattern",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ConnectionInput"
+ }
+ },
+ "data_warehouse_types": {
+ "description": "Array of types of data warehouse defined for the connection.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "SNOWFLAKE",
+ "AMAZON_REDSHIFT",
+ "GOOGLE_BIGQUERY",
+ "AZURE_SYNAPSE",
+ "TERADATA",
+ "SAP_HANA",
+ "STARBURST",
+ "ORACLE_ADW",
+ "DATABRICKS",
+ "DENODO",
+ "DREMIO",
+ "TRINO",
+ "PRESTO",
+ "POSTGRES",
+ "SQLSERVER",
+ "MYSQL",
+ "GENERIC_JDBC",
+ "AMAZON_RDS_POSTGRESQL",
+ "AMAZON_AURORA_POSTGRESQL",
+ "AMAZON_RDS_MYSQL",
+ "AMAZON_AURORA_MYSQL",
+ "LOOKER",
+ "AMAZON_ATHENA",
+ "SINGLESTORE",
+ "GCP_SQLSERVER",
+ "GCP_ALLOYDB_POSTGRESQL",
+ "GCP_POSTGRESQL",
+ "GCP_MYSQL",
+ "MODE",
+ "GOOGLE_SHEETS",
+ "FALCON",
+ "FALCON_ONPREM",
+ "CLICKHOUSE"
+ ]
+ }
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included.",
+ "default": 10,
+ "type": "integer",
+ "format": "int32"
+ },
+ "tag_identifiers": {
+ "description": "Unique ID or name of tags.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "data_warehouse_object_type": {
+ "description": "Data warehouse object type.",
+ "type": "string",
+ "enum": [
+ "DATABASE",
+ "SCHEMA",
+ "TABLE",
+ "COLUMN"
+ ]
+ },
+ "sort_options": {
+ "description": "Sort options.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SortOptionInput"
+ }
+ ]
+ },
+ "include_details": {
+ "description": "Indicates whether to include complete details of the connection objects.",
+ "type": "boolean",
+ "nullable": true
+ },
+ "configuration": {
+ "description": "Configuration values. If empty we are fetching configuration from datasource based on given connection id. If required you can provide config details to fetch specific details. Example input: {}, {\"warehouse\":\"SMALL_WH\",\"database\":\"DEVELOPMENT\"}. This is only applicable when data_warehouse_object_type is selected.",
+ "type": "object"
+ },
+ "authentication_type": {
+ "description": "List of authentication types to fetch data_ware_house_objects from external Data warehouse. This is only applicable when data_warehouse_object_type is selected.",
+ "default": "SERVICE_ACCOUNT",
+ "type": "string",
+ "enum": [
+ "SERVICE_ACCOUNT",
+ "OAUTH",
+ "IAM",
+ "EXTOAUTH",
+ "OAUTH_WITH_SERVICE_PRINCIPAL",
+ "PERSONAL_ACCESS_TOKEN",
+ "KEY_PAIR",
+ "OAUTH_WITH_PKCE",
+ "EXTOAUTH_WITH_PKCE",
+ "OAUTH_WITH_PEZ"
+ ]
+ },
+ "show_resolved_parameters": {
+ "description": "Version: 10.9.0.cl or later
\n\nIndicates whether to show resolved parameterised values.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "List of connections to the datasource.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SearchConnectionResponse"
+ }
+ }
+ }
+ }
+ },
+ "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/connection/update": {
+ "post": {
+ "operationId": "updateConnection",
+ "description": "\n Version: 9.2.0.cl or later\n\n**Important**: This endpoint is deprecated and will be removed from ThoughtSpot in September 2025. ThoughtSpot strongly recommends using the\n[Update connection V2](#/http/api-endpoints/connections/update-connection-v2) endpoint to update your connection objects.\n\n#### Usage guidelines\n\nUpdates a connection object. \n\nRequires `DATAMANAGEMENT` (**Can manage data**) and edit permissions to the connection object, or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\nTo update a connection object, pass these parameters in your API request:\n\n1. GUID of the connection object.\n2. If you are updating tables or database schema of a connection object:\n a. Add the updated JSON map of metadata with database, schema, and tables in `data_warehouse_config`.\n b. Set `validate` to `true`.\n3. If you are updating a configuration attribute, connection name, or description, you can set `validate` to `false`.\n\n\n\n\n#### Endpoint URL\n",
+ "deprecated": true,
+ "tags": [
+ "Connections",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "connection_identifier": {
+ "description": "Unique ID or name of the connection.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Updated name of the connection.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Updated description of the connection.",
+ "type": "string"
+ },
+ "data_warehouse_config": {
+ "description": "Configuration of the data warehouse in JSON.",
+ "type": "object"
+ },
+ "validate": {
+ "description": "Indicates whether to validate the connection details.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "connection_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Connection 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/connections/{connection_identifier}/update": {
+ "post": {
+ "operationId": "updateConnectionV2",
+ "description": "\n Version: 10.4.0.cl or later\n\nUpdates a connection object.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) and edit permissions to the connection object, or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\nTo update a connection object, pass these parameters in your API request:\n\n1. GUID of the connection object.\n2. If you are updating tables or database schema of a connection object:\n a. Add the updated JSON map of metadata with database, schema, and tables in `data_warehouse_config`.\n b. Set `validate` to `true`.\n \n **NOTE:** If the `authentication_type` is anything other than SERVICE_ACCOUNT, you must explicitly provide the authenticationType property in the payload. If you do not specify authenticationType, the API will default to SERVICE_ACCOUNT as the authentication type.\n\n * A JSON map of configuration attributes, database details, and table properties in `data_warehouse_config` as shown in the following example:\n\n ```\n {\n \"configuration\":{\n \"accountName\":\"thoughtspot_partner\",\n \"user\":\"tsadmin\",\n \"password\":\"TestConn123\",\n \"role\":\"sysadmin\",\n \"warehouse\":\"MEDIUM_WH\"\n },\n \"externalDatabases\":[\n {\n \"name\":\"AllDatatypes\",\n \"isAutoCreated\":false,\n \"schemas\":[\n {\n \"name\":\"alldatatypes\",\n \"tables\":[\n {\n \"name\":\"allDatatypes\",\n \"type\":\"TABLE\",\n \"description\":\"\",\n \"selected\":true,\n \"linked\":true,\n \"columns\":[\n {\n \"name\":\"CNUMBER\",\n \"type\":\"INT64\",\n \"canImport\":true,\n \"selected\":true,\n \"isLinkedActive\":true,\n \"isImported\":false,\n \"tableName\":\"allDatatypes\",\n \"schemaName\":\"alldatatypes\",\n \"dbName\":\"AllDatatypes\"\n },\n {\n \"name\":\"CDECIMAL\",\n \"type\":\"INT64\",\n \"canImport\":true,\n \"selected\":true,\n \"isLinkedActive\":true,\n \"isImported\":false,\n \"tableName\":\"allDatatypes\",\n \"schemaName\":\"alldatatypes\",\n \"dbName\":\"AllDatatypes\"\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ```\n\n3. If you are updating a configuration attribute, connection name, or description, you can set `validate` to `false`.\n\n **NOTE:** If the `authentication_type` is anything other than SERVICE_ACCOUNT, you must explicitly provide the authenticationType property in the payload. If you do not specify authenticationType, the API will default to SERVICE_ACCOUNT as the authentication type.\n\n * A JSON map of configuration attributes in `data_warehouse_config`. The following example shows the configuration attributes for a Snowflake connection:\n ```\n {\n \"configuration\":{\n \"accountName\":\"thoughtspot_partner\",\n \"user\":\"tsadmin\",\n \"password\":\"TestConn123\",\n \"role\":\"sysadmin\",\n \"warehouse\":\"MEDIUM_WH\"\n },\n \"externalDatabases\":[\n\n ]\n }\n ```\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Connections",
+ "10.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Updated name of the connection.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Updated description of the connection.",
+ "type": "string"
+ },
+ "data_warehouse_config": {
+ "description": "Configuration of the data warehouse in JSON.",
+ "type": "object"
+ },
+ "validate": {
+ "description": "Indicates whether to validate the connection details.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "connection_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the connection."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Connection 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/customization/custom-actions": {
+ "post": {
+ "operationId": "createCustomAction",
+ "description": "\n Version: 9.6.0.cl or later\n\nCreates a custom action that appears as a menu action on a saved Answer or Liveboard visualization.\n\nRequires `DEVELOPER` (**Has Developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n#### Usage Guidelines\n\nThe API lets you create the following types of custom actions:\n\n* URL-based action \n Allows pushing data to an external URL.\n* Callback action \n Triggers a callback to the host application and initiates a response payload on an embedded ThoughtSpot instance.\n\nBy default, custom actions are visible to only administrator or developer users. To make a custom action available to other users, and specify the groups in `group_identifiers`.\n\nBy default, the custom action is set as a _global_ action on all visualizations and saved Answers. To assign a custom action to specific Liveboard visualization, saved Answer, or Worksheet, set `visibility` to `false` in `default_action_config` property and specify the GUID or name of the object in `associate_metadata`.\n\nFor more information, see [Custom actions](https://developers.thoughtspot.com/docs/custom-action-intro).\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Custom Action",
+ "9.6.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the custom action. The custom action name must be unique.",
+ "type": "string"
+ },
+ "action_details": {
+ "description": "Action details includes `Type` and Configuration data for Custom Actions, either Callback or URL is required.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Action_Details_Input_Create"
+ }
+ ]
+ },
+ "associate_metadata": {
+ "description": "Metadata objects to which the custom action needs to be associated.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Associate_Metadata_Input_Create"
+ }
+ },
+ "default_action_config": {
+ "description": "Default Custom action configuration. This includes if the custom action is available on all visualizations. By default, a custom action is added to all visualizations and Answers.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Default_Action_Config_Input_Create"
+ }
+ ]
+ },
+ "group_identifiers": {
+ "description": "Unique ID or name of the groups that can view and access the custom action.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "action_details"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Custom action created successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseCustomAction"
+ },
+ "examples": {
+ "example_1": {
+ "value": {
+ "action_details": {
+ "CALLBACK": {
+ "reference": "customaction"
+ }
+ },
+ "default_action_config": {
+ "visibility": true
+ },
+ "id": "3d3cad0f-e57b-4faa-8e24-da596c727ee0",
+ "metadata_association": [],
+ "name": "customactionsample",
+ "user_groups": []
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "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/customization/custom-actions/{custom_action_identifier}/delete": {
+ "post": {
+ "operationId": "deleteCustomAction",
+ "description": "\n Version: 9.6.0.cl or later\n\nRemoves the custom action specified in the API request.\n\nRequires `DEVELOPER` (**Has Developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Custom Action",
+ "9.6.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "custom_action_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the custom action."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Custom action is successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "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/customization/custom-actions/search": {
+ "post": {
+ "operationId": "searchCustomActions",
+ "description": "\n Version: 9.6.0.cl or later\n\nGets custom actions configured on the cluster.\n\nRequires `DEVELOPER` (**Has Developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Custom Action",
+ "9.6.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "custom_action_identifier": {
+ "description": "Name or ID of the custom action.",
+ "type": "string"
+ },
+ "name_pattern": {
+ "description": "A pattern to match case-insensitive name of the custom-action object.",
+ "type": "string"
+ },
+ "default_action_config": {
+ "description": "Default Custom action configuration. This includes if the custom action is available on all visualizations. By default, a custom action is added to all visualizations and Answers.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Default_Action_Config_Search_Input"
+ }
+ ]
+ },
+ "include_group_associations": {
+ "description": "When set to true, returns the associated groups for a custom action.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "include_metadata_associations": {
+ "description": "When set to true, returns the associated metadata for a custom action.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "metadata": {
+ "description": "Search with a given metadata identifier.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CustomActionMetadataTypeInput"
+ }
+ },
+ "type": {
+ "description": "Filter the action objects based on type",
+ "type": "string",
+ "enum": [
+ "CALLBACK",
+ "URL"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Custom action search is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ResponseCustomAction"
+ }
+ },
+ "examples": {
+ "example_1": {
+ "value": [
+ {
+ "action_details": {
+ "CALLBACK": {
+ "reference": "LEDE"
+ }
+ },
+ "default_action_config": {
+ "visibility": true
+ },
+ "id": "c59262df-cf9e-4947-96fa-52d494688797",
+ "name": "LEDE"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "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/customization/custom-actions/{custom_action_identifier}/update": {
+ "post": {
+ "operationId": "updateCustomAction",
+ "description": "\n Version: 9.6.0.cl or later\n\nUpdates a custom action.\n\nRequires `DEVELOPER` (**Has Developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n#### Usage Guidelines\n\nThe API allows you to modify the following properties:\n\n* Name of the custom action\n* Action availability to groups\n* Association to metadata objects\n* Authentication settings for a URL-based action\n\nFor more information, see [Custom actions](https://developers.thoughtspot.com/docs/custom-action-intro).\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Custom Action",
+ "9.6.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "action_details": {
+ "description": "Action details includes `Type` and Configuration for Custom Actions, either Callback or URL is required.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Action_Details_Input"
+ }
+ ]
+ },
+ "associate_metadata": {
+ "description": "Metadata objects to which the custom action needs to be associated.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Associate_Metadata_Input"
+ }
+ },
+ "default_action_config": {
+ "description": "Default Custom action configuration. This includes if the custom action available on visualizations and Answers. By default, a custom action is added to all visualizations and Answers.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Default_Action_Config_Input"
+ }
+ ]
+ },
+ "group_identifiers": {
+ "description": "Unique ID or name of the groups that can view and access the custom action.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "name": {
+ "description": "Name of the custom action. The custom action name must be unique.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Type of update operation. Default operation type is ADD",
+ "default": "ADD",
+ "type": "string",
+ "enum": [
+ "ADD",
+ "REMOVE"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "custom_action_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the custom action."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Custom action updated successfully."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "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/calendars/create": {
+ "post": {
+ "operationId": "createCalendar",
+ "description": "\n Version: 10.12.0.cl or later\n\nCreates a new [custom calendar](https://docs.thoughtspot.com/cloud/latest/connections-cust-cal).\n\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your ThoughtSpot instance, the `CAN_MANAGE_CUSTOM_CALENDAR` (**Can manage custom calendars**) privilege is required.\n\n\n#### Usage guidelines\n\nYou can create a custom calendar from scratch or an existing Table in ThoughtSpot. For both methods of calendar creation, the following parameters are required:\n\n* Name of the custom calendar.\n* Calendar creation method. To create a calendar from an existing table, specify the method:\n\n - `FROM_EXISTING_TABLE` - Creates calendar from the table reference provided in the API request.\n - `FROM_INPUT_PARAMS` - Creates a calendar from the parameters defined in the API request.\n\n* Connection ID and Table name\n* Database and schema name attributes:\n For most Cloud Data Warehouse (CDW) connectors, both `database_name` and `schema_name` attributes are required. \n However, the attribute requirements are conditional and vary based on the connector type and its metadata structure. For example, for connectors such as Teradata, MySQL, SingleSore, Amazon Aurora MySQL, Amazon RDS MySQL, Oracle, and GCP_MYSQL, the `schema_name` is required, whereas the `database_name` attribute is not.\n Similarly, connectors such as ClickHouse require you to specify the `database_name` and the schema specification in such cases is optional.\n\n**NOTE**: If you are creating a calendar from an existing table, ensure that the referenced table matches the required DDL for custom calendars. If the schema does not match, the API returns an error.\n\n##### Calendar type\nThe API allows you to create the following types of calendars:\n\n* `MONTH_OFFSET`. The default calendar type. A `MONTH_OFFSET` calendar is offset by a few months from the standard calendar months (January to December) and the year begins with the month defined in the request. For example, if the `month_offset` value is set as `April`, the calendar year begins in April.\n\n* `4-4-5`. Each quarter in the calendar will include two 4-week months followed by one 5-week month.\n* `4-5-4`. Each quarter in the calendar will include two 4-week months with a 5-week month between.\n* `5-4-4`. Each quarter begins with a 5-week month, followed by two 4-week months.\n\nTo start and end the calendar on a specific date, specify the dates in the `MM/DD/YYYY` format. For `MONTH_OFFSET` calendars, ensure that the `start_date` matches the month specified in the `month_offset` attribute.\n\nYou can also set the starting day of the week and customize the prefixes for year and quarter labels.\n\n#### Examples\n\nTo create a calendar from an existing table:\n\n```\n{\n \"name\": \"MyCustomCalendar1\",\n \"table_reference\": {\n \"connection_identifier\": \"4db8ea22-2ff4-4224-b05a-26674717e468\",\n \"table_name\": \"MyCalendarTable\",\n \"database_name\": \"RETAILAPPAREL\",\n \"schema_name\": \"PUBLIC\"\n },\n \"creation_method\": \"FROM_EXISTING_TABLE\",\n}\n```\n\nTo create a calendar from scratch:\n\n```\n{\n \"name\": \"MyCustomCalendar1\",\n \"table_reference\": {\n \"connection_identifier\": \"4db8ea22-2ff4-4224-b05a-26674717e468\",\n \"table_name\": \"MyCalendarTable\",\n \"database_name\": \"RETAILAPPAREL\",\n \"schema_name\": \"PUBLIC\"\n },\n \"creation_method\": \"FROM_INPUT_PARAMS\",\n \"calendar_type\": \"MONTH_OFFSET\",\n \"month_offset\": \"April\",\n \"start_day_of_week\": \"Monday\",\n \"quarter_name_prefix\": \"Q\",\n \"year_name_prefix\": \"FY\",\n \"start_date\": \"04/01/2025\",\n \"end_date\": \"04/31/2025\"\n}\n```\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Custom Calendars",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the custom calendar.",
+ "type": "string"
+ },
+ "creation_method": {
+ "description": "Type of create operation.",
+ "type": "string",
+ "enum": [
+ "FROM_INPUT_PARAMS",
+ "FROM_EXISTING_TABLE"
+ ]
+ },
+ "table_reference": {
+ "description": "Table reference containing connection identifier and table details in this format: `{\"connection_identifier\":\"conn1\", \"database_name\":\"db1\", \"schema_name\":\"sc1\", \"table_name\":\"tb1\"}`. The given table will be created if `creation_method` is set as `FROM_INPUT_PARAMS`.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ExternalTableInput"
+ }
+ ]
+ },
+ "start_date": {
+ "description": "Start date for the calendar in `MM/dd/yyyy` format. This parameter is mandatory if `creation_method` is set as `FROM_INPUT_PARAMS`.",
+ "type": "string"
+ },
+ "end_date": {
+ "description": "End date for the calendar in `MM/dd/yyyy` format. This parameter is mandatory if `creation_method` is set as `FROM_INPUT_PARAMS`.",
+ "type": "string"
+ },
+ "calendar_type": {
+ "description": "Type of the calendar.",
+ "default": "MONTH_OFFSET",
+ "type": "string",
+ "enum": [
+ "MONTH_OFFSET",
+ "FOUR_FOUR_FIVE",
+ "FOUR_FIVE_FOUR",
+ "FIVE_FOUR_FOUR"
+ ]
+ },
+ "month_offset": {
+ "description": "Specify the month in which the fiscal or custom calendar year should start. For example, if you set `month_offset` to \"April\", the custom calendar will treat \"April\" as the first month of the year, and the related attributes such as quarters and start date will be based on this offset. The default value is `January`, which represents the standard calendar year (January to December).",
+ "default": "January",
+ "type": "string",
+ "enum": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ]
+ },
+ "start_day_of_week": {
+ "description": "Specify the starting day of the week.",
+ "default": "Sunday",
+ "type": "string",
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ]
+ },
+ "quarter_name_prefix": {
+ "description": "Prefix to add before the quarter.",
+ "default": "",
+ "type": "string"
+ },
+ "year_name_prefix": {
+ "description": "Prefix to add before the year.",
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "creation_method",
+ "table_reference"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Custom calendar created successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CalendarResponse"
+ }
+ }
+ }
+ },
+ "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/calendars/{calendar_identifier}/delete": {
+ "post": {
+ "operationId": "deleteCalendar",
+ "description": "\n Version: 10.12.0.cl or later\n\nDeletes a [custom calendar](https://docs.thoughtspot.com/cloud/latest/connections-cust-cal).\n\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your ThoughtSpot instance, the `CAN_MANAGE_CUSTOM_CALENDAR` (**Can manage custom calendars**) privilege is required.\n\n#### Usage guidelines\nTo delete a custom calendar, specify the calendar ID as a path parameter in the request URL. \n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Custom Calendars",
+ "10.12.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "calendar_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the Calendar."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Custom calendar successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/calendars/generate-csv": {
+ "post": {
+ "operationId": "generateCSV",
+ "description": "\n Version: 10.12.0.cl or later\n\nExports a [custom calendar](https://docs.thoughtspot.com/cloud/latest/connections-cust-cal) in the CSV format.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your ThoughtSpot instance, the `CAN_MANAGE_CUSTOM_CALENDAR` (**Can manage custom calendars**) privilege is required.\n\n#### Usage guidelines\n\nUse this API to download a custom calendar in the CSV file format. In your API request, specify the following parameters.\n\n* Start and end date of the calendar. For \"month offset\" calendars, the start date must match the month defined in the `month_offset` attribute.\n\nYou can also specify optional parameters such as the starting day of the week and prefixes for the quarter and year labels.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Custom Calendars",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "start_date": {
+ "description": "Start date for the calendar in `MM/dd/yyyy` format.",
+ "type": "string"
+ },
+ "end_date": {
+ "description": "End date for the calendar in `MM/dd/yyyy` format.",
+ "type": "string"
+ },
+ "calendar_type": {
+ "description": "Type of the calendar.",
+ "default": "MONTH_OFFSET",
+ "type": "string",
+ "enum": [
+ "MONTH_OFFSET",
+ "FOUR_FOUR_FIVE",
+ "FOUR_FIVE_FOUR",
+ "FIVE_FOUR_FOUR"
+ ]
+ },
+ "month_offset": {
+ "description": "Month offset to start calendar from `January`.",
+ "default": "January",
+ "type": "string",
+ "enum": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ]
+ },
+ "start_day_of_week": {
+ "description": "Specify the starting day of the week.",
+ "default": "Sunday",
+ "type": "string",
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ]
+ },
+ "quarter_name_prefix": {
+ "description": "Prefix to add before the quarter.",
+ "type": "string"
+ },
+ "year_name_prefix": {
+ "description": "Prefix to add before the year.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "start_date",
+ "end_date"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Generate custom calendar data based on specifications, as a CSV file.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ "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/calendars/search": {
+ "post": {
+ "operationId": "searchCalendars",
+ "description": "\n Version: 10.12.0.cl or later\n\nGets a list of [custom calendars](https://docs.thoughtspot.com/cloud/latest/connections-cust-cal).\n\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your ThoughtSpot instance, the `CAN_MANAGE_CUSTOM_CALENDAR` (**Can manage custom calendars**) privilege is required.\n\n#### Usage guidelines\n\nBy default, the API returns a list of custom calendars for all connection objects. To retrieve custom calendar details for a particular connection, specify the connection ID. You can also use other search parameters such as `name_pattern` and `sort_options` as search filters.\n\nThe `name_pattern` parameter filters and returns only those objects that match the specified pattern. Use `%` as a wildcard for pattern matching.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Custom Calendars",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "connection_identifier": {
+ "description": "Unique ID or name of the connection.",
+ "type": "string"
+ },
+ "name_pattern": {
+ "description": "Pattern to match for calendar names (use '%' for wildcard match).",
+ "type": "string"
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included.",
+ "default": 10,
+ "type": "integer",
+ "format": "int32"
+ },
+ "sort_options": {
+ "description": "Sort options.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SortOption"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Custom calendar fetched successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CalendarResponse"
+ }
+ }
+ }
+ }
+ },
+ "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/calendars/{calendar_identifier}/update": {
+ "post": {
+ "operationId": "updateCalendar",
+ "description": "\n Version: 10.12.0.cl or later\n\nUpdates the properties of a [custom calendar](https://docs.thoughtspot.com/cloud/latest/connections-cust-cal).\n\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your ThoughtSpot instance, the `CAN_MANAGE_CUSTOM_CALENDAR` (**Can manage custom calendars**) privilege is required.\n\n#### Usage guidelines\n\nYou can update the properties of a calendar using one of the following methods:\n* `FROM_INPUT_PARAMS` to update the calendar properties with the values defined in the API request.\n* `FROM_EXISTING_TABLE` Creates a calendar from the parameters defined in the API request.\n\nTo update a custom calendar, specify the calendar ID as a path parameter in the request URL and the following parameters in the request body: \n\n* Connection ID and Table name\n* Database and schema name attributes:\n For most Cloud Data Warehouse (CDW) connectors, both `database_name` and `schema_name` attributes are required. \n However, the attribute requirements are conditional and vary based on the connector type and its metadata structure. For example, for connectors such as Teradata, MySQL, SingleSore, Amazon Aurora MySQL, Amazon RDS MySQL, Oracle, and GCP_MYSQL, the `schema_name` is required, whereas the `database_name` attribute is not.\n Similarly, connectors such as ClickHouse require you to specify the `database_name` and the schema specification in such cases is optional.\n\nThe API allows you to modify the calendar type, month offset value, start and end date, starting day of the week, and prefixes assigned to the year and quarter labels. \n\n#### Examples\n\nUpdate a custom calendar using an existing Table in ThoughtSpot:\n\n```\n{\n \"update_method\": \"FROM_EXISTING_TABLE\",\n \"table_reference\": {\n \"connection_identifier\": \"Connection1\",\n \"database_name\": \"db1\",\n \"table_name\": \"custom_calendar_2025\",\n \"schame_name\": \"schemaVar\"\n }\n}\n```\n\nUpdate a custom calendar with the attributes defined in the API request:\n\n```\n{\n \"update_method\": \"FROM_INPUT_PARAMS\",\n \"table_reference\": {\n \"connection_identifier\": \"Connection1\",\n \"database_name\": \"db1\",\n \"table_name\": \"custom_calendar_2025\",\n \"schame_name\": \"schemaVar\"\n },\n \"month_offset\": \"August\",\n \"start_day_of_week\": \"Monday\",\n \"start_date\": \"08/01/2025\",\n \"end_date\": \"07/31/2026\"\n}\n```\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Custom Calendars",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "update_method": {
+ "description": "Type of update operation.",
+ "default": "FROM_INPUT_PARAMS",
+ "type": "string",
+ "enum": [
+ "FROM_INPUT_PARAMS",
+ "FROM_EXISTING_TABLE"
+ ]
+ },
+ "table_reference": {
+ "description": "Table reference containing connection identifier and table details in this format: `{\"connection_identifier\":\"conn1\", \"database_name\":\"db1\", \"schema_name\":\"sc1\", \"table_name\":\"tb1\"}`.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ExternalTableInput"
+ }
+ ]
+ },
+ "start_date": {
+ "description": "Start date for the calendar in `MM/dd/yyyy` format. This parameter is mandatory if `update_method` is set as `FROM_INPUT_PARAMS`.",
+ "type": "string"
+ },
+ "end_date": {
+ "description": "End date for the calendar in `MM/dd/yyyy` format. This parameter is mandatory if `update_method` is set as `FROM_INPUT_PARAMS`.",
+ "type": "string"
+ },
+ "calendar_type": {
+ "description": "Type of the calendar.",
+ "default": "MONTH_OFFSET",
+ "type": "string",
+ "enum": [
+ "MONTH_OFFSET",
+ "FOUR_FOUR_FIVE",
+ "FOUR_FIVE_FOUR",
+ "FIVE_FOUR_FOUR"
+ ]
+ },
+ "month_offset": {
+ "description": "Specify the month in which the fiscal or custom calendar year should start. For example, if you set `month_offset` to \"April\", the custom calendar will treat \"April\" as the first month of the year, and the related attributes such as quarters and start date will be based on this offset. The default value is `January`, which represents the standard calendar year (January to December).",
+ "default": "January",
+ "type": "string",
+ "enum": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ]
+ },
+ "start_day_of_week": {
+ "description": "Specify the starting day of the week",
+ "default": "Sunday",
+ "type": "string",
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ]
+ },
+ "quarter_name_prefix": {
+ "description": "Prefix to add before the quarter.",
+ "default": "",
+ "type": "string"
+ },
+ "year_name_prefix": {
+ "description": "Prefix to add before the year.",
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "table_reference"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "calendar_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique Id or name of the calendar."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Custom calendar updated successfully."
+ },
+ "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/metadata/answer/data": {
+ "post": {
+ "operationId": "fetchAnswerData",
+ "description": "\n Version: 9.0.0.cl or later\n\nFetches data from a saved Answer.\n\nRequires at least view access to the saved Answer.\n\nThe `record_size` attribute determines the number of records to retrieve in an API call. For more information about pagination, record size, and maximum row limit, see [Pagination and record size settings](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_pagination_settings_for_data_and_report_apis).\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Data",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_identifier": {
+ "description": "GUID or name of the Answer.",
+ "type": "string"
+ },
+ "data_format": {
+ "description": "JSON output in compact or full format. The FULL option is available in 9.12.5.cl or later.",
+ "default": "COMPACT",
+ "type": "string",
+ "enum": [
+ "FULL",
+ "COMPACT"
+ ]
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records to include in a batch.",
+ "default": 10,
+ "type": "integer",
+ "format": "int32"
+ },
+ "runtime_filter": {
+ "description": "JSON object with representing filter condition to apply filters at runtime. For example, {\"col1\": \"item type\", \"op1\": \"EQ\", \"val1\": \"Bags\"} . You can add multiple keys by incrementing the number at the end, for example, col2, op2, val2, and col3, op3, val3. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_filters).",
+ "type": "object"
+ },
+ "runtime_sort": {
+ "description": "JSON object representing columns to sort data at runtime. For example, {\"sortCol1\": \"sales\", \"asc1\": true} . You can add multiple keys by incrementing the number at the end, for example, sortCol1, asc2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_sort).",
+ "type": "object"
+ },
+ "runtime_param_override": {
+ "description": "JSON object for setting values of parameters at runtime. For example, {\"param1\": \"Double List Param\", \"paramVal1\": 0.5}. You can add multiple keys by incrementing the number at the end, for example, param2, paramVal2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_parameters).",
+ "type": "object"
+ }
+ },
+ "required": [
+ "metadata_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Fetching data of specified metadata object is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AnswerDataResponse"
+ }
+ }
+ }
+ },
+ "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/metadata/liveboard/data": {
+ "post": {
+ "operationId": "fetchLiveboardData",
+ "description": "\n Version: 9.0.0.cl or later\n\nGets data from a Liveboard object and its visualization. \n\nRequires at least view access to the Liveboard.\n\n#### Usage guidelines\n\nIn the request body, specify the GUID or name of the Liveboard. To get data for specific visualizations, add the GUIDs or names of the visualizations in the API request.\n\nTo include unsaved changes in the report, pass the `transient_pinboard_content` script generated from the `getExportRequestForCurrentPinboard` method in the Visual Embed SDK. Upon successful execution, the API returns the report with unsaved changes. If the new Liveboard experience mode, the transient content includes ad hoc changes to visualizations such as sorting, toggling of legends, and data drill down.\n\nFor more information, and see [Liveboard data API](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_fetch_liveboard_data_api).\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Data",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_identifier": {
+ "description": "GUID or name of the Liveboard.",
+ "type": "string"
+ },
+ "visualization_identifiers": {
+ "description": "GUIDs or names of the visualizations on the Liveboard.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transient_content": {
+ "description": "Transient content of the Liveboard.",
+ "type": "string"
+ },
+ "data_format": {
+ "description": "JSON output in compact or full format. The FULL option is available in 9.12.5.cl or later.",
+ "default": "COMPACT",
+ "type": "string",
+ "enum": [
+ "FULL",
+ "COMPACT"
+ ]
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records to include in a batch.",
+ "default": 10,
+ "type": "integer",
+ "format": "int32"
+ },
+ "runtime_filter": {
+ "description": "JSON object with representing filter condition to apply filters at runtime. For example, {\"col1\": \"item type\", \"op1\": \"EQ\", \"val1\": \"Bags\"} . You can add multiple keys by incrementing the number at the end, for example, col2, op2, val2, and col3, op3, val3. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_filters).",
+ "type": "object"
+ },
+ "runtime_sort": {
+ "description": "JSON object representing columns to sort data at runtime. For example, {\"sortCol1\": \"sales\", \"asc1\": true} . You can add multiple keys by incrementing the number at the end, for example, sortCol1, asc2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_sort).",
+ "type": "object"
+ },
+ "runtime_param_override": {
+ "description": "JSON object for setting values of parameters at runtime. For example, {\"param1\": \"Double List Param\", \"paramVal1\": 0.5}. You can add multiple keys by incrementing the number at the end, for example, param2, paramVal2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_parameters).",
+ "type": "object"
+ }
+ },
+ "required": [
+ "metadata_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Fetching data of specified metadata object is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/LiveboardDataResponse"
+ }
+ }
+ }
+ },
+ "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/searchdata": {
+ "post": {
+ "operationId": "searchData",
+ "description": "\n Version: 9.0.0.cl or later\n\nGenerates an Answer from a given data source.\n\nRequires at least view access to the data source object (Worksheet or View).\n\n#### Usage guidelines\n\nTo search data, specify the data source GUID in `logical_table_identifier`. The data source can be a Worksheet, View, Table, or SQL view.\n\nPass search tokens in the `query_string` attribute in the API request as shown in the following example:\n\n```\n{\n \"query_string\": \"[sales] by [store]\",\n \"logical_table_identifier\": \"cd252e5c-b552-49a8-821d-3eadaa049cca\",\n}\n```\n\nFor more information about the `query_string` format and data source attribute, see [Search data API](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_search_data_api). \n\nThe `record_size` attribute determines the number of records to retrieve in an API call. For more information about pagination, record size, and maximum row limit, see [Pagination and record size settings](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_pagination_settings_for_data_and_report_api). \n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Data",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query_string": {
+ "description": "Query string with search tokens. For example, [Sales][Region]. See [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_search_data_api)",
+ "type": "string"
+ },
+ "logical_table_identifier": {
+ "description": "GUID of the data source object, such as a Worksheet, View, or Table. You can find the GUID of a data object from the UI or via API. See [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_search_query) for more details.",
+ "type": "string"
+ },
+ "data_format": {
+ "description": "JSON output in compact or full format. The FULL option is available in 9.12.5.cl or later.",
+ "default": "COMPACT",
+ "type": "string",
+ "enum": [
+ "FULL",
+ "COMPACT"
+ ]
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records to include in a batch.",
+ "default": 10,
+ "type": "integer",
+ "format": "int32"
+ },
+ "runtime_filter": {
+ "description": "JSON object with representing filter condition to apply filters at runtime. For example, {\"col1\": \"item type\", \"op1\": \"EQ\", \"val1\": \"Bags\"} . You can add multiple keys by incrementing the number at the end, for example, col2, op2, val2, and col3, op3, val3. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_filters).",
+ "type": "object"
+ },
+ "runtime_sort": {
+ "description": "JSON object representing columns to sort data at runtime. For example, {\"sortCol1\": \"sales\", \"asc1\": true} . You can add multiple keys by incrementing the number at the end, for example, sortCol1, asc2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_sort).",
+ "type": "object"
+ },
+ "runtime_param_override": {
+ "description": "JSON object for setting values of parameters at runtime. For example, {\"param1\": \"Double List Param\", \"paramVal1\": 0.5}. You can add multiple keys by incrementing the number at the end, for example, param2, paramVal2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_parameters).",
+ "type": "object"
+ }
+ },
+ "required": [
+ "query_string",
+ "logical_table_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Fetching data of specified metadata object is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SearchDataResponse"
+ }
+ }
+ }
+ },
+ "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/dbt/dbt-connection": {
+ "post": {
+ "operationId": "dbtConnection",
+ "description": "\n Version: 9.9.0.cl or later\n\nCreates a DBT connection object in ThoughtSpot.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege or `DATAMANAGEMENT` (**Can manage data**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the following Data control privileges may be required:\n\n- `CAN_MANAGE_CUSTOM_CALENDAR`(**Can manage custom calendars**)\n- `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**)\n\n#### About create DBT connection\nDBT connection in ThoughtSpot is used by the user to define DBT credentials for cloud . The API needs embrace connection, embrace database name, DBT url, import type, DBT account identifier, DBT project identifier, DBT access token and environment details (or) embrace connection, embrace database name, import type, file_content to create a connection object. To know more about DBT, see ThoughtSpot Product Documentation.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "DBT",
+ "9.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "connection_name": {
+ "description": "Name of the connection.",
+ "type": "string"
+ },
+ "database_name": {
+ "description": "Name of the Database.",
+ "type": "string"
+ },
+ "import_type": {
+ "description": "Mention type of Import",
+ "default": "DBT_CLOUD",
+ "type": "string",
+ "enum": [
+ "DBT_CLOUD",
+ "ZIP_FILE"
+ ]
+ },
+ "access_token": {
+ "description": "Access token is mandatory when Import_Type is DBT_CLOUD.",
+ "type": "string"
+ },
+ "dbt_url": {
+ "description": "DBT URL is mandatory when Import_Type is DBT_CLOUD.",
+ "type": "string"
+ },
+ "account_id": {
+ "description": "Account ID is mandatory when Import_Type is DBT_CLOUD",
+ "type": "string"
+ },
+ "project_id": {
+ "description": "Project ID is mandatory when Import_Type is DBT_CLOUD",
+ "type": "string"
+ },
+ "dbt_env_id": {
+ "description": "DBT Environment ID\"",
+ "type": "string"
+ },
+ "project_name": {
+ "description": "Name of the project",
+ "type": "string"
+ },
+ "file_content": {
+ "description": "Upload DBT Manifest and Catalog artifact files as a ZIP file. This field is Mandatory when Import Type is 'ZIP_FILE'",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "required": [
+ "connection_name",
+ "database_name"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Succesfully created DBT Connection.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ "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/dbt/generate-sync-tml": {
+ "post": {
+ "operationId": "dbtGenerateSyncTml",
+ "description": "\n Version: 9.9.0.cl or later\n\nResynchronize the existing list of models, tables, worksheet tml's and import them to Thoughtspot based on the DBT connection object.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege or `DATAMANAGEMENT` (**Can manage data**) privilege, along with an existing DBT connection.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the following data control privileges may be required:\n\n- `CAN_MANAGE_CUSTOM_CALENDAR`(**Can manage custom calendars**)\n- `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**)\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "DBT",
+ "9.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "dbt_connection_identifier": {
+ "description": "Unique ID of the DBT connection.",
+ "type": "string"
+ },
+ "file_content": {
+ "description": "Upload DBT Manifest and Catalog artifact files as a ZIP file. This field is mandatory if the connection was created with import_type 'ZIP_FILE'",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "required": [
+ "dbt_connection_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Sync Table and Worksheet TML's are successfully generated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ "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/dbt/generate-tml": {
+ "post": {
+ "operationId": "dbtGenerateTml",
+ "description": "\n Version: 9.9.0.cl or later\n\nGenerate required table and worksheet and import them.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege or `DATAMANAGEMENT` (**Can manage data**) privilege, along with an existing DBT connection.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the following data control privileges may be required:\n\n- `CAN_MANAGE_CUSTOM_CALENDAR`(**Can manage custom calendars**)\n- `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**)\n\n#### About generate TML\nModels and Worksheets to be imported can be selected by the user as part of the API.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "DBT",
+ "9.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "dbt_connection_identifier": {
+ "description": "Unique ID of the DBT connection.",
+ "type": "string"
+ },
+ "model_tables": {
+ "description": "List of Models and their respective Tables",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ModelTableList"
+ }
+ },
+ "import_worksheets": {
+ "description": "Mention the worksheet tmls to import",
+ "type": "string",
+ "enum": [
+ "ALL",
+ "NONE",
+ "SELECTED"
+ ]
+ },
+ "worksheets": {
+ "description": "List of worksheets is mandatory when import_Worksheets is type SELECTED",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "file_content": {
+ "description": "Upload DBT Manifest and Catalog artifact files as a ZIP file. This field is mandatory if the connection was created with import_type 'ZIP_FILE'",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "required": [
+ "dbt_connection_identifier",
+ "import_worksheets"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Required Table and Worksheet TML's are successfully generated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ "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/dbt/search": {
+ "post": {
+ "operationId": "dbtSearch",
+ "description": "\n Version: 9.9.0.cl or later\n\nGets a list of DBT connection objects by user and organization, available on the ThoughtSpot system.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege or `DATAMANAGEMENT` (**Can manage data**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the following Data control privileges may be required:\n\n- `CAN_MANAGE_CUSTOM_CALENDAR`(**Can manage custom calendars**)\n- `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**)\n\n#### About search DBT connection\nTo get details of a specific DBT connection identifier, database connection identifier, database connection name, database name, project name, project identifier, environment identifier , import type and author.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "DBT",
+ "9.9.0.cl"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Retrieved list of DBT connections successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DbtSearchResponse"
+ }
+ }
+ }
+ }
+ },
+ "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/dbt/{dbt_connection_identifier}/delete": {
+ "post": {
+ "operationId": "deleteDbtConnection",
+ "description": "\n Version: 9.9.0.cl or later\n\nRemoves the specified DBT connection object from the ThoughtSpot system.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DATAMANAGEMENT` (**Can manage data ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the following Data control privileges may be required:\n\n- `CAN_MANAGE_CUSTOM_CALENDAR`(**Can manage custom calendars**)\n- `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**)\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "DBT",
+ "9.9.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "dbt_connection_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID of the DBT Connection."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "DBT Connection successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/dbt/update-dbt-connection": {
+ "post": {
+ "operationId": "updateDbtConnection",
+ "description": "\n Version: 9.9.0.cl or later\n\nUpdates a DBT connection object.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege or `DATAMANAGEMENT` (**Can manage data ThoughtSpot**) privilege, along with an existing DBT connection.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the following data control privileges may be required:\n\n- `CAN_MANAGE_CUSTOM_CALENDAR`(**Can manage custom calendars**)\n- `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**)\n\n#### About update DBT connection\nYou can modify DBT connection object properties such as embrace connection name, embrace database name, import type, account identifier, access token, project identifier and environment (or) embrace connection, embrace database name, import type, file_content settings.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "DBT",
+ "9.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "dbt_connection_identifier": {
+ "description": "Unique ID of the DBT Connection.",
+ "type": "string"
+ },
+ "connection_name": {
+ "description": "Name of the connection.",
+ "type": "string"
+ },
+ "database_name": {
+ "description": "Name of the Database.",
+ "type": "string"
+ },
+ "import_type": {
+ "description": "Mention type of Import",
+ "default": "DBT_CLOUD",
+ "type": "string",
+ "enum": [
+ "DBT_CLOUD",
+ "ZIP_FILE"
+ ]
+ },
+ "access_token": {
+ "description": "Access token is mandatory when Import_Type is DBT_CLOUD.",
+ "type": "string"
+ },
+ "dbt_url": {
+ "description": "DBT URL is mandatory when Import_Type is DBT_CLOUD.",
+ "type": "string"
+ },
+ "account_id": {
+ "description": "Account ID is mandatory when Import_Type is DBT_CLOUD",
+ "type": "string"
+ },
+ "project_id": {
+ "description": "Project ID is mandatory when Import_Type is DBT_CLOUD",
+ "type": "string"
+ },
+ "dbt_env_id": {
+ "description": "DBT Environment ID\"",
+ "type": "string"
+ },
+ "project_name": {
+ "description": "Name of the project",
+ "type": "string"
+ },
+ "file_content": {
+ "description": "Upload DBT Manifest and Catalog artifact files as a ZIP file. This field is Mandatory when Import Type is 'ZIP_FILE'",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "required": [
+ "dbt_connection_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "DBT Connection successfully updated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ "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/customization/email": {
+ "post": {
+ "operationId": "createEmailCustomization",
+ "description": "\nBeta Version: 10.10.0.cl or later\n\nCreates a customization configuration for the notification email.\n\n#### Pre-requisites\n\nRequires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n**NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.\n\n#### Usage guidelines\n\nTo create a custom configuration pass these parameters in your API request:\n\n- A JSON map of configuration attributes `template_properties`. The following example shows a sample set of customization configuration:\n\n```\n{\n {\n \"ctaButtonBgColor\": \"#444DEA\",\n \"ctaTextFontColor\": \"#FFFFFF\",\n \"primaryBgColor\": \"#D3DEF0\",\n \"hideMobileAppNudge\": false,\n \"fontFamily\" : \"\",\n \"hideProductName\" : false,\n \"hideFooterPhone\" : false,\n \"hideFooterAddress\" : false,\n \"hidePrivacyPolicy\" : false,\n \"hideManageNotification\" : false,\n \"hideTsVocabularyDefinitions\": false,\n \"hideNotificationStatus\" : false,\n \"hideErrorMessage\": false,\n \"hideUnsubscribeLink\" : false,\n \"hideModifyAlert\": false,\n \"textTransform\": \"\",\n \"replacementValueForLiveboard\": \"LB dashboard\",\n \"replacementValueForAnswer\": \"Answer dashboard\",\n \"replacementValueForSpotIQ\": \"SpotIQ dashboard\",\n \"logoUrl\":\"\",\n \"productName\":\"ThoughtSpot\",\n \"footerPhone\":\"(800) 508-7008\",\n \"footerAddress\":\"444 Castro St, Suite 1000 Mountain View, CA 94041\"\n }\n}\n```\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Email Customization",
+ "10.10.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "template_properties": {
+ "description": "Email customization configuration as key value pair",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Template_Properties_Input_Create"
+ }
+ ]
+ },
+ "org_identifier": {
+ "description": "Unique ID or name of org
Version: 10.12.0.cl or later",
+ "type": "string"
+ }
+ },
+ "required": [
+ "template_properties"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateEmailCustomizationResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Unexpected error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/customization/email/{template_identifier}/delete": {
+ "post": {
+ "operationId": "deleteEmailCustomization",
+ "description": "\nBeta Version: 10.10.0.cl or later\n\nDeletes the configuration for the email customization.\n\n#### Pre-requisites\n\nRequires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n**NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.\n\n#### Usage guidelines\n\n- Call the search API endpoint to get the `template_identifier` from the response.\n- Use that `template_identifier` as a parameter in this API request.\n\n\n\n\n#### Endpoint URL\n",
+ "deprecated": true,
+ "tags": [
+ "Email Customization",
+ "10.10.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "template_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the email customization."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Email Customization configuration successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Unexpected error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/customization/email/delete": {
+ "post": {
+ "operationId": "deleteOrgEmailCustomization",
+ "description": "\nBeta Version: 10.12.0.cl or later\n\nDeletes the configuration for the email customization.\n\n#### Pre-requisites\n\nRequires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n**NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.\n\n#### Usage guidelines\n\n- Call the search API endpoint to get the `org_identifier` from the response.\n- Use that `org_identifier` as a parameter in this API request.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Email Customization",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "org_identifiers": {
+ "description": "Unique identifier of the organization.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Email Customization configuration successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Unexpected error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/customization/email/search": {
+ "post": {
+ "operationId": "searchEmailCustomization",
+ "description": "\nBeta Version: 10.10.0.cl or later\n\nSearch the email customization configuration if any set for the ThoughtSpot system.\n\n#### Pre-requisites\n\nRequires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n**NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Email Customization",
+ "10.10.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "org_identifiers": {
+ "description": "Unique ID or name of org
Version: 10.12.0.cl or later",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CreateEmailCustomizationResponse"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Unexpected error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/customization/email/update": {
+ "post": {
+ "operationId": "updateEmailCustomization",
+ "description": "\nBeta Version: 10.12.0.cl or later\n\nUpdates a customization configuration for the notification email.\n\n#### Pre-requisites\n\nRequires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n**NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.\n\n#### Usage guidelines\n\nTo update a custom configuration pass these parameters in your API request:\n\n- A JSON map of configuration attributes `template_properties`. The following example shows a sample set of customization configuration:\n\n```\n{\n {\n \"ctaButtonBgColor\": \"#444DEA\",\n \"ctaTextFontColor\": \"#FFFFFF\",\n \"primaryBgColor\": \"#D3DEF0\",\n \"hideMobileAppNudge\": false,\n \"fontFamily\" : \"\",\n \"hideProductName\" : false,\n \"hideFooterPhone\" : false,\n \"hideFooterAddress\" : false,\n \"hidePrivacyPolicy\" : false,\n \"hideManageNotification\" : false,\n \"hideTsVocabularyDefinitions\": false,\n \"hideNotificationStatus\" : false,\n \"hideErrorMessage\": false,\n \"hideUnsubscribeLink\" : false,\n \"hideModifyAlert\": false,\n \"textTransform\": \"\",\n \"replacementValueForLiveboard\": \"LB dashboard\",\n \"replacementValueForAnswer\": \"Answer dashboard\",\n \"replacementValueForSpotIQ\": \"SpotIQ dashboard\",\n \"logoUrl\":\"\",\n \"productName\":\"ThoughtSpot\",\n \"footerPhone\":\"(800) 508-7008\",\n \"footerAddress\":\"444 Castro St, Suite 1000 Mountain View, CA 94041\"\n }\n}\n```\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Email Customization",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "template_properties": {
+ "description": "Email customization configuration as key value pair",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Template_Properties_Input_Create"
+ }
+ ]
+ },
+ "org_identifier": {
+ "description": "Unique ID or name of org",
+ "type": "string"
+ }
+ },
+ "required": [
+ "template_properties"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Email Customization configuration successfully updated."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Unexpected error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/customization/email/validate": {
+ "post": {
+ "operationId": "validateEmailCustomization",
+ "description": "\nBeta Version: 10.10.0.cl or later\n\nValidates the email customization configuration if any set for the ThoughtSpot system.\n\n#### Pre-requisites\n\nRequires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n**NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Email Customization",
+ "10.10.0.cl"
+ ],
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Triggered test email for customization configuration"
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Unexpected error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/groups/create": {
+ "post": {
+ "operationId": "createUserGroup",
+ "description": "\n Version: 9.0.0.cl or later\n\nCreates a group object in ThoughtSpot.\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 `GROUP_ADMINISTRATION` (**Can manage groups**) privilege is required.\n\n#### About groups\nGroups in ThoughtSpot are used by the administrators to define privileges and organize users based on their roles and access requirements. To know more about groups and privileges, see [ThoughtSpot Product Documentation](https://docs.thoughtspot.com/cloud/latest/groups-privileges).\n\n#### Supported operations\n\nThe API endpoint lets you perform the following operations:\n\n* Assign privileges\n* Add users\n* Define sharing visibility\n* Add sub-groups\n* Assign a default Liveboard\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Groups",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the group. The group name must be unique.",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "Display name for the group.",
+ "type": "string"
+ },
+ "default_liveboard_identifiers": {
+ "description": "GUID of the Liveboards to assign as default Liveboards to the users in the group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": {
+ "description": "Description of the group",
+ "type": "string"
+ },
+ "privileges": {
+ "description": "Privileges to assign to the group",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "ADMINISTRATION",
+ "AUTHORING",
+ "USERDATAUPLOADING",
+ "DATADOWNLOADING",
+ "USERMANAGEMENT",
+ "DATAMANAGEMENT",
+ "SHAREWITHALL",
+ "JOBSCHEDULING",
+ "A3ANALYSIS",
+ "EXPERIMENTALFEATUREPRIVILEGE",
+ "BYPASSRLS",
+ "RANALYSIS",
+ "DEVELOPER",
+ "USER_ADMINISTRATION",
+ "GROUP_ADMINISTRATION",
+ "SYNCMANAGEMENT",
+ "CAN_CREATE_CATALOG",
+ "DISABLE_PINBOARD_CREATION",
+ "LIVEBOARD_VERIFIER",
+ "PREVIEW_THOUGHTSPOT_SAGE",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "ALLOW_NON_EMBED_FULL_APP_ACCESS",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "CAN_SETUP_VERSION_CONTROL"
+ ]
+ }
+ },
+ "sub_group_identifiers": {
+ "description": "GUID or name of the sub groups. A subgroup is a group assigned to a parent group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "type": {
+ "description": "Group type.",
+ "default": "LOCAL_GROUP",
+ "type": "string",
+ "enum": [
+ "LOCAL_GROUP",
+ "LDAP_GROUP"
+ ]
+ },
+ "user_identifiers": {
+ "description": "GUID or name of the users to assign to the group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "visibility": {
+ "description": "Visibility of the group. To make a group visible to other users and groups,\nset the visibility to SHAREABLE.",
+ "default": "SHARABLE",
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ]
+ },
+ "role_identifiers": {
+ "description": "Role identifiers of the roles that should be assigned to the group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "display_name"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "User group successfully created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserGroupResponse"
+ }
+ }
+ }
+ },
+ "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/groups/{group_identifier}/delete": {
+ "post": {
+ "operationId": "deleteUserGroup",
+ "description": "\n Version: 9.0.0.cl or later\n\nRemoves the specified group object from the ThoughtSpot system.\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 `GROUP_ADMINISTRATION` (**Can manage groups**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Groups",
+ "9.0.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "group_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "GUID or name of the group."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "User group successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/groups/import": {
+ "post": {
+ "operationId": "importUserGroups",
+ "description": "\n Version: 9.0.0.cl or later\n\nImports group objects from external databases into ThoughtSpot.\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 `GROUP_ADMINISTRATION` (**Can manage groups**) privilege is required.\n\nDuring the import operation:\n\n* If the specified group is not available in ThoughtSpot, it will be added to ThoughtSpot.\n* If `delete_unspecified_groups` is set to `true`, the groups not specified in the API request, excluding administrator and system user groups, are deleted.\n* If the specified groups are already available in ThoughtSpot, the object properties of these groups are modified and synchronized as per the input data in the API request.\n\nA successful API call returns the object that represents the changes made in the ThoughtSpot system.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Groups",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "groups": {
+ "description": "Details of groups which are to be imported",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/GroupsImportListInput"
+ }
+ },
+ "delete_unspecified_groups": {
+ "description": "If set to true, removes groups that are not specified in the API request.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "dry_run": {
+ "description": "If true, the API performs a test operation and returns user IDs whose\ndata will be edited after the import.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Import user groups operation successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ImportUserGroupsResponse"
+ }
+ }
+ }
+ },
+ "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/groups/search": {
+ "post": {
+ "operationId": "searchUserGroups",
+ "description": "\n Version: 9.0.0.cl or later\n\nGets a list of user group objects from the ThoughtSpot system.\n\nTo get details of a specific user group, specify the user group GUID or name. You can also filter the API response based on User ID, Org ID, Role ID, type of group, sharing visibility, privileges assigned to the group, and the Liveboard IDs assigned to the users in the group.\n\nAvailable to all users. Users with `ADMINISTRATION` (**Can administer ThoughtSpot**) privileges can view all users properties.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `GROUP_ADMINISTRATION` (**Can manage groups**) privilege is required.\n\n**NOTE**: If you do not get precise results, try setting `record_size` to `-1` and `record_offset` to `0`.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Groups",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "default_liveboard_identifiers": {
+ "description": "GUID of Liveboards that are assigned as default Liveboards to the users in the group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": {
+ "description": "Description of the group",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "Display name of the group",
+ "type": "string"
+ },
+ "name_pattern": {
+ "description": "A pattern to match case-insensitive name of the Group object.",
+ "type": "string"
+ },
+ "group_identifier": {
+ "description": "GUID or name of the group",
+ "type": "string"
+ },
+ "org_identifiers": {
+ "description": "ID or name of the Org to which the group belongs",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "privileges": {
+ "description": "Privileges assigned to the group.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "ADMINISTRATION",
+ "AUTHORING",
+ "USERDATAUPLOADING",
+ "DATADOWNLOADING",
+ "USERMANAGEMENT",
+ "DATAMANAGEMENT",
+ "SHAREWITHALL",
+ "JOBSCHEDULING",
+ "A3ANALYSIS",
+ "EXPERIMENTALFEATUREPRIVILEGE",
+ "BYPASSRLS",
+ "RANALYSIS",
+ "DEVELOPER",
+ "USER_ADMINISTRATION",
+ "GROUP_ADMINISTRATION",
+ "SYNCMANAGEMENT",
+ "CAN_CREATE_CATALOG",
+ "DISABLE_PINBOARD_CREATION",
+ "LIVEBOARD_VERIFIER",
+ "PREVIEW_THOUGHTSPOT_SAGE",
+ "APPLICATION_ADMINISTRATION",
+ "SYSTEM_INFO_ADMINISTRATION",
+ "ORG_ADMINISTRATION",
+ "ROLE_ADMINISTRATION",
+ "AUTHENTICATION_ADMINISTRATION",
+ "BILLING_INFO_ADMINISTRATION",
+ "CAN_MANAGE_CUSTOM_CALENDAR",
+ "CAN_CREATE_OR_EDIT_CONNECTIONS",
+ "CAN_MANAGE_WORKSHEET_VIEWS_TABLES",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "ALLOW_NON_EMBED_FULL_APP_ACCESS",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "CAN_SETUP_VERSION_CONTROL"
+ ]
+ }
+ },
+ "sub_group_identifiers": {
+ "description": "GUID or name of the sub groups. A subgroup is a group assigned to a parent group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "type": {
+ "description": "Group type.",
+ "type": "string",
+ "enum": [
+ "LOCAL_GROUP",
+ "LDAP_GROUP"
+ ]
+ },
+ "user_identifiers": {
+ "description": "GUID or name of the users assigned to the group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "visibility": {
+ "description": "Visibility of the group. To make a group visible to other users and groups,\nset the visibility to SHAREABLE.",
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ]
+ },
+ "role_identifiers": {
+ "description": "Filter groups with a list of Roles assigned to a group",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included.",
+ "default": 10,
+ "type": "integer",
+ "format": "int32"
+ },
+ "sort_options": {
+ "description": "Sort options to filter group details.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SortOptions"
+ }
+ ]
+ },
+ "include_users": {
+ "description": "Version: 10.10.0.cl or later
\n\nDefine Parameter to consider if the users should be included in group search response.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "include_sub_groups": {
+ "description": "Version: 10.10.0.cl or later
\n\nDefine Parameter to consider if the sub groups should be included in group search response.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "User group search result.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroupResponse"
+ }
+ }
+ }
+ }
+ },
+ "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/groups/{group_identifier}/update": {
+ "post": {
+ "operationId": "updateUserGroup",
+ "description": "\n Version: 9.0.0.cl or later\n\nUpdates the properties of a group object in ThoughtSpot.\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 `GROUP_ADMINISTRATION` (**Can manage groups**) privilege is required.\n\n#### Supported operations\n\nThis API endpoint lets you perform the following operations in a single API request:\n\n* Edit [privileges](https://developers.thoughtspot.com/docs/?pageid=api-user-management#group-privileges)\n* Add or remove users\n* Change sharing visibility settings\n* Add or remove sub-groups\n* Assign a default Liveboard or update the existing settings\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Groups",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the group to modify.",
+ "type": "string"
+ },
+ "default_liveboard_identifiers": {
+ "description": "ID of the Liveboards to be assigned as default Liveboards to the users in the group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": {
+ "description": "Description for the group.",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "Display name of the group.",
+ "type": "string"
+ },
+ "privileges": {
+ "description": "Privileges to assign to the group.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "ADMINISTRATION",
+ "AUTHORING",
+ "USERDATAUPLOADING",
+ "DATADOWNLOADING",
+ "USERMANAGEMENT",
+ "DATAMANAGEMENT",
+ "SHAREWITHALL",
+ "JOBSCHEDULING",
+ "A3ANALYSIS",
+ "EXPERIMENTALFEATUREPRIVILEGE",
+ "BYPASSRLS",
+ "RANALYSIS",
+ "DEVELOPER",
+ "USER_ADMINISTRATION",
+ "GROUP_ADMINISTRATION",
+ "SYNCMANAGEMENT",
+ "CAN_CREATE_CATALOG",
+ "DISABLE_PINBOARD_CREATION",
+ "LIVEBOARD_VERIFIER",
+ "PREVIEW_THOUGHTSPOT_SAGE",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "ALLOW_NON_EMBED_FULL_APP_ACCESS",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "CAN_SETUP_VERSION_CONTROL"
+ ]
+ }
+ },
+ "sub_group_identifiers": {
+ "description": "GUID or name of the sub groups. A subgroup is a group assigned to a parent group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "type": {
+ "description": "Type of the group",
+ "type": "string",
+ "enum": [
+ "LOCAL_GROUP",
+ "LDAP_GROUP"
+ ]
+ },
+ "user_identifiers": {
+ "description": "GUID or name of the users to assign to the group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "visibility": {
+ "description": "Visibility of the group. To make a group visible to other users and\ngroups, set the visibility to SHAREABLE.",
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ]
+ },
+ "role_identifiers": {
+ "description": "Role identifiers of the Roles that should be assigned to the group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "operation": {
+ "description": "Type of update operation. Default operation type is REPLACE",
+ "default": "REPLACE",
+ "type": "string",
+ "enum": [
+ "ADD",
+ "REMOVE",
+ "REPLACE"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "group_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "GUID or name of the group."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "User group 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/logs/fetch": {
+ "post": {
+ "operationId": "fetchLogs",
+ "description": "\n Version: 9.0.0.cl or later\n\nFetches security audit logs. \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 [Admin Control](https://developers.thoughtspot.com/docs/rbac#_admin_control) privileges are required.\n\n\n#### Usage guidelines\n\nBy default, the API retrieves logs for the last 24 hours. You can set a custom duration in EPOCH time. Make sure the log duration specified in your API request doesn't exceed 24 hours. If you must fetch logs for a longer time range, modify the duration and make multiple sequential API requests.\n\nUpon successful execution, the API returns logs with the following information:\n* timestamp of the event\n* event ID\n* event type\n* name and GUID of the user\n* IP address of ThoughtSpot instance\n\nFor more information see [Audit logs Documentation](https://developers.thoughtspot.com/docs/audit-logs).\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Log",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "log_type": {
+ "description": "Name of the log type",
+ "type": "string",
+ "enum": [
+ "SECURITY_AUDIT"
+ ]
+ },
+ "start_epoch_time_in_millis": {
+ "description": "Start time in EPOCH format",
+ "type": "number",
+ "format": "float"
+ },
+ "end_epoch_time_in_millis": {
+ "description": "End time in EPOCH format",
+ "type": "number",
+ "format": "float"
+ },
+ "get_all_logs": {
+ "description": "Fetch all the logs. This is available from 9.10.5.cl",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "log_type"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Log fetched successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/LogResponse"
+ }
+ }
+ }
+ }
+ },
+ "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/metadata/worksheets/convert": {
+ "post": {
+ "operationId": "convertWorksheetToModel",
+ "description": "\nConvert worksheets to models
Version: 10.6.0.cl or later\n\n## Prerequisites\n- **Privileges Required:**\n - `DATAMANAGEMENT` (Can manage data) or `ADMINISTRATION` (Can administer ThoughtSpot).\n- **Additional Privileges (if RBAC is enabled):**\n - `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (Can manage data models).\n\n---\n\n## Usage Guidelines\n\n### Parameters\n\n1. **worksheet_ids** \n - **Description:** A comma-separated list of GUIDs (Globally Unique Identifiers) specifying the Worksheets to be converted. \n - **Usage:** \n - Used only when `convert_all` is set to `false`. \n - Leave empty or omit when `convert_all` is set to `true`.\n\n2. **exclude_worksheet_ids** \n - **Description:** A comma-separated list of GUIDs specifying Worksheets to be excluded from conversion. \n - **Usage:** \n - Useful when `convert_all` is set to `true` and specific Worksheets should not be converted.\n\n3. **convert_all** \n - **Description:** Sets the scope of conversion.\n - **Options:** \n - `true`: Converts all Worksheets in the system, except those specified in `exclude_worksheet_ids`. \n - `false`: Converts only the Worksheets listed in `worksheet_ids`.\n\n4. **apply_changes** \n - **Description:** Specifies whether to apply changes directly to ThoughtSpot or to generate a preview before applying any changes.Used for validation of conversion.\n - **Options:** \n - `true`: Applies conversion changes directly to ThoughtSpot.\n - `false`: Generates only a preview of the changes and does not apply any changes to ThoughtSpot\n\n---\n\n## Best Practices\n\n1. **Backup Before Conversion:** \n Always export metadata as a backup before initiating the conversion process\n\n2. **Partial Conversion for Testing:** \n Test the conversion process by setting `convert_all` to `false` and specifying a small number of `worksheet_ids`.\n\n3. **Verify Dependencies:** \n Check for dependent objects, such as Tables and Connections, to avoid invalid references.\n\n4. **Review Changes:** \n Use `apply_changes: false` to preview the impact of the conversion before applying changes.\n\n---\n\n## Examples\n\n### Convert Specific Worksheets\n```json\n{\n \"worksheet_ids\": [\"guid1\", \"guid2\", \"guid3\"],\n \"exclude_worksheet_ids\": [],\n \"convert_all\": false,\n \"apply_changes\": true\n}\n```\n\n### Convert All Accessible Worksheets\n```json\n{\n \"worksheet_ids\": [],\n \"exclude_worksheet_ids\": [],\n \"convert_all\": true,\n \"apply_changes\": true\n}\n```\n\n### Exclude Specific Worksheets While Converting All Accessible Worksheets\n```json\n{\n \"worksheet_ids\": [],\n \"exclude_worksheet_ids\": [\"abc\"],\n \"convert_all\": true,\n \"apply_changes\": true\n}\n```\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "10.6.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "worksheet_ids": {
+ "description": "List of Worksheet IDs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "exclude_worksheet_ids": {
+ "description": "List of Worksheet IDs to be excluded.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "convert_all": {
+ "description": "Indicates whether all the worksheet needs to be converted to models.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "apply_changes": {
+ "description": "Indicates whether the changes should be applied to database.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Conversion of worksheets to model done successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseWorksheetToModelConversion"
+ }
+ }
+ }
+ },
+ "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/metadata/copyobject": {
+ "post": {
+ "operationId": "copyObject",
+ "description": "\nMakes a copy of an Answer or Liveboard saved in Atlas
Version: 10.3.0.cl or later\n\nCreates a copy of a metadata object.\n\nRequires at least view access to the metadata object being copied.\n\nUpon successful execution, the API creates a copy of the metadata object specified in the API request and returns the ID of the new object.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "10.3.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Description of the new object",
+ "type": "string"
+ },
+ "identifier": {
+ "description": "GUID of metadata object to be copied (answer id or liveboard id)",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of metadata object",
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER"
+ ]
+ },
+ "title": {
+ "description": "Title of the new object",
+ "type": "string"
+ }
+ },
+ "required": [
+ "identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successfully created a copy of the object",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseCopyObject"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Object not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Unexpected error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/metadata/delete": {
+ "post": {
+ "operationId": "deleteMetadata",
+ "description": "\n Version: 9.0.0.cl or later\n\nRemoves the specified metadata object from the ThoughtSpot system.\n\nRequires edit access to the metadata object. \n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DeleteMetadataTypeInput"
+ }
+ },
+ "delete_disabled_objects": {
+ "description": "Indicates whether to delete disabled metadata objects.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "metadata"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Metadata objects successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/metadata/tml/export": {
+ "post": {
+ "operationId": "exportMetadataTML",
+ "description": "\n Version: 9.0.0.cl or later\n\nExports the [TML](https://docs.thoughtspot.com/cloud/latest/tml) representation of metadata objects in JSON or YAML format.\n\nRequires `DATADOWNLOADING` (**Can download Data**) and at least view access to the metadata object.\n\n#### Usage guidelines\n\n* You can export one or several objects by passing metadata object GUIDs in the `metadata` array.\n* When exporting TML content for a Liveboard or Answer object, you can set `export_associated` to `true` to retrieve TML content for underlying Worksheets, Tables, or Views, including the GUID of each object within the headers. When `export_associated` is set to `true`, consider retrieving one metadata object at a time.\n* Set `export_fqns` to `true` to add FQNs of the referenced objects in the TML content. For example, if you send an API request to retrieve TML for a Liveboard and its associated objects, the API returns the TML content with FQNs of the referenced Worksheet. Exporting TML with FQNs is useful if ThoughtSpot has multiple objects with the same name and you want to eliminate ambiguity when importing TML files into ThoughtSpot. It eliminates the need for adding FQNs of the referenced objects manually during the import operation.\n* To export only the TML of feedbacks associated with an object, set the GUID of the object as `identifier`, and set the `type` as `FEEDBACK` in the `metadata` array.\n* To export the TML of an object along with the feedbacks associated with it, set the GUID of the object as `identifier`, set the `type` as `LOGIAL_TABLE` in the `metadata` array, and set `export_with_associated_feedbacks` in `export_options` to true.\n\nFor more information, see [TML Documentation](https://developers.thoughtspot.com/docs/tml#_export_a_tml).\n\nFor more information on feedbacks, see [Feedback Documentation](https://docs.thoughtspot.com/cloud/latest/sage-feedback).\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ExportMetadataTypeInput"
+ }
+ },
+ "export_associated": {
+ "description": "Indicates whether to export associated metadata objects of specified metadata objects.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "export_fqn": {
+ "description": "Adds FQNs of the referenced objects. For example, if you are exporting a Liveboard and its associated objects,\nthe API returns the Liveboard TML data with the FQNs of the referenced worksheet.\nIf the exported TML data includes FQNs, you don't need to manually add FQNs of the referenced objects during TML import.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "edoc_format": {
+ "description": "TML EDOC content format.\n\n**Note: exporting in YAML format currently requires manual formatting of the output. For more details on the workaround, please click [here](https://developers.thoughtspot.com/docs/known-issues#_version_9_12_0_cl)**",
+ "default": "JSON",
+ "type": "string",
+ "enum": [
+ "JSON",
+ "YAML"
+ ]
+ },
+ "export_schema_version": {
+ "description": "Indicates whether to export worksheet TML in DEFAULT or V1 or V2 version.",
+ "default": "DEFAULT",
+ "type": "string",
+ "enum": [
+ "DEFAULT",
+ "V1",
+ "V2"
+ ]
+ },
+ "export_dependent": {
+ "description": "Indicates whether to export table while exporting connection.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "export_connection_as_dependent": {
+ "description": "Indicates whether to export connection as dependent while exporting table/worksheet/answer/liveboard.\nThis will only be active when export_associated is true.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "all_orgs_override": {
+ "description": "Indicates whether to export is happening from all orgs context.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "export_options": {
+ "description": "Flags to specify additional options for export.
Version: 10.6.0.cl or later",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Export_Options"
+ }
+ ]
+ }
+ },
+ "required": [
+ "metadata"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Export TMLs of specified metadata objects is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ }
+ }
+ },
+ "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/metadata/tml/export/batch": {
+ "post": {
+ "operationId": "exportMetadataTMLBatched",
+ "description": "\n Version: 10.1.0.cl or later\n\nExports the [TML](https://docs.thoughtspot.com/cloud/latest/tml) representation of metadata objects in JSON or YAML format.\n\n### **Permissions Required**\n\nRequires `DATAMANAGEMENT` (**Can manage data**) and `USERMANAGEMENT` (**Can manage users**) privileges.\n\n#### **Usage Guidelines**\n\nThis API is only applicable for `USER`, `GROUP`, and `ROLES` metadata types.\n\n- `batch_offset` Indicates the starting position within the complete dataset from which the API should begin returning objects. Useful for paginating results efficiently.\n- `batch_size` Specifies the number of objects or items to retrieve in a single request. Helps control response size for better performance.\n- `edoc_format` Defines the format of the TML content. The exported metadata can be in JSON or YAML format.\n- `export_dependent` Specifies whether to include dependent metadata objects in the export. Ensures related objects are also retrieved if needed.\n- `all_orgs_override` Indicates whether the export operation applies across all organizations. Useful for multi-tenant environments where cross-org exports are required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "10.1.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_type": {
+ "description": "Type of metadata object to export, can be one of USER | ROLE | USER_GROUP",
+ "type": "string",
+ "enum": [
+ "USER",
+ "USER_GROUP",
+ "ROLE"
+ ]
+ },
+ "batch_offset": {
+ "description": "Indicates the position within the complete set from where the API should begin returning objects.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "batch_size": {
+ "description": "Determines the number of objects or items to be retrieved in a single request.",
+ "default": 20,
+ "type": "integer",
+ "format": "int32"
+ },
+ "edoc_format": {
+ "description": "TML EDOC content format.",
+ "default": "JSON",
+ "type": "string",
+ "enum": [
+ "JSON",
+ "YAML"
+ ]
+ },
+ "export_dependent": {
+ "description": "Indicates whether to export dependent metadata objects of specified metadata objects.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "all_orgs_override": {
+ "description": "Indicates whether to export is happening from all orgs context.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "metadata_type"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Export TMLs of specified metadata objects is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ "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/metadata/answer/sql": {
+ "post": {
+ "operationId": "fetchAnswerSqlQuery",
+ "description": "\n Version: 9.0.0.cl or later\n\nFetches the underlying SQL query data for an Answer object.\n\nRequires at least view access to the Answer object.\n\nUpon successful execution, the API returns the SQL queries for the specified object as shown in this example:\n```\n{\n \"metadata_id\":\"8fbe44a8-46ad-4b16-8d39-184b2fada490\",\n \"metadata_name\":\"Total sales\",\n \"metadata_type\":\"ANSWER\",\n \"sql_queries\":[\n {\n \"metadata_id\":\"8fbe44a8-46ad-4b16-8d39-184b2fada490\",\n \"metadata_name\":\"Total sales -test\",\n \"sql_query\":\"SELECT \\n \\\"ta_1\\\".\\\"REGION\\\" \\\"ca_1\\\", \\n \\\"ta_2\\\".\\\"PRODUCTNAME\\\" \\\"ca_2\\\", \\n \\\"ta_1\\\".\\\"STORENAME\\\" \\\"ca_3\\\", \\n CASE\\n WHEN sum(\\\"ta_3\\\".\\\"SALES\\\") IS NOT NULL THEN sum(\\\"ta_3\\\".\\\"SALES\\\")\\n ELSE 0\\n END \\\"ca_4\\\", \\n CASE\\n WHEN sum(\\\"ta_3\\\".\\\"QUANTITYPURCHASED\\\") IS NOT NULL THEN sum(\\\"ta_3\\\".\\\"QUANTITYPURCHASED\\\")\\n ELSE 0\\n END \\\"ca_5\\\"\\nFROM \\\"RETAILAPPAREL\\\".\\\"PUBLIC\\\".\\\"FACT_RETAPP_SALES\\\" \\\"ta_3\\\"\\n JOIN \\\"RETAILAPPAREL\\\".\\\"PUBLIC\\\".\\\"DIM_RETAPP_STORES\\\" \\\"ta_1\\\"\\n ON \\\"ta_3\\\".\\\"STOREID\\\" = \\\"ta_1\\\".\\\"STOREID\\\"\\n JOIN \\\"RETAILAPPAREL\\\".\\\"PUBLIC\\\".\\\"DIM_RETAPP_PRODUCTS\\\" \\\"ta_2\\\"\\n ON \\\"ta_3\\\".\\\"PRODUCTID\\\" = \\\"ta_2\\\".\\\"PRODUCTID\\\"\\nGROUP BY \\n \\\"ca_1\\\", \\n \\\"ca_2\\\", \\n \\\"ca_3\\\"\\n\"\n }\n ]\n}\n```\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_identifier": {
+ "description": "ID or name of an Answer.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "metadata_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Fetching SQL query of specified metadata object is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SqlQueryResponse"
+ }
+ }
+ }
+ },
+ "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/metadata/tml/async/status": {
+ "post": {
+ "operationId": "fetchAsyncImportTaskStatus",
+ "description": "\n Version: 10.4.0.cl or later\n\nGets information about the status of the TML async import task scheduled using the `/api/rest/2.0/metadata/tml/async/import` API call.\n\nTo fetch the task details, specify the ID of the TML async import task. \n\nRequires access to the task ID. The API allows users who initiated the asynchronous TML import via `/api/rest/2.0/metadata/tml/async/import` to view the status of their tasks. Users with administration privilege can view the status of all import tasks initiated by the users in their Org.\n\n#### Usage guidelines\n\nSee [TML API Documentation](https://developers.thoughtspot.com/docs/tml#_fetch_status_of_the_tml_import_task) for usage guidelines.\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "10.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "task_ids": {
+ "description": "List of task IDs to fetch status for.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "task_status": {
+ "description": "List of task statuses to filter on. Valid values: [IN_QUEUE, IN_PROGRESS, COMPLETED, FAILED]",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "COMPLETED",
+ "IN_QUEUE",
+ "IN_PROGRESS",
+ "FAILED"
+ ]
+ }
+ },
+ "author_identifier": {
+ "description": "Author GUID or name of async import tasks to filter on.",
+ "type": "string"
+ },
+ "record_offset": {
+ "description": "The offset point, starting from where the task status should be included in the response.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of task statuses that should be included in the response starting from offset position.",
+ "default": 5,
+ "type": "integer",
+ "format": "int32"
+ },
+ "include_import_response": {
+ "description": "Boolean flag to specify whether to include import response in the task status objects.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Async TML Import Task statuses fetched successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GetAsyncImportStatusResponse"
+ }
+ }
+ }
+ },
+ "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/metadata/liveboard/sql": {
+ "post": {
+ "operationId": "fetchLiveboardSqlQuery",
+ "description": "\n Version: 9.0.0.cl or later\n\nFetches the underlying SQL query data for a Liveboard object and its visualizations.\n\nRequires at least view access to the Liveboard object.\n\nTo get SQL query data for a Liveboard, specify the GUID of the Liveboard. Optionally, you can add an array of visualization GUIDs to retrieve the SQL query data for visualizations in the Liveboard.\n\nUpon successful execution, the API returns the SQL queries for the specified object as shown in this example:\n```\n{\n \"metadata_id\": \"fa68ae91-7588-4136-bacd-d71fb12dda69\",\n \"metadata_name\": \"Total Sales\",\n \"metadata_type\": \"LIVEBOARD\",\n \"sql_queries\": [\n {\n \"metadata_id\": \"b3b6d2b9-089a-490c-8e16-b144650b7843\",\n \"metadata_name\": \"Total quantity purchased, Total sales by region\",\n \"sql_query\": \"SELECT \\n \\\"ta_1\\\".\\\"REGION\\\" \\\"ca_1\\\", \\n CASE\\n WHEN sum(\\\"ta_2\\\".\\\"QUANTITYPURCHASED\\\") IS NOT NULL THEN sum(\\\"ta_2\\\".\\\"QUANTITYPURCHASED\\\")\\n ELSE 0\\n END \\\"ca_2\\\", \\n CASE\\n WHEN sum(\\\"ta_2\\\".\\\"SALES\\\") IS NOT NULL THEN sum(\\\"ta_2\\\".\\\"SALES\\\")\\n ELSE 0\\n END \\\"ca_3\\\"\\nFROM \\\"RETAILAPPAREL\\\".\\\"PUBLIC\\\".\\\"FACT_RETAPP_SALES\\\" \\\"ta_2\\\"\\n JOIN \\\"RETAILAPPAREL\\\".\\\"PUBLIC\\\".\\\"DIM_RETAPP_STORES\\\" \\\"ta_1\\\"\\n ON \\\"ta_2\\\".\\\"STOREID\\\" = \\\"ta_1\\\".\\\"STOREID\\\"\\nGROUP BY \\\"ca_1\\\"\"\n }\n ]\n}\n```\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_identifier": {
+ "description": "ID or name of the Liveboard.",
+ "type": "string"
+ },
+ "visualization_identifiers": {
+ "description": "Unique ID or name of visualizations.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "metadata_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Fetching SQL query of specified metadata object is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SqlQueryResponse"
+ }
+ }
+ }
+ },
+ "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/metadata/tml/import": {
+ "post": {
+ "operationId": "importMetadataTML",
+ "description": "\n Version: 9.0.0.cl or later\n\nImports [TML](https://docs.thoughtspot.com/cloud/latest/tml) files into ThoughtSpot.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtsSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the following Data control privileges may be required:\n- `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**)\n\n#### Usage guidelines\n\n* Import all related objects in a single TML Import API call. For example, Tables that use the same Connection object and Worksheets connected to these Tables.\n* Include the `fqn` property to distinguish objects that have the same name.\n For example, if you have multiple Connections or Worksheets with the same name on ThoughtSpot and the Connection or Worksheet referenced in your TML file does not have a unique name to distinguish, it may result in invalid object references.\n Adding `fqn` helps ThoughtSpot differentiate a Table from another with the same name.\n We recommend [exporting TML with FQNs](#/http/api-endpoints/metadata/export-metadata-tml) and using these during the import operation.\n* You can upload multiple TML files at a time.\n If you import a Worksheet along with Liveboards, Answers, and other dependent objects in a single API call, the imported objects will be immediately available for use.\n When you import only a Worksheet object, it may take some time for the Worksheet to become available in the ThoughtSpot system. Please wait for a few minutes, and then proceed to create an Answer and Liveboard from the newly imported Worksheet.\n\nFor more information, see [TML Documentation](https://developers.thoughtspot.com/docs/tml#_import_a_tml).\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_tmls": {
+ "description": "Details of TML objects.\n\n**Note: importing TML in YAML format, when coming directly from our Playground, is currently requires manual formatting. For more details on the workaround, please click [here](https://developers.thoughtspot.com/docs/known-issues#_version_9_12_0_cl)**",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "import_policy": {
+ "description": "Specifies the import policy for the TML import.",
+ "default": "PARTIAL",
+ "type": "string",
+ "enum": [
+ "PARTIAL",
+ "ALL_OR_NONE",
+ "VALIDATE_ONLY",
+ "PARTIAL_OBJECT"
+ ]
+ },
+ "create_new": {
+ "description": "If selected, creates TML objects with new GUIDs.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "all_orgs_override": {
+ "description": "If import is happening from all orgs context.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "skip_diff_check": {
+ "description": "Version: 10.6.0.cl or later
\n\nBoolean Flag to skip TML diff check before processing object TMLs.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "enable_large_metadata_validation": {
+ "description": "Version: 10.5.0.cl or later
\n\nBoolean to indicate if the large metadata validation should be enabled.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "metadata_tmls"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Import metadata objects using specified TMLs is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ }
+ }
+ },
+ "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/metadata/tml/async/import": {
+ "post": {
+ "operationId": "importMetadataTMLAsync",
+ "description": "\n Version: 10.4.0.cl or later\n\nSchedules a task to import [TML](https://docs.thoughtspot.com/cloud/latest/tml) files into ThoughtSpot. You can use this API endpoint to process TML objects asynchronously when importing TMLs of large and complex metadata objects into ThoughtSpot. Unlike the synchronous import TML operation, the API processes TML data in the background and returns a task ID, which can be used to check the status of the import task via `/api/rest/2.0/metadata/tml/async/status` API endpoint.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtsSpot**) privilege, and edit access to the TML objects.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the following Data control privileges may be required:\n- `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**)\n\n#### Usage guidelines\n\nSee [Async TML API Documentation](https://developers.thoughtspot.com/docs/tml#_import_tml_objects_asynchronously) for usage guidelines.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "10.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_tmls": {
+ "description": "Details of TML objects.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "create_new": {
+ "description": "If selected, creates TML objects with new GUIDs.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "all_orgs_override": {
+ "description": "If import is happening from all orgs context.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "import_policy": {
+ "description": "Version: 10.5.0.cl or later
\n\nPolicy to be followed while importing the TML. Valid values are [PARTIAL_OBJECT, PARTIAL, VALIDATE_ONLY, ALL_OR_NONE]",
+ "default": "PARTIAL_OBJECT",
+ "type": "string",
+ "enum": [
+ "PARTIAL",
+ "ALL_OR_NONE",
+ "VALIDATE_ONLY",
+ "PARTIAL_OBJECT"
+ ]
+ },
+ "skip_diff_check": {
+ "description": "Version: 10.6.0.cl or later
\n\nBoolean Flag to skip TML diff check before processing object TMLs.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "enable_large_metadata_validation": {
+ "description": "Version: 10.5.0.cl or later
\n\nBoolean to indicate if the large metadata validation should be enabled.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "metadata_tmls"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Async TML Import Task submitted successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ImportEPackAsyncTaskStatus"
+ }
+ }
+ }
+ },
+ "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/metadata/parameterize": {
+ "post": {
+ "operationId": "parameterizeMetadata",
+ "description": "\nParameterize fields in metadata objects.
Beta Version: 10.9.0.cl or later\n\nAllows parameterizing fields in metadata objects in ThoughtSpot.\n\nRequires appropriate permissions to modify the metadata object.\n\nThe API endpoint allows parameterizing the following types of metadata objects:\n* Logical Tables\n* Connections\n\nFor a Logical Table the field type must be `ATTRIBUTE` and field name can be one of:\n* databaseName\n* schemaName\n* tableName\n\nFor a Connection the field type is always `CONNECTION_PROPERTY`. We use the field_name in this\ncase to specify the exact property of a connection which needs to be parameterized.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "10.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_type": {
+ "description": "Type of metadata object to parameterize.",
+ "type": "string",
+ "enum": [
+ "LOGICAL_TABLE",
+ "CONNECTION"
+ ]
+ },
+ "metadata_identifier": {
+ "description": "Unique ID or name of the metadata object to parameterize.",
+ "type": "string"
+ },
+ "field_type": {
+ "description": "Type of field in the metadata to parameterize.",
+ "type": "string",
+ "enum": [
+ "ATTRIBUTE",
+ "CONNECTION_PROPERTY"
+ ]
+ },
+ "field_name": {
+ "description": "Name of the field which needs to be parameterized.",
+ "type": "string"
+ },
+ "variable_identifier": {
+ "description": "Unique ID or name of the variable to use for parameterization",
+ "type": "string"
+ }
+ },
+ "required": [
+ "metadata_identifier",
+ "field_type",
+ "field_name",
+ "variable_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Parameterize successful."
+ },
+ "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/metadata/search": {
+ "post": {
+ "operationId": "searchMetadata",
+ "description": "\n Version: 9.0.0.cl or later\n\nGets a list of metadata objects available on the ThoughtSpot system.\n\nThis API endpoint is available to all users who have view access to the object. Users with `ADMINISTRATION` (**Can administer ThoughtSpot**) privileges can view data for all metadata objects, including users and groups.\n\n#### Usage guidelines\n\n- To get all metadata objects, send the API request without any attributes.\n- To get metadata objects of a specific type, set the `type` attribute. For example, to fetch a Worksheet, set the type as `LOGICAL_TABLE`.\n- To filter metadata objects within type `LOGICAL_TABLE`, set the `subtypes` attribute. For example, to fetch a Worksheet, set the type as `LOGICAL_TABLE` & subtypes as `[WORKSHEET]`.\n- To get a specific metadata object, specify the GUID.\n- To customize your search and filter the API response, you can use several parameters.\n You can search for objects created or modified by specific users, by tags applied to the objects, or by using the include parameters like `include_auto_created_objects`, `include_dependent_objects`, `include_headers`, `include_incomplete_objects`, and so on.\n You can also define sorting options to sort the data retrieved in the API response.\n- To get discoverable objects when linientmodel is enabled you can use `include_discoverable_objects` as true else false. Default value is true.\n- For liveboard metadata type, to get the newer format, set the `liveboard_response_format` as V2. Default value is V1.\n- To retrieve only objects that are published, set the `include_only_published_objects` as true. Default value is false.\n\n**NOTE**: The following parameters support pagination of metadata records:\n\n- `tag_identifiers`\n- `type`\n- `subtypes`\n- `created_by_user_identifiers`\n- `modified_by_user_identifiers`\n- `owned_by_user_identifiers`\n- `exclude_objects`\n- `include_auto_created_objects`\n- `favorite_object_options`\n- `include_only_published_objects`\nIf you are using other parameters to search metadata, set `record_size` to `-1` and `record_offset` to `0`.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects such as Liveboards, Answers, and Worksheets.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/MetadataListItemInput"
+ }
+ },
+ "permissions": {
+ "description": "Object permission details to search by.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PermissionInput"
+ }
+ },
+ "created_by_user_identifiers": {
+ "description": "GUID or name of user who created the metadata object.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "dependent_object_version": {
+ "description": "Version of the dependent table of the metadata objects like Worksheets.",
+ "default": "V1",
+ "type": "string",
+ "enum": [
+ "V1",
+ "V2"
+ ]
+ },
+ "exclude_objects": {
+ "description": "List of metadata objects to exclude from search.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ExcludeMetadataListItemInput"
+ }
+ },
+ "favorite_object_options": {
+ "description": "Options to sort the API response by objects set as favorites\nfor the logged-in user or the users specified in the API request.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/FavoriteObjectOptionsInput"
+ }
+ ]
+ },
+ "include_auto_created_objects": {
+ "description": "Includes system-generated metadata objects.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "include_dependent_objects": {
+ "description": "Includes dependents of the metadata object specified in the API request.\nFor example, a worksheet can consist of dependent objects such as Liveboards or Answers.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "dependent_objects_record_size": {
+ "description": "The maximum number of dependents to include per metadata object.",
+ "default": 50,
+ "type": "integer",
+ "format": "int32"
+ },
+ "include_details": {
+ "description": "Includes complete details of the metadata objects.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "include_headers": {
+ "description": "Includes headers of the metadata objects.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "include_hidden_objects": {
+ "description": "Includes details of the hidden objects, such as a column in a worksheet or a table.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "include_incomplete_objects": {
+ "description": "Includes objects with incomplete metadata.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "include_visualization_headers": {
+ "description": "Includes visualization headers of the specified Liveboard object.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "include_worksheet_search_assist_data": {
+ "description": "If search assistance lessons are configured on a worksheet,\nthe API returns the search assist data for Worksheet objects.",
+ "type": "boolean",
+ "nullable": true
+ },
+ "modified_by_user_identifiers": {
+ "description": "Includes ID or names of the users who modified the metadata object.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included. It is recommended to use a smaller `record_size` when fetching dependent objects or any of the additional metadata detail options.",
+ "default": 10,
+ "type": "integer",
+ "format": "int32"
+ },
+ "sort_options": {
+ "description": "Sort options to filter metadata details.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/MetadataSearchSortOptions"
+ }
+ ]
+ },
+ "tag_identifiers": {
+ "description": "Tags to filter metadata objects by",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "include_stats": {
+ "description": "Indicates whether to include stats of the metadata objects.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "include_discoverable_objects": {
+ "description": "Version: 10.7.0.cl or later
\n\nBoolean to indicate whether to include discoverable metadata objects.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "show_resolved_parameters": {
+ "description": "Version: 10.9.0.cl or later
\n\nIndicates whether to show resolved parameterised values.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "liveboard_response_version": {
+ "description": "Indicates the model version of Liveboard to be attached in metadata detail.",
+ "default": "V1",
+ "type": "string",
+ "enum": [
+ "V1",
+ "V2"
+ ]
+ },
+ "include_only_published_objects": {
+ "description": "Version: 10.11.0.cl or later
\n\nIf only published objects should be returned",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Metadata objects search result.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/MetadataSearchResponse"
+ }
+ }
+ }
+ }
+ },
+ "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/metadata/unparameterize": {
+ "post": {
+ "operationId": "unparameterizeMetadata",
+ "description": "\nRemove parameterization from fields in metadata objects.
Beta Version: 10.9.0.cl or later\n\nAllows removing parameterization from fields in metadata objects in ThoughtSpot.\n\nRequires appropriate permissions to modify the metadata object.\n\nThe API endpoint allows unparameterizing the following types of metadata objects:\n* Logical Tables\n* Connections\n\nFor a Logical Table the field type must be `ATTRIBUTE` and field name can be one of:\n* databaseName\n* schemaName\n* tableName\n\nFor a Connection the field type is always `CONNECTION_PROPERTY`. We use the field_name in this\ncase to specify the exact property of a connection which needs to be unparameterized.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "10.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_type": {
+ "description": "Type of metadata object to unparameterize.",
+ "type": "string",
+ "enum": [
+ "LOGICAL_TABLE",
+ "CONNECTION"
+ ]
+ },
+ "metadata_identifier": {
+ "description": "Unique ID or name of the metadata object to unparameterize.",
+ "type": "string"
+ },
+ "field_type": {
+ "description": "Type of field in the metadata to unparameterize.",
+ "type": "string",
+ "enum": [
+ "ATTRIBUTE",
+ "CONNECTION_PROPERTY"
+ ]
+ },
+ "field_name": {
+ "description": "Name of the field which needs to be unparameterized.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value to use in place of the variable for the field",
+ "type": "string"
+ }
+ },
+ "required": [
+ "metadata_identifier",
+ "field_type",
+ "field_name",
+ "value"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Successfuly removed parameters."
+ },
+ "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/metadata/headers/update": {
+ "post": {
+ "operationId": "updateMetadataHeader",
+ "description": "\nUpdate header attributes for a given list of header objects.
Beta Version: 10.6.0.cl or later\n\n## Prerequisites\n- **Privileges Required:**\n - `DATAMANAGEMENT` (Can manage data) or `ADMINISTRATION` (Can administer ThoughtSpot).\n- **Additional Privileges (if RBAC is enabled):**\n - `ORG_ADMINISTRATION` (Can manage orgs).\n\n---\n\n## Usage Guidelines\n\n### Parameters\n\n1. **headers_update** \n - **Description:** List of header objects with their attributes to be updated. Each object contains a list of attributes to be updated in the header.\n - **Usage:**\n - You must provide either `identifier` or `obj_identifier`, but not both. Both fields cannot be empty.\n - When `org_identifier` is set to `-1`, only the `identifier` value is accepted; `obj_identifier` is not allowed.\n\n2. **org_identifier** \n - **Description:** GUID (Globally Unique Identifier) or name of the organization. \n - **Usage:**\n - Leaving this field empty assumes that the changes should be applied to the current organization \n - Provide `org_guid` or `org_name` to uniquely identify the organization where changes need to be applied. .\n - Provide `-1` if changes have to be applied across all the org.\n\n---\n\n## Note\nCurrently, this API is enabled only for updating the `obj_identifier` attribute. Only `text` will be allowed in attribute's value.\n\n## Best Practices\n\n1. **Backup Before Conversion:** \n Always export metadata as a backup before initiating the update process\n\n---\n\n## Examples\n\n### Only `identifier` is given \n```json\n{\n \"headers_update\":\n [\n {\n \"identifier\": \"guid_1\",\n \"obj_identifier\": \"\",\n \"type\": \"LOGICAL_COLUMN\",\n \"attributes\":\n [\n {\n \"name\": \"obj_id\",\n \"value\": \"custom_object_id\"\n }\n ]\n }\n ],\n \"org_identifier\": \"orgGuid\"\n}\n```\n\n### Only `obj_identifier` is given\n```json\n{\n \"headers_update\":\n [\n {\n \"obj_identifier\": \"custom_object_id\",\n \"type\": \"ANSWER\",\n \"attributes\":\n [\n {\n \"name\": \"obj_id\",\n \"value\": \"custom_object_id\"\n }\n ]\n }\n ],\n \"org_identifier\": \"orgName\"\n}\n```\n\n### Executing update for all org `-1`\n```json\n{\n \"headers_update\":\n [\n {\n \"identifier\": \"guid_1\",\n \"type\": \"ANSWER\",\n \"attributes\":\n [\n {\n \"name\": \"obj_id\",\n \"value\": \"custom_object_id\"\n }\n ]\n }\n ],\n \"org_identifier\": -1\n}\n```\n\n### Optional `type` is not provided\n```json\n{\n \"headers_update\":\n [\n {\n \"identifier\": \"guid_1\",\n \"attributes\":\n [\n {\n \"name\": \"obj_id\",\n \"value\": \"custom_object_id\"\n }\n ]\n }\n ],\n \"org_identifier\": -1\n}\n```\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "10.6.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "headers_update": {
+ "description": "List of header objects to update.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/HeaderUpdateInput"
+ }
+ },
+ "org_identifier": {
+ "description": "Unique ID or name of the organization.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "headers_update"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Headers update was successful."
+ },
+ "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/metadata/update-obj-id": {
+ "post": {
+ "operationId": "updateMetadataObjId",
+ "description": "\nUpdate object IDs for given metadata objects.
Beta Version: 10.8.0.cl or later\n\n## Prerequisites\n- **Privileges Required:**\n - `DATAMANAGEMENT` (Can manage data) or `ADMINISTRATION` (Can administer ThoughtSpot).\n- **Additional Privileges (if RBAC is enabled):**\n - `ORG_ADMINISTRATION` (Can manage orgs).\n\n---\n\n## Usage Guidelines\n\n### Parameters\n\n1. **metadata** \n - **Description:** List of metadata objects to update their object IDs.\n - **Usage:**\n - Use either `current_obj_id` alone OR use `metadata_identifier` with `type` (when needed).\n - When using `metadata_identifier`, the `type` field is required if using a name instead of a GUID.\n - The `new_obj_id` field is always required.\n\n---\n\n## Note\nThis API is specifically designed for updating object IDs of metadata objects. It internally uses the header update mechanism to perform the changes.\n\n## Best Practices\n\n1. **Backup Before Update:** \n Always export metadata as a backup before initiating the update process.\n\n2. **Validation:**\n - When using `current_obj_id`, ensure it matches the existing object ID exactly.\n - When using `metadata_identifier` with a name, ensure the `type` is specified correctly.\n - Verify that the `new_obj_id` follows your naming conventions and is unique within your system.\n\n---\n\n## Examples\n\n### Using current_obj_id\n```json\n{\n \"metadata\": [\n {\n \"current_obj_id\": \"existing_object_id\",\n \"new_obj_id\": \"new_object_id\"\n }\n ]\n}\n```\n\n### Using metadata_identifier with GUID\n```json\n{\n \"metadata\": [\n {\n \"metadata_identifier\": \"01234567-89ab-cdef-0123-456789abcdef\",\n \"new_obj_id\": \"new_object_id\"\n }\n ]\n}\n```\n\n### Using metadata_identifier with name and type\n```json\n{\n \"metadata\": [\n {\n \"metadata_identifier\": \"My Answer\",\n \"type\": \"ANSWER\",\n \"new_obj_id\": \"new_object_id\"\n }\n ]\n}\n```\n\n### Multiple objects update\n```json\n{\n \"metadata\": [\n {\n \"current_obj_id\": \"existing_object_id_1\",\n \"new_obj_id\": \"new_object_id_1\"\n },\n {\n \"metadata_identifier\": \"My Worksheet\",\n \"type\": \"LOGICAL_TABLE\",\n \"new_obj_id\": \"new_object_id_2\"\n }\n ]\n}\n```\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "10.8.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "List of metadata objects to update their object IDs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UpdateObjIdInput"
+ }
+ }
+ },
+ "required": [
+ "metadata"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Headers update was successful."
+ },
+ "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/orgs/create": {
+ "post": {
+ "operationId": "createOrg",
+ "description": "\n Version: 9.0.0.cl or later\n\nCreates an Org object.\n\nTo use this API, the [Orgs](https://docs.thoughtspot.com/cloud/latest/orgs-overview) feature must be enabled in your cluster.\n\nRequires cluster administration (**Can administer Org**) privileges.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `ORG_ADMINISTRATION` (**Can manage Orgs**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Orgs",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the Org.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the Org.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Organization successfully created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/OrgResponse"
+ },
+ "examples": {
+ "example_1": {
+ "value": {
+ "id": 1980035173,
+ "name": "test_org",
+ "status": "ACTIVE",
+ "description": "test_org",
+ "visibility": "SHOW"
+ }
+ }
+ }
+ }
+ }
+ },
+ "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/orgs/{org_identifier}/delete": {
+ "post": {
+ "operationId": "deleteOrg",
+ "description": "\n Version: 9.0.0.cl or later\n\nDeletes an Org object from the ThoughtSpot system.\n\nRequires cluster administration (**Can administer Org**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `ORG_ADMINISTRATION` (**Can manage Orgs**) privilege is required.\n\nWhen you delete an Org, all its users and objects created in that Org context are removed. However, if the users in the deleted Org also exists in other Orgs, they are removed only from the deleted Org.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Orgs",
+ "9.0.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "org_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "ID or name of the Org"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Organization successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/orgs/search": {
+ "post": {
+ "operationId": "searchOrgs",
+ "description": "\n Version: 9.0.0.cl or later\n\nGets a list of Orgs configured on the ThoughtSpot system. To get details of a specific Org, specify the Org ID or name. You can also pass parameters such as status, visibility, and user identifiers to get a specific list of Orgs.\n\nRequires cluster administration (**Can administer Org**) privileges.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `ORG_ADMINISTRATION` (**Can manage Orgs**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Orgs",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "org_identifier": {
+ "description": "ID or name of the Org",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the Org",
+ "type": "string"
+ },
+ "visibility": {
+ "description": "Visibility of the Org",
+ "type": "string",
+ "enum": [
+ "SHOW",
+ "HIDDEN"
+ ]
+ },
+ "status": {
+ "description": "Status of the Org",
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "IN_ACTIVE"
+ ]
+ },
+ "user_identifiers": {
+ "description": "GUIDs or names of the users for which you want to retrieve the Orgs data",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Organization search result.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/OrgResponse"
+ }
+ },
+ "examples": {
+ "example_1": {
+ "value": [
+ {
+ "id": 0,
+ "name": "Primary",
+ "status": "ACTIVE",
+ "description": "Primary Org",
+ "visibility": "SHOW"
+ },
+ {
+ "id": 583464508,
+ "name": "test_org",
+ "status": "ACTIVE",
+ "description": "test_org",
+ "visibility": "SHOW"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "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/orgs/{org_identifier}/update": {
+ "post": {
+ "operationId": "updateOrg",
+ "description": "\n Version: 9.0.0.cl or later\n\nUpdates an Org object. You can modify Org properties such as name, description, and user associations.\n\nRequires cluster administration (**Can administer Org**) privileges.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `ORG_ADMINISTRATION` (**Can manage Orgs**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Orgs",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the Org",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the Org",
+ "type": "string"
+ },
+ "user_identifiers": {
+ "description": "Add Users to an Org",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "group_identifiers": {
+ "description": "Add Default Groups to an Org",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "operation": {
+ "description": "Type of update operation. Default operation type is ADD",
+ "default": "ADD",
+ "type": "string",
+ "enum": [
+ "ADD",
+ "REMOVE",
+ "REPLACE"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "org_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "ID or name of the Org"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Organization 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/report/answer": {
+ "post": {
+ "operationId": "exportAnswerReport",
+ "description": "\n Version: 9.0.0.cl or later\n\nExports an Answer in the given file format. You can download the Answer data as a PDF, PNG, CSV, or XLSX file.\n\nRequires at least view access to the Answer.\n\n#### Usage guidelines\n\nIn the request body, the GUID or name of the Answer and set `file_format`. The default file format is CSV.\n\n**NOTE**:\n* The downloadable file returned in API response file is extensionless. Please rename the downloaded file by typing in the relevant extension.\n* HTML rendering is not supported for PDF exports of Answers with tables.\n\nOptionally, you can define [runtime overrides](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_overrides) to apply to the Answer data. \n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Reports",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_identifier": {
+ "description": "Unique ID or name of the metadata object.",
+ "type": "string"
+ },
+ "session_identifier": {
+ "description": "Unique ID of the answer session.",
+ "type": "string"
+ },
+ "generation_number": {
+ "description": "Generation number of the answer session.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "file_format": {
+ "description": "Export file format.",
+ "default": "CSV",
+ "type": "string",
+ "enum": [
+ "CSV",
+ "PDF",
+ "XLSX",
+ "PNG"
+ ]
+ },
+ "runtime_filter": {
+ "description": "JSON string representing runtime filter.\n{ col1:region, op1: EQ, val1: northeast }",
+ "type": "object"
+ },
+ "runtime_sort": {
+ "description": "JSON string representing runtime sort.\n{ sortCol1: region, asc1 :true, sortCol2 : date }",
+ "type": "object"
+ },
+ "runtime_param_override": {
+ "description": "JSON object for setting values of parameters in runtime.",
+ "type": "object"
+ },
+ "regional_settings": {
+ "description": "Options for specific region specific overrides to support date/number/string/currency formatting.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/RegionalSettingsInput"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Export report file of specified metadata object is successful.",
+ "content": {
+ "application/octet-stream": {}
+ }
+ },
+ "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/report/liveboard": {
+ "post": {
+ "operationId": "exportLiveboardReport",
+ "description": "\n Version: 9.0.0.cl or later\n\nExports a Liveboard and its visualizations in PDF or PNG file format.\n\nRequires at least view access to the Liveboard.\n\n#### Usage guidelines\n\nIn the request body, specify the GUID or name of the Liveboard. To generate a Liveboard report with specific visualizations, add GUIDs or names of the visualizations.\n\nThe default `file_format` is PDF. For PDF downloads, you can specify additional parameters to customize the page orientation and include or exclude the cover page, logo, footer text, and page numbers. Similar customization options are also available for PNG output.\n\n**NOTE**: The downloadable file returned in API response file is extensionless. Please rename the downloaded file by typing in the relevant extension.\n\nOptionally, you can define [runtime overrides](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_overrides) to apply to the Answer data.\n\nTo include unsaved changes in the report, pass the `transient_pinboard_content` script generated from the `getExportRequestForCurrentPinboard` method in the Visual Embed SDK. Upon successful execution, the API returns the report with unsaved changes, including ad hoc changes to visualizations. For more information, see [Liveboard Report API](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_liveboard_report_api). \n\n**NOTE**: Starting with ThoughtSpot Cloud 10.9.0.cl release, the Liveboard can be exported in the PNG format in the resolution of your choice. To enable this on your instance, contact ThoughtSpot support. When this feature is enabled, the options `include_cover_page`,`include_filter_page` within the `png_options` will not be available for PNG exports.\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Reports",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_identifier": {
+ "description": "GUID or name of the Liveboard object.",
+ "type": "string"
+ },
+ "tab_identifiers": {
+ "description": "GUID or name of the tab of the Liveboard object.
Version: 10.9.0.cl or later",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "personalised_view_identifier": {
+ "description": "GUID or name of the personalised view of the Liveboard object.
Version: 10.9.0.cl or later",
+ "type": "string"
+ },
+ "visualization_identifiers": {
+ "description": "GUID or name of visualizations on the Liveboard. If this parameter is\nnot defined, the API returns a report with all visualizations saved on a Liveboard.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transient_content": {
+ "description": "Transient content of the Liveboard.",
+ "type": "string"
+ },
+ "file_format": {
+ "description": "Export file format.",
+ "default": "PDF",
+ "type": "string",
+ "enum": [
+ "PDF",
+ "PNG"
+ ]
+ },
+ "runtime_filter": {
+ "description": "JSON object with representing filter condition to apply filters at runtime. For example, {\"col1\": \"region\", \"op1\": \"EQ\", \"val1\": \"northeast\" }. You can add multiple keys by incrementing the number at the end, for example, col2, op2, val2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_filters).",
+ "type": "object"
+ },
+ "override_filters": {
+ "description": "Applied to the liveboard and overrides any filters already applied on the same columns in liveboard.\nFollowing example illustrate different kinds of filters:\n{\n \"override_filters\": [\n {\n \"column_name\": \"Color\",\n \"generic_filter\": {\n \"op\": \"IN\",\n \"values\": [\n \"almond\",\n \"turquoise\"\n ]\n },\n \"negate\": false\n },\n {\n \"column_name\": \"Commit Date\",\n \"date_filter\": {\n \"datePeriod\": \"HOUR\",\n \"number\": 3,\n \"type\": \"LAST_N_PERIOD\",\n \"op\": \"EQ\"\n }\n },\n {\n \"column_name\": \"Sales\",\n \"generic_filter\": {\n \"op\": \"BW_INC\",\n \"values\": [\n \"100000\",\n \"70000\"\n ]\n },\n \"negate\": true\n }\n ]\n}",
+ "type": "object"
+ },
+ "runtime_sort": {
+ "description": "JSON string representing runtime sort. For example, {\"sortCol1\": \"region\", \"asc1\" : true}. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_sort).",
+ "type": "object"
+ },
+ "pdf_options": {
+ "description": "Options for PDF export.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/PdfOptionsInput"
+ }
+ ]
+ },
+ "png_options": {
+ "description": "Options for PNG export.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/PngOptionsInput"
+ }
+ ]
+ },
+ "runtime_param_override": {
+ "description": "JSON object for setting values of parameters at runtime. For example, {\"param1\": \"Double List Param\", \"paramVal1\": 0.5}. You can add multiple keys by incrementing the number at the end, for example, param2, paramVal2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_parameters).",
+ "type": "object"
+ },
+ "regional_settings": {
+ "description": "Options for specific region specific overrides to support date/number/string/currency formatting.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/RegionalSettingsInput"
+ }
+ ]
+ }
+ },
+ "required": [
+ "metadata_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Export report file of specified metadata object is successful.",
+ "content": {
+ "application/octet-stream": {}
+ }
+ },
+ "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/roles/create": {
+ "post": {
+ "operationId": "createRole",
+ "description": "\n Version: 9.5.0.cl or later\n\nCreates a Role object in ThoughtSpot.\n\nAvailable only if [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance. To create a Role, the `ROLE_ADMINISTRATION` (**Can manage roles**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Roles",
+ "9.5.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Unique name of the Role.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the Role.",
+ "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.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "USERDATAUPLOADING",
+ "DATADOWNLOADING",
+ "DATAMANAGEMENT",
+ "SHAREWITHALL",
+ "JOBSCHEDULING",
+ "A3ANALYSIS",
+ "BYPASSRLS",
+ "DISABLE_PINBOARD_CREATION",
+ "DEVELOPER",
+ "APPLICATION_ADMINISTRATION",
+ "USER_ADMINISTRATION",
+ "GROUP_ADMINISTRATION",
+ "SYSTEM_INFO_ADMINISTRATION",
+ "SYNCMANAGEMENT",
+ "ORG_ADMINISTRATION",
+ "ROLE_ADMINISTRATION",
+ "AUTHENTICATION_ADMINISTRATION",
+ "BILLING_INFO_ADMINISTRATION",
+ "CONTROL_TRUSTED_AUTH",
+ "TAGMANAGEMENT",
+ "LIVEBOARD_VERIFIER",
+ "CAN_MANAGE_CUSTOM_CALENDAR",
+ "CAN_CREATE_OR_EDIT_CONNECTIONS",
+ "CAN_MANAGE_WORKSHEET_VIEWS_TABLES",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "CAN_CREATE_CATALOG",
+ "ALLOW_NON_EMBED_FULL_APP_ACCESS",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "CAN_SETUP_VERSION_CONTROL",
+ "PREVIEW_THOUGHTSPOT_SAGE"
+ ]
+ }
+ },
+ "read_only": {
+ "description": "Version: 10.5.0.cl or later
\n\nIndicates whether the role is read only. A readonly role can neither be updated nor deleted.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "name"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Role successfully created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RoleResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid parameters.",
+ "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": "Internal error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/roles/{role_identifier}/delete": {
+ "post": {
+ "operationId": "deleteRole",
+ "description": "\n Version: 9.5.0.cl or later\n\nDeletes a Role object from the ThoughtSpot system.\n\nAvailable only if [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance. To delete a Role, the `ROLE_ADMINISTRATION` (**Can manage roles**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Roles",
+ "9.5.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "role_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the Role. ReadOnly roles cannot be deleted."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Role successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/roles/search": {
+ "post": {
+ "operationId": "searchRoles",
+ "description": "\n Version: 9.5.0.cl or later\n\nGets a list of Role objects from the ThoughtSpot system.\n\nAvailable if [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance. To search for Roles, the `ROLE_ADMINISTRATION` (**Can manage roles**) privilege is required.\n\nTo get details of a specific Role object, specify the GUID or name. You can also filter the API response based on user group and Org identifiers, privileges assigned to the Role, and deprecation status.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Roles",
+ "9.5.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "role_identifiers": {
+ "description": "unique ID or name of the Roles",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "org_identifiers": {
+ "description": "Unique Id or name of the Organisation",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "group_identifiers": {
+ "description": "Unique Id or name of the User Group",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "privileges": {
+ "description": "Privileges assigned to the Role. See [Documentation](https://developers.thoughtspot.com/docs/rbac#_role_categories_and_privileges)for supported roles privileges.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "UNKNOWN",
+ "ADMINISTRATION",
+ "AUTHORING",
+ "USERDATAUPLOADING",
+ "DATADOWNLOADING",
+ "USERMANAGEMENT",
+ "SECURITYMANAGEMENT",
+ "LOGICALMODELING",
+ "DATAMANAGEMENT",
+ "TAGMANAGEMENT",
+ "SHAREWITHALL",
+ "SYSTEMMANAGEMENT",
+ "JOBSCHEDULING",
+ "A3ANALYSIS",
+ "EXPERIMENTALFEATUREPRIVILEGE",
+ "BYPASSRLS",
+ "RANALYSIS",
+ "DISABLE_PINBOARD_CREATION",
+ "DEVELOPER",
+ "APPLICATION_ADMINISTRATION",
+ "USER_ADMINISTRATION",
+ "GROUP_ADMINISTRATION",
+ "BACKUP_ADMINISTRATION",
+ "SYSTEM_INFO_ADMINISTRATION",
+ "ENABLESPOTAPPCREATION",
+ "SYNCMANAGEMENT",
+ "ORG_ADMINISTRATION",
+ "ROLE_ADMINISTRATION",
+ "AUTHENTICATION_ADMINISTRATION",
+ "BILLING_INFO_ADMINISTRATION",
+ "PREVIEW_THOUGHTSPOT_SAGE",
+ "LIVEBOARD_VERIFIER",
+ "CAN_MANAGE_CUSTOM_CALENDAR",
+ "CAN_CREATE_OR_EDIT_CONNECTIONS",
+ "CAN_CONFIGURE_CONNECTIONS",
+ "CAN_MANAGE_WORKSHEET_VIEWS_TABLES",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "CONTROL_TRUSTED_AUTH",
+ "CAN_CREATE_CATALOG",
+ "ALLOW_NON_EMBED_FULL_APP_ACCESS",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "CAN_SETUP_VERSION_CONTROL"
+ ]
+ }
+ },
+ "deprecated": {
+ "description": "Indicates whether the Role is deprecated.",
+ "type": "boolean",
+ "deprecated": true,
+ "nullable": true
+ },
+ "external": {
+ "description": "Indicates whether the Role is external",
+ "type": "boolean",
+ "deprecated": true,
+ "nullable": true
+ },
+ "shared_via_connection": {
+ "description": "Indicates whether the Role is shared via connection",
+ "type": "boolean",
+ "deprecated": true,
+ "nullable": true
+ },
+ "permissions": {
+ "description": "Permission details of the Role",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "READ_ONLY",
+ "MODIFY",
+ "NO_ACCESS"
+ ]
+ },
+ "deprecated": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Roles search result.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SearchRoleResponse"
+ }
+ }
+ }
+ }
+ },
+ "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": "Internal error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/roles/{role_identifier}/update": {
+ "post": {
+ "operationId": "updateRole",
+ "description": "\n Version: 9.5.0.cl or later\n\nUpdates the properties of a Role object.\n\nAvailable only if [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance. To update a Role, the `ROLE_ADMINISTRATION` (**Can manage roles**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Roles",
+ "9.5.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the Role.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the Role.",
+ "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.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "USERDATAUPLOADING",
+ "DATADOWNLOADING",
+ "DATAMANAGEMENT",
+ "SHAREWITHALL",
+ "JOBSCHEDULING",
+ "A3ANALYSIS",
+ "BYPASSRLS",
+ "DISABLE_PINBOARD_CREATION",
+ "DEVELOPER",
+ "APPLICATION_ADMINISTRATION",
+ "USER_ADMINISTRATION",
+ "GROUP_ADMINISTRATION",
+ "SYSTEM_INFO_ADMINISTRATION",
+ "SYNCMANAGEMENT",
+ "ORG_ADMINISTRATION",
+ "ROLE_ADMINISTRATION",
+ "AUTHENTICATION_ADMINISTRATION",
+ "BILLING_INFO_ADMINISTRATION",
+ "CONTROL_TRUSTED_AUTH",
+ "TAGMANAGEMENT",
+ "LIVEBOARD_VERIFIER",
+ "CAN_MANAGE_CUSTOM_CALENDAR",
+ "CAN_CREATE_OR_EDIT_CONNECTIONS",
+ "CAN_MANAGE_WORKSHEET_VIEWS_TABLES",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "CAN_CREATE_CATALOG",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "PREVIEW_THOUGHTSPOT_SAGE"
+ ]
+ }
+ }
+ },
+ "required": [
+ "name"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "role_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the Role."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Role successfully updated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RoleResponse"
+ }
+ }
+ }
+ },
+ "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/schedules/create": {
+ "post": {
+ "operationId": "createSchedule",
+ "description": "\nCreate schedule.
Version: 9.4.0.cl or later\n\nCreates a Liveboard schedule job.\n\nRequires at least edit access to Liveboards. To create a schedule on behalf of another user, you need `ADMINISTRATION` (**Can administer Org**) or `JOBSCHEDULING` (**Can schedule for others**) privilege and edit access to the Liveboard.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `JOBSCHEDULING` (**Can schedule for others**) privilege is required.\n\n#### Usage guidelines\n\n* The description text is mandatory. The description text appears as **Description: ** in the Liveboard schedule email notifications.\n* For Liveboards with both charts and tables, schedule creation is only supported in PDF and XLS formats. Schedules created in CSV formats for such Liveboards will fail to run. If `PDF` is set as the `file_format`, enable `pdf_options` to get the correct attachment. Not doing so may cause the attachment to be rendered empty.\n* To include only specific visualizations, specify the visualization GUIDs in the `visualization_identifiers` array.\n* You can schedule a Liveboard job to run periodically by setting frequency parameters. You can set the schedule to run daily, weekly, monthly or every n minutes or hours. The scheduled job can also be configured to run at a specific time of the day or on specific days of the week or month. Please ensure that when setting the schedule frequency for _minute of the object_, only values that are multiples of 5 are included.\n* If the `frequency` parameters are defined, you can set the time zone to a value that matches your server's time zone. For example, `US/Central`, `Etc/UTC`, `CET`. The default time zone is `America/Los_Angeles`.\n\nFor more information about Liveboard jobs, see [ThoughtSpot Product Documentation](https://docs.thoughtspot.com/cloud/latest/liveboard-schedule).\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Schedules",
+ "9.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the scheduled job.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the job.",
+ "type": "string"
+ },
+ "metadata_type": {
+ "description": "Type of the metadata object.",
+ "type": "string",
+ "enum": [
+ "LIVEBOARD"
+ ]
+ },
+ "metadata_identifier": {
+ "description": "Unique ID or name of the metadata object.",
+ "type": "string"
+ },
+ "file_format": {
+ "description": "Export file format.",
+ "default": "PDF",
+ "type": "string",
+ "enum": [
+ "CSV",
+ "PDF",
+ "XLSX"
+ ]
+ },
+ "liveboard_options": {
+ "description": "Options to specify details of Liveboard.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/LiveboardOptionsInput"
+ }
+ ]
+ },
+ "pdf_options": {
+ "description": "PDF layout and orientation settings. Applicable only if the `file_format` is specified as `PDF`.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SchedulesPdfOptionsInput"
+ }
+ ]
+ },
+ "time_zone": {
+ "description": "Time zone",
+ "default": "America/Los_Angeles",
+ "type": "string",
+ "enum": [
+ "Africa/Abidjan",
+ "Africa/Accra",
+ "Africa/Addis_Ababa",
+ "Africa/Algiers",
+ "Africa/Asmara",
+ "Africa/Asmera",
+ "Africa/Bamako",
+ "Africa/Bangui",
+ "Africa/Banjul",
+ "Africa/Bissau",
+ "Africa/Blantyre",
+ "Africa/Brazzaville",
+ "Africa/Bujumbura",
+ "Africa/Cairo",
+ "Africa/Casablanca",
+ "Africa/Ceuta",
+ "Africa/Conakry",
+ "Africa/Dakar",
+ "Africa/Dar_es_Salaam",
+ "Africa/Djibouti",
+ "Africa/Douala",
+ "Africa/El_Aaiun",
+ "Africa/Freetown",
+ "Africa/Gaborone",
+ "Africa/Harare",
+ "Africa/Johannesburg",
+ "Africa/Juba",
+ "Africa/Kampala",
+ "Africa/Khartoum",
+ "Africa/Kigali",
+ "Africa/Kinshasa",
+ "Africa/Lagos",
+ "Africa/Libreville",
+ "Africa/Lome",
+ "Africa/Luanda",
+ "Africa/Lubumbashi",
+ "Africa/Lusaka",
+ "Africa/Malabo",
+ "Africa/Maputo",
+ "Africa/Maseru",
+ "Africa/Mbabane",
+ "Africa/Mogadishu",
+ "Africa/Monrovia",
+ "Africa/Nairobi",
+ "Africa/Ndjamena",
+ "Africa/Niamey",
+ "Africa/Nouakchott",
+ "Africa/Ouagadougou",
+ "Africa/Porto-Novo",
+ "Africa/Sao_Tome",
+ "Africa/Timbuktu",
+ "Africa/Tripoli",
+ "Africa/Tunis",
+ "Africa/Windhoek",
+ "America/Adak",
+ "America/Anchorage",
+ "America/Anguilla",
+ "America/Antigua",
+ "America/Araguaina",
+ "America/Argentina/Buenos_Aires",
+ "America/Argentina/Catamarca",
+ "America/Argentina/ComodRivadavia",
+ "America/Argentina/Cordoba",
+ "America/Argentina/Jujuy",
+ "America/Argentina/La_Rioja",
+ "America/Argentina/Mendoza",
+ "America/Argentina/Rio_Gallegos",
+ "America/Argentina/Salta",
+ "America/Argentina/San_Juan",
+ "America/Argentina/San_Luis",
+ "America/Argentina/Tucuman",
+ "America/Argentina/Ushuaia",
+ "America/Aruba",
+ "America/Asuncion",
+ "America/Atikokan",
+ "America/Atka",
+ "America/Bahia",
+ "America/Bahia_Banderas",
+ "America/Barbados",
+ "America/Belem",
+ "America/Belize",
+ "America/Blanc-Sablon",
+ "America/Boa_Vista",
+ "America/Bogota",
+ "America/Boise",
+ "America/Buenos_Aires",
+ "America/Cambridge_Bay",
+ "America/Campo_Grande",
+ "America/Cancun",
+ "America/Caracas",
+ "America/Catamarca",
+ "America/Cayenne",
+ "America/Cayman",
+ "America/Chicago",
+ "America/Chihuahua",
+ "America/Coral_Harbour",
+ "America/Cordoba",
+ "America/Costa_Rica",
+ "America/Creston",
+ "America/Cuiaba",
+ "America/Curacao",
+ "America/Danmarkshavn",
+ "America/Dawson",
+ "America/Dawson_Creek",
+ "America/Denver",
+ "America/Detroit",
+ "America/Dominica",
+ "America/Edmonton",
+ "America/Eirunepe",
+ "America/El_Salvador",
+ "America/Ensenada",
+ "America/Fort_Nelson",
+ "America/Fort_Wayne",
+ "America/Fortaleza",
+ "America/Glace_Bay",
+ "America/Godthab",
+ "America/Goose_Bay",
+ "America/Grand_Turk",
+ "America/Grenada",
+ "America/Guadeloupe",
+ "America/Guatemala",
+ "America/Guayaquil",
+ "America/Guyana",
+ "America/Halifax",
+ "America/Havana",
+ "America/Hermosillo",
+ "America/Indiana/Indianapolis",
+ "America/Indiana/Knox",
+ "America/Indiana/Marengo",
+ "America/Indiana/Petersburg",
+ "America/Indiana/Tell_City",
+ "America/Indiana/Vevay",
+ "America/Indiana/Vincennes",
+ "America/Indiana/Winamac",
+ "America/Indianapolis",
+ "America/Inuvik",
+ "America/Iqaluit",
+ "America/Jamaica",
+ "America/Jujuy",
+ "America/Juneau",
+ "America/Kentucky/Louisville",
+ "America/Kentucky/Monticello",
+ "America/Knox_IN",
+ "America/Kralendijk",
+ "America/La_Paz",
+ "America/Lima",
+ "America/Los_Angeles",
+ "America/Louisville",
+ "America/Lower_Princes",
+ "America/Maceio",
+ "America/Managua",
+ "America/Manaus",
+ "America/Marigot",
+ "America/Martinique",
+ "America/Matamoros",
+ "America/Mazatlan",
+ "America/Mendoza",
+ "America/Menominee",
+ "America/Merida",
+ "America/Metlakatla",
+ "America/Mexico_City",
+ "America/Miquelon",
+ "America/Moncton",
+ "America/Monterrey",
+ "America/Montevideo",
+ "America/Montreal",
+ "America/Montserrat",
+ "America/Nassau",
+ "America/New_York",
+ "America/Nipigon",
+ "America/Nome",
+ "America/Noronha",
+ "America/North_Dakota/Beulah",
+ "America/North_Dakota/Center",
+ "America/North_Dakota/New_Salem",
+ "America/Nuuk",
+ "America/Ojinaga",
+ "America/Panama",
+ "America/Pangnirtung",
+ "America/Paramaribo",
+ "America/Phoenix",
+ "America/Port-au-Prince",
+ "America/Port_of_Spain",
+ "America/Porto_Acre",
+ "America/Porto_Velho",
+ "America/Puerto_Rico",
+ "America/Punta_Arenas",
+ "America/Rainy_River",
+ "America/Rankin_Inlet",
+ "America/Recife",
+ "America/Regina",
+ "America/Resolute",
+ "America/Rio_Branco",
+ "America/Rosario",
+ "America/Santa_Isabel",
+ "America/Santarem",
+ "America/Santiago",
+ "America/Santo_Domingo",
+ "America/Sao_Paulo",
+ "America/Scoresbysund",
+ "America/Shiprock",
+ "America/Sitka",
+ "America/St_Barthelemy",
+ "America/St_Johns",
+ "America/St_Kitts",
+ "America/St_Lucia",
+ "America/St_Thomas",
+ "America/St_Vincent",
+ "America/Swift_Current",
+ "America/Tegucigalpa",
+ "America/Thule",
+ "America/Thunder_Bay",
+ "America/Tijuana",
+ "America/Toronto",
+ "America/Tortola",
+ "America/Vancouver",
+ "America/Virgin",
+ "America/Whitehorse",
+ "America/Winnipeg",
+ "America/Yakutat",
+ "America/Yellowknife",
+ "Antarctica/Casey",
+ "Antarctica/Davis",
+ "Antarctica/DumontDUrville",
+ "Antarctica/Macquarie",
+ "Antarctica/Mawson",
+ "Antarctica/McMurdo",
+ "Antarctica/Palmer",
+ "Antarctica/Rothera",
+ "Antarctica/South_Pole",
+ "Antarctica/Syowa",
+ "Antarctica/Troll",
+ "Antarctica/Vostok",
+ "Arctic/Longyearbyen",
+ "Asia/Aden",
+ "Asia/Almaty",
+ "Asia/Amman",
+ "Asia/Anadyr",
+ "Asia/Aqtau",
+ "Asia/Aqtobe",
+ "Asia/Ashgabat",
+ "Asia/Ashkhabad",
+ "Asia/Atyrau",
+ "Asia/Baghdad",
+ "Asia/Bahrain",
+ "Asia/Baku",
+ "Asia/Bangkok",
+ "Asia/Barnaul",
+ "Asia/Beirut",
+ "Asia/Bishkek",
+ "Asia/Brunei",
+ "Asia/Calcutta",
+ "Asia/Chita",
+ "Asia/Choibalsan",
+ "Asia/Chongqing",
+ "Asia/Chungking",
+ "Asia/Colombo",
+ "Asia/Dacca",
+ "Asia/Damascus",
+ "Asia/Dhaka",
+ "Asia/Dili",
+ "Asia/Dubai",
+ "Asia/Dushanbe",
+ "Asia/Famagusta",
+ "Asia/Gaza",
+ "Asia/Harbin",
+ "Asia/Hebron",
+ "Asia/Ho_Chi_Minh",
+ "Asia/Hong_Kong",
+ "Asia/Hovd",
+ "Asia/Irkutsk",
+ "Asia/Istanbul",
+ "Asia/Jakarta",
+ "Asia/Jayapura",
+ "Asia/Jerusalem",
+ "Asia/Kabul",
+ "Asia/Kamchatka",
+ "Asia/Karachi",
+ "Asia/Kashgar",
+ "Asia/Kathmandu",
+ "Asia/Katmandu",
+ "Asia/Khandyga",
+ "Asia/Kolkata",
+ "Asia/Krasnoyarsk",
+ "Asia/Kuala_Lumpur",
+ "Asia/Kuching",
+ "Asia/Kuwait",
+ "Asia/Macao",
+ "Asia/Macau",
+ "Asia/Magadan",
+ "Asia/Makassar",
+ "Asia/Manila",
+ "Asia/Muscat",
+ "Asia/Nicosia",
+ "Asia/Novokuznetsk",
+ "Asia/Novosibirsk",
+ "Asia/Omsk",
+ "Asia/Oral",
+ "Asia/Phnom_Penh",
+ "Asia/Pontianak",
+ "Asia/Pyongyang",
+ "Asia/Qatar",
+ "Asia/Qostanay",
+ "Asia/Qyzylorda",
+ "Asia/Rangoon",
+ "Asia/Riyadh",
+ "Asia/Saigon",
+ "Asia/Sakhalin",
+ "Asia/Samarkand",
+ "Asia/Seoul",
+ "Asia/Shanghai",
+ "Asia/Singapore",
+ "Asia/Srednekolymsk",
+ "Asia/Taipei",
+ "Asia/Tashkent",
+ "Asia/Tbilisi",
+ "Asia/Tehran",
+ "Asia/Tel_Aviv",
+ "Asia/Thimbu",
+ "Asia/Thimphu",
+ "Asia/Tokyo",
+ "Asia/Tomsk",
+ "Asia/Ujung_Pandang",
+ "Asia/Ulaanbaatar",
+ "Asia/Ulan_Bator",
+ "Asia/Urumqi",
+ "Asia/Ust-Nera",
+ "Asia/Vientiane",
+ "Asia/Vladivostok",
+ "Asia/Yakutsk",
+ "Asia/Yangon",
+ "Asia/Yekaterinburg",
+ "Asia/Yerevan",
+ "Atlantic/Azores",
+ "Atlantic/Bermuda",
+ "Atlantic/Canary",
+ "Atlantic/Cape_Verde",
+ "Atlantic/Faeroe",
+ "Atlantic/Faroe",
+ "Atlantic/Jan_Mayen",
+ "Atlantic/Madeira",
+ "Atlantic/Reykjavik",
+ "Atlantic/South_Georgia",
+ "Atlantic/St_Helena",
+ "Atlantic/Stanley",
+ "Australia/ACT",
+ "Australia/Adelaide",
+ "Australia/Brisbane",
+ "Australia/Broken_Hill",
+ "Australia/Canberra",
+ "Australia/Currie",
+ "Australia/Darwin",
+ "Australia/Eucla",
+ "Australia/Hobart",
+ "Australia/LHI",
+ "Australia/Lindeman",
+ "Australia/Lord_Howe",
+ "Australia/Melbourne",
+ "Australia/NSW",
+ "Australia/North",
+ "Australia/Perth",
+ "Australia/Queensland",
+ "Australia/South",
+ "Australia/Sydney",
+ "Australia/Tasmania",
+ "Australia/Victoria",
+ "Australia/West",
+ "Australia/Yancowinna",
+ "Brazil/Acre",
+ "Brazil/DeNoronha",
+ "Brazil/East",
+ "Brazil/West",
+ "CET",
+ "CST6CDT",
+ "Canada/Atlantic",
+ "Canada/Central",
+ "Canada/Eastern",
+ "Canada/Mountain",
+ "Canada/Newfoundland",
+ "Canada/Pacific",
+ "Canada/Saskatchewan",
+ "Canada/Yukon",
+ "Chile/Continental",
+ "Chile/EasterIsland",
+ "Cuba",
+ "EET",
+ "EST5EDT",
+ "Egypt",
+ "Eire",
+ "Etc/GMT",
+ "Etc/GMT+0",
+ "Etc/GMT+1",
+ "Etc/GMT+10",
+ "Etc/GMT+11",
+ "Etc/GMT+12",
+ "Etc/GMT+2",
+ "Etc/GMT+3",
+ "Etc/GMT+4",
+ "Etc/GMT+5",
+ "Etc/GMT+6",
+ "Etc/GMT+7",
+ "Etc/GMT+8",
+ "Etc/GMT+9",
+ "Etc/GMT-0",
+ "Etc/GMT-1",
+ "Etc/GMT-10",
+ "Etc/GMT-11",
+ "Etc/GMT-12",
+ "Etc/GMT-13",
+ "Etc/GMT-14",
+ "Etc/GMT-2",
+ "Etc/GMT-3",
+ "Etc/GMT-4",
+ "Etc/GMT-5",
+ "Etc/GMT-6",
+ "Etc/GMT-7",
+ "Etc/GMT-8",
+ "Etc/GMT-9",
+ "Etc/GMT0",
+ "Etc/Greenwich",
+ "Etc/UCT",
+ "Etc/UTC",
+ "Etc/Universal",
+ "Etc/Zulu",
+ "Europe/Amsterdam",
+ "Europe/Andorra",
+ "Europe/Astrakhan",
+ "Europe/Athens",
+ "Europe/Belfast",
+ "Europe/Belgrade",
+ "Europe/Berlin",
+ "Europe/Bratislava",
+ "Europe/Brussels",
+ "Europe/Bucharest",
+ "Europe/Budapest",
+ "Europe/Busingen",
+ "Europe/Chisinau",
+ "Europe/Copenhagen",
+ "Europe/Dublin",
+ "Europe/Gibraltar",
+ "Europe/Guernsey",
+ "Europe/Helsinki",
+ "Europe/Isle_of_Man",
+ "Europe/Istanbul",
+ "Europe/Jersey",
+ "Europe/Kaliningrad",
+ "Europe/Kiev",
+ "Europe/Kirov",
+ "Europe/Kyiv",
+ "Europe/Lisbon",
+ "Europe/Ljubljana",
+ "Europe/London",
+ "Europe/Luxembourg",
+ "Europe/Madrid",
+ "Europe/Malta",
+ "Europe/Mariehamn",
+ "Europe/Minsk",
+ "Europe/Monaco",
+ "Europe/Moscow",
+ "Europe/Nicosia",
+ "Europe/Oslo",
+ "Europe/Paris",
+ "Europe/Podgorica",
+ "Europe/Prague",
+ "Europe/Riga",
+ "Europe/Rome",
+ "Europe/Samara",
+ "Europe/San_Marino",
+ "Europe/Sarajevo",
+ "Europe/Saratov",
+ "Europe/Simferopol",
+ "Europe/Skopje",
+ "Europe/Sofia",
+ "Europe/Stockholm",
+ "Europe/Tallinn",
+ "Europe/Tirane",
+ "Europe/Tiraspol",
+ "Europe/Ulyanovsk",
+ "Europe/Uzhgorod",
+ "Europe/Vaduz",
+ "Europe/Vatican",
+ "Europe/Vienna",
+ "Europe/Vilnius",
+ "Europe/Volgograd",
+ "Europe/Warsaw",
+ "Europe/Zagreb",
+ "Europe/Zaporozhye",
+ "Europe/Zurich",
+ "GB",
+ "GB-Eire",
+ "GMT",
+ "GMT0",
+ "Greenwich",
+ "Hongkong",
+ "Iceland",
+ "Indian/Antananarivo",
+ "Indian/Chagos",
+ "Indian/Christmas",
+ "Indian/Cocos",
+ "Indian/Comoro",
+ "Indian/Kerguelen",
+ "Indian/Mahe",
+ "Indian/Maldives",
+ "Indian/Mauritius",
+ "Indian/Mayotte",
+ "Indian/Reunion",
+ "Iran",
+ "Israel",
+ "Jamaica",
+ "Japan",
+ "Kwajalein",
+ "Libya",
+ "MET",
+ "MST7MDT",
+ "Mexico/BajaNorte",
+ "Mexico/BajaSur",
+ "Mexico/General",
+ "NZ",
+ "NZ-CHAT",
+ "Navajo",
+ "PRC",
+ "PST8PDT",
+ "Pacific/Apia",
+ "Pacific/Auckland",
+ "Pacific/Bougainville",
+ "Pacific/Chatham",
+ "Pacific/Chuuk",
+ "Pacific/Easter",
+ "Pacific/Efate",
+ "Pacific/Enderbury",
+ "Pacific/Fakaofo",
+ "Pacific/Fiji",
+ "Pacific/Funafuti",
+ "Pacific/Galapagos",
+ "Pacific/Gambier",
+ "Pacific/Guadalcanal",
+ "Pacific/Guam",
+ "Pacific/Honolulu",
+ "Pacific/Johnston",
+ "Pacific/Kanton",
+ "Pacific/Kiritimati",
+ "Pacific/Kosrae",
+ "Pacific/Kwajalein",
+ "Pacific/Majuro",
+ "Pacific/Marquesas",
+ "Pacific/Midway",
+ "Pacific/Nauru",
+ "Pacific/Niue",
+ "Pacific/Norfolk",
+ "Pacific/Noumea",
+ "Pacific/Pago_Pago",
+ "Pacific/Palau",
+ "Pacific/Pitcairn",
+ "Pacific/Pohnpei",
+ "Pacific/Ponape",
+ "Pacific/Port_Moresby",
+ "Pacific/Rarotonga",
+ "Pacific/Saipan",
+ "Pacific/Samoa",
+ "Pacific/Tahiti",
+ "Pacific/Tarawa",
+ "Pacific/Tongatapu",
+ "Pacific/Truk",
+ "Pacific/Wake",
+ "Pacific/Wallis",
+ "Pacific/Yap",
+ "Poland",
+ "Portugal",
+ "ROK",
+ "Singapore",
+ "SystemV/AST4",
+ "SystemV/AST4ADT",
+ "SystemV/CST6",
+ "SystemV/CST6CDT",
+ "SystemV/EST5",
+ "SystemV/EST5EDT",
+ "SystemV/HST10",
+ "SystemV/MST7",
+ "SystemV/MST7MDT",
+ "SystemV/PST8",
+ "SystemV/PST8PDT",
+ "SystemV/YST9",
+ "SystemV/YST9YDT",
+ "Turkey",
+ "UCT",
+ "US/Alaska",
+ "US/Aleutian",
+ "US/Arizona",
+ "US/Central",
+ "US/East-Indiana",
+ "US/Eastern",
+ "US/Hawaii",
+ "US/Indiana-Starke",
+ "US/Michigan",
+ "US/Mountain",
+ "US/Pacific",
+ "US/Samoa",
+ "UTC",
+ "Universal",
+ "W-SU",
+ "WET",
+ "Zulu",
+ "EST",
+ "HST",
+ "MST",
+ "ACT",
+ "AET",
+ "AGT",
+ "ART",
+ "AST",
+ "BET",
+ "BST",
+ "CAT",
+ "CNT",
+ "CST",
+ "CTT",
+ "EAT",
+ "ECT",
+ "IET",
+ "IST",
+ "JST",
+ "MIT",
+ "NET",
+ "NST",
+ "PLT",
+ "PNT",
+ "PRT",
+ "PST",
+ "SST",
+ "VST"
+ ]
+ },
+ "frequency": {
+ "description": "Frequency settings for the scheduled job.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/FrequencyInput"
+ }
+ ]
+ },
+ "recipient_details": {
+ "description": "Recipients of the scheduled job notifications. Add the GUID or name of the ThoughtSpot users or groups as recipients in the `principals` array. If a recipient is not a ThoughtSpot user, specify email address.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/RecipientDetailsInput"
+ }
+ ]
+ },
+ "personalised_view_id": {
+ "description": "Personalised view id of the liveboard to be scheduled.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "description",
+ "metadata_type",
+ "metadata_identifier",
+ "time_zone",
+ "recipient_details"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Schedule successfully created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseSchedule"
+ }
+ }
+ }
+ },
+ "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/schedules/{schedule_identifier}/delete": {
+ "post": {
+ "operationId": "deleteSchedule",
+ "description": "\nDeletes a scheduled job.
Version: 9.4.0.cl or later\n\nDeletes a scheduled Liveboard job.\n\nRequires at least edit access to Liveboard or `ADMINISTRATION` (**Can administer Org**) privilege. \nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `JOBSCHEDULING` (**Can schedule for others**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Schedules",
+ "9.4.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "schedule_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the scheduled job."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Schedule successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/schedules/search": {
+ "post": {
+ "operationId": "searchSchedules",
+ "description": "\nSearch Schedules
Version: 9.4.0.cl or later\n\nGets a list of scheduled jobs configured for a Liveboard.\n\nTo get details of a specific scheduled job, specify the name or GUID of the scheduled job.\n\nRequires at least view access to Liveboards.\n\n**NOTE**: When filtering schedules by parameters other than `metadata`, set `record_size` to `-1` and `record_offset` to `0` for accurate results.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Schedules",
+ "9.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects associated with the scheduled jobs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/MetadataInput"
+ }
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "sort_options": {
+ "description": "Sort options.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SortingOptions"
+ }
+ ]
+ },
+ "history_runs_options": {
+ "description": "Options while fetching history runs for the schedule.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ScheduleHistoryRunsOptionsInput"
+ }
+ ]
+ },
+ "schedule_identifiers": {
+ "description": "unique ID or name of the Schedule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Schedule search result.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ResponseSchedule"
+ }
+ }
+ }
+ }
+ },
+ "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/schedules/{schedule_identifier}/update": {
+ "post": {
+ "operationId": "updateSchedule",
+ "description": "\nUpdate schedule.
Version: 9.4.0.cl or later\n\nUpdates a scheduled Liveboard job.\n\nRequires at least edit access to Liveboards. To update a schedule on behalf of another user, you need `ADMINISTRATION` (**Can administer Org**) or `JOBSCHEDULING` (**Can schedule for others**) privilege and edit access to the Liveboard.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `JOBSCHEDULING` (**Can schedule for others**) privilege is required.\n\nThe API endpoint allows you to pause a scheduled job, change the status of a paused job. You can also edit the recipients list, frequency of the job, format of the file to send to the recipients in email notifications, PDF options, and time zone setting.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Schedules",
+ "9.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the scheduled job.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the scheduled job.",
+ "type": "string"
+ },
+ "metadata_type": {
+ "description": "Type of metadata object.",
+ "type": "string",
+ "enum": [
+ "LIVEBOARD"
+ ]
+ },
+ "metadata_identifier": {
+ "description": "Unique ID or name of the metadata object.",
+ "type": "string"
+ },
+ "file_format": {
+ "description": "Export file format.",
+ "type": "string",
+ "enum": [
+ "CSV",
+ "PDF",
+ "XLSX"
+ ]
+ },
+ "liveboard_options": {
+ "description": "Options to specify the details of a Liveboard.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/LiveboardOptionsInput"
+ }
+ ]
+ },
+ "pdf_options": {
+ "description": "Options for PDF export.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SchedulesPdfOptionsInput"
+ }
+ ]
+ },
+ "time_zone": {
+ "description": "Time zone",
+ "type": "string",
+ "enum": [
+ "Africa/Abidjan",
+ "Africa/Accra",
+ "Africa/Addis_Ababa",
+ "Africa/Algiers",
+ "Africa/Asmara",
+ "Africa/Asmera",
+ "Africa/Bamako",
+ "Africa/Bangui",
+ "Africa/Banjul",
+ "Africa/Bissau",
+ "Africa/Blantyre",
+ "Africa/Brazzaville",
+ "Africa/Bujumbura",
+ "Africa/Cairo",
+ "Africa/Casablanca",
+ "Africa/Ceuta",
+ "Africa/Conakry",
+ "Africa/Dakar",
+ "Africa/Dar_es_Salaam",
+ "Africa/Djibouti",
+ "Africa/Douala",
+ "Africa/El_Aaiun",
+ "Africa/Freetown",
+ "Africa/Gaborone",
+ "Africa/Harare",
+ "Africa/Johannesburg",
+ "Africa/Juba",
+ "Africa/Kampala",
+ "Africa/Khartoum",
+ "Africa/Kigali",
+ "Africa/Kinshasa",
+ "Africa/Lagos",
+ "Africa/Libreville",
+ "Africa/Lome",
+ "Africa/Luanda",
+ "Africa/Lubumbashi",
+ "Africa/Lusaka",
+ "Africa/Malabo",
+ "Africa/Maputo",
+ "Africa/Maseru",
+ "Africa/Mbabane",
+ "Africa/Mogadishu",
+ "Africa/Monrovia",
+ "Africa/Nairobi",
+ "Africa/Ndjamena",
+ "Africa/Niamey",
+ "Africa/Nouakchott",
+ "Africa/Ouagadougou",
+ "Africa/Porto-Novo",
+ "Africa/Sao_Tome",
+ "Africa/Timbuktu",
+ "Africa/Tripoli",
+ "Africa/Tunis",
+ "Africa/Windhoek",
+ "America/Adak",
+ "America/Anchorage",
+ "America/Anguilla",
+ "America/Antigua",
+ "America/Araguaina",
+ "America/Argentina/Buenos_Aires",
+ "America/Argentina/Catamarca",
+ "America/Argentina/ComodRivadavia",
+ "America/Argentina/Cordoba",
+ "America/Argentina/Jujuy",
+ "America/Argentina/La_Rioja",
+ "America/Argentina/Mendoza",
+ "America/Argentina/Rio_Gallegos",
+ "America/Argentina/Salta",
+ "America/Argentina/San_Juan",
+ "America/Argentina/San_Luis",
+ "America/Argentina/Tucuman",
+ "America/Argentina/Ushuaia",
+ "America/Aruba",
+ "America/Asuncion",
+ "America/Atikokan",
+ "America/Atka",
+ "America/Bahia",
+ "America/Bahia_Banderas",
+ "America/Barbados",
+ "America/Belem",
+ "America/Belize",
+ "America/Blanc-Sablon",
+ "America/Boa_Vista",
+ "America/Bogota",
+ "America/Boise",
+ "America/Buenos_Aires",
+ "America/Cambridge_Bay",
+ "America/Campo_Grande",
+ "America/Cancun",
+ "America/Caracas",
+ "America/Catamarca",
+ "America/Cayenne",
+ "America/Cayman",
+ "America/Chicago",
+ "America/Chihuahua",
+ "America/Coral_Harbour",
+ "America/Cordoba",
+ "America/Costa_Rica",
+ "America/Creston",
+ "America/Cuiaba",
+ "America/Curacao",
+ "America/Danmarkshavn",
+ "America/Dawson",
+ "America/Dawson_Creek",
+ "America/Denver",
+ "America/Detroit",
+ "America/Dominica",
+ "America/Edmonton",
+ "America/Eirunepe",
+ "America/El_Salvador",
+ "America/Ensenada",
+ "America/Fort_Nelson",
+ "America/Fort_Wayne",
+ "America/Fortaleza",
+ "America/Glace_Bay",
+ "America/Godthab",
+ "America/Goose_Bay",
+ "America/Grand_Turk",
+ "America/Grenada",
+ "America/Guadeloupe",
+ "America/Guatemala",
+ "America/Guayaquil",
+ "America/Guyana",
+ "America/Halifax",
+ "America/Havana",
+ "America/Hermosillo",
+ "America/Indiana/Indianapolis",
+ "America/Indiana/Knox",
+ "America/Indiana/Marengo",
+ "America/Indiana/Petersburg",
+ "America/Indiana/Tell_City",
+ "America/Indiana/Vevay",
+ "America/Indiana/Vincennes",
+ "America/Indiana/Winamac",
+ "America/Indianapolis",
+ "America/Inuvik",
+ "America/Iqaluit",
+ "America/Jamaica",
+ "America/Jujuy",
+ "America/Juneau",
+ "America/Kentucky/Louisville",
+ "America/Kentucky/Monticello",
+ "America/Knox_IN",
+ "America/Kralendijk",
+ "America/La_Paz",
+ "America/Lima",
+ "America/Los_Angeles",
+ "America/Louisville",
+ "America/Lower_Princes",
+ "America/Maceio",
+ "America/Managua",
+ "America/Manaus",
+ "America/Marigot",
+ "America/Martinique",
+ "America/Matamoros",
+ "America/Mazatlan",
+ "America/Mendoza",
+ "America/Menominee",
+ "America/Merida",
+ "America/Metlakatla",
+ "America/Mexico_City",
+ "America/Miquelon",
+ "America/Moncton",
+ "America/Monterrey",
+ "America/Montevideo",
+ "America/Montreal",
+ "America/Montserrat",
+ "America/Nassau",
+ "America/New_York",
+ "America/Nipigon",
+ "America/Nome",
+ "America/Noronha",
+ "America/North_Dakota/Beulah",
+ "America/North_Dakota/Center",
+ "America/North_Dakota/New_Salem",
+ "America/Nuuk",
+ "America/Ojinaga",
+ "America/Panama",
+ "America/Pangnirtung",
+ "America/Paramaribo",
+ "America/Phoenix",
+ "America/Port-au-Prince",
+ "America/Port_of_Spain",
+ "America/Porto_Acre",
+ "America/Porto_Velho",
+ "America/Puerto_Rico",
+ "America/Punta_Arenas",
+ "America/Rainy_River",
+ "America/Rankin_Inlet",
+ "America/Recife",
+ "America/Regina",
+ "America/Resolute",
+ "America/Rio_Branco",
+ "America/Rosario",
+ "America/Santa_Isabel",
+ "America/Santarem",
+ "America/Santiago",
+ "America/Santo_Domingo",
+ "America/Sao_Paulo",
+ "America/Scoresbysund",
+ "America/Shiprock",
+ "America/Sitka",
+ "America/St_Barthelemy",
+ "America/St_Johns",
+ "America/St_Kitts",
+ "America/St_Lucia",
+ "America/St_Thomas",
+ "America/St_Vincent",
+ "America/Swift_Current",
+ "America/Tegucigalpa",
+ "America/Thule",
+ "America/Thunder_Bay",
+ "America/Tijuana",
+ "America/Toronto",
+ "America/Tortola",
+ "America/Vancouver",
+ "America/Virgin",
+ "America/Whitehorse",
+ "America/Winnipeg",
+ "America/Yakutat",
+ "America/Yellowknife",
+ "Antarctica/Casey",
+ "Antarctica/Davis",
+ "Antarctica/DumontDUrville",
+ "Antarctica/Macquarie",
+ "Antarctica/Mawson",
+ "Antarctica/McMurdo",
+ "Antarctica/Palmer",
+ "Antarctica/Rothera",
+ "Antarctica/South_Pole",
+ "Antarctica/Syowa",
+ "Antarctica/Troll",
+ "Antarctica/Vostok",
+ "Arctic/Longyearbyen",
+ "Asia/Aden",
+ "Asia/Almaty",
+ "Asia/Amman",
+ "Asia/Anadyr",
+ "Asia/Aqtau",
+ "Asia/Aqtobe",
+ "Asia/Ashgabat",
+ "Asia/Ashkhabad",
+ "Asia/Atyrau",
+ "Asia/Baghdad",
+ "Asia/Bahrain",
+ "Asia/Baku",
+ "Asia/Bangkok",
+ "Asia/Barnaul",
+ "Asia/Beirut",
+ "Asia/Bishkek",
+ "Asia/Brunei",
+ "Asia/Calcutta",
+ "Asia/Chita",
+ "Asia/Choibalsan",
+ "Asia/Chongqing",
+ "Asia/Chungking",
+ "Asia/Colombo",
+ "Asia/Dacca",
+ "Asia/Damascus",
+ "Asia/Dhaka",
+ "Asia/Dili",
+ "Asia/Dubai",
+ "Asia/Dushanbe",
+ "Asia/Famagusta",
+ "Asia/Gaza",
+ "Asia/Harbin",
+ "Asia/Hebron",
+ "Asia/Ho_Chi_Minh",
+ "Asia/Hong_Kong",
+ "Asia/Hovd",
+ "Asia/Irkutsk",
+ "Asia/Istanbul",
+ "Asia/Jakarta",
+ "Asia/Jayapura",
+ "Asia/Jerusalem",
+ "Asia/Kabul",
+ "Asia/Kamchatka",
+ "Asia/Karachi",
+ "Asia/Kashgar",
+ "Asia/Kathmandu",
+ "Asia/Katmandu",
+ "Asia/Khandyga",
+ "Asia/Kolkata",
+ "Asia/Krasnoyarsk",
+ "Asia/Kuala_Lumpur",
+ "Asia/Kuching",
+ "Asia/Kuwait",
+ "Asia/Macao",
+ "Asia/Macau",
+ "Asia/Magadan",
+ "Asia/Makassar",
+ "Asia/Manila",
+ "Asia/Muscat",
+ "Asia/Nicosia",
+ "Asia/Novokuznetsk",
+ "Asia/Novosibirsk",
+ "Asia/Omsk",
+ "Asia/Oral",
+ "Asia/Phnom_Penh",
+ "Asia/Pontianak",
+ "Asia/Pyongyang",
+ "Asia/Qatar",
+ "Asia/Qostanay",
+ "Asia/Qyzylorda",
+ "Asia/Rangoon",
+ "Asia/Riyadh",
+ "Asia/Saigon",
+ "Asia/Sakhalin",
+ "Asia/Samarkand",
+ "Asia/Seoul",
+ "Asia/Shanghai",
+ "Asia/Singapore",
+ "Asia/Srednekolymsk",
+ "Asia/Taipei",
+ "Asia/Tashkent",
+ "Asia/Tbilisi",
+ "Asia/Tehran",
+ "Asia/Tel_Aviv",
+ "Asia/Thimbu",
+ "Asia/Thimphu",
+ "Asia/Tokyo",
+ "Asia/Tomsk",
+ "Asia/Ujung_Pandang",
+ "Asia/Ulaanbaatar",
+ "Asia/Ulan_Bator",
+ "Asia/Urumqi",
+ "Asia/Ust-Nera",
+ "Asia/Vientiane",
+ "Asia/Vladivostok",
+ "Asia/Yakutsk",
+ "Asia/Yangon",
+ "Asia/Yekaterinburg",
+ "Asia/Yerevan",
+ "Atlantic/Azores",
+ "Atlantic/Bermuda",
+ "Atlantic/Canary",
+ "Atlantic/Cape_Verde",
+ "Atlantic/Faeroe",
+ "Atlantic/Faroe",
+ "Atlantic/Jan_Mayen",
+ "Atlantic/Madeira",
+ "Atlantic/Reykjavik",
+ "Atlantic/South_Georgia",
+ "Atlantic/St_Helena",
+ "Atlantic/Stanley",
+ "Australia/ACT",
+ "Australia/Adelaide",
+ "Australia/Brisbane",
+ "Australia/Broken_Hill",
+ "Australia/Canberra",
+ "Australia/Currie",
+ "Australia/Darwin",
+ "Australia/Eucla",
+ "Australia/Hobart",
+ "Australia/LHI",
+ "Australia/Lindeman",
+ "Australia/Lord_Howe",
+ "Australia/Melbourne",
+ "Australia/NSW",
+ "Australia/North",
+ "Australia/Perth",
+ "Australia/Queensland",
+ "Australia/South",
+ "Australia/Sydney",
+ "Australia/Tasmania",
+ "Australia/Victoria",
+ "Australia/West",
+ "Australia/Yancowinna",
+ "Brazil/Acre",
+ "Brazil/DeNoronha",
+ "Brazil/East",
+ "Brazil/West",
+ "CET",
+ "CST6CDT",
+ "Canada/Atlantic",
+ "Canada/Central",
+ "Canada/Eastern",
+ "Canada/Mountain",
+ "Canada/Newfoundland",
+ "Canada/Pacific",
+ "Canada/Saskatchewan",
+ "Canada/Yukon",
+ "Chile/Continental",
+ "Chile/EasterIsland",
+ "Cuba",
+ "EET",
+ "EST5EDT",
+ "Egypt",
+ "Eire",
+ "Etc/GMT",
+ "Etc/GMT+0",
+ "Etc/GMT+1",
+ "Etc/GMT+10",
+ "Etc/GMT+11",
+ "Etc/GMT+12",
+ "Etc/GMT+2",
+ "Etc/GMT+3",
+ "Etc/GMT+4",
+ "Etc/GMT+5",
+ "Etc/GMT+6",
+ "Etc/GMT+7",
+ "Etc/GMT+8",
+ "Etc/GMT+9",
+ "Etc/GMT-0",
+ "Etc/GMT-1",
+ "Etc/GMT-10",
+ "Etc/GMT-11",
+ "Etc/GMT-12",
+ "Etc/GMT-13",
+ "Etc/GMT-14",
+ "Etc/GMT-2",
+ "Etc/GMT-3",
+ "Etc/GMT-4",
+ "Etc/GMT-5",
+ "Etc/GMT-6",
+ "Etc/GMT-7",
+ "Etc/GMT-8",
+ "Etc/GMT-9",
+ "Etc/GMT0",
+ "Etc/Greenwich",
+ "Etc/UCT",
+ "Etc/UTC",
+ "Etc/Universal",
+ "Etc/Zulu",
+ "Europe/Amsterdam",
+ "Europe/Andorra",
+ "Europe/Astrakhan",
+ "Europe/Athens",
+ "Europe/Belfast",
+ "Europe/Belgrade",
+ "Europe/Berlin",
+ "Europe/Bratislava",
+ "Europe/Brussels",
+ "Europe/Bucharest",
+ "Europe/Budapest",
+ "Europe/Busingen",
+ "Europe/Chisinau",
+ "Europe/Copenhagen",
+ "Europe/Dublin",
+ "Europe/Gibraltar",
+ "Europe/Guernsey",
+ "Europe/Helsinki",
+ "Europe/Isle_of_Man",
+ "Europe/Istanbul",
+ "Europe/Jersey",
+ "Europe/Kaliningrad",
+ "Europe/Kiev",
+ "Europe/Kirov",
+ "Europe/Kyiv",
+ "Europe/Lisbon",
+ "Europe/Ljubljana",
+ "Europe/London",
+ "Europe/Luxembourg",
+ "Europe/Madrid",
+ "Europe/Malta",
+ "Europe/Mariehamn",
+ "Europe/Minsk",
+ "Europe/Monaco",
+ "Europe/Moscow",
+ "Europe/Nicosia",
+ "Europe/Oslo",
+ "Europe/Paris",
+ "Europe/Podgorica",
+ "Europe/Prague",
+ "Europe/Riga",
+ "Europe/Rome",
+ "Europe/Samara",
+ "Europe/San_Marino",
+ "Europe/Sarajevo",
+ "Europe/Saratov",
+ "Europe/Simferopol",
+ "Europe/Skopje",
+ "Europe/Sofia",
+ "Europe/Stockholm",
+ "Europe/Tallinn",
+ "Europe/Tirane",
+ "Europe/Tiraspol",
+ "Europe/Ulyanovsk",
+ "Europe/Uzhgorod",
+ "Europe/Vaduz",
+ "Europe/Vatican",
+ "Europe/Vienna",
+ "Europe/Vilnius",
+ "Europe/Volgograd",
+ "Europe/Warsaw",
+ "Europe/Zagreb",
+ "Europe/Zaporozhye",
+ "Europe/Zurich",
+ "GB",
+ "GB-Eire",
+ "GMT",
+ "GMT0",
+ "Greenwich",
+ "Hongkong",
+ "Iceland",
+ "Indian/Antananarivo",
+ "Indian/Chagos",
+ "Indian/Christmas",
+ "Indian/Cocos",
+ "Indian/Comoro",
+ "Indian/Kerguelen",
+ "Indian/Mahe",
+ "Indian/Maldives",
+ "Indian/Mauritius",
+ "Indian/Mayotte",
+ "Indian/Reunion",
+ "Iran",
+ "Israel",
+ "Jamaica",
+ "Japan",
+ "Kwajalein",
+ "Libya",
+ "MET",
+ "MST7MDT",
+ "Mexico/BajaNorte",
+ "Mexico/BajaSur",
+ "Mexico/General",
+ "NZ",
+ "NZ-CHAT",
+ "Navajo",
+ "PRC",
+ "PST8PDT",
+ "Pacific/Apia",
+ "Pacific/Auckland",
+ "Pacific/Bougainville",
+ "Pacific/Chatham",
+ "Pacific/Chuuk",
+ "Pacific/Easter",
+ "Pacific/Efate",
+ "Pacific/Enderbury",
+ "Pacific/Fakaofo",
+ "Pacific/Fiji",
+ "Pacific/Funafuti",
+ "Pacific/Galapagos",
+ "Pacific/Gambier",
+ "Pacific/Guadalcanal",
+ "Pacific/Guam",
+ "Pacific/Honolulu",
+ "Pacific/Johnston",
+ "Pacific/Kanton",
+ "Pacific/Kiritimati",
+ "Pacific/Kosrae",
+ "Pacific/Kwajalein",
+ "Pacific/Majuro",
+ "Pacific/Marquesas",
+ "Pacific/Midway",
+ "Pacific/Nauru",
+ "Pacific/Niue",
+ "Pacific/Norfolk",
+ "Pacific/Noumea",
+ "Pacific/Pago_Pago",
+ "Pacific/Palau",
+ "Pacific/Pitcairn",
+ "Pacific/Pohnpei",
+ "Pacific/Ponape",
+ "Pacific/Port_Moresby",
+ "Pacific/Rarotonga",
+ "Pacific/Saipan",
+ "Pacific/Samoa",
+ "Pacific/Tahiti",
+ "Pacific/Tarawa",
+ "Pacific/Tongatapu",
+ "Pacific/Truk",
+ "Pacific/Wake",
+ "Pacific/Wallis",
+ "Pacific/Yap",
+ "Poland",
+ "Portugal",
+ "ROK",
+ "Singapore",
+ "SystemV/AST4",
+ "SystemV/AST4ADT",
+ "SystemV/CST6",
+ "SystemV/CST6CDT",
+ "SystemV/EST5",
+ "SystemV/EST5EDT",
+ "SystemV/HST10",
+ "SystemV/MST7",
+ "SystemV/MST7MDT",
+ "SystemV/PST8",
+ "SystemV/PST8PDT",
+ "SystemV/YST9",
+ "SystemV/YST9YDT",
+ "Turkey",
+ "UCT",
+ "US/Alaska",
+ "US/Aleutian",
+ "US/Arizona",
+ "US/Central",
+ "US/East-Indiana",
+ "US/Eastern",
+ "US/Hawaii",
+ "US/Indiana-Starke",
+ "US/Michigan",
+ "US/Mountain",
+ "US/Pacific",
+ "US/Samoa",
+ "UTC",
+ "Universal",
+ "W-SU",
+ "WET",
+ "Zulu",
+ "EST",
+ "HST",
+ "MST",
+ "ACT",
+ "AET",
+ "AGT",
+ "ART",
+ "AST",
+ "BET",
+ "BST",
+ "CAT",
+ "CNT",
+ "CST",
+ "CTT",
+ "EAT",
+ "ECT",
+ "IET",
+ "IST",
+ "JST",
+ "MIT",
+ "NET",
+ "NST",
+ "PLT",
+ "PNT",
+ "PRT",
+ "PST",
+ "SST",
+ "VST"
+ ]
+ },
+ "frequency": {
+ "description": "Frequency of the scheduled job run.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/FrequencyInput"
+ }
+ ]
+ },
+ "recipient_details": {
+ "description": "Recipients of the scheduled job notifications. You can add the ID or name of the ThoughtSpot users or groups as recipients in the `principals` array. If a recipient is not a ThoughtSpot user, specify email address.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/RecipientDetailsInput"
+ }
+ ]
+ },
+ "status": {
+ "description": "Status of the schedule",
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "PAUSE"
+ ]
+ },
+ "personalised_view_id": {
+ "description": "Personalised view id of the liveboard to be scheduled.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "schedule_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the schedule."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Schedule 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/security/metadata/assign": {
+ "post": {
+ "operationId": "assignChangeAuthor",
+ "description": "\n Version: 9.0.0.cl or later\n\nTransfers the ownership of one or several objects from one user to another.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `USER_ADMINISTRATION` (**Can manage users**) privilege and edit access to the objects are required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "GUID or name of the metadata object.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/AuthorMetadataTypeInput"
+ }
+ },
+ "user_identifier": {
+ "description": "GUID or name of the user who you want to assign as the author.",
+ "type": "string"
+ },
+ "current_owner_identifier": {
+ "description": "GUID or name of the current author. When defined, the metadata objects\nauthored by the specified owner are filtered for the API operation.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "metadata",
+ "user_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Author assignment for given metadata objects is successful."
+ },
+ "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/security/column/rules/fetch": {
+ "post": {
+ "operationId": "fetchColumnSecurityRules",
+ "description": "\nBeta Version: 10.12.0.cl or later\n\nFetches column security rules for specified tables.\n\nThis API endpoint retrieves column-level security rules configured for tables. It returns information about which columns are secured and which groups have access to those columns.\n\n#### Usage guidelines\n\n- Provide an array of table identifiers using either `identifier` (GUID or name) or `obj_identifier` (object ID)\n- At least one of `identifier` or `obj_identifier` must be provided for each table\n- The API returns column security rules for all specified tables\n- Users must have appropriate permissions to access security rules for the specified tables\n\n#### Required permissions\n\n- `ADMINISTRATION` - Can administer ThoughtSpot\n- `DATAMANAGEMENT` - Can manage data\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` - Can manage worksheet views and tables\n\n#### Example request\n\n```json\n{\n \"tables\": [\n {\n \"identifier\": \"table-guid\",\n \"obj_identifier\": \"table-object-id\"\n }\n ]\n}\n```\n\n#### Response format\n\nThe API returns an array of `ColumnSecurityRuleResponse` objects wrapped in a `data` field. Each `ColumnSecurityRuleResponse` object contains:\n- Table information (GUID and object ID) \n- Array of column security rules with column details, group access, and source table information\n\n#### Example response\n\n```json\n{\n \"data\": [\n {\n \"guid\": \"table-guid\",\n \"objId\": \"table-object-id\",\n \"columnSecurityRules\": [\n {\n \"column\": {\n \"id\": \"col_123\",\n \"name\": \"Salary\"\n },\n \"groups\": [\n {\n \"id\": \"group_1\",\n \"name\": \"HR Department\"\n }\n ],\n \"sourceTableDetails\": {\n \"id\": \"source-table-guid\",\n \"name\": \"Employee_Data\"\n }\n }\n ]\n }\n ]\n}\n```\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "tables": {
+ "description": "Array of table identifier objects for which to fetch column security rules",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnSecurityRuleTableInput"
+ }
+ }
+ },
+ "required": [
+ "tables"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successfully fetched column security rules",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnSecurityRuleResponse"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad request - Table not found or invalid parameters",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden - User doesn't have permission to access security rules for this table",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/security/principals/fetch-permissions": {
+ "post": {
+ "operationId": "fetchPermissionsOfPrincipals",
+ "description": "\n Version: 9.0.0.cl or later\n\nFetches object permission details for a given principal object such as a user and group.\n\nRequires view access to the metadata object. \n\n#### Usage guidelines\n\n* To get a list of all metadata objects that a user or group can access, specify the `type` and GUID or name of the principal.\n* To get permission details for a specific object, add the `type` and GUID or name of the metadata object to your API request.\n\nUpon successful execution, the API returns a list of metadata objects and permission details for each object. \n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "principals": {
+ "description": "GUID or name of the user or group.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PrincipalsInput"
+ }
+ },
+ "metadata": {
+ "description": "Metadata objects for which you want to fetch permission details.\nIf not specified, the API returns permission details for all\nmetadata objects that the specified users and groups can access.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PermissionsMetadataTypeInput"
+ }
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included for each metadata type.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included for each metadata type.",
+ "default": -1,
+ "type": "integer",
+ "format": "int32"
+ },
+ "default_metadata_type": {
+ "description": "When no metadata objects input is passed, metadata objects of this type are fetched.",
+ "type": "string",
+ "enum": [
+ "ALL",
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION"
+ ]
+ }
+ },
+ "required": [
+ "principals"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Fetching permissions of principals is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PermissionOfPrincipalsResponse"
+ },
+ "examples": {
+ "example_1": {
+ "value": {
+ "principal_permission_details": [
+ {
+ "principal_id": "7f5e7f87-09a1-487c-a1da-c4bb35e45270",
+ "principal_name": "test_user",
+ "principal_type": "USER",
+ "principal_sub_type": "LOCAL_USER",
+ "metadata_permission_info": [
+ {
+ "metadata_type": "LIVEBOARD",
+ "metadata_permissions": [
+ {
+ "metadata_id": "2ff57a24-cf90-485f-8b4b-45fc17474c6f",
+ "metadata_name": "Learn how to use ThoughtSpot",
+ "metadata_owner": {
+ "id": "2ff57a24-cf90-485f-8b4b-45fc17474c6f",
+ "name": "Learn how to use ThoughtSpot"
+ },
+ "metadata_author": {
+ "id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "name": "tsadmin"
+ },
+ "permission": "READ_ONLY",
+ "shared_permission": "NO_ACCESS",
+ "group_permission": []
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "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/security/metadata/fetch-permissions": {
+ "post": {
+ "operationId": "fetchPermissionsOnMetadata",
+ "description": "\n Version: 9.0.0.cl or later\n\nFetches permission details for a given metadata object.\n\nRequires view access to the metadata object.\n\n#### Usage guidelines\n\n* To fetch a list of users and groups for a metadata object, specify `type` and GUID or name of the metadata object.\n* To get permission details for a specific user or group, add `type` and GUID or name of the principal object to your API request.\n\nUpon successful execution, the API returns permission details and principal information for the object specified in the API request.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "GUID or name of the metadata object.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PermissionsMetadataTypeInput"
+ }
+ },
+ "principals": {
+ "description": "User or group objects for which you want to fetch permissions.\nIf not specified, the API returns all users and groups that\ncan access the specified metadata objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PrincipalsInput"
+ }
+ },
+ "include_dependent_objects": {
+ "description": "Indicates whether to fetch permissions of dependent metadata objects.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included for each metadata type.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included for each metadata type.",
+ "default": -1,
+ "type": "integer",
+ "format": "int32"
+ },
+ "permission_type": {
+ "description": "Version: 10.3.0.cl or later
\n\nSpecifies the type of permission. Valid values are:\n EFFECTIVE - If the user permission to the metadata objects is granted by the privileges assigned to the groups to which they belong.\n DEFINED - If a user or user group received access to metadata objects via object sharing by another user.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "metadata"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Fetching permissions of metadata objects is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PermissionOfMetadataResponse"
+ },
+ "examples": {
+ "example_1": {
+ "value": {
+ "metadata_permission_details": [
+ {
+ "metadata_id": "a62a5bf3-9f16-45b2-a174-7d30b3b577a9",
+ "metadata_name": "testing",
+ "metadata_type": "LIVEBOARD",
+ "metadata_owner": {
+ "id": "a62a5bf3-9f16-45b2-a174-7d30b3b577a9",
+ "name": "testing"
+ },
+ "metadata_author": {
+ "id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "name": "tsadmin"
+ },
+ "principal_permission_info": [
+ {
+ "principal_type": "USER_GROUP",
+ "principal_sub_type": "LOCAL_GROUP",
+ "principal_permissions": [
+ {
+ "principal_id": "d0326b56-ef23-4c8a-8327-a30e99bcc72b",
+ "principal_name": "Administrator",
+ "permission": "MODIFY",
+ "shared_permission": "NO_ACCESS",
+ "group_permission": []
+ }
+ ]
+ },
+ {
+ "principal_type": "USER",
+ "principal_sub_type": "LOCAL_USER",
+ "principal_permissions": [
+ {
+ "principal_id": "0f0dd0f7-7411-4195-a4aa-0dc6b58413c9",
+ "principal_name": "su",
+ "permission": "MODIFY",
+ "shared_permission": "NO_ACCESS",
+ "group_permission": []
+ },
+ {
+ "principal_id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "principal_name": "tsadmin",
+ "permission": "MODIFY",
+ "shared_permission": "NO_ACCESS",
+ "group_permission": []
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "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/security/metadata/publish": {
+ "post": {
+ "operationId": "publishMetadata",
+ "description": "\nBeta Version: 10.9.0.cl or later\n\nAllows publishing metadata objects across organizations in ThoughtSpot.\n\nRequires ADMINISTRATION role and TENANT scope.\n\nThe API endpoint allows publishing the following types of metadata objects:\n* Liveboards\n* Answers\n* Logical Tables\n\nThis API will essentially share the objects along with it's dependencies to\nthe org admins of the orgs to which it is being published.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "10.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects to be published.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PublishMetadataListItem"
+ }
+ },
+ "org_identifiers": {
+ "description": "Unique ID or name of orgs to which metadata objects should be published.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "skip_validation": {
+ "description": "Skip validations of objects to be published.",
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "metadata",
+ "org_identifiers"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Publishing metadata objects is successful."
+ },
+ "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/security/metadata/share": {
+ "post": {
+ "operationId": "shareMetadata",
+ "description": "\n Version: 9.0.0.cl or later\n\nAllows sharing one or several metadata objects with users and groups in ThoughtSpot.\n\nRequires edit access to the metadata object.\n\nThe API endpoint allows sharing only the following types of metadata objects:\n* Liveboards\n* Visualizations\n* Answers\n* Worksheets\n* Views\n* Connections\n\nYou can provide `READ_ONLY` or `MODIFY` access when sharing an object with another user or group. With `READ_ONLY` access grants view access to the shared object, whereas `MODIFY` provides edit access.\n\nTo prevent a user or group from accessing the shared object, specify the GUID or name of the principal and set `shareMode` to `NO_ACCESS`.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_type": {
+ "description": "Type of metadata. Required if identifier in metadata_identifies is a name.\n1. Liveboard\n2. Answers\n3. LOGICAL_TABLE for any data object such as table, worksheet or view.\n4. LOGICAL_COLUMN\n5. Connection",
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION"
+ ]
+ },
+ "metadata_identifiers": {
+ "description": "Unique ID or name of metadata objects. Note: All the names should belong to same metadata_type",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "description": "Metadata details for sharing objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ShareMetadataTypeInput"
+ }
+ },
+ "permissions": {
+ "description": "Permission details for sharing the objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SharePermissionsInput"
+ }
+ },
+ "visualization_identifiers": {
+ "description": "Options to specify details of Liveboard. First Liveboard encountered in payload is considered to be the corresponding Liveboard.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "emails": {
+ "description": "Email IDs to which notifications will be sent.",
+ "default": [],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "message": {
+ "description": "Message to be included in notification.",
+ "type": "string"
+ },
+ "enable_custom_url": {
+ "description": "Sends object URLs in the customized format in email notifications.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "notify_on_share": {
+ "description": "Flag to notify user when any object is shared.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "has_lenient_discoverability": {
+ "description": "Flag to make the object discoverable.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "permissions",
+ "message"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Sharing metadata objects is successful."
+ },
+ "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/security/metadata/unpublish": {
+ "post": {
+ "operationId": "unpublishMetadata",
+ "description": "\nBeta Version: 10.9.0.cl or later\n\nAllows unpublishing metadata objects from organizations in ThoughtSpot.\n\nRequires ADMINISTRATION role and TENANT scope.\n\nThe API endpoint allows unpublishing the following types of metadata objects:\n* Liveboards\n* Answers\n* Logical Tables\n\nWhen unpublishing objects, you can:\n* Include dependencies by setting `include_dependencies` to true - this will unpublish all dependent objects if no other published object is using them\n* Force unpublish by setting `force` to true - this will break all dependent objects in the unpublished organizations\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "10.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "force": {
+ "description": "Force unpublishes the object. This will break all the dependent objects in the unpublished orgs.",
+ "type": "boolean",
+ "nullable": true
+ },
+ "include_dependencies": {
+ "description": "Should we unpublish all the dependencies for the objects specified.\nThe dependencies will be unpublished if no other published object is using it.",
+ "type": "boolean"
+ },
+ "metadata": {
+ "description": "Metadata objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PublishMetadataListItem"
+ }
+ },
+ "org_identifiers": {
+ "description": "Unique ID or name of orgs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "include_dependencies",
+ "metadata",
+ "org_identifiers"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Unpublishing metadata objects is successful."
+ },
+ "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/security/column/rules/update": {
+ "post": {
+ "operationId": "updateColumnSecurityRules",
+ "description": "\nBeta Version: 10.12.0.cl or later\n\nCreates, updates, or deletes column security rules for specified tables.\n\nThis API endpoint allows you to create, update, or delete column-level security rules on columns of a table. The operation follows an \"all or none\" policy: if defining security rules for any of the provided columns fails, the entire operation will be rolled back, and no rules will be created.\n\n#### Usage guidelines\n\n- Provide table identifier using either `identifier` (GUID or name) or `obj_identifier` (object ID)\n- Use `clear_csr: true` to remove all column security rules from the table\n- For each column, specify the security rule using `column_security_rules` array\n- Use `is_unsecured: true` to mark a specific column as unprotected\n- Use `group_access` operations to manage group associations:\n - `ADD`: Add groups to the column's access list\n - `REMOVE`: Remove groups from the column's access list\n - `REPLACE`: Replace all existing groups with the specified groups\n\n#### Required permissions\n\n- `ADMINISTRATION` - Can administer ThoughtSpot\n- `DATAMANAGEMENT` - Can manage data (if RBAC is disabled)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` - Can manage worksheet views and tables (if RBAC is enabled)\n\n#### Example request\n\n```json\n{\n \"identifier\": \"table-guid\",\n \"obj_identifier\": \"table-object-id\",\n \"clear_csr\": false,\n \"column_security_rules\": [\n {\n \"column_identifier\": \"col id or col name\",\n \"is_unsecured\": false,\n \"group_access\": [\n {\n \"operation\": \"ADD\",\n \"group_identifiers\": [\"hr_group_id\", \"hr_group_name\", \"finance_group_id\"]\n }\n ]\n },\n {\n \"column_identifier\": \"col id or col name\",\n \"is_unsecured\": true\n },\n {\n \"column_identifier\": \"col id or col name\",\n \"is_unsecured\": false,\n \"group_access\": [\n {\n \"operation\": \"REPLACE\",\n \"group_identifiers\": [\"management_group_id\", \"management_group_name\"]\n }\n ]\n }\n ]\n}\n```\n\n#### Request Body Schema\n\n- `identifier` (string, optional): GUID or name of the table for which we want to create column security rules\n- `obj_identifier` (string, optional): The object ID of the table\n- `clear_csr` (boolean, optional): If true, then all the secured columns will be marked as unprotected, and all the group associations will be removed\n- `column_security_rules` (array of objects, required): An array where each object defines the security rule for a specific column\n\nEach column security rule object contains:\n- `column_identifier` (string, required): Column identifier (col_id or name)\n- `is_unsecured` (boolean, optional): If true, the column will be marked as unprotected and all groups associated with it will be removed\n- `group_access` (array of objects, optional): Array of group operation objects\n\nEach group operation object contains:\n- `operation` (string, required): Operation type - ADD, REMOVE, or REPLACE\n- `group_identifiers` (array of strings, required): Array of group identifiers (name or GUID) on which the operation will be performed\n\n#### Response\n\nThis API does not return any response body. A successful operation returns HTTP 200 status code.\n\n#### Operation Types\n\n- **ADD**: Adds the specified groups to the column's access list\n- **REMOVE**: Removes the specified groups from the column's access list \n- **REPLACE**: Replaces all existing groups with the specified groups \n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "description": "GUID or name of the table for which we want to create column security rules",
+ "type": "string"
+ },
+ "obj_identifier": {
+ "description": "The object ID of the table",
+ "type": "string"
+ },
+ "clear_csr": {
+ "description": "If true, then all the secured columns will be marked as unprotected, and all the group associations will be removed",
+ "type": "boolean",
+ "nullable": true
+ },
+ "column_security_rules": {
+ "description": "Array where each object defines the security rule for a specific column",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnSecurityRuleUpdate"
+ }
+ }
+ },
+ "required": [
+ "column_security_rules"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Successfully updated column security rules"
+ },
+ "400": {
+ "description": "Bad request - Invalid parameters or table not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden - User doesn't have permission to modify security rules for this table",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server 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": ""
+ }
+ }
+ }
+ }
+ }
+ },
+ "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/config-update": {
+ "post": {
+ "operationId": "updateSystemConfig",
+ "description": "\n Version: 9.2.0.cl or later\n\nUpdates the current configuration of the cluster. You must send the configuration data in JSON format.\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 `APPLICATION_ADMINISTRATION` (**Can manage application settings**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "System",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "configuration": {
+ "description": "Configuration JSON with the key-value pair of configuration attributes to be updated.",
+ "type": "object"
+ }
+ },
+ "required": [
+ "configuration"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Configuration successfully updated."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/tags/assign": {
+ "post": {
+ "operationId": "assignTag",
+ "description": "\n Version: 9.0.0.cl or later\n\nAssigns tags to Liveboards, Answers, Tables, and Worksheets.\n\nRequires edit access to the metadata object.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Tags",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TagMetadataTypeInput"
+ }
+ },
+ "tag_identifiers": {
+ "description": "GUID or name of the tag.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "metadata",
+ "tag_identifiers"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Tags successfully assigned."
+ },
+ "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/tags/create": {
+ "post": {
+ "operationId": "createTag",
+ "description": "\n Version: 9.0.0.cl or later\n\nCreates a tag object.\n\nTags are labels that identify a metadata object. For example, you can create a tag to designate subject areas, such as sales, HR, marketing, and finance.\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 `TAGMANAGEMENT` (**Can manage tags**) privilege is required to create, edit, and delete tags.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Tags",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the tag.",
+ "type": "string"
+ },
+ "color": {
+ "description": "Hex color code to be assigned to the tag. For example, #ff78a9.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Tag successfully created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Tag"
+ },
+ "examples": {
+ "example_1": {
+ "value": {
+ "name": "test5",
+ "id": "6abf5aec-3485-4f83-b25f-8c55b92e2b20",
+ "color": "#342323",
+ "deleted": false,
+ "hidden": false,
+ "external": false,
+ "deprecated": false,
+ "creation_time_in_millis": 1685441468684,
+ "modification_time_in_millis": 1685441468684,
+ "author_id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "modifier_id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "owner_id": "6abf5aec-3485-4f83-b25f-8c55b92e2b20"
+ }
+ }
+ }
+ }
+ }
+ },
+ "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/tags/{tag_identifier}/delete": {
+ "post": {
+ "operationId": "deleteTag",
+ "description": "\n Version: 9.0.0.cl or later\n\nDeletes a tag object from the ThoughtSpot system\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 `TAGMANAGEMENT` (**Can manage tags**) privilege is required to create, edit, and delete tags.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Tags",
+ "9.0.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tag_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Tag identifier Tag name or Tag id."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Tag successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/tags/search": {
+ "post": {
+ "operationId": "searchTags",
+ "description": "\n Version: 9.0.0.cl or later\n\nGets a list of tag objects available on the ThoughtSpot system. To get details of a specific tag object, specify the GUID or name.\n\nAny authenticated user can search for tag objects.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Tags",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "tag_identifier": {
+ "description": "Name or Id of the tag.",
+ "type": "string"
+ },
+ "name_pattern": {
+ "description": "A pattern to match case-insensitive name of the Tag object.",
+ "type": "string"
+ },
+ "color": {
+ "description": "Color of the tag.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Tags search result.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Tag"
+ }
+ },
+ "examples": {
+ "example_1": {
+ "value": [
+ {
+ "name": "test4",
+ "id": "0935bbb5-17e2-43ab-b657-da6bf347cbb4",
+ "color": "#342323",
+ "deleted": false,
+ "hidden": false,
+ "external": false,
+ "deprecated": false,
+ "creation_time_in_millis": 1684937524885,
+ "modification_time_in_millis": 1684937524885,
+ "author_id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "modifier_id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "owner_id": "0935bbb5-17e2-43ab-b657-da6bf347cbb4"
+ },
+ {
+ "name": "test6",
+ "id": "65a5c39a-daf5-4cae-975f-44283628494e",
+ "color": "#342323",
+ "deleted": false,
+ "hidden": false,
+ "external": false,
+ "deprecated": false,
+ "creation_time_in_millis": 1684988834183,
+ "modification_time_in_millis": 1684988887888,
+ "author_id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "modifier_id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "owner_id": "65a5c39a-daf5-4cae-975f-44283628494e"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "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/tags/unassign": {
+ "post": {
+ "operationId": "unassignTag",
+ "description": "\n Version: 9.0.0.cl or later\n\nRemoves the tags applied to a Liveboard, Answer, Table, or Worksheet.\n\nRequires edit access to the metadata object.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Tags",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TagMetadataTypeInput"
+ }
+ },
+ "tag_identifiers": {
+ "description": "GUID or name of the tag.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "metadata",
+ "tag_identifiers"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Tags successfully unassigned."
+ },
+ "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/tags/{tag_identifier}/update": {
+ "post": {
+ "operationId": "updateTag",
+ "description": "\n Version: 9.0.0.cl or later\n\nUpdates a tag object.\n\nYou can modify the `name` and `color` properties of a tag object. \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 `TAGMANAGEMENT` (**Can manage tags**) privilege is required to create, edit, and delete tags.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Tags",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the tag.",
+ "type": "string"
+ },
+ "color": {
+ "description": "Hex color code to be assigned to the tag. For example, #ff78a9.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tag_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Name or Id of the tag."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Tag 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/users/activate": {
+ "post": {
+ "operationId": "activateUser",
+ "description": "\n Version: 9.7.0.cl or later\n\nActivates a deactivated user account.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\nTo activate an inactive user account, the API request body must include the following information:\n\n- Username or the GUID of the user account.\n- Auth token generated for the deactivated user. The auth token is sent in the API response when a user is deactivated.\n- Password for the user account.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.7.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "user_identifier": {
+ "description": "Unique ID or name of the user.",
+ "type": "string"
+ },
+ "auth_token": {
+ "description": "Auth token for the user.",
+ "type": "string"
+ },
+ "password": {
+ "description": "New password for the user to access the account.",
+ "type": "string"
+ },
+ "properties": {
+ "description": "Properties of the user.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "user_identifier",
+ "auth_token",
+ "password"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "User activated successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/User"
+ }
+ }
+ }
+ },
+ "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/users/change-password": {
+ "post": {
+ "operationId": "changeUserPassword",
+ "description": "\n Version: 9.0.0.cl or later\n\nUpdates the current password of the user.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "current_password": {
+ "description": "Current password of the user.",
+ "type": "string"
+ },
+ "new_password": {
+ "description": "New password for the user.",
+ "type": "string"
+ },
+ "user_identifier": {
+ "description": "GUID or name of the user.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "current_password",
+ "new_password",
+ "user_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "User password change operation successful."
+ },
+ "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/users/create": {
+ "post": {
+ "operationId": "createUser",
+ "description": "\n Version: 9.0.0.cl or later\n\nCreates a user in ThoughtSpot.\n\nThe API endpoint allows you to configure several user properties such as email address, account status, share notification preferences, and sharing visibility. You can provision the user to [groups](https://docs.thoughtspot.com/cloud/latest/groups-privileges) and [Orgs](https://docs.thoughtspot.com/cloud/latest/orgs-overview). You can also add Liveboard, Answer, and Worksheet objects to the user's favorites list, assign a default Liveboard for the user, and set user preferences.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the user. The username string must be unique.",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "A unique display name string for the user account, usually their first and last name",
+ "type": "string"
+ },
+ "password": {
+ "description": "Password for the user account. For IAMv2 users, you must set this password if you do not want to trigger an activation email.",
+ "type": "string"
+ },
+ "email": {
+ "description": "Email of the user account",
+ "type": "string"
+ },
+ "account_type": {
+ "description": "Type of the account.",
+ "default": "LOCAL_USER",
+ "type": "string",
+ "enum": [
+ "LOCAL_USER",
+ "LDAP_USER",
+ "SAML_USER",
+ "OIDC_USER",
+ "REMOTE_USER"
+ ]
+ },
+ "account_status": {
+ "description": "Current status of the user account. The `SUSPENDED` user state indicates a transitional state applicable to IAMv2 users only.",
+ "default": "ACTIVE",
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "INACTIVE",
+ "EXPIRED",
+ "LOCKED",
+ "PENDING",
+ "SUSPENDED"
+ ]
+ },
+ "org_identifiers": {
+ "description": "List of Org IDs to which the user belongs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "group_identifiers": {
+ "description": "GUIDs or names of the groups to which the newly created user belongs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "visibility": {
+ "description": "Visibility of the users. When set to SHARABLE, the user is visible to other users and groups when they try to share an object.",
+ "default": "SHARABLE",
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ]
+ },
+ "notify_on_share": {
+ "description": "User preference for receiving email notifications when another ThoughtSpot\nuser shares a metadata object such as Answer, Liveboard, or Worksheet.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "show_onboarding_experience": {
+ "description": "The user preference for revisiting the onboarding experience.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "onboarding_experience_completed": {
+ "description": "flag to get the on-boarding experience is completed or not.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "home_liveboard_identifier": {
+ "description": "GUID of the Liveboard to set a default Liveboard for the user.\nThoughtSpot displays this Liveboard on the Home page when the user logs in.",
+ "type": "string"
+ },
+ "favorite_metadata": {
+ "description": "Metadata objects to add to the user's favorites list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FavoriteMetadataInput"
+ }
+ },
+ "preferred_locale": {
+ "description": "Locale for the user.",
+ "type": "string",
+ "enum": [
+ "en-CA",
+ "en-GB",
+ "en-US",
+ "de-DE",
+ "ja-JP",
+ "zh-CN",
+ "pt-BR",
+ "fr-FR",
+ "fr-CA",
+ "es-US",
+ "da-DK",
+ "es-ES",
+ "fi-FI",
+ "sv-SE",
+ "nb-NO",
+ "pt-PT",
+ "nl-NL",
+ "it-IT",
+ "ru-RU",
+ "en-IN",
+ "de-CH",
+ "en-NZ",
+ "es-MX",
+ "en-AU",
+ "zh-Hant",
+ "ko-KR",
+ "en-DE"
+ ]
+ },
+ "extended_properties": {
+ "description": "Properties for the user",
+ "type": "object"
+ },
+ "extended_preferences": {
+ "description": "Preferences for the user",
+ "type": "object"
+ },
+ "trigger_welcome_email": {
+ "description": "Flag to indicate whether welcome email should be sent to user. This parameter is applied only on clusters on which IAM is disabled.",
+ "type": "boolean",
+ "nullable": true
+ },
+ "trigger_activation_email": {
+ "description": "Flag to indicate whether activation email should be sent to the user. Default value for IAMv2 users is set to true. Users must either set this to false, or enter a valid \npassword if they do not want to trigger an activation email.",
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "name",
+ "display_name",
+ "email"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "User successfully created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/User"
+ }
+ }
+ }
+ },
+ "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/users/deactivate": {
+ "post": {
+ "operationId": "deactivateUser",
+ "description": "\n Version: 9.7.0.cl or later\n\nDeactivates a user account.\n\nRequires `ADMINISTRATION` (**Can administer Thoughtspot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\nTo deactivate a user account, the API request body must include the following information:\n\n- Username or the GUID of the user account\n- Base URL of the ThoughtSpot instance\n\nIf the API request is successful, ThoughtSpot returns the activation URL in the response. The activation URL is valid for 14 days and can be used to re-activate the account and reset the password of the deactivated account.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.7.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "user_identifier": {
+ "description": "Unique ID or name of the user.",
+ "type": "string"
+ },
+ "base_url": {
+ "description": "Base url of the cluster.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "user_identifier",
+ "base_url"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "User deactivated successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseActivationURL"
+ }
+ }
+ }
+ },
+ "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/users/{user_identifier}/delete": {
+ "post": {
+ "operationId": "deleteUser",
+ "description": "\n Version: 9.0.0.cl or later\n\nDeletes a user from the ThoughtSpot system.\n\nIf you want to remove a user from a specific Org but not from ThoughtSpot, update the group and Org mapping properties of the user object via a POST API call to the [/api/rest/2.0/users/{user_identifier}/update](#/http/api-endpoints/users/update-user) endpoint.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "user_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "GUID / name of the user"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "User successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/users/force-logout": {
+ "post": {
+ "operationId": "forceLogoutUsers",
+ "description": "\n Version: 9.0.0.cl or later\n\nEnforces logout on current user sessions. \n\nUse this API with caution as it may invalidate active user sessions and force users to re-login. Make sure you specify the usernames or GUIDs. If you pass null values in the API call, all user sessions on your cluster become invalid, and the users are forced to re-login.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "user_identifiers": {
+ "description": "GUID or name of the users for force logging out their sessions.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Force logging out of users operation successful."
+ },
+ "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/users/import": {
+ "post": {
+ "operationId": "importUsers",
+ "description": "\n Version: 9.0.0.cl or later\n\nImports user data from external databases into ThoughtSpot. During the user import operation:\n\n* If the specified users are not available in ThoughtSpot, the users are created and assigned a default password. Defining a `default_password` in the API request is optional.\n* If `delete_unspecified_users` is set to `true`, the users not specified in the API request, excluding the `tsadmin`, `guest`, `system` and `su` users, are deleted.\n* If the specified user objects are already available in ThoughtSpot, the object properties are updated and synchronized as per the input data in the API request.\n\nA successful API call returns the object that represents the changes made in the ThoughtSpot system.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "users": {
+ "description": "List of users needs to be imported.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ImportUser"
+ }
+ },
+ "default_password": {
+ "description": "The default password to assign to users if they do not have a password assigned in ThoughtSpot.",
+ "type": "string"
+ },
+ "dry_run": {
+ "description": "If true, the API performs a test operation and returns user IDs whose data will be edited after the import.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "delete_unspecified_users": {
+ "description": "If set to true, removes the users that are not specified in the API request.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "users"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Import users operation successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ImportUsersResponse"
+ }
+ }
+ }
+ },
+ "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/users/reset-password": {
+ "post": {
+ "operationId": "resetUserPassword",
+ "description": "\n Version: 9.0.0.cl or later\n\nResets the password of a user account. Administrators can reset password on behalf of a user.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "new_password": {
+ "description": "New password for the user.",
+ "type": "string"
+ },
+ "user_identifier": {
+ "description": "GUID or name of the user.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "new_password",
+ "user_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "User password reset operation successful."
+ },
+ "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/users/search": {
+ "post": {
+ "operationId": "searchUsers",
+ "description": "\n Version: 9.0.0.cl or later\n\nGets a list of users available on the ThoughtSpot system.\n\nTo get details of a specific user, specify the user GUID or name. You can also filter the API response based on groups, Org ID, user visibility, account status, user type, and user preference settings and favorites.\n\nAvailable to all users. Users with `ADMINISTRATION` (**Can administer ThoughtSpot**) privileges can view all users properties. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n**NOTE**: If the API returns an empty list, consider increasing the value of the `record_size` parameter. To search across all available users, set `record_size` to `-1`.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "user_identifier": {
+ "description": "GUID / name of the user to search",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "A unique display name string for the user account, usually their first and last name",
+ "type": "string"
+ },
+ "name_pattern": {
+ "description": "A pattern to match case-insensitive name of the User object.",
+ "type": "string"
+ },
+ "visibility": {
+ "description": "Visibility of the user",
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ]
+ },
+ "email": {
+ "description": "Email of the user account",
+ "type": "string"
+ },
+ "group_identifiers": {
+ "description": "GUID or name of the group to which the user belongs",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "privileges": {
+ "description": "Privileges assigned to the user",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "ADMINISTRATION",
+ "AUTHORING",
+ "USERDATAUPLOADING",
+ "DATADOWNLOADING",
+ "USERMANAGEMENT",
+ "DATAMANAGEMENT",
+ "SHAREWITHALL",
+ "JOBSCHEDULING",
+ "A3ANALYSIS",
+ "EXPERIMENTALFEATUREPRIVILEGE",
+ "BYPASSRLS",
+ "RANALYSIS",
+ "DEVELOPER",
+ "USER_ADMINISTRATION",
+ "GROUP_ADMINISTRATION",
+ "SYNCMANAGEMENT",
+ "CAN_CREATE_CATALOG",
+ "DISABLE_PINBOARD_CREATION",
+ "LIVEBOARD_VERIFIER",
+ "PREVIEW_THOUGHTSPOT_SAGE",
+ "APPLICATION_ADMINISTRATION",
+ "SYSTEM_INFO_ADMINISTRATION",
+ "ORG_ADMINISTRATION",
+ "ROLE_ADMINISTRATION",
+ "AUTHENTICATION_ADMINISTRATION",
+ "BILLING_INFO_ADMINISTRATION",
+ "CAN_MANAGE_CUSTOM_CALENDAR",
+ "CAN_CREATE_OR_EDIT_CONNECTIONS",
+ "CAN_MANAGE_WORKSHEET_VIEWS_TABLES",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "ALLOW_NON_EMBED_FULL_APP_ACCESS",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "CAN_SETUP_VERSION_CONTROL"
+ ]
+ }
+ },
+ "account_type": {
+ "description": "Type of the account",
+ "type": "string",
+ "enum": [
+ "LOCAL_USER",
+ "LDAP_USER",
+ "SAML_USER",
+ "OIDC_USER",
+ "REMOTE_USER"
+ ]
+ },
+ "account_status": {
+ "description": "Current status of the user account.",
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "INACTIVE",
+ "EXPIRED",
+ "LOCKED",
+ "PENDING",
+ "SUSPENDED"
+ ]
+ },
+ "notify_on_share": {
+ "description": "User preference for receiving email notifications when another ThoughtSpot user\nshares a metadata object such as Answer, Liveboard, or Worksheet.",
+ "type": "boolean",
+ "nullable": true
+ },
+ "show_onboarding_experience": {
+ "description": "The user preference for revisiting the onboarding experience",
+ "type": "boolean",
+ "nullable": true
+ },
+ "onboarding_experience_completed": {
+ "description": "Indicates if the user has completed the onboarding walkthrough",
+ "type": "boolean",
+ "nullable": true
+ },
+ "org_identifiers": {
+ "description": "IDs or names of the Orgs to which the user belongs",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "home_liveboard_identifier": {
+ "description": "Unique ID or name of the user's home Liveboard.",
+ "type": "string"
+ },
+ "favorite_metadata": {
+ "description": "Metadata objects which are assigned as favorites of the user.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FavoriteMetadataInput"
+ }
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included.",
+ "default": 10,
+ "type": "integer",
+ "format": "int32"
+ },
+ "sort_options": {
+ "description": "Sort options.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SortOptions"
+ }
+ ]
+ },
+ "role_identifiers": {
+ "description": "Filters by the role assigned to the user.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "include_favorite_metadata": {
+ "description": "Indicates if the user's favorite objects should be displayed.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "User search result.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/User"
+ }
+ }
+ }
+ }
+ },
+ "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/users/{user_identifier}/update": {
+ "post": {
+ "operationId": "updateUser",
+ "description": "\n Version: 9.0.0.cl or later\n\nUpdates the properties of a user object.\n\nYou can modify user properties such as username, email, and share notification settings. You can also assign new groups and Orgs, remove the user from a group or Org, reset password, and modify user preferences.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the user. The username string must be unique.",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "A unique display name string for the user account, usually their first and last name",
+ "type": "string"
+ },
+ "visibility": {
+ "description": "Visibility of the users. When set to SHARABLE, the user is visible to other users and groups when they try to share an object.",
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ]
+ },
+ "email": {
+ "description": "Email of the user account",
+ "type": "string"
+ },
+ "account_status": {
+ "description": "Current status of the user account. The `SUSPENDED` user state indicates a transitional state applicable to IAMv2 users only.",
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "INACTIVE",
+ "EXPIRED",
+ "LOCKED",
+ "PENDING",
+ "SUSPENDED"
+ ]
+ },
+ "notify_on_share": {
+ "description": "User preference for receiving email notifications when another ThoughtSpot user\nshares a metadata object such as Answer, Liveboard, or Worksheet.",
+ "type": "boolean",
+ "nullable": true
+ },
+ "show_onboarding_experience": {
+ "description": "The user preference for revisiting the onboarding experience.",
+ "type": "boolean",
+ "nullable": true
+ },
+ "onboarding_experience_completed": {
+ "description": "Indicates if the user has completed the onboarding and allows turning off the onboarding walkthrough.",
+ "type": "boolean",
+ "nullable": true
+ },
+ "account_type": {
+ "description": "Type of the account.",
+ "type": "string",
+ "enum": [
+ "LOCAL_USER",
+ "LDAP_USER",
+ "SAML_USER",
+ "OIDC_USER",
+ "REMOTE_USER"
+ ]
+ },
+ "group_identifiers": {
+ "description": "GUIDs or names of the groups.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "home_liveboard_identifier": {
+ "description": "GUID of the Liveboard to set a default Liveboard for the user. ThoughtSpot displays\nthis Liveboard on the Home page when the user logs in.",
+ "type": "string"
+ },
+ "favorite_metadata": {
+ "description": "Metadata objects to add to the user's favorites list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FavoriteMetadataInput"
+ }
+ },
+ "org_identifiers": {
+ "description": "IDs of the Orgs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "operation": {
+ "description": "Type of update operation. Default operation type is REPLACE",
+ "default": "REPLACE",
+ "type": "string",
+ "enum": [
+ "ADD",
+ "REMOVE",
+ "REPLACE"
+ ]
+ },
+ "preferred_locale": {
+ "description": "Locale for the user.",
+ "type": "string",
+ "enum": [
+ "en-CA",
+ "en-GB",
+ "en-US",
+ "de-DE",
+ "ja-JP",
+ "zh-CN",
+ "pt-BR",
+ "fr-FR",
+ "fr-CA",
+ "es-US",
+ "da-DK",
+ "es-ES",
+ "fi-FI",
+ "sv-SE",
+ "nb-NO",
+ "pt-PT",
+ "nl-NL",
+ "it-IT",
+ "ru-RU",
+ "en-IN",
+ "de-CH",
+ "en-NZ",
+ "es-MX",
+ "en-AU",
+ "zh-Hant",
+ "ko-KR",
+ "en-DE"
+ ]
+ },
+ "extended_properties": {
+ "description": "Properties for the user",
+ "type": "object"
+ },
+ "extended_preferences": {
+ "description": "Preferences for the user",
+ "type": "object"
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "user_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "GUID / name of the user"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "User 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/template/variables/create": {
+ "post": {
+ "operationId": "createVariable",
+ "description": "\nCreate a variable which can be used for parameterizing metadata objects
Beta Version: 10.9.0.cl or later\n\nAllows creating a variable which can be used for parameterizing metadata objects in ThoughtSpot.\n\nRequires ADMINISTRATION role and TENANT scope.\n\nThe API endpoint supports the following types of variables:\n* CONNECTION_PROPERTY - For connection properties\n* TABLE_MAPPING - For table mappings\n* CONNECTION_PROPERTY_PER_PRINCIPAL - For connection properties per principal. In order to use this please contact support to enable this.\n\nWhen creating a variable, you need to specify:\n* The variable type\n* A unique name for the variable\n* Whether the variable contains sensitive values (defaults to false)\n* The variable values (optional)\n\nThe operation will fail if:\n* The user lacks required permissions\n* The variable name already exists\n* The variable type is invalid\n* The variable values are invalid for the specified type \n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Variable",
+ "10.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of variable",
+ "type": "string",
+ "enum": [
+ "CONNECTION_PROPERTY",
+ "TABLE_MAPPING",
+ "CONNECTION_PROPERTY_PER_PRINCIPAL"
+ ]
+ },
+ "name": {
+ "description": "Name of the variable. This is unique across the cluster.",
+ "type": "string"
+ },
+ "sensitive": {
+ "description": "If the variable contains sensitive values like passwords",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "values": {
+ "description": "Values of variable",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/InputVariableValue"
+ }
+ }
+ },
+ "required": [
+ "type",
+ "name"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Create variable is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Variable"
+ }
+ }
+ }
+ },
+ "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/template/variables/{identifier}/delete": {
+ "post": {
+ "operationId": "deleteVariable",
+ "description": "\nDelete a variable
Beta Version: 10.9.0.cl or later\n\nAllows deleting a variable from ThoughtSpot.\n\nRequires ADMINISTRATION role and TENANT scope.\n\nThe API endpoint requires:\n* The variable identifier (ID or name)\n\nThe operation will fail if:\n* The user lacks required permissions\n* The variable doesn't exist\n* The variable is being used by other objects \n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Variable",
+ "10.9.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique id or name of the variable"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Deleting the variable is successful."
+ },
+ "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/template/variables/search": {
+ "post": {
+ "operationId": "searchVariables",
+ "description": "\nSearch variables
Beta Version: 10.9.0.cl or later\n\nAllows searching for variables in ThoughtSpot.\n\nRequires ADMINISTRATION role.\n\nThe API endpoint supports searching variables by:\n* Variable identifier (ID or name)\n* Variable type\n* Name pattern (case-insensitive, supports % for wildcard)\n\nThe search results can be formatted in three ways:\n* METADATA_ONLY - Returns only variable metadata (default)\n* METADATA_AND_VALUES - Returns variable metadata and values\n* EDITABLE_METADATA_AND_VALUES - Returns only editable variable metadata and values\n\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Variable",
+ "10.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "variable_details": {
+ "description": "Variable details",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VariableDetailInput"
+ }
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included",
+ "default": 10,
+ "type": "integer",
+ "format": "int32"
+ },
+ "output_format": {
+ "description": "Format in which we want the output",
+ "default": "METADATA_ONLY",
+ "type": "string",
+ "enum": [
+ "METADATA_ONLY",
+ "METADATA_AND_VALUES",
+ "EDITABLE_METADATA_AND_VALUES"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "List of variables is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Variable"
+ }
+ }
+ }
+ }
+ },
+ "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/template/variables/{identifier}/update": {
+ "post": {
+ "operationId": "updateVariable",
+ "description": "\nUpdate a variable's properties
Beta Version: 10.9.0.cl or later\n\nAllows updating a variable's properties in ThoughtSpot.\n\nRequires ADMINISTRATION role and TENANT scope.\n\nThe API endpoint allows updating:\n* The variable name\n* The variable values\n\nWhen updating variable values, you need to specify:\n* The operation to perform (ADD, REPLACE, REMOVE)\n* The new values to add/replace/remove\n\nWhen the operation is ADD, a value any pre-existing value with the same set of constraints will be replaced.\nWhen the operation is REPLACE, all values of the variable are replaced with the values specified.\nWhen the operation is REMOVE, all values with the given set of conditions are removed.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Variable",
+ "10.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "New name of the variable if we want to rename.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation to perform on the values.",
+ "default": "REPLACE",
+ "type": "string",
+ "enum": [
+ "ADD",
+ "REMOVE",
+ "REPLACE"
+ ]
+ },
+ "values": {
+ "description": "Values of variable to be updated.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/InputVariableValue"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique id or name of the variable to update."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Updating the variable is successful."
+ },
+ "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/template/variables/update": {
+ "post": {
+ "operationId": "updateVariableValues",
+ "description": "\nUpdate values for multiple variables
Beta Version: 10.9.0.cl or later\n\nAllows updating values for multiple variables in ThoughtSpot.\n\nRequires ADMINISTRATION role.\n\nThe API endpoint allows:\n* Adding new values to variables\n* Replacing existing values\n* Deleting values from variables\n\nWhen updating variable values, you need to specify:\n* The variable identifiers\n* The values to add/replace/remove for each variable\n* The operation to perform (ADD, REPLACE, REMOVE)\n\nBehaviour based on operation type:\n* ADD - Adds values to the variable. Any pre-existing values with the same conditions are replaced.\n* REPLACE - Replaces all values of a given org with the current set of values.\n* REMOVE - Removes any values which match the set of conditions of the variables.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Variable",
+ "10.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "variable_updates": {
+ "description": "Variables and values",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VariableValueInput"
+ }
+ },
+ "operation": {
+ "description": "Type of update operation",
+ "type": "string",
+ "enum": [
+ "ADD",
+ "REMOVE",
+ "REPLACE"
+ ]
+ }
+ },
+ "required": [
+ "variable_updates",
+ "operation"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Updating variable values is successful."
+ },
+ "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/vcs/git/branches/commit": {
+ "post": {
+ "operationId": "commitBranch",
+ "description": "\n Version: 9.2.0.cl or later\n\nCommits TML files of metadata objects to the Git branch configured on your instance.\n\nRequires at least edit access to objects used in the commit operation.\n\nBefore using this endpoint to push your commits:\n\n* Enable Git integration on your instance.\n* Make sure the Git repository and branch details are configured on your instance.\n\nFor more information, see [Git integration documentation](https://developers.thoughtspot.com/docs/git-integration).\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/MetadataObject"
+ }
+ },
+ "delete_aware": {
+ "description": "Delete the tml files from version control repo if it does not exist in the ThoughSpot instance",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "branch_name": {
+ "description": " Name of the remote branch where object should be pushed\n \n\nNote: If no branch_name is specified, then the commit_branch_name will be considered.",
+ "type": "string"
+ },
+ "comment": {
+ "description": "Comment to be added to the commit",
+ "type": "string"
+ }
+ },
+ "required": [
+ "metadata",
+ "comment"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successfully committed the metadata objects",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CommitResponse"
+ }
+ }
+ }
+ },
+ "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/vcs/git/config/create": {
+ "post": {
+ "operationId": "createConfig",
+ "description": "\n Version: 9.2.0.cl or later\n\nAllows you to connect a ThoughtSpot instance to a Git repository.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance on your instance, the `CAN_SETUP_VERSION_CONTROL` (**Can set up version control**) privilege.\n\nYou can use this API endpoint to connect your ThoughtSpot development and production environments to the development and production branches of a Git repository.\n\nBefore using this endpoint to connect your ThoughtSpot instance to a Git repository, check the following prerequisites:\n\n* You have a Git repository. If you are using GitHub, make sure you have a valid account and an access token to connect ThoughtSpot to GitHub. For information about generating a token, see [GitHub Documentation](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens).\n\n* Your access token has `repo` scope that grants full access to public and private repositories.\n* Your Git repository has a branch that can be configured as a default branch in ThoughtSpot.\n\nFor more information, see [Git integration documentation](https://developers.thoughtspot.com/docs/?pageid=git-integration).\n\n**Note**: ThoughtSpot supports only GitHub / itHub Enterprise for CI/CD.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "repository_url": {
+ "description": "URL for connecting to remote repository",
+ "type": "string"
+ },
+ "username": {
+ "description": "Username to authenticate connection to remote repository",
+ "type": "string"
+ },
+ "access_token": {
+ "description": "Access token corresponding to the user to authenticate connection to remote repository",
+ "type": "string"
+ },
+ "org_identifier": {
+ "description": " Applicable when Orgs is enabled in the cluster\n \n\nList of Org ids or name. Provide value -1 for cluster level. Example : [\"OrgID1-or-Name1\", \"OrgID2-or-Name2\"] \n\n\n \n\nNote: If no value is specified, then the configurations will be returned for all orgs the user has access to
Version: 9.5.0.cl or later",
+ "type": "string"
+ },
+ "branch_names": {
+ "description": "List the remote branches to configure. Example:[development, production]",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "commit_branch_name": {
+ "description": "Name of the remote branch where objects from this Thoughtspot instance will be versioned.
Version: 9.7.0.cl or later",
+ "type": "string"
+ },
+ "enable_guid_mapping": {
+ "description": "Maintain mapping of guid for the deployment to an instance
Version: 9.4.0.cl or later",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "configuration_branch_name": {
+ "description": " Name of the branch where the configuration files related to operations between Thoughtspot and version control repo should be maintained.\n \n\nNote: If no branch name is specified, then by default, ts_config_files branch is considered. Ensure this branch exists before configuration.
Version: 9.7.0.cl or later",
+ "type": "string"
+ }
+ },
+ "required": [
+ "repository_url",
+ "username",
+ "access_token"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successfully configured local repository",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RepoConfigObject"
+ }
+ }
+ }
+ },
+ "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/vcs/git/config/delete": {
+ "post": {
+ "operationId": "deleteConfig",
+ "description": "\n Version: 9.2.0.cl or later\n\nDeletes Git repository configuration from your ThoughtSpot instance.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance on your instance, the `CAN_SETUP_VERSION_CONTROL` (**Can set up version control**) privilege.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "cluster_level": {
+ "description": " Applicable when Orgs is enabled in the cluster\n \n\nIndicator to consider cluster level or org level config. Set it to false to delete configuration from current org. If set to true, then the configuration at cluster level and orgs that inherited the configuration from cluster level will be deleted.
Version: 9.5.0.cl or later",
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Successfully deleted local repository configuration"
+ },
+ "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/vcs/git/commits/deploy": {
+ "post": {
+ "operationId": "deployCommit",
+ "description": "\n Version: 9.2.0.cl or later\n\nAllows you to deploy a commit and publish TML content to your ThoughtSpot instance.\n\nRequires at least edit access to the objects used in the deploy operation.\n\nThe API deploys the head of the branch unless a `commit_id` is specified in the API request. If the branch name is not defined in the request, the default branch is considered for deploying commits.\n\nFor more information, see [Git integration documentation](https://developers.thoughtspot.com/docs/git-integration).\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "commit_id": {
+ "description": " Commit_id against which the files should be picked to deploy.\n \n\nNote: If no commit_id is specified, then the head of the branch is considered.",
+ "type": "string"
+ },
+ "branch_name": {
+ "description": "Name of the remote branch where changes should be picked",
+ "type": "string"
+ },
+ "deploy_type": {
+ "description": "Indicates if all files or only modified file at specified commit point should be considered",
+ "default": "DELTA",
+ "type": "string",
+ "enum": [
+ "FULL",
+ "DELTA"
+ ]
+ },
+ "deploy_policy": {
+ "description": "Define the policy to follow while importing TML in the ThoughtSpot environment. Use "ALL_OR_NONE" to cancel the deployment of all ThoughtSpot objects if at least one of them fails to import. Use "Partial" to import ThoughtSpot objects that validate successfully even if other objects in the same deploy operations fail to import.",
+ "default": "ALL_OR_NONE",
+ "type": "string",
+ "enum": [
+ "ALL_OR_NONE",
+ "PARTIAL",
+ "VALIDATE_ONLY"
+ ]
+ }
+ },
+ "required": [
+ "branch_name"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successfully deployed the changes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DeployResponse"
+ }
+ }
+ }
+ }
+ },
+ "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/vcs/git/commits/{commit_id}/revert": {
+ "post": {
+ "operationId": "revertCommit",
+ "description": "\n Version: 9.2.0.cl or later\n\nReverts TML objects to a previous commit specified in the API request.\n\nRequires at least edit access to objects.\n\nIn the API request, specify the `commit_id`. If the branch name is not specified in the request, the API will consider the default branch configured on your instance.\n\nBy default, the API reverts all objects. If the revert operation fails for one of the objects provided in the commit, the API returns an error and does not revert any object.\n\nFor more information, see [Git integration documentation](https://developers.thoughtspot.com/docs/git-integration).\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/MetadataObject"
+ }
+ },
+ "branch_name": {
+ "description": " Name of the branch where the reverted version should be committed\n \n\nNote: If no branch_name is specified, then the commit_branch_name will be considered.",
+ "type": "string"
+ },
+ "revert_policy": {
+ "description": "Policy to apply when reverting a commit. Valid values: [ALL_OR_NONE, PARTIAL]",
+ "default": "ALL_OR_NONE",
+ "type": "string",
+ "enum": [
+ "ALL_OR_NONE",
+ "PARTIAL"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "commit_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Commit id to which the object should be reverted"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Reverted the object to the commit point specified",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RevertResponse"
+ }
+ }
+ }
+ },
+ "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/vcs/git/commits/search": {
+ "post": {
+ "operationId": "searchCommits",
+ "description": "\n Version: 9.2.0.cl or later\n\nGets a list of commits for a given metadata object.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance on your instance, the `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**) privilege and edit access to the metadata objects.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_identifier": {
+ "description": "Unique ID or name of the metadata.",
+ "type": "string"
+ },
+ "metadata_type": {
+ "description": "Type of metadata.",
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "CUSTOM_ACTION"
+ ]
+ },
+ "branch_name": {
+ "description": " Name of the branch from which commit history needs to be displayed.\n \n\nNote: If no branch_name is specified, then commits will be returned for the default branch for this configuration.",
+ "type": "string"
+ },
+ "record_offset": {
+ "description": " Record offset point in the commit history to display the response.\n \n\nNote: If no record offset is specified, the beginning of the record will be considered.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": " Number of history records from record offset point to be displayed in the response.\n \n\nNote: If no record size is specified, then all the records will be considered.",
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "required": [
+ "metadata_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Commit history of the metadata object",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CommitHistoryResponse"
+ }
+ }
+ }
+ }
+ },
+ "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/vcs/git/config/search": {
+ "post": {
+ "operationId": "searchConfig",
+ "description": "\n Version: 9.2.0.cl or later\n\nGets Git repository connections configured on the ThoughtSpot instance.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance on your instance, the `CAN_SETUP_VERSION_CONTROL` (**Can set up version control**) privilege.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "org_identifiers": {
+ "description": " Applicable when Orgs is enabled in the cluster\n \n\nList of Org ids or name. Provide value -1 for cluster level. Example : [\"OrgID1-or-Name1\", \"OrgID2-or-Name2\"] \n\n\n \n\nNote: If no value is specified, then the configurations will be returned for all orgs the user has access to
Version: 9.5.0.cl or later",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Details of local repository configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/RepoConfigObject"
+ }
+ }
+ }
+ }
+ },
+ "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/vcs/git/config/update": {
+ "post": {
+ "operationId": "updateConfig",
+ "description": "\n Version: 9.2.0.cl or later\n\nUpdates Git repository configuration settings.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance on your instance, the `CAN_SETUP_VERSION_CONTROL` (**Can set up version control**) privilege.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "Username to authenticate connection to version control system",
+ "type": "string"
+ },
+ "access_token": {
+ "description": "Access token corresponding to the user to authenticate connection to version control system",
+ "type": "string"
+ },
+ "org_identifier": {
+ "description": " Applicable when Orgs is enabled in the cluster\n \n\nList of Org ids or name. Provide value -1 for cluster level. Example : [\"OrgID1-or-Name1\", \"OrgID2-or-Name2\"] \n\n\n \n\nNote: If no value is specified, then the configurations will be returned for all orgs the user has access to
Version: 9.5.0.cl or later",
+ "type": "string"
+ },
+ "branch_names": {
+ "description": "List the remote branches to configure. Example:[development, production]",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "commit_branch_name": {
+ "description": "Name of the remote branch where objects from this Thoughtspot instance will be versioned.
Version: 9.7.0.cl or later",
+ "type": "string"
+ },
+ "enable_guid_mapping": {
+ "description": "Maintain mapping of guid for the deployment to an instance
Version: 9.4.0.cl or later",
+ "type": "boolean",
+ "nullable": true
+ },
+ "configuration_branch_name": {
+ "description": "Name of the branch where the configuration files related to operations between Thoughtspot and version control repo should be maintained.
Version: 9.7.0.cl or later",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successfully updated local repository configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RepoConfigObject"
+ }
+ }
+ }
+ },
+ "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/vcs/git/branches/validate": {
+ "post": {
+ "operationId": "validateMerge",
+ "description": "\n Version: 9.2.0.cl or later\n\nValidates the content of your source branch against the objects in your destination environment.\n\nBefore merging content from your source branch to the destination branch, run this API operation from your destination environment and ensure that the changes from the source branch function in the destination environment.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance on your instance, the `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**) privilege and edit access to the metadata objects.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "source_branch_name": {
+ "description": "Name of the branch from which changes need to be picked for validation",
+ "type": "string"
+ },
+ "target_branch_name": {
+ "description": "Name of the branch where files will be merged",
+ "type": "string"
+ }
+ },
+ "required": [
+ "source_branch_name",
+ "target_branch_name"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "validation done successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DeployResponse"
+ }
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "schemas": {
+ "ErrorResponse": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "object",
+ "nullable": true
+ }
+ }
+ },
+ "GetTokenResponse": {
+ "type": "object",
+ "required": [
+ "token",
+ "creation_time_in_millis",
+ "expiration_time_in_millis",
+ "valid_for_user_id",
+ "valid_for_username"
+ ],
+ "properties": {
+ "token": {
+ "type": "string",
+ "description": "Bearer auth token."
+ },
+ "creation_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token creation time in milliseconds."
+ },
+ "expiration_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token expiration time in milliseconds."
+ },
+ "valid_for_user_id": {
+ "type": "string",
+ "description": "Username to whom the token is issued."
+ },
+ "valid_for_username": {
+ "type": "string",
+ "description": "Unique identifier of the user to whom the token is issued."
+ }
+ }
+ },
+ "RiseSetter": {
+ "type": "object",
+ "required": [
+ "field",
+ "path"
+ ],
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ }
+ }
+ },
+ "User": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "display_name",
+ "visibility"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier of the user."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the user."
+ },
+ "display_name": {
+ "type": "string",
+ "description": "Display name of the user."
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ],
+ "description": "Visibility of the users. The `SHARABLE` property makes a user visible to other users and group, who can share objects with the user."
+ },
+ "author_id": {
+ "type": "string",
+ "description": "Unique identifier of author of the user.",
+ "nullable": true
+ },
+ "can_change_password": {
+ "type": "boolean",
+ "description": "Defines whether the user can change their password.",
+ "nullable": true
+ },
+ "complete_detail": {
+ "type": "boolean",
+ "description": "Defines whether the response has complete detail of the user.",
+ "nullable": true
+ },
+ "creation_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Creation time of the user in milliseconds.",
+ "nullable": true
+ },
+ "current_org": {
+ "$ref": "#/components/schemas/Org",
+ "description": "Current logged-in Org of the user.",
+ "nullable": true
+ },
+ "deleted": {
+ "type": "boolean",
+ "description": "Indicates whether the user is deleted.",
+ "nullable": true
+ },
+ "deprecated": {
+ "type": "boolean",
+ "description": "Indicates whether the user is deprecated.",
+ "nullable": true
+ },
+ "account_type": {
+ "type": "string",
+ "enum": [
+ "LOCAL_USER",
+ "LDAP_USER",
+ "SAML_USER",
+ "OIDC_USER",
+ "REMOTE_USER"
+ ],
+ "description": "Type of the user account.",
+ "nullable": true
+ },
+ "account_status": {
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "INACTIVE",
+ "EXPIRED",
+ "LOCKED",
+ "PENDING",
+ "SUSPENDED"
+ ],
+ "description": "Status of the user account.",
+ "nullable": true
+ },
+ "email": {
+ "type": "string",
+ "description": "Email of the user.",
+ "nullable": true
+ },
+ "expiration_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Expiration time of the user in milliseconds.",
+ "nullable": true
+ },
+ "external": {
+ "type": "boolean",
+ "description": "Indicates whether the user is external.",
+ "nullable": true
+ },
+ "favorite_metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FavoriteMetadataItem"
+ },
+ "description": "Metadata objects to add to the users' favorites list.",
+ "nullable": true
+ },
+ "first_login_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Timestamp of the first login session of the user in milliseconds.",
+ "nullable": true
+ },
+ "group_mask": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Group mask of the user.",
+ "nullable": true
+ },
+ "hidden": {
+ "type": "boolean",
+ "description": "Indicates whether the user is hidden.",
+ "nullable": true
+ },
+ "home_liveboard": {
+ "$ref": "#/components/schemas/Object_ID_And_Name",
+ "description": "Unique ID or name of the default Liveboard assigned to the user.",
+ "nullable": true
+ },
+ "incomplete_details": {
+ "type": "object",
+ "description": "Incomplete details of user if any present.",
+ "nullable": true
+ },
+ "is_first_login": {
+ "type": "boolean",
+ "description": "Indicates whether it is first login of the user.",
+ "nullable": true
+ },
+ "modification_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Last modified time of the user in milliseconds.",
+ "nullable": true
+ },
+ "modifier_id": {
+ "type": "string",
+ "description": "Unique identifier of modifier of the user.",
+ "nullable": true
+ },
+ "notify_on_share": {
+ "type": "boolean",
+ "description": "User preference for receiving email notifications on shared Answers or Liveboard.",
+ "nullable": true
+ },
+ "onboarding_experience_completed": {
+ "type": "boolean",
+ "description": "The user preference for turning off the onboarding experience.",
+ "nullable": true
+ },
+ "orgs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Org"
+ },
+ "description": "Orgs to which the user belongs.",
+ "nullable": true
+ },
+ "owner_id": {
+ "type": "string",
+ "description": "Unique identifier of owner of the user.",
+ "nullable": true
+ },
+ "parent_type": {
+ "type": "string",
+ "enum": [
+ "USER",
+ "GROUP"
+ ],
+ "description": "Parent type of the user.",
+ "nullable": true
+ },
+ "privileges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Privileges which are assigned to the user.",
+ "nullable": true
+ },
+ "show_onboarding_experience": {
+ "type": "boolean",
+ "description": "User's preference to revisit the new user onboarding experience.",
+ "nullable": true
+ },
+ "super_user": {
+ "type": "boolean",
+ "description": "Indicates whether the user is a super user.",
+ "nullable": true
+ },
+ "system_user": {
+ "type": "boolean",
+ "description": "Indicates whether the user is a system user.",
+ "nullable": true
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Object_ID_And_Name"
+ },
+ "description": "Tags associated with the user.",
+ "nullable": true
+ },
+ "tenant_id": {
+ "type": "string",
+ "description": "Unique identifier of tenant of the user.",
+ "nullable": true
+ },
+ "user_groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Object_ID_And_Name"
+ },
+ "description": "Groups to which the user is assigned.",
+ "nullable": true
+ },
+ "user_inherited_groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Object_ID_And_Name"
+ },
+ "description": "Inherited User Groups which the user is part of.",
+ "nullable": true
+ },
+ "welcome_email_sent": {
+ "type": "boolean",
+ "description": "Indicates whether welcome email is sent for the user.",
+ "nullable": true
+ },
+ "org_privileges": {
+ "type": "object",
+ "description": "Privileges which are assigned to the user with org.",
+ "nullable": true
+ },
+ "preferred_locale": {
+ "type": "string",
+ "description": "Locale for the user.",
+ "nullable": true
+ },
+ "extended_properties": {
+ "type": "object",
+ "description": "Properties for the user",
+ "nullable": true
+ },
+ "extended_preferences": {
+ "type": "object",
+ "description": "Preferences for the user",
+ "nullable": true
+ },
+ "user_parameters": {
+ "type": "object",
+ "description": "User Parameters which are specified for the user via JWToken",
+ "nullable": true
+ },
+ "access_control_properties": {
+ "type": "object",
+ "description": "Access Control Properties which are specified for the user via JWToken",
+ "nullable": true
+ }
+ }
+ },
+ "Org": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The ID of the object."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the object."
+ }
+ },
+ "description": "The current Org context of the user."
+ },
+ "FavoriteMetadataItem": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "type"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique ID of the metadata object."
+ },
+ "name": {
+ "type": "string",
+ "description": "name of the metadata object."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION",
+ "TAG",
+ "USER",
+ "USER_GROUP",
+ "LOGICAL_RELATIONSHIP"
+ ],
+ "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."
+ }
+ }
+ },
+ "Object_ID_And_Name": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The unique identifier of the object.",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the object.",
+ "nullable": true
+ }
+ },
+ "description": "The object representation with ID and Name."
+ },
+ "FavoriteMetadataInput": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata object.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER"
+ ],
+ "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.",
+ "nullable": true
+ }
+ }
+ },
+ "SortOptions": {
+ "type": "object",
+ "properties": {
+ "field_name": {
+ "type": "string",
+ "enum": [
+ "NAME",
+ "DISPLAY_NAME",
+ "AUTHOR",
+ "CREATED",
+ "MODIFIED"
+ ],
+ "description": "Name of the field to apply the sort on.",
+ "nullable": true
+ },
+ "order": {
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "description": "Sort order : ASC(Ascending) or DESC(Descending).",
+ "nullable": true
+ }
+ },
+ "description": "Sort options."
+ },
+ "SystemInfo": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The unique identifier of the object",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the cluster.",
+ "nullable": true
+ },
+ "release_version": {
+ "type": "string",
+ "description": "The release version of the cluster.",
+ "nullable": true
+ },
+ "time_zone": {
+ "type": "string",
+ "description": "The timezone of the cluster.",
+ "nullable": true
+ },
+ "locale": {
+ "type": "string",
+ "description": "The default locale of the cluster.",
+ "nullable": true
+ },
+ "date_format": {
+ "type": "string",
+ "description": "The default date format representation of the cluster.",
+ "nullable": true
+ },
+ "api_version": {
+ "type": "string",
+ "description": "The API version of the cluster.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The deployment type of the cluster.",
+ "nullable": true
+ },
+ "environment": {
+ "type": "string",
+ "description": "The deployed environment of the cluster.",
+ "nullable": true
+ },
+ "license": {
+ "type": "string",
+ "description": "The license applied to the cluster.",
+ "nullable": true
+ },
+ "date_time_format": {
+ "type": "string",
+ "description": "The default date time format representation of the cluster.",
+ "nullable": true
+ },
+ "time_format": {
+ "type": "string",
+ "description": "The default time format representation of the cluster.",
+ "nullable": true
+ },
+ "system_user_id": {
+ "type": "string",
+ "description": "The unique identifier of system user.",
+ "nullable": true
+ },
+ "super_user_id": {
+ "type": "string",
+ "description": "The unique identifier of super user.",
+ "nullable": true
+ },
+ "hidden_object_id": {
+ "type": "string",
+ "description": "The unique identifier of hidden object.",
+ "nullable": true
+ },
+ "system_group_id": {
+ "type": "string",
+ "description": "The unique identifier of system group.",
+ "nullable": true
+ },
+ "tsadmin_user_id": {
+ "type": "string",
+ "description": "The unique identifier of tsadmin user.",
+ "nullable": true
+ },
+ "admin_group_id": {
+ "type": "string",
+ "description": "The unique identifier of admin group.",
+ "nullable": true
+ },
+ "all_tables_connection_id": {
+ "type": "string",
+ "description": "The unique identifier of all tables connection.",
+ "nullable": true
+ },
+ "all_user_group_id": {
+ "type": "string",
+ "description": "The unique identifier of ALL group.",
+ "nullable": true
+ },
+ "accept_language": {
+ "type": "string",
+ "description": "The supported accept language by the cluster.",
+ "nullable": true
+ },
+ "all_user_group_member_user_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The count of users of ALL group.",
+ "nullable": true
+ },
+ "logical_model_version": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The version number of logical model of the cluster.",
+ "nullable": true
+ }
+ }
+ },
+ "SystemConfig": {
+ "type": "object",
+ "properties": {
+ "onboarding_content_url": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ },
+ "SystemOverrideInfo": {
+ "type": "object",
+ "properties": {
+ "config_override_info": {
+ "type": "object",
+ "nullable": true
+ }
+ }
+ },
+ "OrgResponse": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Unique identifier of the Org.",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the Org.",
+ "nullable": true
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "IN_ACTIVE"
+ ],
+ "description": "Status of the Org.",
+ "nullable": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the Org.",
+ "nullable": true
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "SHOW",
+ "HIDDEN"
+ ],
+ "description": "Visibility of the Org.",
+ "nullable": true
+ }
+ }
+ },
+ "Tag": {
+ "type": "object",
+ "required": [
+ "name",
+ "id"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "color": {
+ "type": "string",
+ "nullable": true
+ },
+ "deleted": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "hidden": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "external": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "deprecated": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "creation_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "nullable": true
+ },
+ "modification_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "nullable": true
+ },
+ "author_id": {
+ "type": "string",
+ "nullable": true
+ },
+ "modifier_id": {
+ "type": "string",
+ "nullable": true
+ },
+ "owner_id": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ },
+ "UserGroupResponse": {
+ "type": "object",
+ "required": [
+ "display_name",
+ "id",
+ "name",
+ "visibility"
+ ],
+ "properties": {
+ "author_id": {
+ "type": "string",
+ "description": "The unique identifier of the object",
+ "nullable": true
+ },
+ "complete_detail": {
+ "type": "boolean",
+ "description": "Indicates whether the response has complete detail of the group.",
+ "nullable": true
+ },
+ "content": {
+ "type": "object",
+ "description": "Content details of the group",
+ "nullable": true
+ },
+ "creation_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Creation time of the group in milliseconds",
+ "nullable": true
+ },
+ "default_liveboards": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "Liveboards that are assigned as default Liveboards to the group.",
+ "nullable": true
+ },
+ "deleted": {
+ "type": "boolean",
+ "description": "Indicates whether the group is deleted",
+ "nullable": true
+ },
+ "deprecated": {
+ "type": "boolean",
+ "description": "Indicates whether the group is deprecated",
+ "nullable": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the group",
+ "nullable": true
+ },
+ "display_name": {
+ "type": "string",
+ "description": "Display name of the group."
+ },
+ "external": {
+ "type": "boolean",
+ "description": "Indicates whether the group is external",
+ "nullable": true
+ },
+ "generation_number": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Generation number of the group",
+ "nullable": true
+ },
+ "hidden": {
+ "type": "boolean",
+ "description": "Indicates whether the group is hidden",
+ "nullable": true
+ },
+ "id": {
+ "type": "string",
+ "description": "The unique identifier of the object"
+ },
+ "index": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Index number of the group",
+ "nullable": true
+ },
+ "index_version": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Index version number of the group",
+ "nullable": true
+ },
+ "metadata_version": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Metadata version number of the group",
+ "nullable": true
+ },
+ "modification_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Last modified time of the group in milliseconds.",
+ "nullable": true
+ },
+ "modifier_id": {
+ "type": "string",
+ "description": "The unique identifier of the object",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the group."
+ },
+ "orgs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "Orgs in which group exists.",
+ "nullable": true
+ },
+ "owner_id": {
+ "type": "string",
+ "description": "The unique identifier of the object",
+ "nullable": true
+ },
+ "parent_type": {
+ "type": "string",
+ "enum": [
+ "USER",
+ "GROUP"
+ ],
+ "description": "Parent type of the group.",
+ "nullable": true
+ },
+ "privileges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Privileges which are assigned to the group",
+ "nullable": true
+ },
+ "sub_groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "Groups who are part of the group",
+ "nullable": true
+ },
+ "system_group": {
+ "type": "boolean",
+ "description": "Indicates whether the group is a system group.",
+ "nullable": true
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "Tags associated with the group.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LOCAL_GROUP",
+ "LDAP_GROUP"
+ ],
+ "description": "Type of the group.",
+ "nullable": true
+ },
+ "users": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "Users who are part of the group.",
+ "nullable": true
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ],
+ "description": "Visibility of the group. The SHARABLE makes a group visible to other users and groups, and thus allows them to share objects."
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Role"
+ },
+ "description": "List of roles assgined to the user",
+ "nullable": true
+ }
+ }
+ },
+ "Role": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "id of the role",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "name of the role",
+ "nullable": true
+ }
+ }
+ },
+ "MetadataListItemInput": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata.",
+ "nullable": true
+ },
+ "obj_identifier": {
+ "type": "string",
+ "description": "CustomObjectId of the metadata.",
+ "nullable": true
+ },
+ "name_pattern": {
+ "type": "string",
+ "description": "A pattern to match the case-insensitive name of the metadata object. User % for a wildcard match.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION",
+ "TAG",
+ "USER",
+ "USER_GROUP",
+ "LOGICAL_RELATIONSHIP",
+ "INSIGHT_SPEC"
+ ],
+ "description": "Type of metadata. Required if the name of the object is set as identifier. This attribute is optional when the object GUID is specified as identifier.\n1. Liveboard\n2. Answers\n3. LOGICAL_TABLE for any data object such as table, worksheet or view.\n4. LOGICAL_COLUMN for a column of any data object such as table, worksheet or view.\n5. CONNECTION for creating or modify data connections.\n6. TAG for tag objects.\n7. USER for user objects.\n8. USER_GROUP for group objects.\n9. LOGICAL_RELATIONSHIP for table or worksheet joins. A join combines from one or several data object by using matching values\n10. INSIGHT_SPEC for SpotIQ objects",
+ "nullable": true
+ },
+ "subtypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "ONE_TO_ONE_LOGICAL",
+ "WORKSHEET",
+ "PRIVATE_WORKSHEET",
+ "USER_DEFINED",
+ "AGGR_WORKSHEET",
+ "SQL_VIEW"
+ ]
+ },
+ "description": "List of subtype of metadata. Applies for LOGICAL_TABLE type with the following valid values.\n1. ONE_TO_ONE_LOGICAL\n2. WORKSHEET\n3. PRIVATE_WORKSHEET.\n4. USER_DEFINED.\n5. AGGR_WORKSHEET.\n6. SQL_VIEW
Version: 10.11.0.cl or later",
+ "nullable": true
+ }
+ }
+ },
+ "PermissionInput": {
+ "type": "object",
+ "required": [
+ "principal",
+ "share_mode"
+ ],
+ "properties": {
+ "principal": {
+ "$ref": "#/components/schemas/PrincipalsInput",
+ "description": "Details of users or groups."
+ },
+ "share_mode": {
+ "type": "string",
+ "enum": [
+ "READ_ONLY",
+ "MODIFY",
+ "NO_ACCESS"
+ ],
+ "description": "Object share mode."
+ }
+ },
+ "description": "Details of users or groups."
+ },
+ "ExcludeMetadataListItemInput": {
+ "type": "object",
+ "required": [
+ "identifier",
+ "type"
+ ],
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION",
+ "TAG",
+ "USER",
+ "USER_GROUP",
+ "LOGICAL_RELATIONSHIP",
+ "INSIGHT_SPEC"
+ ],
+ "description": "Type of metadata. Required if the name of the object is set as identifier. This attribute is optional when the object GUID is specified as identifier.\n1. Liveboard\n2. Answers\n3. LOGICAL_TABLE for any data object such as table, worksheet or view\n4. LOGICAL_COLUMN for a column of any data object such as table, worksheet or view\n5. CONNECTION for connection objects\n6. TAG for tag objects\n7. USER for user objects\n8. USER_GROUP for group objects\n9. LOGICAL_RELATIONSHIP for table or worksheet joins. A join combines from one or several data object by using matching values.\n10. INSIGHT_SPEC for SpotIQ objects"
+ }
+ }
+ },
+ "FavoriteObjectOptionsInput": {
+ "type": "object",
+ "properties": {
+ "include": {
+ "type": "boolean",
+ "default": false,
+ "description": "Includes objects marked as favorite for the specified users.",
+ "nullable": true
+ },
+ "user_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the users. If not specified, the favorite objects of current logged in user are returned.",
+ "nullable": true
+ }
+ },
+ "description": "Favorite object options."
+ },
+ "MetadataSearchSortOptions": {
+ "type": "object",
+ "properties": {
+ "field_name": {
+ "type": "string",
+ "enum": [
+ "NAME",
+ "DISPLAY_NAME",
+ "AUTHOR",
+ "CREATED",
+ "MODIFIED",
+ "VIEWS",
+ "FAVORITES",
+ "LAST_ACCESSED"
+ ],
+ "description": "Name of the field to apply the sort on.",
+ "nullable": true
+ },
+ "order": {
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "description": "Sort order : ASC(Ascending) or DESC(Descending).",
+ "nullable": true
+ }
+ },
+ "description": "Sort options."
+ },
+ "MetadataSearchResponse": {
+ "type": "object",
+ "required": [
+ "metadata_type"
+ ],
+ "properties": {
+ "metadata_id": {
+ "type": "string",
+ "description": "Unique identifier of the metadata.",
+ "nullable": true
+ },
+ "metadata_name": {
+ "type": "string",
+ "description": "Name of the metadata.",
+ "nullable": true
+ },
+ "metadata_type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION",
+ "TAG",
+ "USER",
+ "USER_GROUP",
+ "LOGICAL_RELATIONSHIP",
+ "INSIGHT_SPEC"
+ ],
+ "description": "Type of the metadata."
+ },
+ "metadata_obj_id": {
+ "type": "string",
+ "description": "Custom identifier of the metadata.\n(Available from 10.8.0.cl onwards)",
+ "nullable": true
+ },
+ "dependent_objects": {
+ "type": "object",
+ "description": "Details of dependent objects of the metadata objects.",
+ "nullable": true
+ },
+ "incomplete_objects": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "description": "Details of incomplete information of the metadata objects if any.",
+ "nullable": true
+ },
+ "metadata_detail": {
+ "type": "object",
+ "description": "Complete details of the metadata objects.",
+ "nullable": true
+ },
+ "metadata_header": {
+ "type": "object",
+ "description": "Header information of the metadata objects.",
+ "nullable": true
+ },
+ "visualization_headers": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "description": "Visualization header information of the metadata objects.",
+ "nullable": true
+ },
+ "stats": {
+ "type": "object",
+ "description": "Stats of the metadata object. Includes views, favorites, last_accessed.",
+ "nullable": true
+ }
+ },
+ "description": "Metadata Search Response Object."
+ },
+ "GetAsyncImportStatusResponse": {
+ "type": "object",
+ "properties": {
+ "status_list": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ImportEPackAsyncTaskStatus"
+ },
+ "description": "List of task statuses.",
+ "nullable": true
+ },
+ "last_batch": {
+ "type": "boolean",
+ "description": "Indicates whether there are more task statuses to fetch.",
+ "nullable": true
+ }
+ }
+ },
+ "ImportEPackAsyncTaskStatus": {
+ "type": "object",
+ "properties": {
+ "tenant_id": {
+ "type": "string",
+ "description": "GUID of tenant from which the task is initiated.",
+ "nullable": true
+ },
+ "org_id": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Organisation ID of the user who initiated the task.",
+ "nullable": true
+ },
+ "task_id": {
+ "type": "string",
+ "description": "Unique identifier for the task.",
+ "nullable": true
+ },
+ "task_name": {
+ "type": "string",
+ "description": "Name of the task.",
+ "nullable": true
+ },
+ "import_response": {
+ "type": "object",
+ "description": "Response of imported objects so far.",
+ "nullable": true
+ },
+ "task_status": {
+ "type": "string",
+ "enum": [
+ "COMPLETED",
+ "IN_QUEUE",
+ "IN_PROGRESS",
+ "FAILED"
+ ],
+ "description": "Current status of the task.",
+ "nullable": true
+ },
+ "author_id": {
+ "type": "string",
+ "description": "ID of the user who initiated the task.",
+ "nullable": true
+ },
+ "import_policy": {
+ "type": "string",
+ "enum": [
+ "PARTIAL",
+ "ALL_OR_NONE",
+ "VALIDATE_ONLY",
+ "PARTIAL_OBJECT"
+ ],
+ "description": "Policy used for the import task.",
+ "nullable": true
+ },
+ "created_at": {
+ "type": "number",
+ "format": "float",
+ "description": "Time when the task was created (in ms since epoch).",
+ "nullable": true
+ },
+ "in_progress_at": {
+ "type": "number",
+ "format": "float",
+ "description": "Time when the task started (in ms since epoch).",
+ "nullable": true
+ },
+ "completed_at": {
+ "type": "number",
+ "format": "float",
+ "description": "Time when the task was completed (in ms since epoch).",
+ "nullable": true
+ },
+ "total_object_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total number of objects to process.",
+ "nullable": true
+ },
+ "object_processed_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of objects processed so far.",
+ "nullable": true
+ },
+ "modified_at": {
+ "type": "number",
+ "format": "float",
+ "description": "Last time the task status was updated (in ms since epoch).",
+ "nullable": true
+ },
+ "author_display_name": {
+ "type": "string",
+ "description": "Display name of the user who initiated the task.",
+ "nullable": true
+ }
+ }
+ },
+ "SqlQueryResponse": {
+ "type": "object",
+ "required": [
+ "metadata_id",
+ "metadata_name",
+ "metadata_type",
+ "sql_queries"
+ ],
+ "properties": {
+ "metadata_id": {
+ "type": "string",
+ "description": "Unique identifier of the metadata."
+ },
+ "metadata_name": {
+ "type": "string",
+ "description": "Name of the metadata."
+ },
+ "metadata_type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION",
+ "TAG",
+ "USER",
+ "USER_GROUP",
+ "LOGICAL_RELATIONSHIP"
+ ],
+ "description": "Type of the metadata."
+ },
+ "sql_queries": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SqlQuery"
+ },
+ "description": "SQL query details of metadata objects."
+ }
+ }
+ },
+ "SqlQuery": {
+ "type": "object",
+ "required": [
+ "metadata_id",
+ "metadata_name",
+ "sql_query"
+ ],
+ "properties": {
+ "metadata_id": {
+ "type": "string",
+ "description": "Unique identifier of the metadata."
+ },
+ "metadata_name": {
+ "type": "string",
+ "description": "Name of the metadata."
+ },
+ "sql_query": {
+ "type": "string",
+ "description": "SQL query of a metadata object."
+ }
+ },
+ "description": "Response format associated with fetch SQL query api"
+ },
+ "PdfOptionsInput": {
+ "type": "object",
+ "properties": {
+ "include_cover_page": {
+ "type": "boolean",
+ "default": true,
+ "description": "Indicates whether to include the cover page with the Liveboard title.",
+ "nullable": true
+ },
+ "include_custom_logo": {
+ "type": "boolean",
+ "default": true,
+ "description": "Indicates whether to include customized wide logo in the footer if available.",
+ "nullable": true
+ },
+ "include_filter_page": {
+ "type": "boolean",
+ "default": true,
+ "description": "Indicates whether to include a page with all applied filters.",
+ "nullable": true
+ },
+ "include_page_number": {
+ "type": "boolean",
+ "default": true,
+ "description": "Indicates whether to include page number in the footer of each page.",
+ "nullable": true
+ },
+ "page_orientation": {
+ "type": "string",
+ "enum": [
+ "PORTRAIT",
+ "LANDSCAPE"
+ ],
+ "default": "PORTRAIT",
+ "description": "Page orientation of the PDF.",
+ "nullable": true
+ },
+ "truncate_table": {
+ "type": "boolean",
+ "default": false,
+ "description": "Indicates whether to include only the first page of the tables.",
+ "nullable": true
+ },
+ "page_footer_text": {
+ "type": "string",
+ "description": "Text to include in the footer of each page.",
+ "nullable": true
+ }
+ }
+ },
+ "PngOptionsInput": {
+ "type": "object",
+ "properties": {
+ "include_cover_page": {
+ "type": "boolean",
+ "default": false,
+ "description": "Indicates whether to include the cover page with the Liveboard title.",
+ "nullable": true
+ },
+ "include_filter_page": {
+ "type": "boolean",
+ "default": false,
+ "description": "Indicates whether to include a page with all applied filters.",
+ "nullable": true
+ },
+ "personalised_view_id": {
+ "type": "string",
+ "description": "Indicates personalised view of the Liveboard in case of png",
+ "nullable": true
+ },
+ "image_resolution": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Desired width of the Liveboard image in pixels. Ex. 1920 for Full HD image
Beta Version: 10.9.0.cl or later",
+ "nullable": true
+ },
+ "image_scale": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The scale of the image in percentage. Ex. 100 for 100% scale.
Beta Version: 10.9.0.cl or later",
+ "nullable": true
+ },
+ "include_header": {
+ "type": "boolean",
+ "default": false,
+ "description": "Indicates whether to include the header of the liveboard.
Beta Version: 10.9.0.cl or later",
+ "nullable": true
+ }
+ }
+ },
+ "RegionalSettingsInput": {
+ "type": "object",
+ "properties": {
+ "currency_format": {
+ "type": "string",
+ "description": "ISO code to be appended with currency values.",
+ "nullable": true,
+ "enum": [
+ "ADP",
+ "AED",
+ "AFN",
+ "ALL",
+ "AMD",
+ "ANG",
+ "AOA",
+ "ARA",
+ "ARS",
+ "ATS",
+ "AUD",
+ "AWG",
+ "AZN",
+ "BAM",
+ "BBD",
+ "BDT",
+ "BEF",
+ "BGL",
+ "BGM",
+ "BGN",
+ "BHD",
+ "BIF",
+ "BMD",
+ "BND",
+ "BOB",
+ "BOP",
+ "BOV",
+ "BRL",
+ "BSD",
+ "BTN",
+ "BUK",
+ "BWP",
+ "BYN",
+ "BZD",
+ "CAD",
+ "CDF",
+ "CHE",
+ "CHF",
+ "CHW",
+ "CLE",
+ "CLP",
+ "CNX",
+ "CNY",
+ "COP",
+ "COU",
+ "CRC",
+ "CSK",
+ "CUC",
+ "CUP",
+ "CVE",
+ "CYP",
+ "CZK",
+ "DDM",
+ "DEM",
+ "DJF",
+ "DKK",
+ "DOP",
+ "DZD",
+ "ECS",
+ "ECV",
+ "EEK",
+ "EGP",
+ "ERN",
+ "ESP",
+ "ETB",
+ "EUR",
+ "FIM",
+ "FJD",
+ "FKP",
+ "FRF",
+ "GBP",
+ "GEK",
+ "GEL",
+ "GHS",
+ "GIP",
+ "GMD",
+ "GNF",
+ "GNS",
+ "GQE",
+ "GRD",
+ "GTQ",
+ "GWE",
+ "GWP",
+ "GYD",
+ "HKD",
+ "HNL",
+ "HRD",
+ "HRK",
+ "HTG",
+ "HUF",
+ "IDR",
+ "IEP",
+ "ILP",
+ "ILS",
+ "INR",
+ "IQD",
+ "IRR",
+ "ISK",
+ "ITL",
+ "JMD",
+ "JOD",
+ "JPY",
+ "KES",
+ "KGS",
+ "KHR",
+ "KMF",
+ "KPW",
+ "KRW",
+ "KWD",
+ "KYD",
+ "KZT",
+ "LAK",
+ "LBP",
+ "LKR",
+ "LRD",
+ "LSL",
+ "LTL",
+ "LTT",
+ "LUC",
+ "LUF",
+ "LUL",
+ "LVL",
+ "LVR",
+ "LYD",
+ "MAD",
+ "MAF",
+ "MCF",
+ "MDC",
+ "MDL",
+ "MGA",
+ "MGF",
+ "MKD",
+ "MLF",
+ "MMK",
+ "MNT",
+ "MOP",
+ "MRU",
+ "MTL",
+ "MTP",
+ "MUR",
+ "MVR",
+ "MWK",
+ "MXN",
+ "MXV",
+ "MYR",
+ "MZE",
+ "MZN",
+ "NAD",
+ "NGN",
+ "NIO",
+ "NLG",
+ "NOK",
+ "NPR",
+ "NZD",
+ "OMR",
+ "PAB",
+ "PEI",
+ "PEN",
+ "PGK",
+ "PHP",
+ "PKR",
+ "PLN",
+ "PTE",
+ "PYG",
+ "QAR",
+ "RHD",
+ "RON",
+ "RSD",
+ "RUB",
+ "RWF",
+ "SAR",
+ "SBD",
+ "SCR",
+ "SDG",
+ "SEK",
+ "SGD",
+ "SHP",
+ "SIT",
+ "SKK",
+ "SLL",
+ "SOS",
+ "SRD",
+ "SRG",
+ "SSP",
+ "STN",
+ "SUR",
+ "SVC",
+ "SYP",
+ "SZL",
+ "THB",
+ "TJR",
+ "TJS",
+ "TMT",
+ "TND",
+ "TOP",
+ "TPE",
+ "TRY",
+ "TTD",
+ "TWD",
+ "TZS",
+ "UAH",
+ "UAK",
+ "UGX",
+ "USD",
+ "UYU",
+ "UYW",
+ "UZS",
+ "VES",
+ "VND",
+ "VUV",
+ "WST",
+ "XAF",
+ "XAG",
+ "XAU",
+ "XBA",
+ "XBB",
+ "XCD",
+ "XDR",
+ "XEU",
+ "XFO",
+ "XFU",
+ "XOF",
+ "XPD",
+ "XPF",
+ "XPT",
+ "XRE",
+ "XSU",
+ "XTS",
+ "XUA",
+ "XXX",
+ "YDD",
+ "YER",
+ "ZAR",
+ "ZMW"
+ ]
+ },
+ "user_locale": {
+ "type": "string",
+ "description": "Indicates the locale to be used for all formattings.",
+ "nullable": true,
+ "enum": [
+ "en-CA",
+ "en-GB",
+ "en-US",
+ "de-DE",
+ "ja-JP",
+ "zh-CN",
+ "pt-BR",
+ "fr-FR",
+ "fr-CA",
+ "es-US",
+ "da-DK",
+ "es-ES",
+ "fi-FI",
+ "sv-SE",
+ "nb-NO",
+ "pt-PT",
+ "nl-NL",
+ "it-IT",
+ "ru-RU",
+ "en-IN",
+ "de-CH",
+ "en-NZ",
+ "es-MX",
+ "en-AU",
+ "zh-Hant",
+ "ko-KR",
+ "en-DE"
+ ]
+ },
+ "number_format_locale": {
+ "type": "string",
+ "description": "Indicates the locale to be used for number formatting.",
+ "nullable": true,
+ "enum": [
+ "en-CA",
+ "en-GB",
+ "en-US",
+ "de-DE",
+ "ja-JP",
+ "zh-CN",
+ "pt-BR",
+ "fr-FR",
+ "fr-CA",
+ "es-US",
+ "da-DK",
+ "es-ES",
+ "fi-FI",
+ "sv-SE",
+ "nb-NO",
+ "pt-PT",
+ "nl-NL",
+ "it-IT",
+ "ru-RU",
+ "en-IN",
+ "de-CH",
+ "en-NZ",
+ "es-MX",
+ "en-AU",
+ "zh-Hant",
+ "ko-KR",
+ "en-DE"
+ ]
+ },
+ "date_format_locale": {
+ "type": "string",
+ "description": "Indicates the locale to be used for date formatting.",
+ "nullable": true,
+ "enum": [
+ "en-CA",
+ "en-GB",
+ "en-US",
+ "de-DE",
+ "ja-JP",
+ "zh-CN",
+ "pt-BR",
+ "fr-FR",
+ "fr-CA",
+ "es-US",
+ "da-DK",
+ "es-ES",
+ "fi-FI",
+ "sv-SE",
+ "nb-NO",
+ "pt-PT",
+ "nl-NL",
+ "it-IT",
+ "ru-RU",
+ "en-IN",
+ "de-CH",
+ "en-NZ",
+ "es-MX",
+ "en-AU",
+ "zh-Hant",
+ "ko-KR",
+ "en-DE"
+ ]
+ }
+ }
+ },
+ "PermissionOfPrincipalsResponse": {
+ "type": "object",
+ "properties": {
+ "principal_permission_details": {
+ "type": "object",
+ "nullable": true
+ }
+ }
+ },
+ "PermissionOfMetadataResponse": {
+ "type": "object",
+ "properties": {
+ "metadata_permission_details": {
+ "type": "object",
+ "nullable": true
+ }
+ }
+ },
+ "PrincipalsInput": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the principal object such as a user or group."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "USER",
+ "USER_GROUP"
+ ],
+ "description": "Principal type.",
+ "nullable": true
+ }
+ }
+ },
+ "PermissionsMetadataTypeInput": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION"
+ ],
+ "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.",
+ "nullable": true
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata object."
+ }
+ },
+ "description": "MetadataType InputType used in Permission API's"
+ },
+ "ColumnSecurityRuleTableInput": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Name or GUID of the table",
+ "nullable": true
+ },
+ "obj_identifier": {
+ "type": "string",
+ "description": "Object ID of the table",
+ "nullable": true
+ }
+ }
+ },
+ "ColumnSecurityRuleResponse": {
+ "type": "object",
+ "properties": {
+ "guid": {
+ "type": "string",
+ "description": "GUID of the table for which the column security rules are fetched",
+ "nullable": true
+ },
+ "objId": {
+ "type": "string",
+ "description": "Object ID of the table for which the column security rules are fetched",
+ "nullable": true
+ },
+ "columnSecurityRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnSecurityRule"
+ },
+ "description": "Array containing column security rule objects",
+ "nullable": true
+ }
+ }
+ },
+ "ColumnSecurityRule": {
+ "type": "object",
+ "required": [
+ "column"
+ ],
+ "properties": {
+ "column": {
+ "$ref": "#/components/schemas/ColumnSecurityRuleColumn",
+ "description": "Information about the column"
+ },
+ "groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnSecurityRuleGroup"
+ },
+ "description": "Array of groups that have access to this column",
+ "nullable": true
+ },
+ "sourceTableDetails": {
+ "$ref": "#/components/schemas/ColumnSecurityRuleSourceTable",
+ "description": "Information about the source table",
+ "nullable": true
+ }
+ }
+ },
+ "ColumnSecurityRuleColumn": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The unique identifier of the column"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the column"
+ }
+ }
+ },
+ "ColumnSecurityRuleGroup": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The unique identifier of the group"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the group"
+ }
+ }
+ },
+ "ColumnSecurityRuleSourceTable": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The unique identifier of the source table"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the source table"
+ }
+ }
+ },
+ "SearchDataResponse": {
+ "type": "object",
+ "required": [
+ "contents"
+ ],
+ "properties": {
+ "contents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/AnswerContent"
+ },
+ "description": "Data content of metadata objects"
+ }
+ },
+ "description": "Response format associated with the search data API."
+ },
+ "AnswerContent": {
+ "type": "object",
+ "required": [
+ "available_data_row_count",
+ "column_names",
+ "data_rows",
+ "record_offset",
+ "record_size",
+ "returned_data_row_count",
+ "sampling_ratio"
+ ],
+ "properties": {
+ "available_data_row_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total available data row count."
+ },
+ "column_names": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Name of the columns."
+ },
+ "data_rows": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "description": "Rows of data set."
+ },
+ "record_offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The starting record number from where the records should be included."
+ },
+ "record_size": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of records that should be included."
+ },
+ "returned_data_row_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total returned data row count."
+ },
+ "sampling_ratio": {
+ "type": "number",
+ "format": "float",
+ "description": "Sampling ratio (0 to 1). If the query was sampled, it is the ratio of keys returned in the data set to the total number of keys expected in the query. If the value is 1.0, this means that the complete result is returned."
+ }
+ }
+ },
+ "LiveboardDataResponse": {
+ "type": "object",
+ "required": [
+ "metadata_id",
+ "metadata_name",
+ "contents"
+ ],
+ "properties": {
+ "metadata_id": {
+ "type": "string",
+ "description": "The unique identifier of the object"
+ },
+ "metadata_name": {
+ "type": "string",
+ "description": "Name of the metadata object"
+ },
+ "contents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/LiveboardContent"
+ },
+ "description": "Data content of metadata objects"
+ }
+ }
+ },
+ "LiveboardContent": {
+ "type": "object",
+ "required": [
+ "available_data_row_count",
+ "column_names",
+ "data_rows",
+ "record_offset",
+ "record_size",
+ "returned_data_row_count",
+ "sampling_ratio"
+ ],
+ "properties": {
+ "available_data_row_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total available data row count."
+ },
+ "column_names": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Name of the columns."
+ },
+ "data_rows": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "description": "Rows of data set."
+ },
+ "record_offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The starting record number from where the records should be included."
+ },
+ "record_size": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of records that should be included."
+ },
+ "returned_data_row_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total returned data row count."
+ },
+ "sampling_ratio": {
+ "type": "number",
+ "format": "float",
+ "description": "Sampling ratio (0 to 1). If the query was sampled, it is the ratio of keys returned in the data set to the total number of keys expected in the query. If the value is 1.0, this means that the complete result is returned."
+ },
+ "visualization_id": {
+ "type": "string",
+ "description": "Unique ID of the visualization.",
+ "nullable": true
+ },
+ "visualization_name": {
+ "type": "string",
+ "description": "Name of the visualization.",
+ "nullable": true
+ }
+ }
+ },
+ "AnswerDataResponse": {
+ "type": "object",
+ "required": [
+ "metadata_id",
+ "metadata_name",
+ "contents"
+ ],
+ "properties": {
+ "metadata_id": {
+ "type": "string",
+ "description": "The unique identifier of the object"
+ },
+ "metadata_name": {
+ "type": "string",
+ "description": "Name of the metadata object"
+ },
+ "contents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/AnswerContent"
+ },
+ "description": "Data content of metadata objects"
+ }
+ },
+ "description": "Response format associated with fetch data api"
+ },
+ "LogResponse": {
+ "type": "object",
+ "required": [
+ "date",
+ "log"
+ ],
+ "properties": {
+ "date": {
+ "type": "string",
+ "description": "Date timestamp of the log entry"
+ },
+ "log": {
+ "type": "string",
+ "description": "Log data"
+ }
+ }
+ },
+ "RepoConfigObject": {
+ "type": "object",
+ "properties": {
+ "repository_url": {
+ "type": "string",
+ "description": "Remote repository URL configured",
+ "nullable": true
+ },
+ "username": {
+ "type": "string",
+ "description": "Username to authenticate connection to the version control system",
+ "nullable": true
+ },
+ "commit_branch_name": {
+ "type": "string",
+ "description": "Name of the remote branch where objects from this Thoughtspot instance will be versioned.",
+ "nullable": true
+ },
+ "branches": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Branches that have been pulled in local repository",
+ "nullable": true
+ },
+ "enable_guid_mapping": {
+ "type": "boolean",
+ "description": "Maintain mapping of guid for the deployment to an instance",
+ "nullable": true
+ },
+ "configuration_branch_name": {
+ "type": "string",
+ "description": "Name of the branch where the configuration files related to operations between Thoughtspot and version control repo should be maintained.",
+ "nullable": true
+ },
+ "org": {
+ "$ref": "#/components/schemas/Org",
+ "description": "Details of the Org",
+ "nullable": true
+ }
+ }
+ },
+ "CommitHistoryResponse": {
+ "type": "object",
+ "required": [
+ "committer",
+ "author",
+ "comment",
+ "commit_time",
+ "commit_id",
+ "branch"
+ ],
+ "properties": {
+ "committer": {
+ "$ref": "#/components/schemas/CommiterType",
+ "description": "Repository user using which changes were committed"
+ },
+ "author": {
+ "$ref": "#/components/schemas/AuthorType",
+ "description": "Thoughtspot user who commits the changes"
+ },
+ "comment": {
+ "type": "string",
+ "description": "Comments associated with the commit"
+ },
+ "commit_time": {
+ "type": "string",
+ "description": "Time at which the changes were committed."
+ },
+ "commit_id": {
+ "type": "string",
+ "description": "SHA id associated with the commit"
+ },
+ "branch": {
+ "type": "string",
+ "description": "Branch where changes were committed"
+ }
+ }
+ },
+ "CommiterType": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "Email id of the committer",
+ "nullable": true
+ },
+ "username": {
+ "type": "string",
+ "description": "Username of the committer",
+ "nullable": true
+ }
+ }
+ },
+ "AuthorType": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "Email id of the committer",
+ "nullable": true
+ },
+ "username": {
+ "type": "string",
+ "description": "Username of the committer",
+ "nullable": true
+ }
+ }
+ },
+ "ConnectionInput": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the connection.",
+ "nullable": true
+ },
+ "name_pattern": {
+ "type": "string",
+ "description": "A pattern to match case-insensitive name of the connection object. User `%` for a wildcard match.",
+ "nullable": true
+ },
+ "data_warehouse_objects": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DataWarehouseObjectInput"
+ },
+ "description": "Filter options for databases, schemas, tables and columns.",
+ "nullable": true
+ }
+ }
+ },
+ "DataWarehouseObjectInput": {
+ "type": "object",
+ "properties": {
+ "database": {
+ "type": "string",
+ "description": "Name of the database.",
+ "nullable": true
+ },
+ "schema": {
+ "type": "string",
+ "description": "Name of the schema within the database.",
+ "nullable": true
+ },
+ "table": {
+ "type": "string",
+ "description": "Name of the table within the schema.",
+ "nullable": true
+ },
+ "column": {
+ "type": "string",
+ "description": "Name of the column within the table.",
+ "nullable": true
+ }
+ }
+ },
+ "SortOptionInput": {
+ "type": "object",
+ "properties": {
+ "field_name": {
+ "type": "string",
+ "enum": [
+ "NAME",
+ "DISPLAY_NAME",
+ "AUTHOR",
+ "CREATED",
+ "MODIFIED",
+ "LAST_ACCESSED",
+ "SYNCED",
+ "VIEWS",
+ "USER_STATE",
+ "ROW_COUNT"
+ ],
+ "description": "Name of the field to apply the sort on.",
+ "nullable": true
+ },
+ "order": {
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "description": "Sort order : ASC(Ascending) or DESC(Descending).",
+ "nullable": true
+ }
+ }
+ },
+ "SearchConnectionResponse": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "data_warehouse_type"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique ID of the connection."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the connection."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the connection.",
+ "nullable": true
+ },
+ "data_warehouse_type": {
+ "type": "string",
+ "enum": [
+ "SNOWFLAKE",
+ "AMAZON_REDSHIFT",
+ "GOOGLE_BIGQUERY",
+ "AZURE_SYNAPSE",
+ "TERADATA",
+ "SAP_HANA",
+ "STARBURST",
+ "ORACLE_ADW",
+ "DATABRICKS",
+ "DENODO",
+ "DREMIO",
+ "TRINO",
+ "PRESTO",
+ "POSTGRES",
+ "SQLSERVER",
+ "MYSQL",
+ "GENERIC_JDBC",
+ "AMAZON_RDS_POSTGRESQL",
+ "AMAZON_AURORA_POSTGRESQL",
+ "AMAZON_RDS_MYSQL",
+ "AMAZON_AURORA_MYSQL",
+ "LOOKER",
+ "AMAZON_ATHENA",
+ "SINGLESTORE",
+ "GCP_SQLSERVER",
+ "GCP_ALLOYDB_POSTGRESQL",
+ "GCP_POSTGRESQL",
+ "GCP_MYSQL",
+ "MODE",
+ "GOOGLE_SHEETS",
+ "FALCON",
+ "FALCON_ONPREM",
+ "CLICKHOUSE"
+ ],
+ "description": "Type of data warehouse."
+ },
+ "data_warehouse_objects": {
+ "$ref": "#/components/schemas/DataWarehouseObjects",
+ "description": "List of Data warehouse objects",
+ "nullable": true
+ },
+ "details": {
+ "type": "object",
+ "description": "Details of the connection.",
+ "nullable": true
+ }
+ }
+ },
+ "DataWarehouseObjects": {
+ "type": "object",
+ "required": [
+ "databases"
+ ],
+ "properties": {
+ "databases": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Database"
+ },
+ "description": "Databases of the connection."
+ }
+ }
+ },
+ "Database": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the database."
+ },
+ "schemas": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SchemaObject"
+ },
+ "description": "Schemas of the database.",
+ "nullable": true
+ },
+ "auto_created": {
+ "type": "boolean",
+ "description": "Determines if the object is auto created.",
+ "nullable": true
+ }
+ }
+ },
+ "SchemaObject": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the schema."
+ },
+ "tables": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Table"
+ },
+ "description": "Tables in the schema.",
+ "nullable": true
+ }
+ }
+ },
+ "Table": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the table."
+ },
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Column"
+ },
+ "description": "Columns of the table.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of table. Either view or table",
+ "nullable": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the table",
+ "nullable": true
+ },
+ "selected": {
+ "type": "boolean",
+ "description": "Determines if the table is selected",
+ "nullable": true
+ },
+ "linked": {
+ "type": "boolean",
+ "description": "Determines if the table is linked",
+ "nullable": true
+ },
+ "relationships": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "description": "List of relationships for the table",
+ "nullable": true
+ }
+ }
+ },
+ "Column": {
+ "type": "object",
+ "required": [
+ "name",
+ "data_type"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the column"
+ },
+ "data_type": {
+ "type": "string",
+ "description": "Data type of the column"
+ },
+ "is_aggregate": {
+ "type": "string",
+ "description": "Determines if the column schema is an aggregate",
+ "nullable": true
+ },
+ "can_import": {
+ "type": "boolean",
+ "description": "Determines if the column schema can be imported",
+ "nullable": true
+ },
+ "selected": {
+ "type": "boolean",
+ "description": "Determines if the table is selected",
+ "nullable": true
+ },
+ "is_linked_active": {
+ "type": "boolean",
+ "description": "Determines if the table is linked",
+ "nullable": true
+ }
+ }
+ },
+ "SearchRoleResponse": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "description",
+ "privileges"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique Id of the role."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the role"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the role"
+ },
+ "groups_assigned_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "number of groups assigned with this role",
+ "nullable": true
+ },
+ "orgs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/GenericInfo"
+ },
+ "description": "Orgs in which role exists.",
+ "nullable": true
+ },
+ "groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/GenericInfo"
+ },
+ "description": "Details of groups assigned with this role",
+ "nullable": true
+ },
+ "privileges": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "UNKNOWN",
+ "ADMINISTRATION",
+ "AUTHORING",
+ "USERDATAUPLOADING",
+ "DATADOWNLOADING",
+ "USERMANAGEMENT",
+ "SECURITYMANAGEMENT",
+ "LOGICALMODELING",
+ "DATAMANAGEMENT",
+ "TAGMANAGEMENT",
+ "SHAREWITHALL",
+ "SYSTEMMANAGEMENT",
+ "JOBSCHEDULING",
+ "A3ANALYSIS",
+ "EXPERIMENTALFEATUREPRIVILEGE",
+ "BYPASSRLS",
+ "RANALYSIS",
+ "DISABLE_PINBOARD_CREATION",
+ "DEVELOPER",
+ "APPLICATION_ADMINISTRATION",
+ "USER_ADMINISTRATION",
+ "GROUP_ADMINISTRATION",
+ "BACKUP_ADMINISTRATION",
+ "SYSTEM_INFO_ADMINISTRATION",
+ "ENABLESPOTAPPCREATION",
+ "SYNCMANAGEMENT",
+ "ORG_ADMINISTRATION",
+ "ROLE_ADMINISTRATION",
+ "AUTHENTICATION_ADMINISTRATION",
+ "BILLING_INFO_ADMINISTRATION",
+ "PREVIEW_THOUGHTSPOT_SAGE",
+ "LIVEBOARD_VERIFIER",
+ "CAN_MANAGE_CUSTOM_CALENDAR",
+ "CAN_CREATE_OR_EDIT_CONNECTIONS",
+ "CAN_CONFIGURE_CONNECTIONS",
+ "CAN_MANAGE_WORKSHEET_VIEWS_TABLES",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "CONTROL_TRUSTED_AUTH",
+ "CAN_CREATE_CATALOG",
+ "ALLOW_NON_EMBED_FULL_APP_ACCESS",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "CAN_SETUP_VERSION_CONTROL"
+ ]
+ },
+ "description": "Privileges granted to the role."
+ },
+ "permission": {
+ "type": "string",
+ "enum": [
+ "READ_ONLY",
+ "MODIFY",
+ "NO_ACCESS"
+ ],
+ "description": "Permission details of the Role",
+ "nullable": true
+ },
+ "author_id": {
+ "type": "string",
+ "description": "Unique identifier of author of the role.",
+ "nullable": true
+ },
+ "modifier_id": {
+ "type": "string",
+ "description": "Unique identifier of modifier of the role.",
+ "nullable": true
+ },
+ "creation_time_in_millis": {
+ "type": "object",
+ "description": "Creation time of the role in milliseconds.",
+ "nullable": true
+ },
+ "modification_time_in_millis": {
+ "type": "object",
+ "description": "Last modified time of the role in milliseconds.",
+ "nullable": true
+ },
+ "deleted": {
+ "type": "boolean",
+ "description": "Indicates whether the role is deleted.",
+ "nullable": true
+ },
+ "deprecated": {
+ "type": "boolean",
+ "description": "Indicates whether the role is deprecated.",
+ "nullable": true
+ },
+ "external": {
+ "type": "boolean",
+ "description": "Indicates whether the role is external.",
+ "nullable": true
+ },
+ "hidden": {
+ "type": "boolean",
+ "description": "Indicates whether the role is hidden.",
+ "nullable": true
+ },
+ "shared_via_connection": {
+ "type": "boolean",
+ "description": "Indicates whether the role is shared via connection",
+ "nullable": true
+ }
+ },
+ "description": "Response for search role api should handle hidden privileges as well."
+ },
+ "Default_Action_Config_Search_Input": {
+ "type": "object",
+ "properties": {
+ "visibility": {
+ "type": "boolean",
+ "description": "Custom action is available on all visualizations. Earlier naming convention: LOCAL/GLOBAL. TRUE signifies GLOBAL for backward compatibility.",
+ "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."
+ },
+ "ResponseCustomAction": {
+ "type": "object",
+ "required": [
+ "action_details",
+ "default_action_config",
+ "id",
+ "name"
+ ],
+ "properties": {
+ "action_details": {
+ "$ref": "#/components/schemas/Action_details",
+ "description": "`Type` and configuration data for custom actions"
+ },
+ "default_action_config": {
+ "$ref": "#/components/schemas/Default_action_config",
+ "description": "Default custom action configuration. This includes the custom action's visibility across all visualizations and Answers. By default, a custom action is added to all visualizations and Answers."
+ },
+ "id": {
+ "type": "string",
+ "description": "Unique Id of the custom action."
+ },
+ "metadata_association": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Metadata_Association_Item"
+ },
+ "description": "Metadata objects to assign the the custom action to.",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Unique name of the custom action."
+ },
+ "user_groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Object_ID_And_Name"
+ },
+ "description": "Unique ID or name of the User groups which are associated with the custom action.",
+ "nullable": true
+ }
+ },
+ "description": "Custom action details"
+ },
+ "Action_details": {
+ "type": "object",
+ "properties": {
+ "CALLBACK": {
+ "$ref": "#/components/schemas/CALLBACK",
+ "description": "CALLBACK Custom Action Type",
+ "nullable": true
+ },
+ "URL": {
+ "$ref": "#/components/schemas/URL",
+ "description": "URL Custom Action Type",
+ "nullable": true
+ }
+ },
+ "description": "Type and Configuration for Custom Actions"
+ },
+ "CALLBACK": {
+ "type": "object",
+ "properties": {
+ "reference": {
+ "type": "string",
+ "description": "Reference name of the SDK. By default, the value will be set to action name.",
+ "nullable": true
+ }
+ },
+ "description": "CALLBACK Custom Action Type"
+ },
+ "URL": {
+ "type": "object",
+ "required": [
+ "url"
+ ],
+ "properties": {
+ "authentication": {
+ "$ref": "#/components/schemas/Authentication",
+ "description": "Authorization type for the custom action.",
+ "nullable": true
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ParametersListItem"
+ },
+ "description": "Query parameters for url.",
+ "nullable": true
+ },
+ "url": {
+ "type": "string",
+ "description": "Request Url for the Custom action."
+ },
+ "reference": {
+ "type": "string",
+ "description": "Reference name of the SDK. By default, the value will be set to action name.",
+ "nullable": true
+ }
+ },
+ "description": "URL Custom Action Type"
+ },
+ "Authentication": {
+ "type": "object",
+ "properties": {
+ "API_Key": {
+ "$ref": "#/components/schemas/API_Key",
+ "description": "With API key auth, you send a key-value pair to the API either in the request headers or query parameters.",
+ "nullable": true
+ },
+ "Basic_Auth": {
+ "$ref": "#/components/schemas/Basic_Auth",
+ "description": "Basic Auth: Basic authentication involves sending a verified username and password with your request.",
+ "nullable": true
+ },
+ "Bearer_Token": {
+ "type": "string",
+ "description": "Bearer tokens enable requests to authenticate using an access key.",
+ "nullable": true
+ },
+ "No_Auth": {
+ "type": "string",
+ "description": "No authorization. If your request doesn't require authorization.",
+ "nullable": true
+ }
+ },
+ "description": "Authorization type for the custom action."
+ },
+ "API_Key": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "Enter your key name",
+ "nullable": true
+ },
+ "value": {
+ "type": "string",
+ "description": "Enter you key value",
+ "nullable": true
+ }
+ },
+ "description": "With API key auth, you send a key-value pair to the API either in the request headers or query parameters."
+ },
+ "Basic_Auth": {
+ "type": "object",
+ "properties": {
+ "password": {
+ "type": "string",
+ "description": "Password for the basic authentication",
+ "nullable": true
+ },
+ "username": {
+ "type": "string",
+ "description": "Username for the basic authentication",
+ "nullable": true
+ }
+ },
+ "description": "Basic Auth: Basic authentication involves sending a verified username and password with your request."
+ },
+ "ParametersListItem": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "Key for the url query parameter",
+ "nullable": true
+ },
+ "value": {
+ "type": "string",
+ "description": "Value for the url query parameter",
+ "nullable": true
+ }
+ }
+ },
+ "Default_action_config": {
+ "type": "object",
+ "properties": {
+ "visibility": {
+ "type": "boolean",
+ "description": "Custom action is available on all visualizations. Earlier , the naming convention: LOCAL/GLOBAL. TRUE signifies GLOBAL for backward compatibility.",
+ "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."
+ },
+ "Metadata_Association_Item": {
+ "type": "object",
+ "required": [
+ "action_config",
+ "identifier",
+ "type"
+ ],
+ "properties": {
+ "action_config": {
+ "$ref": "#/components/schemas/Action_config",
+ "description": "Specify that the association is enabled for the metadata object"
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata."
+ },
+ "type": {
+ "type": "string",
+ "description": " Type of metadata.\n \n\nRequired if the name of the object is set as the identifier. This attribute is optional when the object GUID is specified as the identifier."
+ }
+ }
+ },
+ "Action_config": {
+ "type": "object",
+ "properties": {
+ "position": {
+ "type": "string",
+ "description": "Position of the Custom action on the Metadata object. Earlier naming convention: context.",
+ "nullable": true
+ },
+ "visibility": {
+ "type": "boolean",
+ "description": "Visibility of the metadata association with custom action. Earlier naming convention: enabled",
+ "nullable": true
+ }
+ },
+ "description": "Specify that the association is enabled for the metadata object"
+ },
+ "CustomActionMetadataTypeInput": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "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.",
+ "nullable": true
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata object."
+ }
+ },
+ "description": "MetadataType InputType used in Custom Action API's"
+ },
+ "Input_eureka_NLSRequest": {
+ "type": "object",
+ "properties": {
+ "agentVersion": {
+ "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.",
+ "nullable": true
+ },
+ "instructions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "User specific instructions for processing the @query.",
+ "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.",
+ "nullable": true
+ }
+ }
+ },
+ "eureka_LLMDecomposeQueryResponse": {
+ "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.",
+ "nullable": true
+ }
+ }
+ },
+ "eureka_LLMSuggestedQuery": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "NL query that can be run using spotter aka natural language search to get an AI generated answer.",
+ "nullable": true
+ },
+ "worksheetId": {
+ "type": "string",
+ "description": "Unique identifier of the worksheet on which this query can be run on.",
+ "nullable": true
+ },
+ "worksheetName": {
+ "type": "string",
+ "description": "Display name of the worksheet on which this query can be run on.",
+ "nullable": true
+ }
+ }
+ },
+ "RiseGQLArgWrapper": {
+ "type": "object",
+ "required": [
+ "name",
+ "type"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ }
+ }
+ },
+ "VariableDetailInput": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the variable",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "CONNECTION_PROPERTY",
+ "TABLE_MAPPING",
+ "CONNECTION_PROPERTY_PER_PRINCIPAL"
+ ],
+ "description": "Type of variable",
+ "nullable": true
+ },
+ "name_pattern": {
+ "type": "string",
+ "description": "A pattern to match case-insensitive name of the variable. User % for a wildcard match",
+ "nullable": true
+ }
+ },
+ "description": "Input for variable details in search"
+ },
+ "Variable": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier of the variable"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the variable"
+ },
+ "variable_type": {
+ "type": "string",
+ "enum": [
+ "CONNECTION_PROPERTY",
+ "TABLE_MAPPING",
+ "CONNECTION_PROPERTY_PER_PRINCIPAL"
+ ],
+ "description": "Type of the variable",
+ "nullable": true
+ },
+ "sensitive": {
+ "type": "boolean",
+ "description": "If the variable is sensitive",
+ "nullable": true
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VariableValue"
+ },
+ "description": "Values of the variable",
+ "nullable": true
+ }
+ },
+ "description": "Variable object"
+ },
+ "VariableValue": {
+ "type": "object",
+ "required": [
+ "org_identifier"
+ ],
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The value of the variable",
+ "nullable": true
+ },
+ "org_identifier": {
+ "type": "string",
+ "description": "The unique name of the org"
+ },
+ "principal_type": {
+ "type": "string",
+ "enum": [
+ "USER",
+ "USER_GROUP"
+ ],
+ "description": "Principal type",
+ "nullable": true
+ },
+ "principal_identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the principal",
+ "nullable": true
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The priority assigned to this value. If there are 2 matching values, the one with the higher priority will be picked.",
+ "nullable": true
+ }
+ }
+ },
+ "SortOption": {
+ "type": "object",
+ "properties": {
+ "field_name": {
+ "type": "string",
+ "enum": [
+ "DEFAULT",
+ "NAME",
+ "DISPLAY_NAME",
+ "AUTHOR",
+ "CREATED",
+ "MODIFIED"
+ ],
+ "default": "DEFAULT",
+ "description": "Name of the field to apply the sort on.",
+ "nullable": true
+ },
+ "order": {
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "default": "ASC",
+ "description": "Sort order : ASC(Ascending) or DESC(Descending).",
+ "nullable": true
+ }
+ }
+ },
+ "CalendarResponse": {
+ "type": "object",
+ "properties": {
+ "calendar_name": {
+ "type": "string",
+ "description": "Name of the calendar",
+ "nullable": true
+ },
+ "connection_name": {
+ "type": "string",
+ "description": "Name of the connection",
+ "nullable": true
+ },
+ "data_warehouse_type": {
+ "type": "string",
+ "description": "Type of data warehouse",
+ "nullable": true
+ },
+ "modification_time_in_millis": {
+ "type": "string",
+ "description": "Last modification time in milliseconds",
+ "nullable": true
+ },
+ "author_name": {
+ "type": "string",
+ "description": "Name of the author who created the calendar",
+ "nullable": true
+ },
+ "connection_id": {
+ "type": "string",
+ "description": "Unique ID of the connection",
+ "nullable": true
+ },
+ "calendar_id": {
+ "type": "string",
+ "description": "Unique ID of the calendar",
+ "nullable": true
+ }
+ }
+ },
+ "ConnectionConfigurationResponse": {
+ "type": "object",
+ "properties": {
+ "configuration_identifier": {
+ "type": "string",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "nullable": true
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "configuration": {
+ "type": "object",
+ "nullable": true
+ },
+ "policy_principals": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserPrincipal"
+ },
+ "nullable": true
+ },
+ "policy_processes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "SAGE_INDEXING",
+ "ROW_COUNT_STATS"
+ ]
+ },
+ "nullable": true
+ },
+ "disabled": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "data_warehouse_type": {
+ "type": "string",
+ "enum": [
+ "SNOWFLAKE",
+ "AMAZON_REDSHIFT",
+ "GOOGLE_BIGQUERY",
+ "AZURE_SYNAPSE",
+ "TERADATA",
+ "SAP_HANA",
+ "STARBURST",
+ "ORACLE_ADW",
+ "DATABRICKS",
+ "DENODO",
+ "DREMIO",
+ "TRINO",
+ "PRESTO",
+ "POSTGRES",
+ "SQLSERVER",
+ "MYSQL",
+ "GENERIC_JDBC",
+ "AMAZON_RDS_POSTGRESQL",
+ "AMAZON_AURORA_POSTGRESQL",
+ "AMAZON_RDS_MYSQL",
+ "AMAZON_AURORA_MYSQL",
+ "LOOKER",
+ "AMAZON_ATHENA",
+ "SINGLESTORE",
+ "GCP_SQLSERVER",
+ "GCP_ALLOYDB_POSTGRESQL",
+ "GCP_POSTGRESQL",
+ "GCP_MYSQL",
+ "MODE",
+ "GOOGLE_SHEETS",
+ "FALCON",
+ "FALCON_ONPREM",
+ "CLICKHOUSE"
+ ],
+ "nullable": true
+ },
+ "policy_type": {
+ "type": "string",
+ "enum": [
+ "NO_POLICY",
+ "PRINCIPALS",
+ "PROCESSES"
+ ],
+ "nullable": true
+ }
+ }
+ },
+ "UserPrincipal": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ },
+ "GenericInfo": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ },
+ "UserGroup": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ },
+ "JWT_User_Options": {
+ "type": "object",
+ "properties": {
+ "parameters": {
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/Runtime_Filter"
+ },
+ {
+ "$ref": "#/components/schemas/Runtime_Sort"
+ },
+ {
+ "$ref": "#/components/schemas/Runtime_Param_Override"
+ }
+ ]
+ }
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/JWT_Metadata_Object"
+ },
+ "nullable": true
+ }
+ },
+ "description": "JWT user options to create a JWT token given the payload.\n\n\n*Deprecated in 9.12.0.cl. Use user_parameters instead.*"
+ },
+ "JWT_Parameter": {
+ "type": "object",
+ "properties": {
+ "runtime_filter": {
+ "type": "object",
+ "description": "Runtime filter parameter type in JWT.",
+ "nullable": true
+ },
+ "runtime_sort": {
+ "type": "object",
+ "description": "Runtime sort parameter type in JWT.",
+ "nullable": true
+ },
+ "runtime_param_override": {
+ "type": "object",
+ "description": "Runtime param override type in JWT.",
+ "nullable": true
+ }
+ },
+ "description": "List of runtime parameters need to set during the session."
+ },
+ "JWT_Metadata_Object": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LOGICAL_TABLE"
+ ],
+ "nullable": true
+ }
+ },
+ "description": "Metadata objects."
+ },
+ "User_Parameter_Options": {
+ "type": "object",
+ "properties": {
+ "objects": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/User_Object"
+ },
+ "nullable": true
+ },
+ "runtime_filters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Runtime_Filters"
+ },
+ "description": "Objects to apply the User_Runtime_Filters.\n\nExamples to set the `runtime_filters` :\n```json\n{ \"column_name\": \"Color\", \"operator\": \"EQ\", \"values\": [\"red\"], \"persist\": false }\n```",
+ "nullable": true
+ },
+ "runtime_sorts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Runtime_Sorts"
+ },
+ "description": "Objects to apply the User_Runtime_Sorts.\n\nExamples to set the `runtime_sorts` :\n```json\n{ \"column_name\": \"Color\", \"order\": \"ASC\", \"persist\": false }\n```",
+ "nullable": true
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Runtime_Parameters"
+ },
+ "description": "Objects to apply the Runtime_Parameters.\n\nExamples to set the `parameters` :\n```json\n{ \"name\": \"Color\", \"values\": [\"Blue\"], \"persist\": false }\n```",
+ "nullable": true
+ }
+ },
+ "description": "Define attributes such as Runtime filters and Runtime parameters to send security entitlements to a user session. For more information, see [Documentation](https://developers.thoughtspot.com/docs/abac-user-parameters).\n"
+ },
+ "User_Object": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "LOGICAL_TABLE"
+ ],
+ "description": " Type of 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.\n \n\n Specify the object type as `LOGICAL_TABLE`. The `LIVEBOARD` and `ANSWER` object types are not supported.",
+ "nullable": true
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique name/id of the object."
+ }
+ },
+ "description": "Objects to apply the User_Object."
+ },
+ "Runtime_Filters": {
+ "type": "object",
+ "required": [
+ "column_name",
+ "values",
+ "operator"
+ ],
+ "properties": {
+ "column_name": {
+ "type": "string",
+ "description": "The column name to apply filter."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Value of the filters."
+ },
+ "operator": {
+ "type": "string",
+ "enum": [
+ "EQ",
+ "NE",
+ "LT",
+ "LE",
+ "GT",
+ "GE",
+ "IN",
+ "BW",
+ "CONTAINS",
+ "BEGINS_WITH",
+ "ENDS_WITH",
+ "BW_INC",
+ "BW_INC_MIN",
+ "BW_INC_MAX",
+ "LIKE",
+ "NOT_IN"
+ ],
+ "description": "Operator value. Example: EQ"
+ },
+ "persist": {
+ "type": "boolean",
+ "default": false,
+ "description": "Flag to persist the runtime filters.
Version: 9.12.0.cl or later",
+ "nullable": true
+ },
+ "objects": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/User_Object"
+ },
+ "description": "Object to apply the runtime filter.",
+ "nullable": true
+ }
+ },
+ "description": "Objects to apply the Runtime_Filters."
+ },
+ "Runtime_Sorts": {
+ "type": "object",
+ "properties": {
+ "column_name": {
+ "type": "string",
+ "description": "The column name to apply filter.",
+ "nullable": true
+ },
+ "order": {
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "description": "Order for the sort.",
+ "nullable": true
+ },
+ "persist": {
+ "type": "boolean",
+ "default": false,
+ "description": "Flag to persist the runtime sorts.
Version: 9.12.0.cl or later",
+ "nullable": true
+ },
+ "objects": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/User_Object"
+ },
+ "description": "Object to apply the runtime sort.",
+ "nullable": true
+ }
+ },
+ "description": "Objects to apply the Runtime_Sorts."
+ },
+ "Runtime_Parameters": {
+ "type": "object",
+ "required": [
+ "name",
+ "values"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the parameter."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The array of values."
+ },
+ "persist": {
+ "type": "boolean",
+ "default": false,
+ "description": "Flag to persist the parameters.
Version: 9.12.0.cl or later",
+ "nullable": true
+ },
+ "objects": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/User_Object"
+ },
+ "description": "Object to apply the runtime parameter.",
+ "nullable": true
+ }
+ },
+ "description": "Objects to apply the Runtime_Parameters."
+ },
+ "Token": {
+ "type": "object",
+ "required": [
+ "token",
+ "creation_time_in_millis",
+ "expiration_time_in_millis",
+ "scope",
+ "valid_for_user_id",
+ "valid_for_username"
+ ],
+ "properties": {
+ "token": {
+ "type": "string",
+ "description": "Bearer auth token."
+ },
+ "creation_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token creation time in milliseconds."
+ },
+ "expiration_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token expiration time in milliseconds."
+ },
+ "scope": {
+ "$ref": "#/components/schemas/Scope",
+ "description": "Token access scope details"
+ },
+ "valid_for_user_id": {
+ "type": "string",
+ "description": "Username to whom the token is issued."
+ },
+ "valid_for_username": {
+ "type": "string",
+ "description": "Unique identifier of the user to whom the token is issued."
+ }
+ }
+ },
+ "Scope": {
+ "type": "object",
+ "required": [
+ "access_type"
+ ],
+ "properties": {
+ "access_type": {
+ "type": "string",
+ "description": "Object access scope type."
+ },
+ "org_id": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Unique identifier of the metadata.",
+ "nullable": true
+ },
+ "metadata_id": {
+ "type": "string",
+ "description": "Unique identifier of the Org.",
+ "nullable": true
+ }
+ }
+ },
+ "JWT_User_Options_Full": {
+ "type": "object",
+ "properties": {
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/JWT_Parameter"
+ },
+ "nullable": true
+ }
+ },
+ "description": "JWT user options to create a JWT token given the payload.\n\n\n*Deprecated in 9.12.0.cl. Use user_parameters instead.*"
+ },
+ "TokenValidationResponse": {
+ "type": "object",
+ "required": [
+ "creation_time_in_millis",
+ "expiration_time_in_millis",
+ "scope",
+ "valid_for_user_id",
+ "token_type"
+ ],
+ "properties": {
+ "creation_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token creation time in milliseconds."
+ },
+ "expiration_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token expiration time in milliseconds."
+ },
+ "scope": {
+ "$ref": "#/components/schemas/Scope",
+ "description": "Token access scope details"
+ },
+ "valid_for_user_id": {
+ "type": "string",
+ "description": "Username to whom the token is issued."
+ },
+ "token_type": {
+ "type": "string",
+ "description": "Type of token."
+ }
+ }
+ },
+ "FilterRules": {
+ "type": "object",
+ "required": [
+ "column_name",
+ "operator",
+ "values"
+ ],
+ "properties": {
+ "column_name": {
+ "type": "string",
+ "description": "The name of the column to apply the filter on."
+ },
+ "operator": {
+ "type": "string",
+ "enum": [
+ "EQ",
+ "NE",
+ "LT",
+ "LE",
+ "GT",
+ "GE",
+ "IN",
+ "BW",
+ "CONTAINS",
+ "BEGINS_WITH",
+ "ENDS_WITH",
+ "BW_INC",
+ "BW_INC_MIN",
+ "BW_INC_MAX",
+ "LIKE",
+ "NOT_IN"
+ ],
+ "description": "The operator to use for filtering. Example: EQ (equals), GT(greater than), etc."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ "description": "The values to filter on. To get all records, use TS_WILDCARD_ALL as values."
+ }
+ },
+ "description": "Filter Rules to be applied on Objects."
+ },
+ "ParameterValues": {
+ "type": "object",
+ "required": [
+ "name",
+ "values"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the column to apply the filter on."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ "description": "The values to filter on. Only single value is supported currently."
+ }
+ },
+ "description": "Filter Rules to be applied on Objects."
+ },
+ "TokenAccessScopeObject": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "LOGICAL_TABLE"
+ ],
+ "description": " Type of 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.\n \n\n Specify the object type as `LOGICAL_TABLE`. The `LIVEBOARD` and `ANSWER` object types are not supported.",
+ "nullable": true
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique name/id of the object."
+ }
+ },
+ "description": "Objects on which the filter rules and parameters values should be applied to"
+ },
+ "Group_Object": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "description": "Groups objects."
+ },
+ "AccessToken": {
+ "type": "object",
+ "required": [
+ "token",
+ "org",
+ "user",
+ "creation_time_in_millis",
+ "expiration_time_in_millis"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "GUID of the auth token.",
+ "nullable": true
+ },
+ "token": {
+ "type": "string",
+ "description": "Bearer auth token."
+ },
+ "org": {
+ "$ref": "#/components/schemas/OrgInfo",
+ "description": "Org information for which the token is generated."
+ },
+ "user": {
+ "$ref": "#/components/schemas/UserInfo",
+ "description": "User information for which the token is generated."
+ },
+ "creation_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token creation time in milliseconds."
+ },
+ "expiration_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token expiration time in milliseconds."
+ }
+ }
+ },
+ "OrgInfo": {
+ "type": "object",
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Id."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name.",
+ "nullable": true
+ }
+ }
+ },
+ "UserInfo": {
+ "type": "object",
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Id."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name.",
+ "nullable": true
+ }
+ }
+ },
+ "ResponseActivationURL": {
+ "type": "object",
+ "properties": {
+ "activation_link": {
+ "type": "string",
+ "description": "Activation link to activate the user.",
+ "nullable": true
+ }
+ },
+ "description": "The object representation with activation link."
+ },
+ "ImportUser": {
+ "type": "object",
+ "required": [
+ "user_identifier",
+ "display_name"
+ ],
+ "properties": {
+ "user_identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the user."
+ },
+ "display_name": {
+ "type": "string",
+ "description": "Display name of the user."
+ },
+ "password": {
+ "type": "string",
+ "description": "Password of the user.",
+ "nullable": true
+ },
+ "account_type": {
+ "type": "string",
+ "enum": [
+ "LOCAL_USER",
+ "LDAP_USER",
+ "SAML_USER",
+ "OIDC_USER",
+ "REMOTE_USER"
+ ],
+ "default": "LOCAL_USER",
+ "description": "Type of the user account.",
+ "nullable": true
+ },
+ "account_status": {
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "INACTIVE",
+ "EXPIRED",
+ "LOCKED",
+ "PENDING",
+ "SUSPENDED"
+ ],
+ "default": "ACTIVE",
+ "description": "Status of the user account.",
+ "nullable": true
+ },
+ "email": {
+ "type": "string",
+ "description": "Email address of the user.",
+ "nullable": true
+ },
+ "org_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "ID or name of the Orgs to which the user belongs.",
+ "nullable": true
+ },
+ "group_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "ID or name of the groups to which the user belongs.",
+ "nullable": true
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ],
+ "description": "Visibility of the users. The SHARABLE property makes a user visible to other users and group, who can share objects with the user.",
+ "nullable": true
+ },
+ "notify_on_share": {
+ "type": "boolean",
+ "default": true,
+ "description": "Notify user when other users or groups share metadata objects",
+ "nullable": true
+ },
+ "show_onboarding_experience": {
+ "type": "boolean",
+ "description": "Show or hide the new user onboarding walkthroughs",
+ "nullable": true
+ },
+ "onboarding_experience_completed": {
+ "type": "boolean",
+ "description": "Revisit the new user onboarding walkthroughs",
+ "nullable": true
+ },
+ "home_liveboard_identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the default Liveboard assigned to the user.",
+ "nullable": true
+ },
+ "favorite_metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FavoriteMetadataInput"
+ },
+ "description": "Metadata objects to add to the user's favorites list.",
+ "nullable": true
+ }
+ }
+ },
+ "ImportUsersResponse": {
+ "type": "object",
+ "properties": {
+ "users_added": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ImportUserType"
+ },
+ "nullable": true
+ },
+ "users_updated": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ImportUserType"
+ },
+ "nullable": true
+ },
+ "users_deleted": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ImportUserType"
+ },
+ "nullable": true
+ }
+ }
+ },
+ "ImportUserType": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier of the user.",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the user."
+ }
+ }
+ },
+ "TagMetadataTypeInput": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION"
+ ],
+ "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.\n 1. LIVEBOARD\n 2. ANSWERS\n 3. LOGICAL_TABLE for any data object such as table, worksheet or view.\n 4. LOGICAL_COLUMN for a column of any data object such as tables, worksheets or views.",
+ "nullable": true
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata."
+ }
+ }
+ },
+ "GroupsImportListInput": {
+ "type": "object",
+ "required": [
+ "display_name",
+ "group_identifier"
+ ],
+ "properties": {
+ "display_name": {
+ "type": "string",
+ "description": "Unique display name of the group."
+ },
+ "group_identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the group."
+ },
+ "default_liveboard_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Unique ID of Liveboards that will be assigned as default Liveboards to the users in the group.",
+ "nullable": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the group.",
+ "nullable": true
+ },
+ "privileges": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "ADMINISTRATION",
+ "AUTHORING",
+ "USERDATAUPLOADING",
+ "DATADOWNLOADING",
+ "USERMANAGEMENT",
+ "DATAMANAGEMENT",
+ "SHAREWITHALL",
+ "JOBSCHEDULING",
+ "A3ANALYSIS",
+ "EXPERIMENTALFEATUREPRIVILEGE",
+ "BYPASSRLS",
+ "RANALYSIS",
+ "DEVELOPER",
+ "USER_ADMINISTRATION",
+ "GROUP_ADMINISTRATION",
+ "SYNCMANAGEMENT",
+ "CAN_CREATE_CATALOG",
+ "DISABLE_PINBOARD_CREATION",
+ "LIVEBOARD_VERIFIER",
+ "PREVIEW_THOUGHTSPOT_SAGE",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "ALLOW_NON_EMBED_FULL_APP_ACCESS",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "CAN_SETUP_VERSION_CONTROL"
+ ]
+ },
+ "description": "Privileges that will be assigned to the group.",
+ "nullable": true
+ },
+ "sub_group_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the sub-groups to add to the group.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LOCAL_GROUP",
+ "LDAP_GROUP"
+ ],
+ "description": "Type of the group.",
+ "nullable": true
+ },
+ "user_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the users to assign to the group.",
+ "nullable": true
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ],
+ "description": "Visibility of the group. The SHARABLE makes a group visible to other users and groups, and thus allows them to share objects.",
+ "nullable": true
+ }
+ }
+ },
+ "ImportUserGroupsResponse": {
+ "type": "object",
+ "required": [
+ "groups_added",
+ "groups_deleted",
+ "groups_updated"
+ ],
+ "properties": {
+ "groups_added": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "The groups which are added into the system."
+ },
+ "groups_deleted": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "The groups which are deleted from the system."
+ },
+ "groups_updated": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "The groups which are updated in the system."
+ }
+ }
+ },
+ "Export_Options": {
+ "type": "object",
+ "properties": {
+ "include_obj_id_ref": {
+ "type": "boolean",
+ "default": false,
+ "description": "Boolean Flag to export Object ID of referenced object. This flag will work only after the Object ID feature has been enabled. Please contact support to enable the feature.",
+ "nullable": true
+ },
+ "include_guid": {
+ "type": "boolean",
+ "default": true,
+ "description": "Boolean flag to export guid of the object. This flag will work only after the Object ID feature has been enabled. Please contact support to enable the feature.",
+ "nullable": true
+ },
+ "include_obj_id": {
+ "type": "boolean",
+ "default": false,
+ "description": "Boolean flag to export Object ID of the object. This flag will work only after the Object ID feature has been enabled. Please contact support to enable the feature.",
+ "nullable": true
+ },
+ "export_with_associated_feedbacks": {
+ "type": "boolean",
+ "default": false,
+ "description": "Boolean flag indicating whether to export associated feedbacks of the object. This will only be respected when the object can have feedbacks.
Version: 10.7.0.cl or later",
+ "nullable": true
+ },
+ "export_column_security_rules": {
+ "type": "boolean",
+ "default": false,
+ "description": "Boolean flag indicating whether to export column security rules of the object. This will only be respected when the object can have column security rules and export_associated is true.
Beta Version: 10.12.0.cl or later",
+ "nullable": true
+ }
+ },
+ "description": "Flags to specify additional options for export. This will only be active when UserDefinedId in TML is enabled."
+ },
+ "ResponseCopyObject": {
+ "type": "object",
+ "properties": {
+ "metadata_id": {
+ "type": "string",
+ "description": "The unique identifier of the object.",
+ "nullable": true
+ }
+ }
+ },
+ "ResponseWorksheetToModelConversion": {
+ "type": "object",
+ "required": [
+ "name",
+ "success_count",
+ "failure_count",
+ "incomplete_count",
+ "post_upgrade_failed_count",
+ "total_time_in_millis",
+ "successful_entities",
+ "failed_entities",
+ "incomplete_entities",
+ "post_upgrade_failed_entities"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "success_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of worksheets successfully converted to models."
+ },
+ "failure_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of worksheets that failed to convert."
+ },
+ "incomplete_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of worksheets that were incomplete during the conversion process."
+ },
+ "post_upgrade_failed_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of worksheets that failed after an upgrade during the conversion process."
+ },
+ "total_time_in_millis": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The total time taken to complete the conversion process in milliseconds."
+ },
+ "successful_entities": {
+ "$ref": "#/components/schemas/ResponseSuccessfulEntities",
+ "description": "List of worksheets successfully converted to models."
+ },
+ "failed_entities": {
+ "$ref": "#/components/schemas/ResponseFailedEntities",
+ "description": "List of worksheets that failed to convert."
+ },
+ "incomplete_entities": {
+ "$ref": "#/components/schemas/ResponseIncompleteEntities",
+ "description": "List of worksheets that were incomplete during the conversion."
+ },
+ "post_upgrade_failed_entities": {
+ "$ref": "#/components/schemas/ResponsePostUpgradeFailedEntities",
+ "description": "List of worksheets that failed after an upgrade during the conversion process."
+ }
+ },
+ "description": "Name of the conversion process, which involves converting worksheets to models."
+ },
+ "ResponseSuccessfulEntities": {
+ "type": "object",
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ResponseSuccessfulEntity"
+ }
+ }
+ },
+ "description": "Wrapper for the successful entities, as they are inside a 'data' field in the response."
+ },
+ "ResponseSuccessfulEntity": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the worksheet."
+ }
+ },
+ "description": "Unique ID of the worksheet."
+ },
+ "ResponseFailedEntities": {
+ "type": "object",
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ResponseFailedEntity"
+ }
+ }
+ },
+ "description": "Wrapper for the failed entities, as they are inside a 'data' field in the response."
+ },
+ "ResponseFailedEntity": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "error"
+ ],
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the worksheet that failed to convert."
+ },
+ "error": {
+ "type": "string",
+ "description": "Error details related to the failed conversion."
+ }
+ },
+ "description": "Unique ID of the failed worksheet."
+ },
+ "ResponseIncompleteEntities": {
+ "type": "object",
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ResponseIncompleteEntity"
+ }
+ }
+ },
+ "description": "Wrapper for the incomplete entities, as they are inside a 'data' field in the response."
+ },
+ "ResponseIncompleteEntity": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "error"
+ ],
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the incomplete worksheet."
+ },
+ "error": {
+ "type": "string",
+ "description": "Error details related to the incomplete conversion."
+ }
+ },
+ "description": "Unique ID of the incomplete worksheet."
+ },
+ "ResponsePostUpgradeFailedEntities": {
+ "type": "object",
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ResponsePostUpgradeFailedEntity"
+ }
+ }
+ },
+ "description": "Wrapper for the post-upgrade failed entities, as they are inside a 'data' field in the response."
+ },
+ "ResponsePostUpgradeFailedEntity": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "error"
+ ],
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the worksheet that failed post-upgrade."
+ },
+ "error": {
+ "type": "string",
+ "description": "Error details related to the post-upgrade failure."
+ }
+ },
+ "description": "Unique ID of the worksheet that failed post-upgrade."
+ },
+ "HeaderUpdateInput": {
+ "type": "object",
+ "required": [
+ "attributes"
+ ],
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID of a specified type to identify the header.",
+ "nullable": true
+ },
+ "obj_identifier": {
+ "type": "string",
+ "description": "Custom object identifier to uniquely identify header.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "LIVEBOARD",
+ "ACTION_OBJECT",
+ "DATA_SOURCE",
+ "USER",
+ "USER_GROUP"
+ ],
+ "description": "Optional type of the header object.",
+ "nullable": true
+ },
+ "attributes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/HeaderAttributeInput"
+ },
+ "description": "List of attributes to update"
+ }
+ },
+ "description": "Favorite object options."
+ },
+ "HeaderAttributeInput": {
+ "type": "object",
+ "required": [
+ "name",
+ "value"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Attribute name to be updated."
+ },
+ "value": {
+ "type": "string",
+ "description": "Attribute's new value."
+ }
+ },
+ "description": "Attribute to update in a header."
+ },
+ "UpdateObjIdInput": {
+ "type": "object",
+ "required": [
+ "new_obj_id"
+ ],
+ "properties": {
+ "metadata_identifier": {
+ "type": "string",
+ "description": "GUID or name of the metadata object.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "LIVEBOARD",
+ "ACTION_OBJECT",
+ "DATA_SOURCE",
+ "USER",
+ "USER_GROUP"
+ ],
+ "description": "Type of metadata. Required if metadata_identifier is name of the object.",
+ "nullable": true
+ },
+ "current_obj_id": {
+ "type": "string",
+ "description": "Current object ID value.",
+ "nullable": true
+ },
+ "new_obj_id": {
+ "type": "string",
+ "description": "New object ID value to set."
+ }
+ },
+ "description": "Input for updating object ID of a metadata object."
+ },
+ "ExportMetadataTypeInput": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "CONNECTION",
+ "CUSTOM_ACTION",
+ "USER",
+ "USER_GROUP",
+ "ROLE",
+ "FEEDBACK"
+ ],
+ "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
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata object. Not required if the metadata type is ANSWER when session_id and generation_number is set.",
+ "nullable": true
+ },
+ "session_identifier": {
+ "type": "string",
+ "description": "Unique ID of the Answer session. Required if the metadata type is ANSWER and identifier is not set.",
+ "nullable": true
+ },
+ "generation_number": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Generation Number of the Answer session. Required if the metadata type is ANSWER and identifier is not set.",
+ "nullable": true
+ }
+ },
+ "description": "MetadataType InputType used in Export MetadataType API"
+ },
+ "DeleteMetadataTypeInput": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "LOGICAL_RELATIONSHIP"
+ ],
+ "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
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata object."
+ }
+ },
+ "description": "MetadataType InputType used in Delete MetadataType API"
+ },
+ "PublishMetadataListItem": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE"
+ ],
+ "description": "Type of metadata. Required if identifier is name.",
+ "nullable": true
+ }
+ }
+ },
+ "AuthorMetadataTypeInput": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "CONNECTION"
+ ],
+ "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
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata object."
+ }
+ },
+ "description": "MetadataType InputType used in Author API's"
+ },
+ "ShareMetadataTypeInput": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION"
+ ],
+ "description": " Type of metadata.\n \n\nType of metadata. Required 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
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata object."
+ }
+ }
+ },
+ "SharePermissionsInput": {
+ "type": "object",
+ "required": [
+ "principal",
+ "share_mode"
+ ],
+ "properties": {
+ "principal": {
+ "$ref": "#/components/schemas/PrincipalsInput",
+ "description": "Details of users or groups."
+ },
+ "share_mode": {
+ "type": "string",
+ "enum": [
+ "READ_ONLY",
+ "MODIFY",
+ "NO_ACCESS"
+ ],
+ "description": "Type of access to the shared object"
+ }
+ }
+ },
+ "ColumnSecurityRuleUpdate": {
+ "type": "object",
+ "required": [
+ "column_identifier"
+ ],
+ "properties": {
+ "column_identifier": {
+ "type": "string",
+ "description": "Column identifier (col_id or name)"
+ },
+ "is_unsecured": {
+ "type": "boolean",
+ "description": "If true, the column will be marked as unprotected and all groups associated with it will be removed",
+ "nullable": true
+ },
+ "group_access": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnSecurityRuleGroupOperation"
+ },
+ "description": "Array of group operation objects that specifies the actions for groups to be associated with a column",
+ "nullable": true
+ }
+ }
+ },
+ "ColumnSecurityRuleGroupOperation": {
+ "type": "object",
+ "required": [
+ "operation",
+ "group_identifiers"
+ ],
+ "properties": {
+ "operation": {
+ "type": "string",
+ "enum": [
+ "ADD",
+ "REMOVE",
+ "REPLACE"
+ ],
+ "description": "Type of operation to be performed on the groups"
+ },
+ "group_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Array of group identifiers (name or GUID) on which the operation will be performed"
+ }
+ }
+ },
+ "MetadataObject": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "CUSTOM_ACTION"
+ ],
+ "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
+ }
+ }
+ },
+ "CommitResponse": {
+ "type": "object",
+ "properties": {
+ "committer": {
+ "$ref": "#/components/schemas/CommiterType",
+ "description": "Repository user using which changes were committed",
+ "nullable": true
+ },
+ "author": {
+ "$ref": "#/components/schemas/AuthorType",
+ "description": "Thoughtspot user who commits the changes",
+ "nullable": true
+ },
+ "comment": {
+ "type": "string",
+ "description": "Comments associated with the commit",
+ "nullable": true
+ },
+ "commit_time": {
+ "type": "string",
+ "description": "Time at which the changes were committed.",
+ "nullable": true
+ },
+ "commit_id": {
+ "type": "string",
+ "description": "SHA id associated with the commit",
+ "nullable": true
+ },
+ "branch": {
+ "type": "string",
+ "description": "Branch where changes were committed",
+ "nullable": true
+ },
+ "committed_files": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CommitFileType"
+ },
+ "description": "Files that were pushed as part of this commit",
+ "nullable": true
+ }
+ }
+ },
+ "CommitFileType": {
+ "type": "object",
+ "required": [
+ "file_name",
+ "status_code"
+ ],
+ "properties": {
+ "file_name": {
+ "type": "string",
+ "description": "Name of the file deployed"
+ },
+ "status_code": {
+ "type": "string",
+ "description": "Indicates the status of deployment for the file"
+ },
+ "status_message": {
+ "type": "string",
+ "description": "Any error or warning with the deployment",
+ "nullable": true
+ }
+ }
+ },
+ "RevertResponse": {
+ "type": "object",
+ "properties": {
+ "committer": {
+ "$ref": "#/components/schemas/CommiterType",
+ "description": "Repository user using which changes were committed",
+ "nullable": true
+ },
+ "author": {
+ "$ref": "#/components/schemas/AuthorType",
+ "description": "Thoughtspot user who commits the changes",
+ "nullable": true
+ },
+ "comment": {
+ "type": "string",
+ "description": "Comments associated with the commit",
+ "nullable": true
+ },
+ "commit_time": {
+ "type": "string",
+ "description": "Time at which the changes were committed.",
+ "nullable": true
+ },
+ "commit_id": {
+ "type": "string",
+ "description": "SHA id associated with the commit",
+ "nullable": true
+ },
+ "branch": {
+ "type": "string",
+ "description": "Branch where changes were committed",
+ "nullable": true
+ },
+ "committed_files": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CommitFileType"
+ },
+ "description": "Files that were pushed as part of this commit",
+ "nullable": true
+ },
+ "reverted_metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/RevertedMetadata"
+ },
+ "description": "Metadata of reverted file of this commit",
+ "nullable": true
+ }
+ }
+ },
+ "RevertedMetadata": {
+ "type": "object",
+ "required": [
+ "file_name",
+ "metadata_name",
+ "metadata_type",
+ "status_code",
+ "status_message"
+ ],
+ "properties": {
+ "file_name": {
+ "type": "string",
+ "description": "Name of the file deployed"
+ },
+ "metadata_name": {
+ "type": "string",
+ "description": "Name of the metadata object"
+ },
+ "metadata_type": {
+ "type": "string",
+ "description": "Type of the metadata object"
+ },
+ "status_code": {
+ "type": "string",
+ "description": "Indicates the status of deployment for the file"
+ },
+ "status_message": {
+ "type": "string",
+ "description": "Any error or warning with the deployment"
+ }
+ }
+ },
+ "DeployResponse": {
+ "type": "object",
+ "properties": {
+ "file_name": {
+ "type": "string",
+ "description": "Name of the file deployed",
+ "nullable": true
+ },
+ "metadata_name": {
+ "type": "string",
+ "description": "Name of the metadata object",
+ "nullable": true
+ },
+ "metadata_type": {
+ "type": "string",
+ "description": "Type of the metadata object",
+ "nullable": true
+ },
+ "status_code": {
+ "type": "string",
+ "description": "Indicates the status of deployment for the file",
+ "nullable": true
+ },
+ "status_message": {
+ "type": "string",
+ "description": "Any error or warning with the deployment",
+ "nullable": true
+ }
+ }
+ },
+ "CreateConnectionResponse": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "data_warehouse_type"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "ID of the connection created."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the connection."
+ },
+ "data_warehouse_type": {
+ "type": "string",
+ "enum": [
+ "SNOWFLAKE",
+ "AMAZON_REDSHIFT",
+ "GOOGLE_BIGQUERY",
+ "AZURE_SYNAPSE",
+ "TERADATA",
+ "SAP_HANA",
+ "STARBURST",
+ "ORACLE_ADW",
+ "DATABRICKS",
+ "DENODO",
+ "DREMIO",
+ "TRINO",
+ "PRESTO",
+ "POSTGRES",
+ "SQLSERVER",
+ "MYSQL",
+ "GENERIC_JDBC",
+ "AMAZON_RDS_POSTGRESQL",
+ "AMAZON_AURORA_POSTGRESQL",
+ "AMAZON_RDS_MYSQL",
+ "AMAZON_AURORA_MYSQL",
+ "LOOKER",
+ "AMAZON_ATHENA",
+ "SINGLESTORE",
+ "GCP_SQLSERVER",
+ "GCP_ALLOYDB_POSTGRESQL",
+ "GCP_POSTGRESQL",
+ "GCP_MYSQL",
+ "MODE",
+ "GOOGLE_SHEETS",
+ "FALCON",
+ "FALCON_ONPREM",
+ "CLICKHOUSE"
+ ],
+ "description": "Type of data warehouse."
+ },
+ "details": {
+ "type": "object",
+ "description": "Details of the connection.",
+ "nullable": true
+ }
+ }
+ },
+ "FetchConnectionDiffStatusResponse": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "boolean",
+ "description": "Status of the connection diff.",
+ "nullable": true
+ }
+ }
+ },
+ "RoleResponse": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "description",
+ "privileges"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique Id of the role."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the role"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the role"
+ },
+ "groups_assigned_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "number of groups assigned with this role",
+ "nullable": true
+ },
+ "orgs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/GenericInfo"
+ },
+ "description": "Orgs in which role exists.",
+ "nullable": true
+ },
+ "groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/GenericInfo"
+ },
+ "description": "Details of groups assigned with this role",
+ "nullable": true
+ },
+ "privileges": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "USERDATAUPLOADING",
+ "DATADOWNLOADING",
+ "DATAMANAGEMENT",
+ "SHAREWITHALL",
+ "JOBSCHEDULING",
+ "A3ANALYSIS",
+ "BYPASSRLS",
+ "DISABLE_PINBOARD_CREATION",
+ "DEVELOPER",
+ "APPLICATION_ADMINISTRATION",
+ "USER_ADMINISTRATION",
+ "GROUP_ADMINISTRATION",
+ "SYSTEM_INFO_ADMINISTRATION",
+ "SYNCMANAGEMENT",
+ "ORG_ADMINISTRATION",
+ "ROLE_ADMINISTRATION",
+ "AUTHENTICATION_ADMINISTRATION",
+ "BILLING_INFO_ADMINISTRATION",
+ "CONTROL_TRUSTED_AUTH",
+ "TAGMANAGEMENT",
+ "LIVEBOARD_VERIFIER",
+ "CAN_MANAGE_CUSTOM_CALENDAR",
+ "CAN_CREATE_OR_EDIT_CONNECTIONS",
+ "CAN_MANAGE_WORKSHEET_VIEWS_TABLES",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "CAN_CREATE_CATALOG",
+ "ALLOW_NON_EMBED_FULL_APP_ACCESS",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "CAN_SETUP_VERSION_CONTROL",
+ "PREVIEW_THOUGHTSPOT_SAGE"
+ ]
+ },
+ "description": "Privileges granted to the role."
+ },
+ "permission": {
+ "type": "string",
+ "enum": [
+ "READ_ONLY",
+ "MODIFY",
+ "NO_ACCESS"
+ ],
+ "description": "Permission details of the Role",
+ "nullable": true
+ },
+ "author_id": {
+ "type": "string",
+ "description": "Unique identifier of author of the role.",
+ "nullable": true
+ },
+ "modifier_id": {
+ "type": "string",
+ "description": "Unique identifier of modifier of the role.",
+ "nullable": true
+ },
+ "creation_time_in_millis": {
+ "type": "object",
+ "description": "Creation time of the role in milliseconds.",
+ "nullable": true
+ },
+ "modification_time_in_millis": {
+ "type": "object",
+ "description": "Last modified time of the role in milliseconds.",
+ "nullable": true
+ },
+ "deleted": {
+ "type": "boolean",
+ "description": "Indicates whether the role is deleted.",
+ "nullable": true
+ },
+ "deprecated": {
+ "type": "boolean",
+ "description": "Indicates whether the role is deprecated.",
+ "nullable": true
+ },
+ "external": {
+ "type": "boolean",
+ "description": "Indicates whether the role is external.",
+ "nullable": true
+ },
+ "hidden": {
+ "type": "boolean",
+ "description": "Indicates whether the role is hidden.",
+ "nullable": true
+ },
+ "shared_via_connection": {
+ "type": "boolean",
+ "description": "Indicates whether the role is shared via connection",
+ "nullable": true
+ }
+ }
+ },
+ "LiveboardOptionsInput": {
+ "type": "object",
+ "required": [
+ "visualization_identifiers"
+ ],
+ "properties": {
+ "visualization_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of visualizations."
+ }
+ },
+ "description": "Options to specify details of Liveboard."
+ },
+ "SchedulesPdfOptionsInput": {
+ "type": "object",
+ "properties": {
+ "complete_liveboard": {
+ "type": "boolean",
+ "description": "Indicates whether to include complete Liveboard.",
+ "nullable": true
+ },
+ "include_cover_page": {
+ "type": "boolean",
+ "description": "Indicates whether to include cover page with the Liveboard title.",
+ "nullable": true
+ },
+ "include_custom_logo": {
+ "type": "boolean",
+ "description": "Indicates whether to include customized wide logo in the footer if available.",
+ "nullable": true
+ },
+ "include_filter_page": {
+ "type": "boolean",
+ "description": "Indicates whether to include a page with all applied filters.",
+ "nullable": true
+ },
+ "include_page_number": {
+ "type": "boolean",
+ "description": "Indicates whether to include page number in the footer of each page",
+ "nullable": true
+ },
+ "page_footer_text": {
+ "type": "string",
+ "description": "Text to include in the footer of each page.",
+ "nullable": true
+ },
+ "page_orientation": {
+ "type": "string",
+ "description": "Page orientation of the PDF.",
+ "nullable": true
+ },
+ "page_size": {
+ "type": "string",
+ "enum": [
+ "A4"
+ ],
+ "description": "Page size.",
+ "nullable": true
+ },
+ "truncate_table": {
+ "type": "boolean",
+ "description": "Indicates whether to include only first page of the tables.",
+ "nullable": true
+ }
+ },
+ "description": "Options for PDF export."
+ },
+ "FrequencyInput": {
+ "type": "object",
+ "required": [
+ "cron_expression"
+ ],
+ "properties": {
+ "cron_expression": {
+ "$ref": "#/components/schemas/CronExpressionInput",
+ "description": "Schedule selected cron expression."
+ }
+ },
+ "description": "Configuration of schedule with cron expression"
+ },
+ "CronExpressionInput": {
+ "type": "object",
+ "required": [
+ "day_of_month",
+ "day_of_week",
+ "hour",
+ "minute",
+ "month",
+ "second"
+ ],
+ "properties": {
+ "day_of_month": {
+ "type": "string",
+ "description": "Day of month of the object."
+ },
+ "day_of_week": {
+ "type": "string",
+ "description": "Day of Week of the object."
+ },
+ "hour": {
+ "type": "string",
+ "description": "Hour of the object."
+ },
+ "minute": {
+ "type": "string",
+ "description": "Minute of the object."
+ },
+ "month": {
+ "type": "string",
+ "description": "Month of the object."
+ },
+ "second": {
+ "type": "string",
+ "description": "Second of the object."
+ }
+ },
+ "description": "Schedule selected cron expression."
+ },
+ "RecipientDetailsInput": {
+ "type": "object",
+ "properties": {
+ "emails": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Emails of the recipients.",
+ "nullable": true
+ },
+ "principals": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PrincipalsListItemInput"
+ },
+ "description": "User or groups to be set as recipients of the schedule notifications.",
+ "nullable": true
+ }
+ },
+ "description": "Recipients of the scheduled job notification."
+ },
+ "PrincipalsListItemInput": {
+ "type": "object",
+ "required": [
+ "identifier",
+ "type"
+ ],
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the user or group."
+ },
+ "type": {
+ "type": "string",
+ "description": "Principal type."
+ }
+ }
+ },
+ "ResponseSchedule": {
+ "type": "object",
+ "required": [
+ "author",
+ "creation_time_in_millis",
+ "file_format",
+ "frequency",
+ "id",
+ "metadata",
+ "name",
+ "recipient_details",
+ "time_zone"
+ ],
+ "properties": {
+ "author": {
+ "$ref": "#/components/schemas/Author",
+ "description": "Author of the schedule."
+ },
+ "creation_time_in_millis": {
+ "type": "object",
+ "description": "Schedule creation time in milliseconds."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the job.",
+ "nullable": true
+ },
+ "file_format": {
+ "type": "string",
+ "description": "Export file format."
+ },
+ "frequency": {
+ "$ref": "#/components/schemas/Frequency",
+ "description": "Configuration of schedule with cron expression"
+ },
+ "id": {
+ "type": "string",
+ "description": "GUID of the scheduled job."
+ },
+ "liveboard_options": {
+ "$ref": "#/components/schemas/LiveboardOptions",
+ "description": "Options to specify details of Liveboard.",
+ "nullable": true
+ },
+ "metadata": {
+ "$ref": "#/components/schemas/MetadataResponse",
+ "description": "Unique ID or name of the metadata."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the scheduled job."
+ },
+ "pdf_options": {
+ "$ref": "#/components/schemas/PdfOptions",
+ "description": "Options for PDF export.",
+ "nullable": true
+ },
+ "recipient_details": {
+ "$ref": "#/components/schemas/RecipientDetails",
+ "description": "Recipient of the scheduled job notifications."
+ },
+ "status": {
+ "type": "string",
+ "description": "Status of the job",
+ "nullable": true
+ },
+ "time_zone": {
+ "type": "string",
+ "description": "Time zone"
+ },
+ "history_runs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ResponseScheduleRun"
+ },
+ "description": "Schedule runs history records.",
+ "nullable": true
+ },
+ "personalised_view_id": {
+ "type": "string",
+ "description": "Personalised view id of the liveboard to be scheduled.",
+ "nullable": true
+ }
+ }
+ },
+ "Author": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The unique identifier of the object."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the object."
+ }
+ },
+ "description": "Author of the schedule."
+ },
+ "Frequency": {
+ "type": "object",
+ "required": [
+ "cron_expression"
+ ],
+ "properties": {
+ "cron_expression": {
+ "$ref": "#/components/schemas/CronExpression",
+ "description": "Schedule selected cron expression."
+ }
+ },
+ "description": "Configuration of schedule with cron expression"
+ },
+ "CronExpression": {
+ "type": "object",
+ "required": [
+ "day_of_month",
+ "day_of_week",
+ "hour",
+ "minute",
+ "month",
+ "second"
+ ],
+ "properties": {
+ "day_of_month": {
+ "type": "string",
+ "description": "Day of month of the object."
+ },
+ "day_of_week": {
+ "type": "string",
+ "description": "Day of Week of the object."
+ },
+ "hour": {
+ "type": "string",
+ "description": "Hour of the object."
+ },
+ "minute": {
+ "type": "string",
+ "description": "Minute of the object."
+ },
+ "month": {
+ "type": "string",
+ "description": "Month of the object."
+ },
+ "second": {
+ "type": "string",
+ "description": "Second of the object."
+ }
+ },
+ "description": "Schedule selected cron expression."
+ },
+ "LiveboardOptions": {
+ "type": "object",
+ "required": [
+ "visualization_identifiers"
+ ],
+ "properties": {
+ "visualization_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of visualizations."
+ }
+ },
+ "description": "Options to specify details of Liveboard."
+ },
+ "MetadataResponse": {
+ "type": "object",
+ "required": [
+ "id",
+ "type"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "nullable": true
+ },
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD"
+ ]
+ }
+ }
+ },
+ "PdfOptions": {
+ "type": "object",
+ "properties": {
+ "complete_liveboard": {
+ "type": "boolean",
+ "description": "Indicates whether to include complete Liveboard.",
+ "nullable": true
+ },
+ "include_cover_page": {
+ "type": "boolean",
+ "description": "Indicates whether to include cover page with the Liveboard title.",
+ "nullable": true
+ },
+ "include_custom_logo": {
+ "type": "boolean",
+ "description": "Indicates whether to include customized wide logo in the footer if available.",
+ "nullable": true
+ },
+ "include_filter_page": {
+ "type": "boolean",
+ "description": "Indicates whether to include a page with all applied filters.",
+ "nullable": true
+ },
+ "include_page_number": {
+ "type": "boolean",
+ "description": "Indicates whether to include page number in the footer of each page",
+ "nullable": true
+ },
+ "page_footer_text": {
+ "type": "string",
+ "description": "Text to include in the footer of each page.",
+ "nullable": true
+ },
+ "page_orientation": {
+ "type": "string",
+ "description": "Page orientation of the PDF.",
+ "nullable": true
+ },
+ "page_size": {
+ "type": "string",
+ "enum": [
+ "A4"
+ ],
+ "description": "Page size.",
+ "nullable": true
+ },
+ "truncate_table": {
+ "type": "boolean",
+ "description": "Indicates whether to include only first page of the tables.",
+ "nullable": true
+ }
+ },
+ "description": "Options for PDF export."
+ },
+ "RecipientDetails": {
+ "type": "object",
+ "properties": {
+ "emails": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Emails of the recipients. Specify email address if the recipient is not a ThoughtSpot user.",
+ "nullable": true
+ },
+ "principals": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PrincipalsListItem"
+ },
+ "description": "List of user or groups to subscribe for the scheduled job notifications.",
+ "nullable": true
+ }
+ },
+ "description": "Recipient configuration which includes email address, ID or name of the users and groups."
+ },
+ "PrincipalsListItem": {
+ "type": "object",
+ "required": [
+ "identifier",
+ "type"
+ ],
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the user or group."
+ },
+ "type": {
+ "type": "string",
+ "description": "Principal type. Valid values are"
+ }
+ }
+ },
+ "ResponseScheduleRun": {
+ "type": "object",
+ "required": [
+ "id",
+ "start_time_in_millis",
+ "end_time_in_millis",
+ "status"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "GUID of the scheduled job."
+ },
+ "start_time_in_millis": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Schedule run start time in milliseconds."
+ },
+ "end_time_in_millis": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Schedule run end time in milliseconds."
+ },
+ "status": {
+ "type": "string",
+ "description": "Status of the schedule run."
+ },
+ "detail": {
+ "type": "string",
+ "description": "Message details related to the schedule run.",
+ "nullable": true
+ }
+ },
+ "description": "Schedule run response object"
+ },
+ "MetadataInput": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD"
+ ],
+ "nullable": true
+ }
+ }
+ },
+ "SortingOptions": {
+ "type": "object",
+ "properties": {
+ "field_name": {
+ "type": "string",
+ "description": "Name of the field to apply the sort on.",
+ "nullable": true
+ },
+ "order": {
+ "type": "string",
+ "description": "Sort order : ASC(Ascending) or DESC(Descending).",
+ "nullable": true
+ }
+ },
+ "description": "Sort options."
+ },
+ "ScheduleHistoryRunsOptionsInput": {
+ "type": "object",
+ "properties": {
+ "include_history_runs": {
+ "type": "boolean",
+ "default": false,
+ "description": "Indicates whether to fetch history runs for the scheduled notification.",
+ "nullable": true
+ },
+ "record_size": {
+ "type": "integer",
+ "format": "int32",
+ "default": 10,
+ "description": "Indicates the max number of records that can be fetched as past runs of any scheduled job.",
+ "nullable": true
+ },
+ "record_offset": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0,
+ "description": "Indicates the starting record number from where history runs records should be fetched.",
+ "nullable": true
+ }
+ }
+ },
+ "Action_Details_Input_Create": {
+ "type": "object",
+ "properties": {
+ "CALLBACK": {
+ "$ref": "#/components/schemas/CALLBACKInputMandatory",
+ "description": "CALLBACK Custom Action Type",
+ "nullable": true
+ },
+ "URL": {
+ "$ref": "#/components/schemas/URLInputMandatory",
+ "description": "URL Custom Action Type",
+ "nullable": true
+ }
+ },
+ "description": "Action details includes Type and Configuration for Custom Actions, either Callback or URL is required.\nWhen both callback and url are provided, callback would be considered"
+ },
+ "CALLBACKInputMandatory": {
+ "type": "object",
+ "properties": {
+ "reference": {
+ "type": "string",
+ "description": "Reference name. By default, the value will be set to action name.",
+ "nullable": true
+ }
+ },
+ "description": "CALLBACK Custom Action Type"
+ },
+ "URLInputMandatory": {
+ "type": "object",
+ "required": [
+ "url"
+ ],
+ "properties": {
+ "authentication": {
+ "$ref": "#/components/schemas/AuthenticationInput",
+ "description": "Authorization type for the custom action.",
+ "nullable": true
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ParametersListItemInput"
+ },
+ "description": "Query parameters for url.",
+ "nullable": true
+ },
+ "url": {
+ "type": "string",
+ "description": "Request Url for the Custom action."
+ },
+ "reference": {
+ "type": "string",
+ "description": "Reference name. By default the value will be set to action name",
+ "nullable": true
+ }
+ },
+ "description": "URL Custom Action Type"
+ },
+ "AuthenticationInput": {
+ "type": "object",
+ "properties": {
+ "API_Key": {
+ "$ref": "#/components/schemas/API_KeyInput",
+ "description": "With API key auth, you send a key-value pair to the API either in the request headers or query parameters.",
+ "nullable": true
+ },
+ "Basic_Auth": {
+ "$ref": "#/components/schemas/Basic_AuthInput",
+ "description": "Basic Auth: Basic authentication involves sending a verified username and password with your request.",
+ "nullable": true
+ },
+ "Bearer_Token": {
+ "type": "string",
+ "description": "Bearer tokens enable requests to authenticate using an access key.",
+ "nullable": true
+ },
+ "No_Auth": {
+ "type": "string",
+ "description": "No authorization. If your request doesn't require authorization.",
+ "nullable": true
+ }
+ },
+ "description": "Authorization type for the custom action."
+ },
+ "API_KeyInput": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "Enter your key name",
+ "nullable": true
+ },
+ "value": {
+ "type": "string",
+ "description": "Enter you key value",
+ "nullable": true
+ }
+ },
+ "description": "With API key auth, you send a key-value pair to the API either in the request headers or query parameters."
+ },
+ "Basic_AuthInput": {
+ "type": "object",
+ "properties": {
+ "password": {
+ "type": "string",
+ "description": "Password for the basic authentication",
+ "nullable": true
+ },
+ "username": {
+ "type": "string",
+ "description": "Username for the basic authentication",
+ "nullable": true
+ }
+ },
+ "description": "Basic Auth: Basic authentication involves sending a verified username and password with your request."
+ },
+ "ParametersListItemInput": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "Key for the url query parameter",
+ "nullable": true
+ },
+ "value": {
+ "type": "string",
+ "description": "Value for the url query parameter",
+ "nullable": true
+ }
+ }
+ },
+ "Associate_Metadata_Input_Create": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "action_config": {
+ "$ref": "#/components/schemas/ActionConfigInputCreate",
+ "description": "Specify that the association is enabled for the metadata object",
+ "nullable": true
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "VISUALIZATION",
+ "ANSWER",
+ "WORKSHEET"
+ ],
+ "description": " Type of metadata.\n \n\nRequired if the name of the object is set as the identifier. This attribute is optional when the object GUID is specified as the identifier.",
+ "nullable": true
+ }
+ }
+ },
+ "ActionConfigInputCreate": {
+ "type": "object",
+ "properties": {
+ "position": {
+ "type": "string",
+ "enum": [
+ "MENU",
+ "PRIMARY",
+ "CONTEXT_MENU"
+ ],
+ "default": "MENU",
+ "description": "Position of the Custom action on the Metadata object. Earlier naming convention: context.",
+ "nullable": true
+ },
+ "visibility": {
+ "type": "boolean",
+ "default": true,
+ "description": "Visibility of the metadata association with custom action. Earlier naming convention: enabled",
+ "nullable": true
+ }
+ },
+ "description": "Specify that the association is enabled for the metadata object Default"
+ },
+ "Default_Action_Config_Input_Create": {
+ "type": "object",
+ "properties": {
+ "visibility": {
+ "type": "boolean",
+ "default": true,
+ "description": "Custom action is available on all visualizations. Earlier naming convention: LOCAL/GLOBAL. TRUE signifies GLOBAL for backward compatibility.\nDefault: true",
+ "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."
+ },
+ "Action_Details_Input": {
+ "type": "object",
+ "properties": {
+ "CALLBACK": {
+ "$ref": "#/components/schemas/CALLBACKInput",
+ "description": "CALLBACK Custom Action Type",
+ "nullable": true
+ },
+ "URL": {
+ "$ref": "#/components/schemas/URLInput",
+ "description": "URL Custom Action Type",
+ "nullable": true
+ }
+ },
+ "description": "Action details includes `Type` and configuration details of Custom Actions. Either Callback or URL is required."
+ },
+ "CALLBACKInput": {
+ "type": "object",
+ "properties": {
+ "reference": {
+ "type": "string",
+ "description": "Reference name. By default, the value will be set to action name.",
+ "nullable": true
+ }
+ },
+ "description": "CALLBACK Custom Action Type"
+ },
+ "URLInput": {
+ "type": "object",
+ "properties": {
+ "authentication": {
+ "$ref": "#/components/schemas/AuthenticationInput",
+ "description": "Authorization type for the custom action.",
+ "nullable": true
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ParametersListItemInput"
+ },
+ "description": "Query parameters for url.",
+ "nullable": true
+ },
+ "url": {
+ "type": "string",
+ "description": "Request Url for the Custom action.",
+ "nullable": true
+ },
+ "reference": {
+ "type": "string",
+ "description": "Reference name. By default the value will be set to action name",
+ "nullable": true
+ }
+ },
+ "description": "URL Custom Action Type"
+ },
+ "Associate_Metadata_Input": {
+ "type": "object",
+ "properties": {
+ "action_config": {
+ "$ref": "#/components/schemas/ActionConfigInput",
+ "description": "Specify that the association is enabled for the metadata object",
+ "nullable": true
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "VISUALIZATION",
+ "ANSWER",
+ "WORKSHEET"
+ ],
+ "description": " Type of metadata.\n \n\nRequired if the name of the object is set as the identifier. This attribute is optional when the object GUID is specified as the identifier.",
+ "nullable": true
+ }
+ }
+ },
+ "ActionConfigInput": {
+ "type": "object",
+ "properties": {
+ "position": {
+ "type": "string",
+ "enum": [
+ "MENU",
+ "PRIMARY",
+ "CONTEXT_MENU"
+ ],
+ "description": "Position of the Custom action on the Metadata object. Earlier naming convention: context.",
+ "nullable": true
+ },
+ "visibility": {
+ "type": "boolean",
+ "description": "Visibility of the metadata association with custom action. Earlier naming convention: enabled",
+ "nullable": true
+ }
+ },
+ "description": "Specify that the association is enabled for the metadata object Default"
+ },
+ "Default_Action_Config_Input": {
+ "type": "object",
+ "properties": {
+ "visibility": {
+ "type": "boolean",
+ "description": "Custom action is available on all visualizations. Earlier naming convention: LOCAL/GLOBAL. TRUE signifies GLOBAL for backward compatibility.",
+ "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."
+ },
+ "ModelTableList": {
+ "type": "object",
+ "required": [
+ "model_name",
+ "tables"
+ ],
+ "properties": {
+ "model_name": {
+ "type": "string",
+ "description": "Name of the Model."
+ },
+ "model_path": {
+ "type": "string",
+ "description": "Model directory path, this is optional param and required if there are duplicate models with the same name.",
+ "nullable": true
+ },
+ "tables": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of Tables."
+ }
+ }
+ },
+ "DbtSearchResponse": {
+ "type": "object",
+ "properties": {
+ "dbt_connection_identifier": {
+ "type": "string",
+ "nullable": true
+ },
+ "project_name": {
+ "type": "string",
+ "nullable": true
+ },
+ "connection_id": {
+ "type": "string",
+ "nullable": true
+ },
+ "connection_name": {
+ "type": "string",
+ "nullable": true
+ },
+ "cdw_database": {
+ "type": "string",
+ "nullable": true
+ },
+ "import_type": {
+ "type": "string",
+ "nullable": true
+ },
+ "author_name": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ },
+ "Conversation": {
+ "type": "object",
+ "required": [
+ "conversation_identifier"
+ ],
+ "properties": {
+ "conversation_identifier": {
+ "type": "string",
+ "description": "Unique identifier of the conversation."
+ }
+ }
+ },
+ "ResponseMessage": {
+ "type": "object",
+ "required": [
+ "message_type"
+ ],
+ "properties": {
+ "session_identifier": {
+ "type": "string",
+ "description": "Unique identifier of the generated response.",
+ "nullable": true
+ },
+ "generation_number": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Generate number of the response.",
+ "nullable": true
+ },
+ "message_type": {
+ "type": "string",
+ "enum": [
+ "TSAnswer"
+ ],
+ "description": "Type of the generated response."
+ },
+ "visualization_type": {
+ "type": "string",
+ "enum": [
+ "Chart",
+ "Table",
+ "Undefined"
+ ],
+ "description": "Generated visualization type.",
+ "nullable": true
+ },
+ "tokens": {
+ "type": "string",
+ "description": "Tokens for the response.",
+ "nullable": true
+ },
+ "display_tokens": {
+ "type": "string",
+ "description": "User friendly tokens for the response.",
+ "nullable": true
+ }
+ }
+ },
+ "InputVariableValue": {
+ "type": "object",
+ "required": [
+ "value",
+ "org_identifier"
+ ],
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The connection property value"
+ },
+ "org_identifier": {
+ "type": "string",
+ "description": "The unique name of the org"
+ },
+ "principal_type": {
+ "type": "string",
+ "enum": [
+ "USER",
+ "USER_GROUP"
+ ],
+ "description": "Principal type",
+ "nullable": true
+ },
+ "principal_identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the principal",
+ "nullable": true
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The priority assigned to this value. If there are 2 matching values, the one with the higher priority will be picked.",
+ "nullable": true
+ }
+ }
+ },
+ "VariableValueInput": {
+ "type": "object",
+ "required": [
+ "variable_identifier",
+ "variable_values"
+ ],
+ "properties": {
+ "variable_identifier": {
+ "type": "string",
+ "description": "ID or Name of the variable"
+ },
+ "variable_values": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/InputVariableValue"
+ },
+ "description": "Values of the variable"
+ }
+ },
+ "description": "Input for variable value update"
+ },
+ "CreateEmailCustomizationResponse": {
+ "type": "object",
+ "required": [
+ "tenant_id",
+ "org",
+ "name",
+ "template_properties"
+ ],
+ "properties": {
+ "tenant_id": {
+ "type": "string",
+ "description": "Tenant ID"
+ },
+ "org": {
+ "$ref": "#/components/schemas/OrgType",
+ "description": "Email customization org"
+ },
+ "name": {
+ "type": "string",
+ "description": "Email customization name."
+ },
+ "template_properties": {
+ "type": "object",
+ "description": "Customization configuration for the email"
+ }
+ }
+ },
+ "OrgType": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "nullable": true
+ },
+ "id": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ }
+ }
+ },
+ "Template_Properties_Input_Create": {
+ "type": "object",
+ "properties": {
+ "cta_button_bg_color": {
+ "type": "string",
+ "description": "Background color for call-to-action button in hex format",
+ "nullable": true
+ },
+ "cta_text_font_color": {
+ "type": "string",
+ "description": "Text color for call-to-action button in hex format",
+ "nullable": true
+ },
+ "primary_bg_color": {
+ "type": "string",
+ "description": "Primary background color in hex format",
+ "nullable": true
+ },
+ "home_url": {
+ "type": "string",
+ "description": "Home page URL (HTTP/HTTPS only)",
+ "nullable": true
+ },
+ "logo_url": {
+ "type": "string",
+ "description": "Logo image URL (HTTP/HTTPS only)",
+ "nullable": true
+ },
+ "font_family": {
+ "type": "string",
+ "description": "Font family for email content (e.g., Arial, sans-serif)",
+ "nullable": true
+ },
+ "product_name": {
+ "type": "string",
+ "description": "Product name to display",
+ "nullable": true
+ },
+ "footer_address": {
+ "type": "string",
+ "description": "Footer address text",
+ "nullable": true
+ },
+ "footer_phone": {
+ "type": "string",
+ "description": "Footer phone number",
+ "nullable": true
+ },
+ "replacement_value_for_liveboard": {
+ "type": "string",
+ "description": "Replacement value for Liveboard",
+ "nullable": true
+ },
+ "replacement_value_for_answer": {
+ "type": "string",
+ "description": "Replacement value for Answer",
+ "nullable": true
+ },
+ "replacement_value_for_spot_iq": {
+ "type": "string",
+ "description": "Replacement value for SpotIQ",
+ "nullable": true
+ },
+ "hide_footer_address": {
+ "type": "boolean",
+ "description": "Whether to hide footer address",
+ "nullable": true
+ },
+ "hide_footer_phone": {
+ "type": "boolean",
+ "description": "Whether to hide footer phone number",
+ "nullable": true
+ },
+ "hide_manage_notification": {
+ "type": "boolean",
+ "description": "Whether to hide manage notification link",
+ "nullable": true
+ },
+ "hide_mobile_app_nudge": {
+ "type": "boolean",
+ "description": "Whether to hide mobile app nudge",
+ "nullable": true
+ },
+ "hide_privacy_policy": {
+ "type": "boolean",
+ "description": "Whether to hide privacy policy link",
+ "nullable": true
+ },
+ "hide_product_name": {
+ "type": "boolean",
+ "description": "Whether to hide product name",
+ "nullable": true
+ },
+ "hide_ts_vocabulary_definitions": {
+ "type": "boolean",
+ "description": "Whether to hide ThoughtSpot vocabulary definitions",
+ "nullable": true
+ },
+ "hide_notification_status": {
+ "type": "boolean",
+ "description": "Whether to hide notification status",
+ "nullable": true
+ },
+ "hide_error_message": {
+ "type": "boolean",
+ "description": "Whether to hide error message",
+ "nullable": true
+ },
+ "hide_unsubscribe_link": {
+ "type": "boolean",
+ "description": "Whether to hide unsubscribe link",
+ "nullable": true
+ },
+ "hide_modify_alert": {
+ "type": "boolean",
+ "description": "Whether to hide modify alert",
+ "nullable": true
+ }
+ },
+ "description": "Email customization configuration properties"
+ },
+ "ExternalTableInput": {
+ "type": "object",
+ "required": [
+ "connection_identifier",
+ "table_name"
+ ],
+ "properties": {
+ "connection_identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the connection."
+ },
+ "database_name": {
+ "type": "string",
+ "default": "",
+ "description": "Name of the database.",
+ "nullable": true
+ },
+ "schema_name": {
+ "type": "string",
+ "default": "",
+ "description": "Name of the schema.",
+ "nullable": true
+ },
+ "table_name": {
+ "type": "string",
+ "description": "Name of the table. Table names may be case-sensitive depending on the database system."
+ }
+ }
+ },
+ "Runtime_Filter": {
+ "type": "object",
+ "properties": {
+ "runtime_filter": {
+ "type": "object",
+ "description": "Runtime filter parameter type in JWT."
+ }
+ },
+ "description": "List of runtime parameters need to set during the session."
+ },
+ "Runtime_Sort": {
+ "type": "object",
+ "properties": {
+ "runtime_sort": {
+ "type": "object",
+ "description": "Runtime sort parameter type in JWT."
+ }
+ },
+ "description": "List of runtime parameters need to set during the session."
+ },
+ "Runtime_Param_Override": {
+ "type": "object",
+ "properties": {
+ "runtime_param_override": {
+ "type": "object",
+ "description": "Runtime param override type in JWT."
+ }
+ },
+ "description": "List of runtime parameters need to set during the session."
+ }
+ },
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "servers": [
+ {
+ "url": "{base-url}",
+ "variables": {
+ "base-url": {
+ "default": "https://localhost:443"
+ }
+ }
+ }
+ ]
+}{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "ThoughtSpot Public REST API",
+ "version": "2.0"
+ },
+ "x-roles": [
+ {
+ "name": "10.4.0.cl",
+ "id": "10.4.0.cl",
+ "tags": [
+ "10.4.0.cl"
+ ],
+ "description": "Roles for version 10.4.0.cl"
+ },
+ {
+ "name": "10.7.0.cl",
+ "id": "10.7.0.cl",
+ "tags": [
+ "10.7.0.cl"
+ ],
+ "description": "Roles for version 10.7.0.cl"
+ },
+ {
+ "name": "9.0.0.cl",
+ "id": "9.0.0.cl",
+ "tags": [
+ "9.0.0.cl"
+ ],
+ "description": "Roles for version 9.0.0.cl"
+ },
+ {
+ "name": "9.4.0.cl",
+ "id": "9.4.0.cl",
+ "tags": [
+ "9.4.0.cl"
+ ],
+ "description": "Roles for version 9.4.0.cl"
+ },
+ {
+ "name": "9.12.0.cl",
+ "id": "9.12.0.cl",
+ "tags": [
+ "9.12.0.cl"
+ ],
+ "description": "Roles for version 9.12.0.cl"
+ },
+ {
+ "name": "10.12.0.cl",
+ "id": "10.12.0.cl",
+ "tags": [
+ "10.12.0.cl"
+ ],
+ "description": "Roles for version 10.12.0.cl"
+ },
+ {
+ "name": "9.2.0.cl",
+ "id": "9.2.0.cl",
+ "tags": [
+ "9.2.0.cl"
+ ],
+ "description": "Roles for version 9.2.0.cl"
+ },
+ {
+ "name": "9.9.0.cl",
+ "id": "9.9.0.cl",
+ "tags": [
+ "9.9.0.cl"
+ ],
+ "description": "Roles for version 9.9.0.cl"
+ },
+ {
+ "name": "9.6.0.cl",
+ "id": "9.6.0.cl",
+ "tags": [
+ "9.6.0.cl"
+ ],
+ "description": "Roles for version 9.6.0.cl"
+ },
+ {
+ "name": "10.10.0.cl",
+ "id": "10.10.0.cl",
+ "tags": [
+ "10.10.0.cl"
+ ],
+ "description": "Roles for version 10.10.0.cl"
+ },
+ {
+ "name": "10.6.0.cl",
+ "id": "10.6.0.cl",
+ "tags": [
+ "10.6.0.cl"
+ ],
+ "description": "Roles for version 10.6.0.cl"
+ },
+ {
+ "name": "10.3.0.cl",
+ "id": "10.3.0.cl",
+ "tags": [
+ "10.3.0.cl"
+ ],
+ "description": "Roles for version 10.3.0.cl"
+ },
+ {
+ "name": "10.1.0.cl",
+ "id": "10.1.0.cl",
+ "tags": [
+ "10.1.0.cl"
+ ],
+ "description": "Roles for version 10.1.0.cl"
+ },
+ {
+ "name": "10.9.0.cl",
+ "id": "10.9.0.cl",
+ "tags": [
+ "10.9.0.cl"
+ ],
+ "description": "Roles for version 10.9.0.cl"
+ },
+ {
+ "name": "10.8.0.cl",
+ "id": "10.8.0.cl",
+ "tags": [
+ "10.8.0.cl"
+ ],
+ "description": "Roles for version 10.8.0.cl"
+ },
+ {
+ "name": "9.5.0.cl",
+ "id": "9.5.0.cl",
+ "tags": [
+ "9.5.0.cl"
+ ],
+ "description": "Roles for version 9.5.0.cl"
+ },
+ {
+ "name": "9.7.0.cl",
+ "id": "9.7.0.cl",
+ "tags": [
+ "9.7.0.cl"
+ ],
+ "description": "Roles for version 9.7.0.cl"
+ }
+ ],
+ "tags": [],
+ "paths": {
+ "/api/rest/2.0/ai/conversation/create": {
+ "post": {
+ "operationId": "createConversation",
+ "description": "\nBeta Version: 10.4.0.cl or later\n\nCreates a Conversation object to start an AI-driven conversation based on a specific data model.\n\nRequires at least view access to the metadata object specified in the request.\n\n#### Usage guidelines\n\nThis API requires the `metadata_identifier` parameter to define the context for the conversation.\n\nYou can also specify the tokens to initiate the conversation as shown in this example:\n\n`\"tokens\": \"[tea],[sales],[type]\"`\n\nIf the API request is successful, ThoughtSpot returns the ID of the conversation.\n\n> ###### Note:\n> * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available.\n> * This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "AI",
+ "10.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_identifier": {
+ "description": "ID of the metadata object, such as a Worksheet or Model, to use as a data source for the conversation.",
+ "type": "string"
+ },
+ "tokens": {
+ "description": "Token string to set the context for the conversation. For example,`[sales],[item type],[state]`.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "metadata_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Common successful response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Conversation"
+ }
+ }
+ }
+ },
+ "201": {
+ "description": "Common error response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Conversation"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Operation failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Operation failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/ai/analytical-questions": {
+ "post": {
+ "operationId": "queryGetDecomposedQuery",
+ "description": "Beta Version: 10.7.0.cl or later",
+ "tags": [
+ "AI",
+ "10.7.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "answerIds": {
+ "description": "List of answer unique identifiers (GUIDs) whose data will be used to guide the response.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "content": {
+ "description": "User provided content like text data, csv data as a string message to provide context & potentially improve the quality of the response.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "conversationId": {
+ "description": "Unique identifier to denote current conversation.",
+ "type": "string"
+ },
+ "liveboardIds": {
+ "description": "List of liveboard unique identifiers (GUIDs) whose data will be used to guide the response.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "maxDecomposedQueries": {
+ "description": "Maximum number of decomposed queries that is allowed in the response, default = 5.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "nlsRequest": {
+ "description": "NLSRequest object containing user query & instructions.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Input_eureka_NLSRequest"
+ }
+ ]
+ },
+ "worksheetIds": {
+ "description": "List of worksheetIds to provide context for decomposing user query into analytical queries that can be run on them.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Common successful response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/eureka_DecomposeQueryResponse"
+ }
+ }
+ }
+ },
+ "201": {
+ "description": "Common error response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/eureka_DecomposeQueryResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Operation failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Operation failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/ai/conversation/{conversation_identifier}/converse": {
+ "post": {
+ "operationId": "sendMessage",
+ "description": "\nBeta Version: 10.4.0.cl or later\n\nAllows sending a follow-up message to an ongoing conversation within the context of the metadata model.\n\nRequires at least view access to the metadata object specified in the request.\n\n#### Usage guidelines\n\nThe API requires you to specify the `conversation_identifier` in the request path, and a `metadata_identifier` and `message` string in the request body.\n\nIf the API request is successful, ThoughtSpot returns the session ID, tokens used in the conversation, and visualization type.\n\n> ###### Note:\n> * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available.\n> * This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "AI",
+ "10.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_identifier": {
+ "description": "ID of the metadata object, such as a Worksheet or Model, to use as a data source for the conversation.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A message string with the follow-up question to continue the conversation.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "metadata_identifier",
+ "message"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "conversation_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique identifier of the conversation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Common successful response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ResponseMessage"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "description": "Common error response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ResponseMessage"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Operation failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Operation failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/ai/answer/create": {
+ "post": {
+ "operationId": "singleAnswer",
+ "description": "\nBeta Version: 10.4.0.cl or later\n\nProcesses a natural language query and returns an AI-generated response based on a specified data model.\n\nRequires at least view access to the metadata object specified in the request.\n\n> ###### Note:\n> * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available.\n> * This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "AI",
+ "10.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "description": "A natural language query string to generate the Answer.",
+ "type": "string"
+ },
+ "metadata_identifier": {
+ "description": "ID of the metadata object, such as a Worksheet or Model, to use as a data source for the query.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "query",
+ "metadata_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Common successful response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseMessage"
+ }
+ }
+ }
+ },
+ "201": {
+ "description": "Common error response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseMessage"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Operation failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Operation failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/auth/session/user": {
+ "get": {
+ "operationId": "getCurrentUserInfo",
+ "description": "\n Version: 9.0.0.cl or later\n\nRetrieves details of the current user session for the token provided in the request header.\n\nAny ThoughtSpot user can access this endpoint and send an API request. The data returned in the API response varies according to user's privilege and object access permissions.\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Authentication",
+ "9.0.0.cl"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Fetch current session user detail successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/User"
+ }
+ }
+ }
+ },
+ "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/auth/session/token": {
+ "get": {
+ "operationId": "getCurrentUserToken",
+ "description": "\n Version: 9.4.0.cl or later\n\nRetrieves details of the current session token for the bearer token provided in the request header.\n\nThis API endpoint does not create a new token. Instead, it returns details about the token, including the token string, creation time, expiration time, and the associated user.\n\nUse this endpoint to introspect your current session token, debug authentication issues, or when a frontend application needs session token details.\n\nAny ThoughtSpot user with a valid bearer token can access this endpoint and send an API request\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Authentication",
+ "9.4.0.cl"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Fetching token for current user successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GetTokenResponse"
+ }
+ }
+ }
+ },
+ "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/auth/token/custom": {
+ "post": {
+ "operationId": "getCustomAccessToken",
+ "description": "\n Version: 10.4.0.cl or later\n\nGets an authentication token with custom rules and security attributes and creates a full session in ThoughtSpot for a given user. By default, the token obtained from ThoughtSpot remains valid for 5 mins.\n\nTo add a new user and assign privileges during auto creation, you need `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled, the `CONTROL_TRUSTED_AUTH`(**Can Enable or Disable Trusted Authentication**) privilege and edit access to the data source is required.\n\nTo assign security attributes with filter rules and Parameters to the JWT token, you'll need administrator privileges and edit access to the data source (Worksheet or Model). If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled, the `CONTROL_TRUSTED_AUTH`(**Can Enable or Disable Trusted Authentication**) privilege and edit access to the data source is required.\n\n#### Usage guidelines\n\nYou can generate the token for a user by providing a `username` and `password`, or by using the cluster's `secret_key`.\n\nTo generate a `secret_key` on your cluster, the administrator must enable [Trusted authentication](https://developers.thoughtspot.com/docs/?pageid=trusted-auth#trusted-auth-enable) in the **Develop** > **Customizations** > **Security Settings** page.\n\n**Note**: When both `password` and `secret_key` are included in the API request, `password` takes precedence.\n\nIf Multi-Factor Authentication (MFA) is enabled on your instance, the API login request with basic authentication (`username` and `password` ) returns an error. You can switch to token-based authentication with `secret_key` or contact ThoughtSpot Support for assistance.\n\n##### Attribute-Based Access Control (ABAC) with tokens\n\nTo implement Attribute-Based Access Control (ABAC) and assign security entitlements to users during session creation, you can generate a token with custom filtering rules and Parameters in the `filter_rules` and `parameter_values` array respectively. These attributes can be configured to persist on a specific set of objects for user sessions initiated using the token. Once defined, the rules are added to the user's `access_control_properties` object, after which all sessions will use the persisted values.\n\nSpecify the object type as `LOGICAL_TABLE`. The `LIVEBOARD` and `ANSWER` object types are not supported.\n\nFor more information, see [ABAC via tokens Documentation](https://developers.thoughtspot.com/docs/api-authv2#_get_tokens_with_custom_rules_and_filter_conditions).\n\n##### Just-in-time provisioning\n\nFor just-in-time user creation and provisioning, define the following attributes:\n\n* `auto_create`\n* `username`\n* `display_name`\n* `email`\n* `groups`\n\nSet `auto_create` to `true` if the user is not available in ThoughtSpot. If the user already exists in ThoughtSpot and the `auto_create` parameter is set to `true` in the API request, the user properties such as the display name, email, Org and group assignment will not be updated with new values.\n\nFor more information, see [Just-in-time provisioning](https://developers.thoughtspot.com/docs/just-in-time-provisioning).\n\n##### Important point to note\nAll options in the token creation APIs that define access to the content in ThoughtSpot will do so during the token creation and not when the token is being used for authentication. For example, `auto_create:true` will create the user when the authentication token is created. Persist options such as `APPEND`, `REPLACE`, `RESET` will persist security parameters on the user profile when the token is created, while Persist option `NONE` will not persist anything but will be honoured in the session.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Authentication",
+ "10.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "Username of the ThoughtSpot user. The username is stored in the `name` attribute of the user object.",
+ "type": "string"
+ },
+ "password": {
+ "description": "Password of the user account",
+ "default": "",
+ "type": "string"
+ },
+ "secret_key": {
+ "description": "The secret key string provided by the ThoughtSpot application server. ThoughtSpot generates a secret key when Trusted authentication is enabled.",
+ "default": "",
+ "type": "string"
+ },
+ "validity_time_in_sec": {
+ "description": "Token validity duration in seconds",
+ "default": 300,
+ "type": "integer",
+ "format": "int32"
+ },
+ "org_identifier": {
+ "description": "ID or name of the Org context to log in to. If the Org ID or name is not specified but a secret key is provided, the user will be logged into the Org associated with the secret key. If neither the Org ID/name nor the secret key is provided, the user will be logged into the Org context from their previous login session.",
+ "type": "string"
+ },
+ "persist_option": {
+ "description": "Indicates whether the specified attributes should be persisted or not.",
+ "type": "string",
+ "enum": [
+ "REPLACE",
+ "APPEND",
+ "NONE",
+ "RESET"
+ ]
+ },
+ "filter_rules": {
+ "description": "Filter rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FilterRules"
+ }
+ },
+ "parameter_values": {
+ "description": "Parameter values.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ParameterValues"
+ }
+ },
+ "objects": {
+ "description": "Objects on which the filter rules and parameters values should be applied to",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TokenAccessScopeObject"
+ }
+ },
+ "email": {
+ "description": "(just-in-time (JIT) provisioning)Email address of the user. Specify this attribute when creating a new user.",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "(just-in-time (JIT) provisioning) Indicates display name of the user. Specify this attribute when creating a new user.",
+ "type": "string"
+ },
+ "groups": {
+ "description": "(just-in-time (JIT) provisioning) ID or name of the groups to which the newly created user belongs. Specify this attribute when creating a new user.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Group_Object"
+ }
+ },
+ "auto_create": {
+ "description": " Creates a new user if the specified username does not exist in ThoughtSpot. To provision a user just-in-time (JIT), set this attribute to true.\n \n\nNote: For JIT provisioning of a user, the secret_key is required.
Version: 10.5.0.cl or later",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "username",
+ "persist_option"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "ABAC token creation was successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AccessToken"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request. This could be due to missing or incorrect parameters.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access. The request could not be authenticated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden access. The user does not have permission to access this resource.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "An unexpected error occurred on the server.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "security": []
+ }
+ },
+ "/api/rest/2.0/auth/token/full": {
+ "post": {
+ "operationId": "getFullAccessToken",
+ "description": "\n Version: 9.0.0.cl or later\n\nGets an authentication token and creates a full session in ThoughtSpot for a given user. By default, the token obtained from ThoughtSpot remains valid for 5 mins.\n\nYou can generate the token for a user by providing a `username` and `password`, or by using the cluster's `secret_key` (for [Trusted authentication](https://developers.thoughtspot.com/docs/?pageid=trusted-auth#trusted-auth-enable)).\n\nTo generate a `secret_key` on your cluster, the administrator must enable **Trusted authentication** in the **Develop** > **Customizations** > **Security Settings** page. For more information, see [Trusted authentication](https://developers.thoughtspot.com/docs/?pageid=trusted-auth#trusted-auth-enable).\n\n**Note**: When both `password` and `secret_key` are included in the API request, `password` takes precedence.\n\nIf Multi-Factor Authentication (MFA) is enabled on your instance, the API login request with basic authentication (`username` and `password` ) returns an error. You can switch to token-based authentication with `secret_key` or contact ThoughtSpot Support for assistance.\n\n#### Just-in-time provisioning\n\nFor just-in-time user creation and provisioning, define the following attributes:\n\n* `auto_create`\n* `username`\n* `display_name`\n* `email`\n* `group_identifiers`\n\nSet `auto_create` to `True` if the user is not available in ThoughtSpot. If the user already exists in ThoughtSpot and the `auto_create` parameter is set to `true`, the API call will update user properties like display name, email and group assignment.\n\nFor more information, see [Just-in-time provisioning](https://developers.thoughtspot.com/docs/just-in-time-provisioning).\n\nTo add a new user and assign privileges, you need `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled, the `CONTROL_TRUSTED_AUTH`(**Can Enable or Disable Trusted Authentication**) privilege is required.\n\n#### Important point to note\nAll options in the token creation APIs changing the content in ThoughtSpot will do so during the token creation and not when the token is being used for authentication. For example, `auto_create:true` will create the user when the authentication token is created.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Authentication",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "Username of the ThoughtSpot user. The username is stored in the `name` attribute of the user object.",
+ "type": "string"
+ },
+ "password": {
+ "description": "Password of the user account",
+ "default": "",
+ "type": "string"
+ },
+ "secret_key": {
+ "description": "The secret key string provided by the ThoughtSpot application server. ThoughtSpot generates a secret key when Trusted authentication is enabled.",
+ "default": "",
+ "type": "string"
+ },
+ "validity_time_in_sec": {
+ "description": "Token validity duration in seconds",
+ "default": 300,
+ "type": "integer",
+ "format": "int32"
+ },
+ "org_id": {
+ "description": "ID of the Org context to log in to. If the Org ID is not specified and secret key is provided then user will be logged into the org corresponding to the secret key, and if secret key is not provided then user will be logged in to the Org context of their previous login session.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "email": {
+ "description": "Email address of the user. Specify this attribute when creating a new user (just-in-time (JIT) provisioning).",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "Indicates display name of the user. Use this parameter to provision a user just-in-time (JIT).",
+ "type": "string"
+ },
+ "auto_create": {
+ "description": " Creates a new user if the specified username does not already exist in ThoughtSpot. To provision a user just-in-time (JIT), set this attribute to true.\n \n\nNote: For JIT provisioning of a user, the secret_key is required. ",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "group_identifiers": {
+ "description": "ID or name of the groups to which the newly created user belongs. Use this parameter to provision a user just-in-time (JIT).",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "username"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Bearer auth token creation successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Token"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "security": []
+ }
+ },
+ "/api/rest/2.0/auth/token/object": {
+ "post": {
+ "operationId": "getObjectAccessToken",
+ "description": "\n Version: 9.0.0.cl or later\n\nGets an authentication token that provides access to a specific metadata object. By default, the token obtained from ThoughtSpot remains valid for 5 mins.\n\nYou can generate the token for a user by providing a `username` and `password`, or by using the cluster's `secret key` (for [Trusted authentication](https://developers.thoughtspot.com/docs/?pageid=trusted-auth#trusted-auth-enable)).\n\nTo generate a `secret_key` on your cluster, the administrator must enable **Trusted authentication** in the **Develop** > **Customizations** > **Security Settings** page.\n\n**Note**: When both `password` and `secret_key` are included in the API request, `password` takes precedence.\n\nIf Multi-Factor Authentication (MFA) is enabled on your instance, the API login request with basic authentication (`username` and `password` ) returns an error. You can switch to token-based authentication with `secret_key` or contact ThoughtSpot Support for assistance.\n\n#### Just-in-time provisioning\n\nFor just-in-time user creation and provisioning, define the following attributes:\n\n* `auto_create`\n* `username`\n* `display_name`\n* `email`\n* `group_identifiers`\n\nSet `auto_create` to `True` if the user is not available in ThoughtSpot. If the user already exists in ThoughtSpot and the `auto_create` parameter is set to `true`, the API call will update user properties like display name, email and group assignment.\n\nFor more information, see [Just-in-time provisioning](https://developers.thoughtspot.com/docs/just-in-time-provisioning).\n\nTo add a new user and assign privileges, you need `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled, the `CONTROL_TRUSTED_AUTH`(**Can Enable or Disable Trusted Authentication**) privilege is required.\n\n#### Important point to note\nAll options in the token creation APIs changing the content in ThoughtSpot will do so during the token creation and not when the token is being used for authentication. For example, `auto_create:true` will create the user when the authentication token is created.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Authentication",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "Username of the ThoughtSpot user. The username is stored in the `name` attribute of the user object.",
+ "type": "string"
+ },
+ "object_id": {
+ "description": "GUID of the ThoughtSpot metadata object that the user can access. The bearer will only have access to the object specified in the API request.",
+ "type": "string"
+ },
+ "password": {
+ "description": "Password of the user account",
+ "default": "",
+ "type": "string"
+ },
+ "secret_key": {
+ "description": "The secret key string provided by the ThoughtSpot application server. ThoughtSpot generates a secret key when Trusted authentication is enabled.",
+ "default": "",
+ "type": "string"
+ },
+ "validity_time_in_sec": {
+ "description": "Token validity duration in seconds",
+ "default": 300,
+ "type": "integer",
+ "format": "int32"
+ },
+ "org_id": {
+ "description": "ID of the Org context to log in to. If the Org ID is not specified and secret key is provided then user will be logged into the org corresponding to the secret key, and if secret key is not provided then user will be logged in to the Org context of their previous login session.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "email": {
+ "description": "Email address of the user. Specify this attribute when creating a new user (just-in-time (JIT) provisioning).",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "Display name of the user. Specify this attribute when creating a new user (just-in-time (JIT) provisioning).",
+ "type": "string"
+ },
+ "auto_create": {
+ "description": " Creates a new user if the specified username does not exist in ThoughtSpot. To provision a user just-in-time (JIT), set this attribute to true.\n \n\nNote: For JIT provisioning of a user, the secret_key is required. ",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "group_identifiers": {
+ "description": "Unique ID or name of the groups to which you want to assign the new user. You can specify this attribute to dynamically assign privileges during just-in-time (JIT) provisioning.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "username"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Bearer auth token creation successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Token"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "security": []
+ }
+ },
+ "/api/rest/2.0/auth/session/login": {
+ "post": {
+ "operationId": "login",
+ "description": "\n Version: 9.0.0.cl or later\n\nCreates a login session for a ThoughtSpot user with Basic authentication.\n\nIn Basic authentication method, REST clients log in to ThoughtSpot using `username` and `password` attributes. On a multi-tenant cluster with Orgs, users can pass the ID of the Org in the API request to log in to a specific Org context.\n\n**Note**: If Multi-Factor Authentication (MFA) is enabled on your instance, the API login request with basic authentication (`username` and `password` ) returns an error. Contact ThoughtSpot Support for assistance.\n\nA successful login returns a session cookie that can be used in your subsequent API requests.\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Authentication",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "Username of the ThoughtSpot user",
+ "type": "string"
+ },
+ "password": {
+ "description": "Password of the user account",
+ "type": "string"
+ },
+ "org_identifier": {
+ "description": "ID of the Org context to log in to. If Org ID is not specified, the user will be logged in to the Org context of their previous login session.",
+ "type": "string"
+ },
+ "remember_me": {
+ "description": "A flag to remember the user session. When set to true, a session cookie is created and used in subsequent API requests.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "User login successful."
+ },
+ "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/auth/session/logout": {
+ "post": {
+ "operationId": "logout",
+ "description": "\n Version: 9.0.0.cl or later\n\n\nLogs out a user from their current session.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Authentication",
+ "9.0.0.cl"
+ ],
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "User logout successful."
+ },
+ "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/auth/token/revoke": {
+ "post": {
+ "operationId": "revokeToken",
+ "description": "\n Version: 9.0.0.cl or later\n\n\nRevokes the authentication token issued for current user session.\n\nThe token of your current session expires when you make a call to the `/api/rest/2.0/auth/token/revoke` endpoint.\nthe users will not be able to access ThoughtSpot objects until a new token is obtained.\n\nTo restart your session, request for a new token from ThoughtSpot. See [Get Full Access Token](#/http/api-endpoints/authentication/get-full-access-token).\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Authentication",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "user_identifier": {
+ "type": "string"
+ },
+ "token": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Token successfully revoked."
+ },
+ "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/auth/token/validate": {
+ "post": {
+ "operationId": "validateToken",
+ "description": "\n Version: 9.12.0.cl or later\n\n\nValidates the authentication token specified in the API request.\n\nIf your token is not valid, [Get a new token](#/http/api-endpoints/authentication/get-full-access-token).\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Authentication",
+ "9.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "token": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "token"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Token validation successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TokenValidationResponse"
+ }
+ }
+ }
+ },
+ "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/connection-configurations/search": {
+ "post": {
+ "operationId": "connectionConfigurationSearch",
+ "description": "\n Version: 10.12.0.cl or later\n\nGets connection configuration objects.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) and edit permissions to the connection object, or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\n#### Usage guidelines\n* To get a list of all configurations available in the ThoughtSpot system, send the API request with only the connection name or GUID in the request body.\n* To fetch details of a configuration object, specify the configuration object name or GUID.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Connection Configurations",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "connection_identifier": {
+ "description": "Unique ID or name of the connection.",
+ "type": "string"
+ },
+ "configuration_identifier": {
+ "description": "Unique ID or name of the configuration.",
+ "type": "string"
+ },
+ "policy_type": {
+ "description": "Type of policy.",
+ "type": "string",
+ "enum": [
+ "NO_POLICY",
+ "PRINCIPALS",
+ "PROCESSES"
+ ]
+ }
+ },
+ "required": [
+ "connection_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Configuration fetched successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ConnectionConfigurationResponse"
+ }
+ }
+ }
+ }
+ },
+ "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/connection-configurations/create": {
+ "post": {
+ "operationId": "createConnectionConfiguration",
+ "description": "\n Version: 10.12.0.cl or later\n\nCreates an additional configuration to an existing connection to a data warehouse. \n\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\n#### Usage guidelines\n\n * A JSON map of configuration attributes in `configuration`. The following example shows the configuration attributes:\n ```\n {\n \"user\":\"DEV_USER\",\n \"password\":\"TestConn123\",\n \"role\":\"DEV\",\n \"warehouse\":\"DEV_WH\"\n }\n ```\n\n* If the `policy_type` is `PRINCIPALS`, then `policy_principals` is a required field.\n* If the `policy_type` is `PROCESSES`, then `policy_processes` is a required field.\n* If the `policy_type` is `NO_POLICY`, then `policy_principals` and `policy_processes` are not required fields.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Connection Configurations",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Unique name for the configuration.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the configuration.",
+ "type": "string"
+ },
+ "connection_identifier": {
+ "description": "Unique ID or name of the connection.",
+ "type": "string"
+ },
+ "authentication_type": {
+ "description": "Type of authentication used for the connection.",
+ "default": "SERVICE_ACCOUNT",
+ "type": "string",
+ "enum": [
+ "SERVICE_ACCOUNT",
+ "KEY_PAIR",
+ "PERSONAL_ACCESS_TOKEN",
+ "OAUTH_WITH_SERVICE_PRINCIPAL"
+ ]
+ },
+ "configuration": {
+ "description": "Configuration properties in JSON.",
+ "type": "object"
+ },
+ "policy_type": {
+ "description": "Type of policy.",
+ "default": "NO_POLICY",
+ "type": "string",
+ "enum": [
+ "NO_POLICY",
+ "PRINCIPALS",
+ "PROCESSES"
+ ]
+ },
+ "policy_principals": {
+ "description": "Unique ID or name of the User and User Groups.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "policy_processes": {
+ "description": "Action that the query performed on the data warehouse, such as SAGE_INDEXING and ROW_COUNT_STATS.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "SAGE_INDEXING",
+ "ROW_COUNT_STATS"
+ ]
+ }
+ }
+ },
+ "required": [
+ "name",
+ "connection_identifier",
+ "configuration"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Connection configuration successfully created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ConnectionConfigurationResponse"
+ }
+ }
+ }
+ },
+ "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/connection-configurations/delete": {
+ "post": {
+ "operationId": "deleteConnectionConfiguration",
+ "description": "\n Version: 10.12.0.cl or later\n\nDeletes connection configuration objects.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) and edit permissions to the connection object, or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Connection Configurations",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "configuration_identifier": {
+ "description": "Unique ID or name of the configuration.",
+ "type": "string"
+ },
+ "connection_identifier": {
+ "description": "Unique ID or name of the connection.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "configuration_identifier",
+ "connection_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Connection Configurations successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/connection-configurations/{configuration_identifier}/update": {
+ "post": {
+ "operationId": "updateConnectionConfiguration",
+ "description": "\n Version: 10.12.0.cl or later\n\nUpdates a connection configuration object.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) and edit permissions to the connection object, or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\n#### Supported operations\nThis API endpoint lets you perform the following operations in a single API request:\n\n * Edit the name or description of the configuration\n * Edit the configuration properties\n * Edit the `policy_type`\n * Edit the type of authentication\n * Enable or disable a configuration\n\n **NOTE**: When updating a configuration where `disabled` is `true`, you must reset `disabled` to `true` in your update request payload. If not explicitly set again, the API will default `disabled` to `false`.\n \n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Connection Configurations",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "connection_identifier": {
+ "description": "Unique ID or name of the connection.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the configuration to update.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the configuration.",
+ "type": "string"
+ },
+ "authentication_type": {
+ "description": "Type of authentication.",
+ "type": "string",
+ "enum": [
+ "SERVICE_ACCOUNT",
+ "OAUTH",
+ "OAUTH_WITH_SERVICE_PRINCIPAL",
+ "EXTOAUTH",
+ "KEY_PAIR",
+ "EXTOAUTH_WITH_PKCE",
+ "OAUTH_WITH_PKCE",
+ "PERSONAL_ACCESS_TOKEN"
+ ]
+ },
+ "configuration": {
+ "description": "Configuration properties in JSON.",
+ "type": "object"
+ },
+ "policy_type": {
+ "description": "Type of policy.",
+ "type": "string",
+ "enum": [
+ "NO_POLICY",
+ "PRINCIPALS",
+ "PROCESSES"
+ ]
+ },
+ "policy_principals": {
+ "description": "Unique ID or name of the User and User Groups.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "policy_processes": {
+ "description": "Action that the query performed on the data warehouse, such as SAGE_INDEXING and ROW_COUNT_STATS.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "SAGE_INDEXING",
+ "ROW_COUNT_STATS"
+ ]
+ }
+ },
+ "disable": {
+ "description": "Indicates whether the configuration enable/disable.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "connection_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "configuration_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the configuration."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Connection configuration successfully updated."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/connection/create": {
+ "post": {
+ "operationId": "createConnection",
+ "description": "\n Version: 9.2.0.cl or later\n\nCreates a connection to a data warehouse for live query services. \n\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\n#### Create a connection without tables\n\nTo create a connection without tables:\n\n1. Pass these parameters in your API request.\n * Name of the connection.\n * Type of the data warehouse to connect to.\n * A JSON map of configuration attributes in `data_warehouse_config`. The following example shows the configuration attributes for a SnowFlake connection:\n ```\n {\n \"configuration\":{\n \"accountName\":\"thoughtspot_partner\",\n \"user\":\"tsadmin\",\n \"password\":\"TestConn123\",\n \"role\":\"sysadmin\",\n \"warehouse\":\"MEDIUM_WH\"\n },\n \"externalDatabases\":[\n\n ]\n }\n ```\n2. Set `validate` to `false`.\n\n#### Create a connection with tables\n\nTo create a connection with tables:\n\n1. Pass these parameters in your API request.\n * Name of the connection.\n * Type of the data warehouse to connect to.\n * A JSON map of configuration attributes, database details, and table properties in `data_warehouse_config` as shown in the following example:\n ```\n {\n \"configuration\":{\n \"accountName\":\"thoughtspot_partner\",\n \"user\":\"tsadmin\",\n \"password\":\"TestConn123\",\n \"role\":\"sysadmin\",\n \"warehouse\":\"MEDIUM_WH\"\n },\n \"externalDatabases\":[\n {\n \"name\":\"AllDatatypes\",\n \"isAutoCreated\":false,\n \"schemas\":[\n {\n \"name\":\"alldatatypes\",\n \"tables\":[\n {\n \"name\":\"allDatatypes\",\n \"type\":\"TABLE\",\n \"description\":\"\",\n \"selected\":true,\n \"linked\":true,\n \"columns\":[\n {\n \"name\":\"CNUMBER\",\n \"type\":\"INT64\",\n \"canImport\":true,\n \"selected\":true,\n \"isLinkedActive\":true,\n \"isImported\":false,\n \"tableName\":\"allDatatypes\",\n \"schemaName\":\"alldatatypes\",\n \"dbName\":\"AllDatatypes\"\n },\n {\n \"name\":\"CDECIMAL\",\n \"type\":\"INT64\",\n \"canImport\":true,\n \"selected\":true,\n \"isLinkedActive\":true,\n \"isImported\":false,\n \"tableName\":\"allDatatypes\",\n \"schemaName\":\"alldatatypes\",\n \"dbName\":\"AllDatatypes\"\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ```\n2. Set `validate` to `true`.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Connections",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Unique name for the connection.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the connection.",
+ "type": "string"
+ },
+ "data_warehouse_type": {
+ "description": "Type of the data warehouse.",
+ "type": "string",
+ "enum": [
+ "SNOWFLAKE",
+ "AMAZON_REDSHIFT",
+ "GOOGLE_BIGQUERY",
+ "AZURE_SYNAPSE",
+ "TERADATA",
+ "SAP_HANA",
+ "STARBURST",
+ "ORACLE_ADW",
+ "DATABRICKS",
+ "DENODO",
+ "DREMIO",
+ "TRINO",
+ "PRESTO",
+ "POSTGRES",
+ "SQLSERVER",
+ "MYSQL",
+ "GENERIC_JDBC",
+ "AMAZON_RDS_POSTGRESQL",
+ "AMAZON_AURORA_POSTGRESQL",
+ "AMAZON_RDS_MYSQL",
+ "AMAZON_AURORA_MYSQL",
+ "LOOKER",
+ "AMAZON_ATHENA",
+ "SINGLESTORE",
+ "GCP_SQLSERVER",
+ "GCP_ALLOYDB_POSTGRESQL",
+ "GCP_POSTGRESQL",
+ "GCP_MYSQL",
+ "MODE",
+ "GOOGLE_SHEETS",
+ "FALCON",
+ "FALCON_ONPREM",
+ "CLICKHOUSE"
+ ]
+ },
+ "data_warehouse_config": {
+ "description": "Connection configuration attributes in JSON format. To create a connection with tables, include table attributes. See the documentation above for sample JSON.",
+ "type": "object"
+ },
+ "validate": {
+ "description": "Validates the connection metadata if tables are included. If you are creating a connection without tables, specify `false`.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "name",
+ "data_warehouse_type",
+ "data_warehouse_config"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Connection to the datasource successfully created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateConnectionResponse"
+ }
+ }
+ }
+ },
+ "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/connection/delete": {
+ "post": {
+ "operationId": "deleteConnection",
+ "description": "\n Version: 9.2.0.cl or later\n\n\n**Important**: This endpoint is deprecated and will be removed from ThoughtSpot in September 2025. ThoughtSpot strongly recommends using the\n[Delete Connection V2](#/http/api-endpoints/connections/delete-connection-v2) endpoint to delete your connection objects. \n\n#### Usage guidelines\n\nDeletes a connection object.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) and edit permissions to the connection object, or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\n**Note**: If a connection has dependent objects, make sure you remove its associations before the delete operation.\n\n\n\n#### Endpoint URL\n",
+ "deprecated": true,
+ "tags": [
+ "Connections",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "connection_identifier": {
+ "description": "Unique ID or name of the connection.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "connection_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Connection successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/connections/{connection_identifier}/delete": {
+ "post": {
+ "operationId": "deleteConnectionV2",
+ "description": "\n Version: 10.4.0.cl or later\n\nDeletes a connection object.\n\n**Note**: If a connection has dependent objects, make sure you remove its associations before the delete operation.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) and edit permissions to the connection object, or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Connections",
+ "10.4.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "connection_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the connection."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Connection successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/connections/download-connection-metadata-changes/{connection_identifier}": {
+ "post": {
+ "operationId": "downloadConnectionMetadataChanges",
+ "description": "\n Version: 9.9.0.cl or later\n\nExports the difference in connection metadata between CDW and ThoughtSpot\n\nRequires `DATAMANAGEMENT` (**Can manage data**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the following Data control privileges may be required: \n- `CAN_MANAGE_CUSTOM_CALENDAR`(**Can manage custom calendars**)\n- `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**)\n\nTo download the connection metadata difference between ThoughtSpot and CDW, pass the connection GUID as `connection_identifier` in the API request.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Connections",
+ "9.9.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "connection_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "GUID of the connection"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Export metadata changes.",
+ "content": {
+ "application/octet-stream": {}
+ }
+ },
+ "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/connections/fetch-connection-diff-status/{connection_identifier}": {
+ "post": {
+ "operationId": "fetchConnectionDiffStatus",
+ "description": "\n Version: 9.9.0.cl or later\n\nValidates the difference in connection metadata between CDW and ThoughtSpot.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the following Data control privileges may be required:\n\n- `CAN_MANAGE_CUSTOM_CALENDAR`(**Can manage custom calendars**)\n- `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**)\n\nReturns a boolean indicating whether there is any difference between the connection metadata at ThoughtSpot and CDW.\n\nTo get the connection metadata difference status, pass the connection GUID as `connection_identifier` in the API request.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Connections",
+ "9.9.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "connection_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "GUID of the connection"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "true/false",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/FetchConnectionDiffStatusResponse"
+ }
+ }
+ }
+ },
+ "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/connection/search": {
+ "post": {
+ "operationId": "searchConnection",
+ "description": "\n Version: 9.2.0.cl or later\n\nGets connection objects.\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\n- To get a list of all connections available in the ThoughtSpot system, send the API request without any attributes in the request body.\n- To get the connection objects for a specific type of data warehouse, specify the type in `data_warehouse_types`.\n- To fetch details of a connection object, specify the connection object GUID or name. The `name_pattern` attribute allows passing partial text with `%` for a wildcard match.\n- To get details of the database, schemas, tables, or columns from a data connection object, specify `data_warehouse_object_type`.\n- To get a specific database, schema, table, or column from a connection object, define the object type in `data_warehouse_object_type` and object properties in the `data_warehouse_objects` array. For example, to search for a column, you must pass the database, schema, and table names in the API request.\n Note that in the following example, object properties are set in a hierarchical order (`database` > `schema` > `table` > `column`).\n\n```\n{\n \"connections\": [\n {\n \"identifier\": \"b9d1f2ef-fa65-4a4b-994e-30fa2d57b0c2\",\n \"data_warehouse_objects\": [\n {\n \"database\": \"NEBULADEV\",\n \"schema\": \"INFORMATION_SCHEMA\",\n \"table\": \"APPLICABLE_ROLES\",\n \"column\": \"ROLE_NAME\"\n }\n ]\n }\n ],\n \"data_warehouse_object_type\": \"COLUMN\"\n}\n```\n\n- To fetch data by `configuration`, specify `data_warehouse_object_type`. For example, to fetch columns from the `DEVELOPMENT` database, specify the `data_warehouse_object_type` as `DATABASE` and define the `configuration` string as `{\"database\":\"DEVELOPMENT\"}`. To get column data for a specific table, specify the table, for example,`{\"database\":\"RETAILAPPAREL\",\"table\":\"PIPES\"}`.\n- To query connections by `authentication_type`, specify `data_warehouse_object_type`. Supported values for `authentication_type` are:\n - `SERVICE_ACCOUNT`: For connections that require service account credentials to authenticate to the Cloud Data Warehouse and fetch data.\n - `OAUTH`: For connections that require OAuth credentials to authenticate to the Cloud Data Warehouse and fetch data. Teradata, Oracle, and Presto Cloud Data Warehouses do not support the OAuth authentication type.\n - `IAM`: For connections that have the IAM OAuth set up. This authentication type is supported on Amazon Redshift connections only.\n - `EXTOAUTH`: For connections that have External OAuth set up. ThoughtSpot supports external [OAuth with Microsoft Azure Active Directory (AD)](https://docs.thoughtspot.com/cloud/latest/ connections-snowflake-azure-ad-oauth) and [Okta for Snowflake data connections](https://docs.thoughtspot.com/cloud/latest/connections-snowflake-okta-oauth).\n - `KEY_PAIR`: For connections that require Key Pair account credentials to authenticate to the Cloud Data Warehouse and fetch data. This authentication type is supported on Snowflake connections only.\n - `OAUTH_WITH_PKCE`: For connections that require OAuth with PKCE account credentials to authenticate to the Cloud Data Warehouse and fetch data. This authentication type is supported on Snowflake, Starburst, Databricks, Denodo connections only.\n - `EXTOAUTH_WITH_PKCE`: For connections that require External OAuth With PKCE account credentials to authenticate to the Cloud Data Warehouse and fetch data. This authentication type is supported on Snowflake connections only.\n - `OAUTH_WITH_PEZ`: For connections that require OAuth With PEZ account credentials to authenticate to the Cloud Data Warehouse and fetch data. This authentication type is supported on Amazon Redshift connections only.\n - `OAUTH_WITH_SERVICE_PRINCIPAL`: For connections that require OAuth With Service Principal account credentials to authenticate to the Cloud Data Warehouse and fetch data. This authentication type is supported on Databricks connections only.\n - `PERSONAL_ACCESS_TOKEN`: For connections that require Personal Access Token account credentials to authenticate to the Cloud Data Warehouse and fetch data. This authentication type is supported on Databricks connections only.\n - `OAUTH_CLIENT_CREDENTIALS`: For connections that require OAuth Client Credentials to authenticate to the Cloud Data Warehouse and fetch data. This authentication type is supported on Snowflake connections only.\n- To include more details about connection objects in the API response, set `include_details` to `true`.\n- You can also sort the output by field names and filter connections by tags.\n\n**NOTE**: When filtering connection records by parameters other than `data_warehouse_types` or `tag_identifiers`, ensure that you set `record_size` to `-1` and `record_offset` to `0` for precise results.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Connections",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "connections": {
+ "description": "List of connections and name pattern",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ConnectionInput"
+ }
+ },
+ "data_warehouse_types": {
+ "description": "Array of types of data warehouse defined for the connection.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "SNOWFLAKE",
+ "AMAZON_REDSHIFT",
+ "GOOGLE_BIGQUERY",
+ "AZURE_SYNAPSE",
+ "TERADATA",
+ "SAP_HANA",
+ "STARBURST",
+ "ORACLE_ADW",
+ "DATABRICKS",
+ "DENODO",
+ "DREMIO",
+ "TRINO",
+ "PRESTO",
+ "POSTGRES",
+ "SQLSERVER",
+ "MYSQL",
+ "GENERIC_JDBC",
+ "AMAZON_RDS_POSTGRESQL",
+ "AMAZON_AURORA_POSTGRESQL",
+ "AMAZON_RDS_MYSQL",
+ "AMAZON_AURORA_MYSQL",
+ "LOOKER",
+ "AMAZON_ATHENA",
+ "SINGLESTORE",
+ "GCP_SQLSERVER",
+ "GCP_ALLOYDB_POSTGRESQL",
+ "GCP_POSTGRESQL",
+ "GCP_MYSQL",
+ "MODE",
+ "GOOGLE_SHEETS",
+ "FALCON",
+ "FALCON_ONPREM",
+ "CLICKHOUSE"
+ ]
+ }
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included.",
+ "default": 10,
+ "type": "integer",
+ "format": "int32"
+ },
+ "tag_identifiers": {
+ "description": "Unique ID or name of tags.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "data_warehouse_object_type": {
+ "description": "Data warehouse object type.",
+ "type": "string",
+ "enum": [
+ "DATABASE",
+ "SCHEMA",
+ "TABLE",
+ "COLUMN"
+ ]
+ },
+ "sort_options": {
+ "description": "Sort options.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SortOptionInput"
+ }
+ ]
+ },
+ "include_details": {
+ "description": "Indicates whether to include complete details of the connection objects.",
+ "type": "boolean",
+ "nullable": true
+ },
+ "configuration": {
+ "description": "Configuration values. If empty we are fetching configuration from datasource based on given connection id. If required you can provide config details to fetch specific details. Example input: {}, {\"warehouse\":\"SMALL_WH\",\"database\":\"DEVELOPMENT\"}. This is only applicable when data_warehouse_object_type is selected.",
+ "type": "object"
+ },
+ "authentication_type": {
+ "description": "List of authentication types to fetch data_ware_house_objects from external Data warehouse. This is only applicable when data_warehouse_object_type is selected.",
+ "default": "SERVICE_ACCOUNT",
+ "type": "string",
+ "enum": [
+ "SERVICE_ACCOUNT",
+ "OAUTH",
+ "IAM",
+ "EXTOAUTH",
+ "OAUTH_WITH_SERVICE_PRINCIPAL",
+ "PERSONAL_ACCESS_TOKEN",
+ "KEY_PAIR",
+ "OAUTH_WITH_PKCE",
+ "EXTOAUTH_WITH_PKCE",
+ "OAUTH_WITH_PEZ"
+ ]
+ },
+ "show_resolved_parameters": {
+ "description": "Version: 10.9.0.cl or later
\n\nIndicates whether to show resolved parameterised values.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "List of connections to the datasource.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SearchConnectionResponse"
+ }
+ }
+ }
+ }
+ },
+ "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/connection/update": {
+ "post": {
+ "operationId": "updateConnection",
+ "description": "\n Version: 9.2.0.cl or later\n\n**Important**: This endpoint is deprecated and will be removed from ThoughtSpot in September 2025. ThoughtSpot strongly recommends using the\n[Update connection V2](#/http/api-endpoints/connections/update-connection-v2) endpoint to update your connection objects.\n\n#### Usage guidelines\n\nUpdates a connection object. \n\nRequires `DATAMANAGEMENT` (**Can manage data**) and edit permissions to the connection object, or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\nTo update a connection object, pass these parameters in your API request:\n\n1. GUID of the connection object.\n2. If you are updating tables or database schema of a connection object:\n a. Add the updated JSON map of metadata with database, schema, and tables in `data_warehouse_config`.\n b. Set `validate` to `true`.\n3. If you are updating a configuration attribute, connection name, or description, you can set `validate` to `false`.\n\n\n\n\n#### Endpoint URL\n",
+ "deprecated": true,
+ "tags": [
+ "Connections",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "connection_identifier": {
+ "description": "Unique ID or name of the connection.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Updated name of the connection.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Updated description of the connection.",
+ "type": "string"
+ },
+ "data_warehouse_config": {
+ "description": "Configuration of the data warehouse in JSON.",
+ "type": "object"
+ },
+ "validate": {
+ "description": "Indicates whether to validate the connection details.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "connection_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Connection 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/connections/{connection_identifier}/update": {
+ "post": {
+ "operationId": "updateConnectionV2",
+ "description": "\n Version: 10.4.0.cl or later\n\nUpdates a connection object.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) and edit permissions to the connection object, or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\nTo update a connection object, pass these parameters in your API request:\n\n1. GUID of the connection object.\n2. If you are updating tables or database schema of a connection object:\n a. Add the updated JSON map of metadata with database, schema, and tables in `data_warehouse_config`.\n b. Set `validate` to `true`.\n \n **NOTE:** If the `authentication_type` is anything other than SERVICE_ACCOUNT, you must explicitly provide the authenticationType property in the payload. If you do not specify authenticationType, the API will default to SERVICE_ACCOUNT as the authentication type.\n\n * A JSON map of configuration attributes, database details, and table properties in `data_warehouse_config` as shown in the following example:\n\n ```\n {\n \"configuration\":{\n \"accountName\":\"thoughtspot_partner\",\n \"user\":\"tsadmin\",\n \"password\":\"TestConn123\",\n \"role\":\"sysadmin\",\n \"warehouse\":\"MEDIUM_WH\"\n },\n \"externalDatabases\":[\n {\n \"name\":\"AllDatatypes\",\n \"isAutoCreated\":false,\n \"schemas\":[\n {\n \"name\":\"alldatatypes\",\n \"tables\":[\n {\n \"name\":\"allDatatypes\",\n \"type\":\"TABLE\",\n \"description\":\"\",\n \"selected\":true,\n \"linked\":true,\n \"columns\":[\n {\n \"name\":\"CNUMBER\",\n \"type\":\"INT64\",\n \"canImport\":true,\n \"selected\":true,\n \"isLinkedActive\":true,\n \"isImported\":false,\n \"tableName\":\"allDatatypes\",\n \"schemaName\":\"alldatatypes\",\n \"dbName\":\"AllDatatypes\"\n },\n {\n \"name\":\"CDECIMAL\",\n \"type\":\"INT64\",\n \"canImport\":true,\n \"selected\":true,\n \"isLinkedActive\":true,\n \"isImported\":false,\n \"tableName\":\"allDatatypes\",\n \"schemaName\":\"alldatatypes\",\n \"dbName\":\"AllDatatypes\"\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ```\n\n3. If you are updating a configuration attribute, connection name, or description, you can set `validate` to `false`.\n\n **NOTE:** If the `authentication_type` is anything other than SERVICE_ACCOUNT, you must explicitly provide the authenticationType property in the payload. If you do not specify authenticationType, the API will default to SERVICE_ACCOUNT as the authentication type.\n\n * A JSON map of configuration attributes in `data_warehouse_config`. The following example shows the configuration attributes for a Snowflake connection:\n ```\n {\n \"configuration\":{\n \"accountName\":\"thoughtspot_partner\",\n \"user\":\"tsadmin\",\n \"password\":\"TestConn123\",\n \"role\":\"sysadmin\",\n \"warehouse\":\"MEDIUM_WH\"\n },\n \"externalDatabases\":[\n\n ]\n }\n ```\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Connections",
+ "10.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Updated name of the connection.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Updated description of the connection.",
+ "type": "string"
+ },
+ "data_warehouse_config": {
+ "description": "Configuration of the data warehouse in JSON.",
+ "type": "object"
+ },
+ "validate": {
+ "description": "Indicates whether to validate the connection details.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "connection_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the connection."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Connection 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/customization/custom-actions": {
+ "post": {
+ "operationId": "createCustomAction",
+ "description": "\n Version: 9.6.0.cl or later\n\nCreates a custom action that appears as a menu action on a saved Answer or Liveboard visualization.\n\nRequires `DEVELOPER` (**Has Developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n#### Usage Guidelines\n\nThe API lets you create the following types of custom actions:\n\n* URL-based action \n Allows pushing data to an external URL.\n* Callback action \n Triggers a callback to the host application and initiates a response payload on an embedded ThoughtSpot instance.\n\nBy default, custom actions are visible to only administrator or developer users. To make a custom action available to other users, and specify the groups in `group_identifiers`.\n\nBy default, the custom action is set as a _global_ action on all visualizations and saved Answers. To assign a custom action to specific Liveboard visualization, saved Answer, or Worksheet, set `visibility` to `false` in `default_action_config` property and specify the GUID or name of the object in `associate_metadata`.\n\nFor more information, see [Custom actions](https://developers.thoughtspot.com/docs/custom-action-intro).\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Custom Action",
+ "9.6.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the custom action. The custom action name must be unique.",
+ "type": "string"
+ },
+ "action_details": {
+ "description": "Action details includes `Type` and Configuration data for Custom Actions, either Callback or URL is required.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Action_Details_Input_Create"
+ }
+ ]
+ },
+ "associate_metadata": {
+ "description": "Metadata objects to which the custom action needs to be associated.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Associate_Metadata_Input_Create"
+ }
+ },
+ "default_action_config": {
+ "description": "Default Custom action configuration. This includes if the custom action is available on all visualizations. By default, a custom action is added to all visualizations and Answers.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Default_Action_Config_Input_Create"
+ }
+ ]
+ },
+ "group_identifiers": {
+ "description": "Unique ID or name of the groups that can view and access the custom action.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "action_details"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Custom action created successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseCustomAction"
+ },
+ "examples": {
+ "example_1": {
+ "value": {
+ "action_details": {
+ "CALLBACK": {
+ "reference": "customaction"
+ }
+ },
+ "default_action_config": {
+ "visibility": true
+ },
+ "id": "3d3cad0f-e57b-4faa-8e24-da596c727ee0",
+ "metadata_association": [],
+ "name": "customactionsample",
+ "user_groups": []
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "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/customization/custom-actions/{custom_action_identifier}/delete": {
+ "post": {
+ "operationId": "deleteCustomAction",
+ "description": "\n Version: 9.6.0.cl or later\n\nRemoves the custom action specified in the API request.\n\nRequires `DEVELOPER` (**Has Developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Custom Action",
+ "9.6.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "custom_action_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the custom action."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Custom action is successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "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/customization/custom-actions/search": {
+ "post": {
+ "operationId": "searchCustomActions",
+ "description": "\n Version: 9.6.0.cl or later\n\nGets custom actions configured on the cluster.\n\nRequires `DEVELOPER` (**Has Developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Custom Action",
+ "9.6.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "custom_action_identifier": {
+ "description": "Name or ID of the custom action.",
+ "type": "string"
+ },
+ "name_pattern": {
+ "description": "A pattern to match case-insensitive name of the custom-action object.",
+ "type": "string"
+ },
+ "default_action_config": {
+ "description": "Default Custom action configuration. This includes if the custom action is available on all visualizations. By default, a custom action is added to all visualizations and Answers.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Default_Action_Config_Search_Input"
+ }
+ ]
+ },
+ "include_group_associations": {
+ "description": "When set to true, returns the associated groups for a custom action.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "include_metadata_associations": {
+ "description": "When set to true, returns the associated metadata for a custom action.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "metadata": {
+ "description": "Search with a given metadata identifier.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CustomActionMetadataTypeInput"
+ }
+ },
+ "type": {
+ "description": "Filter the action objects based on type",
+ "type": "string",
+ "enum": [
+ "CALLBACK",
+ "URL"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Custom action search is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ResponseCustomAction"
+ }
+ },
+ "examples": {
+ "example_1": {
+ "value": [
+ {
+ "action_details": {
+ "CALLBACK": {
+ "reference": "LEDE"
+ }
+ },
+ "default_action_config": {
+ "visibility": true
+ },
+ "id": "c59262df-cf9e-4947-96fa-52d494688797",
+ "name": "LEDE"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "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/customization/custom-actions/{custom_action_identifier}/update": {
+ "post": {
+ "operationId": "updateCustomAction",
+ "description": "\n Version: 9.6.0.cl or later\n\nUpdates a custom action.\n\nRequires `DEVELOPER` (**Has Developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n#### Usage Guidelines\n\nThe API allows you to modify the following properties:\n\n* Name of the custom action\n* Action availability to groups\n* Association to metadata objects\n* Authentication settings for a URL-based action\n\nFor more information, see [Custom actions](https://developers.thoughtspot.com/docs/custom-action-intro).\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Custom Action",
+ "9.6.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "action_details": {
+ "description": "Action details includes `Type` and Configuration for Custom Actions, either Callback or URL is required.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Action_Details_Input"
+ }
+ ]
+ },
+ "associate_metadata": {
+ "description": "Metadata objects to which the custom action needs to be associated.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Associate_Metadata_Input"
+ }
+ },
+ "default_action_config": {
+ "description": "Default Custom action configuration. This includes if the custom action available on visualizations and Answers. By default, a custom action is added to all visualizations and Answers.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Default_Action_Config_Input"
+ }
+ ]
+ },
+ "group_identifiers": {
+ "description": "Unique ID or name of the groups that can view and access the custom action.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "name": {
+ "description": "Name of the custom action. The custom action name must be unique.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Type of update operation. Default operation type is ADD",
+ "default": "ADD",
+ "type": "string",
+ "enum": [
+ "ADD",
+ "REMOVE"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "custom_action_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the custom action."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Custom action updated successfully."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "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/calendars/create": {
+ "post": {
+ "operationId": "createCalendar",
+ "description": "\n Version: 10.12.0.cl or later\n\nCreates a new [custom calendar](https://docs.thoughtspot.com/cloud/latest/connections-cust-cal).\n\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your ThoughtSpot instance, the `CAN_MANAGE_CUSTOM_CALENDAR` (**Can manage custom calendars**) privilege is required.\n\n\n#### Usage guidelines\n\nYou can create a custom calendar from scratch or an existing Table in ThoughtSpot. For both methods of calendar creation, the following parameters are required:\n\n* Name of the custom calendar.\n* Calendar creation method. To create a calendar from an existing table, specify the method:\n\n - `FROM_EXISTING_TABLE` - Creates calendar from the table reference provided in the API request.\n - `FROM_INPUT_PARAMS` - Creates a calendar from the parameters defined in the API request.\n\n* Connection ID and Table name\n* Database and schema name attributes:\n For most Cloud Data Warehouse (CDW) connectors, both `database_name` and `schema_name` attributes are required. \n However, the attribute requirements are conditional and vary based on the connector type and its metadata structure. For example, for connectors such as Teradata, MySQL, SingleSore, Amazon Aurora MySQL, Amazon RDS MySQL, Oracle, and GCP_MYSQL, the `schema_name` is required, whereas the `database_name` attribute is not.\n Similarly, connectors such as ClickHouse require you to specify the `database_name` and the schema specification in such cases is optional.\n\n**NOTE**: If you are creating a calendar from an existing table, ensure that the referenced table matches the required DDL for custom calendars. If the schema does not match, the API returns an error.\n\n##### Calendar type\nThe API allows you to create the following types of calendars:\n\n* `MONTH_OFFSET`. The default calendar type. A `MONTH_OFFSET` calendar is offset by a few months from the standard calendar months (January to December) and the year begins with the month defined in the request. For example, if the `month_offset` value is set as `April`, the calendar year begins in April.\n\n* `4-4-5`. Each quarter in the calendar will include two 4-week months followed by one 5-week month.\n* `4-5-4`. Each quarter in the calendar will include two 4-week months with a 5-week month between.\n* `5-4-4`. Each quarter begins with a 5-week month, followed by two 4-week months.\n\nTo start and end the calendar on a specific date, specify the dates in the `MM/DD/YYYY` format. For `MONTH_OFFSET` calendars, ensure that the `start_date` matches the month specified in the `month_offset` attribute.\n\nYou can also set the starting day of the week and customize the prefixes for year and quarter labels.\n\n#### Examples\n\nTo create a calendar from an existing table:\n\n```\n{\n \"name\": \"MyCustomCalendar1\",\n \"table_reference\": {\n \"connection_identifier\": \"4db8ea22-2ff4-4224-b05a-26674717e468\",\n \"table_name\": \"MyCalendarTable\",\n \"database_name\": \"RETAILAPPAREL\",\n \"schema_name\": \"PUBLIC\"\n },\n \"creation_method\": \"FROM_EXISTING_TABLE\",\n}\n```\n\nTo create a calendar from scratch:\n\n```\n{\n \"name\": \"MyCustomCalendar1\",\n \"table_reference\": {\n \"connection_identifier\": \"4db8ea22-2ff4-4224-b05a-26674717e468\",\n \"table_name\": \"MyCalendarTable\",\n \"database_name\": \"RETAILAPPAREL\",\n \"schema_name\": \"PUBLIC\"\n },\n \"creation_method\": \"FROM_INPUT_PARAMS\",\n \"calendar_type\": \"MONTH_OFFSET\",\n \"month_offset\": \"April\",\n \"start_day_of_week\": \"Monday\",\n \"quarter_name_prefix\": \"Q\",\n \"year_name_prefix\": \"FY\",\n \"start_date\": \"04/01/2025\",\n \"end_date\": \"04/31/2025\"\n}\n```\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Custom Calendars",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the custom calendar.",
+ "type": "string"
+ },
+ "creation_method": {
+ "description": "Type of create operation.",
+ "type": "string",
+ "enum": [
+ "FROM_INPUT_PARAMS",
+ "FROM_EXISTING_TABLE"
+ ]
+ },
+ "table_reference": {
+ "description": "Table reference containing connection identifier and table details in this format: `{\"connection_identifier\":\"conn1\", \"database_name\":\"db1\", \"schema_name\":\"sc1\", \"table_name\":\"tb1\"}`. The given table will be created if `creation_method` is set as `FROM_INPUT_PARAMS`.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ExternalTableInput"
+ }
+ ]
+ },
+ "start_date": {
+ "description": "Start date for the calendar in `MM/dd/yyyy` format. This parameter is mandatory if `creation_method` is set as `FROM_INPUT_PARAMS`.",
+ "type": "string"
+ },
+ "end_date": {
+ "description": "End date for the calendar in `MM/dd/yyyy` format. This parameter is mandatory if `creation_method` is set as `FROM_INPUT_PARAMS`.",
+ "type": "string"
+ },
+ "calendar_type": {
+ "description": "Type of the calendar.",
+ "default": "MONTH_OFFSET",
+ "type": "string",
+ "enum": [
+ "MONTH_OFFSET",
+ "FOUR_FOUR_FIVE",
+ "FOUR_FIVE_FOUR",
+ "FIVE_FOUR_FOUR"
+ ]
+ },
+ "month_offset": {
+ "description": "Specify the month in which the fiscal or custom calendar year should start. For example, if you set `month_offset` to \"April\", the custom calendar will treat \"April\" as the first month of the year, and the related attributes such as quarters and start date will be based on this offset. The default value is `January`, which represents the standard calendar year (January to December).",
+ "default": "January",
+ "type": "string",
+ "enum": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ]
+ },
+ "start_day_of_week": {
+ "description": "Specify the starting day of the week.",
+ "default": "Sunday",
+ "type": "string",
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ]
+ },
+ "quarter_name_prefix": {
+ "description": "Prefix to add before the quarter.",
+ "default": "",
+ "type": "string"
+ },
+ "year_name_prefix": {
+ "description": "Prefix to add before the year.",
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "creation_method",
+ "table_reference"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Custom calendar created successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CalendarResponse"
+ }
+ }
+ }
+ },
+ "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/calendars/{calendar_identifier}/delete": {
+ "post": {
+ "operationId": "deleteCalendar",
+ "description": "\n Version: 10.12.0.cl or later\n\nDeletes a [custom calendar](https://docs.thoughtspot.com/cloud/latest/connections-cust-cal).\n\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your ThoughtSpot instance, the `CAN_MANAGE_CUSTOM_CALENDAR` (**Can manage custom calendars**) privilege is required.\n\n#### Usage guidelines\nTo delete a custom calendar, specify the calendar ID as a path parameter in the request URL. \n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Custom Calendars",
+ "10.12.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "calendar_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the Calendar."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Custom calendar successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/calendars/generate-csv": {
+ "post": {
+ "operationId": "generateCSV",
+ "description": "\n Version: 10.12.0.cl or later\n\nExports a [custom calendar](https://docs.thoughtspot.com/cloud/latest/connections-cust-cal) in the CSV format.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your ThoughtSpot instance, the `CAN_MANAGE_CUSTOM_CALENDAR` (**Can manage custom calendars**) privilege is required.\n\n#### Usage guidelines\n\nUse this API to download a custom calendar in the CSV file format. In your API request, specify the following parameters.\n\n* Start and end date of the calendar. For \"month offset\" calendars, the start date must match the month defined in the `month_offset` attribute.\n\nYou can also specify optional parameters such as the starting day of the week and prefixes for the quarter and year labels.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Custom Calendars",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "start_date": {
+ "description": "Start date for the calendar in `MM/dd/yyyy` format.",
+ "type": "string"
+ },
+ "end_date": {
+ "description": "End date for the calendar in `MM/dd/yyyy` format.",
+ "type": "string"
+ },
+ "calendar_type": {
+ "description": "Type of the calendar.",
+ "default": "MONTH_OFFSET",
+ "type": "string",
+ "enum": [
+ "MONTH_OFFSET",
+ "FOUR_FOUR_FIVE",
+ "FOUR_FIVE_FOUR",
+ "FIVE_FOUR_FOUR"
+ ]
+ },
+ "month_offset": {
+ "description": "Month offset to start calendar from `January`.",
+ "default": "January",
+ "type": "string",
+ "enum": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ]
+ },
+ "start_day_of_week": {
+ "description": "Specify the starting day of the week.",
+ "default": "Sunday",
+ "type": "string",
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ]
+ },
+ "quarter_name_prefix": {
+ "description": "Prefix to add before the quarter.",
+ "type": "string"
+ },
+ "year_name_prefix": {
+ "description": "Prefix to add before the year.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "start_date",
+ "end_date"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Generate custom calendar data based on specifications, as a CSV file.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ "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/calendars/search": {
+ "post": {
+ "operationId": "searchCalendars",
+ "description": "\n Version: 10.12.0.cl or later\n\nGets a list of [custom calendars](https://docs.thoughtspot.com/cloud/latest/connections-cust-cal).\n\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your ThoughtSpot instance, the `CAN_MANAGE_CUSTOM_CALENDAR` (**Can manage custom calendars**) privilege is required.\n\n#### Usage guidelines\n\nBy default, the API returns a list of custom calendars for all connection objects. To retrieve custom calendar details for a particular connection, specify the connection ID. You can also use other search parameters such as `name_pattern` and `sort_options` as search filters.\n\nThe `name_pattern` parameter filters and returns only those objects that match the specified pattern. Use `%` as a wildcard for pattern matching.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Custom Calendars",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "connection_identifier": {
+ "description": "Unique ID or name of the connection.",
+ "type": "string"
+ },
+ "name_pattern": {
+ "description": "Pattern to match for calendar names (use '%' for wildcard match).",
+ "type": "string"
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included.",
+ "default": 10,
+ "type": "integer",
+ "format": "int32"
+ },
+ "sort_options": {
+ "description": "Sort options.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SortOption"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Custom calendar fetched successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CalendarResponse"
+ }
+ }
+ }
+ }
+ },
+ "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/calendars/{calendar_identifier}/update": {
+ "post": {
+ "operationId": "updateCalendar",
+ "description": "\n Version: 10.12.0.cl or later\n\nUpdates the properties of a [custom calendar](https://docs.thoughtspot.com/cloud/latest/connections-cust-cal).\n\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your ThoughtSpot instance, the `CAN_MANAGE_CUSTOM_CALENDAR` (**Can manage custom calendars**) privilege is required.\n\n#### Usage guidelines\n\nYou can update the properties of a calendar using one of the following methods:\n* `FROM_INPUT_PARAMS` to update the calendar properties with the values defined in the API request.\n* `FROM_EXISTING_TABLE` Creates a calendar from the parameters defined in the API request.\n\nTo update a custom calendar, specify the calendar ID as a path parameter in the request URL and the following parameters in the request body: \n\n* Connection ID and Table name\n* Database and schema name attributes:\n For most Cloud Data Warehouse (CDW) connectors, both `database_name` and `schema_name` attributes are required. \n However, the attribute requirements are conditional and vary based on the connector type and its metadata structure. For example, for connectors such as Teradata, MySQL, SingleSore, Amazon Aurora MySQL, Amazon RDS MySQL, Oracle, and GCP_MYSQL, the `schema_name` is required, whereas the `database_name` attribute is not.\n Similarly, connectors such as ClickHouse require you to specify the `database_name` and the schema specification in such cases is optional.\n\nThe API allows you to modify the calendar type, month offset value, start and end date, starting day of the week, and prefixes assigned to the year and quarter labels. \n\n#### Examples\n\nUpdate a custom calendar using an existing Table in ThoughtSpot:\n\n```\n{\n \"update_method\": \"FROM_EXISTING_TABLE\",\n \"table_reference\": {\n \"connection_identifier\": \"Connection1\",\n \"database_name\": \"db1\",\n \"table_name\": \"custom_calendar_2025\",\n \"schame_name\": \"schemaVar\"\n }\n}\n```\n\nUpdate a custom calendar with the attributes defined in the API request:\n\n```\n{\n \"update_method\": \"FROM_INPUT_PARAMS\",\n \"table_reference\": {\n \"connection_identifier\": \"Connection1\",\n \"database_name\": \"db1\",\n \"table_name\": \"custom_calendar_2025\",\n \"schame_name\": \"schemaVar\"\n },\n \"month_offset\": \"August\",\n \"start_day_of_week\": \"Monday\",\n \"start_date\": \"08/01/2025\",\n \"end_date\": \"07/31/2026\"\n}\n```\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Custom Calendars",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "update_method": {
+ "description": "Type of update operation.",
+ "default": "FROM_INPUT_PARAMS",
+ "type": "string",
+ "enum": [
+ "FROM_INPUT_PARAMS",
+ "FROM_EXISTING_TABLE"
+ ]
+ },
+ "table_reference": {
+ "description": "Table reference containing connection identifier and table details in this format: `{\"connection_identifier\":\"conn1\", \"database_name\":\"db1\", \"schema_name\":\"sc1\", \"table_name\":\"tb1\"}`.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ExternalTableInput"
+ }
+ ]
+ },
+ "start_date": {
+ "description": "Start date for the calendar in `MM/dd/yyyy` format. This parameter is mandatory if `update_method` is set as `FROM_INPUT_PARAMS`.",
+ "type": "string"
+ },
+ "end_date": {
+ "description": "End date for the calendar in `MM/dd/yyyy` format. This parameter is mandatory if `update_method` is set as `FROM_INPUT_PARAMS`.",
+ "type": "string"
+ },
+ "calendar_type": {
+ "description": "Type of the calendar.",
+ "default": "MONTH_OFFSET",
+ "type": "string",
+ "enum": [
+ "MONTH_OFFSET",
+ "FOUR_FOUR_FIVE",
+ "FOUR_FIVE_FOUR",
+ "FIVE_FOUR_FOUR"
+ ]
+ },
+ "month_offset": {
+ "description": "Specify the month in which the fiscal or custom calendar year should start. For example, if you set `month_offset` to \"April\", the custom calendar will treat \"April\" as the first month of the year, and the related attributes such as quarters and start date will be based on this offset. The default value is `January`, which represents the standard calendar year (January to December).",
+ "default": "January",
+ "type": "string",
+ "enum": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ]
+ },
+ "start_day_of_week": {
+ "description": "Specify the starting day of the week",
+ "default": "Sunday",
+ "type": "string",
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ]
+ },
+ "quarter_name_prefix": {
+ "description": "Prefix to add before the quarter.",
+ "default": "",
+ "type": "string"
+ },
+ "year_name_prefix": {
+ "description": "Prefix to add before the year.",
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "table_reference"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "calendar_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique Id or name of the calendar."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Custom calendar updated successfully."
+ },
+ "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/metadata/answer/data": {
+ "post": {
+ "operationId": "fetchAnswerData",
+ "description": "\n Version: 9.0.0.cl or later\n\nFetches data from a saved Answer.\n\nRequires at least view access to the saved Answer.\n\nThe `record_size` attribute determines the number of records to retrieve in an API call. For more information about pagination, record size, and maximum row limit, see [Pagination and record size settings](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_pagination_settings_for_data_and_report_apis).\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Data",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_identifier": {
+ "description": "GUID or name of the Answer.",
+ "type": "string"
+ },
+ "data_format": {
+ "description": "JSON output in compact or full format. The FULL option is available in 9.12.5.cl or later.",
+ "default": "COMPACT",
+ "type": "string",
+ "enum": [
+ "FULL",
+ "COMPACT"
+ ]
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records to include in a batch.",
+ "default": 10,
+ "type": "integer",
+ "format": "int32"
+ },
+ "runtime_filter": {
+ "description": "JSON object with representing filter condition to apply filters at runtime. For example, {\"col1\": \"item type\", \"op1\": \"EQ\", \"val1\": \"Bags\"} . You can add multiple keys by incrementing the number at the end, for example, col2, op2, val2, and col3, op3, val3. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_filters).",
+ "type": "object"
+ },
+ "runtime_sort": {
+ "description": "JSON object representing columns to sort data at runtime. For example, {\"sortCol1\": \"sales\", \"asc1\": true} . You can add multiple keys by incrementing the number at the end, for example, sortCol1, asc2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_sort).",
+ "type": "object"
+ },
+ "runtime_param_override": {
+ "description": "JSON object for setting values of parameters at runtime. For example, {\"param1\": \"Double List Param\", \"paramVal1\": 0.5}. You can add multiple keys by incrementing the number at the end, for example, param2, paramVal2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_parameters).",
+ "type": "object"
+ }
+ },
+ "required": [
+ "metadata_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Fetching data of specified metadata object is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AnswerDataResponse"
+ }
+ }
+ }
+ },
+ "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/metadata/liveboard/data": {
+ "post": {
+ "operationId": "fetchLiveboardData",
+ "description": "\n Version: 9.0.0.cl or later\n\nGets data from a Liveboard object and its visualization. \n\nRequires at least view access to the Liveboard.\n\n#### Usage guidelines\n\nIn the request body, specify the GUID or name of the Liveboard. To get data for specific visualizations, add the GUIDs or names of the visualizations in the API request.\n\nTo include unsaved changes in the report, pass the `transient_pinboard_content` script generated from the `getExportRequestForCurrentPinboard` method in the Visual Embed SDK. Upon successful execution, the API returns the report with unsaved changes. If the new Liveboard experience mode, the transient content includes ad hoc changes to visualizations such as sorting, toggling of legends, and data drill down.\n\nFor more information, and see [Liveboard data API](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_fetch_liveboard_data_api).\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Data",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_identifier": {
+ "description": "GUID or name of the Liveboard.",
+ "type": "string"
+ },
+ "visualization_identifiers": {
+ "description": "GUIDs or names of the visualizations on the Liveboard.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transient_content": {
+ "description": "Transient content of the Liveboard.",
+ "type": "string"
+ },
+ "data_format": {
+ "description": "JSON output in compact or full format. The FULL option is available in 9.12.5.cl or later.",
+ "default": "COMPACT",
+ "type": "string",
+ "enum": [
+ "FULL",
+ "COMPACT"
+ ]
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records to include in a batch.",
+ "default": 10,
+ "type": "integer",
+ "format": "int32"
+ },
+ "runtime_filter": {
+ "description": "JSON object with representing filter condition to apply filters at runtime. For example, {\"col1\": \"item type\", \"op1\": \"EQ\", \"val1\": \"Bags\"} . You can add multiple keys by incrementing the number at the end, for example, col2, op2, val2, and col3, op3, val3. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_filters).",
+ "type": "object"
+ },
+ "runtime_sort": {
+ "description": "JSON object representing columns to sort data at runtime. For example, {\"sortCol1\": \"sales\", \"asc1\": true} . You can add multiple keys by incrementing the number at the end, for example, sortCol1, asc2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_sort).",
+ "type": "object"
+ },
+ "runtime_param_override": {
+ "description": "JSON object for setting values of parameters at runtime. For example, {\"param1\": \"Double List Param\", \"paramVal1\": 0.5}. You can add multiple keys by incrementing the number at the end, for example, param2, paramVal2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_parameters).",
+ "type": "object"
+ }
+ },
+ "required": [
+ "metadata_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Fetching data of specified metadata object is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/LiveboardDataResponse"
+ }
+ }
+ }
+ },
+ "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/searchdata": {
+ "post": {
+ "operationId": "searchData",
+ "description": "\n Version: 9.0.0.cl or later\n\nGenerates an Answer from a given data source.\n\nRequires at least view access to the data source object (Worksheet or View).\n\n#### Usage guidelines\n\nTo search data, specify the data source GUID in `logical_table_identifier`. The data source can be a Worksheet, View, Table, or SQL view.\n\nPass search tokens in the `query_string` attribute in the API request as shown in the following example:\n\n```\n{\n \"query_string\": \"[sales] by [store]\",\n \"logical_table_identifier\": \"cd252e5c-b552-49a8-821d-3eadaa049cca\",\n}\n```\n\nFor more information about the `query_string` format and data source attribute, see [Search data API](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_search_data_api). \n\nThe `record_size` attribute determines the number of records to retrieve in an API call. For more information about pagination, record size, and maximum row limit, see [Pagination and record size settings](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_pagination_settings_for_data_and_report_api). \n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Data",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query_string": {
+ "description": "Query string with search tokens. For example, [Sales][Region]. See [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_search_data_api)",
+ "type": "string"
+ },
+ "logical_table_identifier": {
+ "description": "GUID of the data source object, such as a Worksheet, View, or Table. You can find the GUID of a data object from the UI or via API. See [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_search_query) for more details.",
+ "type": "string"
+ },
+ "data_format": {
+ "description": "JSON output in compact or full format. The FULL option is available in 9.12.5.cl or later.",
+ "default": "COMPACT",
+ "type": "string",
+ "enum": [
+ "FULL",
+ "COMPACT"
+ ]
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records to include in a batch.",
+ "default": 10,
+ "type": "integer",
+ "format": "int32"
+ },
+ "runtime_filter": {
+ "description": "JSON object with representing filter condition to apply filters at runtime. For example, {\"col1\": \"item type\", \"op1\": \"EQ\", \"val1\": \"Bags\"} . You can add multiple keys by incrementing the number at the end, for example, col2, op2, val2, and col3, op3, val3. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_filters).",
+ "type": "object"
+ },
+ "runtime_sort": {
+ "description": "JSON object representing columns to sort data at runtime. For example, {\"sortCol1\": \"sales\", \"asc1\": true} . You can add multiple keys by incrementing the number at the end, for example, sortCol1, asc2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_sort).",
+ "type": "object"
+ },
+ "runtime_param_override": {
+ "description": "JSON object for setting values of parameters at runtime. For example, {\"param1\": \"Double List Param\", \"paramVal1\": 0.5}. You can add multiple keys by incrementing the number at the end, for example, param2, paramVal2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_parameters).",
+ "type": "object"
+ }
+ },
+ "required": [
+ "query_string",
+ "logical_table_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Fetching data of specified metadata object is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SearchDataResponse"
+ }
+ }
+ }
+ },
+ "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/dbt/dbt-connection": {
+ "post": {
+ "operationId": "dbtConnection",
+ "description": "\n Version: 9.9.0.cl or later\n\nCreates a DBT connection object in ThoughtSpot.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege or `DATAMANAGEMENT` (**Can manage data**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the following Data control privileges may be required:\n\n- `CAN_MANAGE_CUSTOM_CALENDAR`(**Can manage custom calendars**)\n- `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**)\n\n#### About create DBT connection\nDBT connection in ThoughtSpot is used by the user to define DBT credentials for cloud . The API needs embrace connection, embrace database name, DBT url, import type, DBT account identifier, DBT project identifier, DBT access token and environment details (or) embrace connection, embrace database name, import type, file_content to create a connection object. To know more about DBT, see ThoughtSpot Product Documentation.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "DBT",
+ "9.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "connection_name": {
+ "description": "Name of the connection.",
+ "type": "string"
+ },
+ "database_name": {
+ "description": "Name of the Database.",
+ "type": "string"
+ },
+ "import_type": {
+ "description": "Mention type of Import",
+ "default": "DBT_CLOUD",
+ "type": "string",
+ "enum": [
+ "DBT_CLOUD",
+ "ZIP_FILE"
+ ]
+ },
+ "access_token": {
+ "description": "Access token is mandatory when Import_Type is DBT_CLOUD.",
+ "type": "string"
+ },
+ "dbt_url": {
+ "description": "DBT URL is mandatory when Import_Type is DBT_CLOUD.",
+ "type": "string"
+ },
+ "account_id": {
+ "description": "Account ID is mandatory when Import_Type is DBT_CLOUD",
+ "type": "string"
+ },
+ "project_id": {
+ "description": "Project ID is mandatory when Import_Type is DBT_CLOUD",
+ "type": "string"
+ },
+ "dbt_env_id": {
+ "description": "DBT Environment ID\"",
+ "type": "string"
+ },
+ "project_name": {
+ "description": "Name of the project",
+ "type": "string"
+ },
+ "file_content": {
+ "description": "Upload DBT Manifest and Catalog artifact files as a ZIP file. This field is Mandatory when Import Type is 'ZIP_FILE'",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "required": [
+ "connection_name",
+ "database_name"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Succesfully created DBT Connection.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ "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/dbt/generate-sync-tml": {
+ "post": {
+ "operationId": "dbtGenerateSyncTml",
+ "description": "\n Version: 9.9.0.cl or later\n\nResynchronize the existing list of models, tables, worksheet tml's and import them to Thoughtspot based on the DBT connection object.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege or `DATAMANAGEMENT` (**Can manage data**) privilege, along with an existing DBT connection.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the following data control privileges may be required:\n\n- `CAN_MANAGE_CUSTOM_CALENDAR`(**Can manage custom calendars**)\n- `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**)\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "DBT",
+ "9.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "dbt_connection_identifier": {
+ "description": "Unique ID of the DBT connection.",
+ "type": "string"
+ },
+ "file_content": {
+ "description": "Upload DBT Manifest and Catalog artifact files as a ZIP file. This field is mandatory if the connection was created with import_type 'ZIP_FILE'",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "required": [
+ "dbt_connection_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Sync Table and Worksheet TML's are successfully generated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ "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/dbt/generate-tml": {
+ "post": {
+ "operationId": "dbtGenerateTml",
+ "description": "\n Version: 9.9.0.cl or later\n\nGenerate required table and worksheet and import them.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege or `DATAMANAGEMENT` (**Can manage data**) privilege, along with an existing DBT connection.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the following data control privileges may be required:\n\n- `CAN_MANAGE_CUSTOM_CALENDAR`(**Can manage custom calendars**)\n- `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**)\n\n#### About generate TML\nModels and Worksheets to be imported can be selected by the user as part of the API.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "DBT",
+ "9.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "dbt_connection_identifier": {
+ "description": "Unique ID of the DBT connection.",
+ "type": "string"
+ },
+ "model_tables": {
+ "description": "List of Models and their respective Tables",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ModelTableList"
+ }
+ },
+ "import_worksheets": {
+ "description": "Mention the worksheet tmls to import",
+ "type": "string",
+ "enum": [
+ "ALL",
+ "NONE",
+ "SELECTED"
+ ]
+ },
+ "worksheets": {
+ "description": "List of worksheets is mandatory when import_Worksheets is type SELECTED",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "file_content": {
+ "description": "Upload DBT Manifest and Catalog artifact files as a ZIP file. This field is mandatory if the connection was created with import_type 'ZIP_FILE'",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "required": [
+ "dbt_connection_identifier",
+ "import_worksheets"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Required Table and Worksheet TML's are successfully generated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ "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/dbt/search": {
+ "post": {
+ "operationId": "dbtSearch",
+ "description": "\n Version: 9.9.0.cl or later\n\nGets a list of DBT connection objects by user and organization, available on the ThoughtSpot system.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege or `DATAMANAGEMENT` (**Can manage data**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the following Data control privileges may be required:\n\n- `CAN_MANAGE_CUSTOM_CALENDAR`(**Can manage custom calendars**)\n- `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**)\n\n#### About search DBT connection\nTo get details of a specific DBT connection identifier, database connection identifier, database connection name, database name, project name, project identifier, environment identifier , import type and author.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "DBT",
+ "9.9.0.cl"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Retrieved list of DBT connections successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DbtSearchResponse"
+ }
+ }
+ }
+ }
+ },
+ "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/dbt/{dbt_connection_identifier}/delete": {
+ "post": {
+ "operationId": "deleteDbtConnection",
+ "description": "\n Version: 9.9.0.cl or later\n\nRemoves the specified DBT connection object from the ThoughtSpot system.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DATAMANAGEMENT` (**Can manage data ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the following Data control privileges may be required:\n\n- `CAN_MANAGE_CUSTOM_CALENDAR`(**Can manage custom calendars**)\n- `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**)\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "DBT",
+ "9.9.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "dbt_connection_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID of the DBT Connection."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "DBT Connection successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/dbt/update-dbt-connection": {
+ "post": {
+ "operationId": "updateDbtConnection",
+ "description": "\n Version: 9.9.0.cl or later\n\nUpdates a DBT connection object.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege or `DATAMANAGEMENT` (**Can manage data ThoughtSpot**) privilege, along with an existing DBT connection.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the following data control privileges may be required:\n\n- `CAN_MANAGE_CUSTOM_CALENDAR`(**Can manage custom calendars**)\n- `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**)\n\n#### About update DBT connection\nYou can modify DBT connection object properties such as embrace connection name, embrace database name, import type, account identifier, access token, project identifier and environment (or) embrace connection, embrace database name, import type, file_content settings.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "DBT",
+ "9.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "dbt_connection_identifier": {
+ "description": "Unique ID of the DBT Connection.",
+ "type": "string"
+ },
+ "connection_name": {
+ "description": "Name of the connection.",
+ "type": "string"
+ },
+ "database_name": {
+ "description": "Name of the Database.",
+ "type": "string"
+ },
+ "import_type": {
+ "description": "Mention type of Import",
+ "default": "DBT_CLOUD",
+ "type": "string",
+ "enum": [
+ "DBT_CLOUD",
+ "ZIP_FILE"
+ ]
+ },
+ "access_token": {
+ "description": "Access token is mandatory when Import_Type is DBT_CLOUD.",
+ "type": "string"
+ },
+ "dbt_url": {
+ "description": "DBT URL is mandatory when Import_Type is DBT_CLOUD.",
+ "type": "string"
+ },
+ "account_id": {
+ "description": "Account ID is mandatory when Import_Type is DBT_CLOUD",
+ "type": "string"
+ },
+ "project_id": {
+ "description": "Project ID is mandatory when Import_Type is DBT_CLOUD",
+ "type": "string"
+ },
+ "dbt_env_id": {
+ "description": "DBT Environment ID\"",
+ "type": "string"
+ },
+ "project_name": {
+ "description": "Name of the project",
+ "type": "string"
+ },
+ "file_content": {
+ "description": "Upload DBT Manifest and Catalog artifact files as a ZIP file. This field is Mandatory when Import Type is 'ZIP_FILE'",
+ "type": "string",
+ "format": "binary"
+ }
+ },
+ "required": [
+ "dbt_connection_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "DBT Connection successfully updated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ "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/customization/email": {
+ "post": {
+ "operationId": "createEmailCustomization",
+ "description": "\nBeta Version: 10.10.0.cl or later\n\nCreates a customization configuration for the notification email.\n\n#### Pre-requisites\n\nRequires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n**NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.\n\n#### Usage guidelines\n\nTo create a custom configuration pass these parameters in your API request:\n\n- A JSON map of configuration attributes `template_properties`. The following example shows a sample set of customization configuration:\n\n```\n{\n {\n \"ctaButtonBgColor\": \"#444DEA\",\n \"ctaTextFontColor\": \"#FFFFFF\",\n \"primaryBgColor\": \"#D3DEF0\",\n \"hideMobileAppNudge\": false,\n \"fontFamily\" : \"\",\n \"hideProductName\" : false,\n \"hideFooterPhone\" : false,\n \"hideFooterAddress\" : false,\n \"hidePrivacyPolicy\" : false,\n \"hideManageNotification\" : false,\n \"hideTsVocabularyDefinitions\": false,\n \"hideNotificationStatus\" : false,\n \"hideErrorMessage\": false,\n \"hideUnsubscribeLink\" : false,\n \"hideModifyAlert\": false,\n \"textTransform\": \"\",\n \"replacementValueForLiveboard\": \"LB dashboard\",\n \"replacementValueForAnswer\": \"Answer dashboard\",\n \"replacementValueForSpotIQ\": \"SpotIQ dashboard\",\n \"logoUrl\":\"\",\n \"productName\":\"ThoughtSpot\",\n \"footerPhone\":\"(800) 508-7008\",\n \"footerAddress\":\"444 Castro St, Suite 1000 Mountain View, CA 94041\"\n }\n}\n```\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Email Customization",
+ "10.10.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "template_properties": {
+ "description": "Email customization configuration as key value pair",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Template_Properties_Input_Create"
+ }
+ ]
+ },
+ "org_identifier": {
+ "description": "Unique ID or name of org
Version: 10.12.0.cl or later",
+ "type": "string"
+ }
+ },
+ "required": [
+ "template_properties"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateEmailCustomizationResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Unexpected error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/customization/email/{template_identifier}/delete": {
+ "post": {
+ "operationId": "deleteEmailCustomization",
+ "description": "\nBeta Version: 10.10.0.cl or later\n\nDeletes the configuration for the email customization.\n\n#### Pre-requisites\n\nRequires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n**NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.\n\n#### Usage guidelines\n\n- Call the search API endpoint to get the `template_identifier` from the response.\n- Use that `template_identifier` as a parameter in this API request.\n\n\n\n\n#### Endpoint URL\n",
+ "deprecated": true,
+ "tags": [
+ "Email Customization",
+ "10.10.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "template_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the email customization."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Email Customization configuration successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Unexpected error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/customization/email/delete": {
+ "post": {
+ "operationId": "deleteOrgEmailCustomization",
+ "description": "\nBeta Version: 10.12.0.cl or later\n\nDeletes the configuration for the email customization.\n\n#### Pre-requisites\n\nRequires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n**NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.\n\n#### Usage guidelines\n\n- Call the search API endpoint to get the `org_identifier` from the response.\n- Use that `org_identifier` as a parameter in this API request.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Email Customization",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "org_identifiers": {
+ "description": "Unique identifier of the organization.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Email Customization configuration successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Unexpected error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/customization/email/search": {
+ "post": {
+ "operationId": "searchEmailCustomization",
+ "description": "\nBeta Version: 10.10.0.cl or later\n\nSearch the email customization configuration if any set for the ThoughtSpot system.\n\n#### Pre-requisites\n\nRequires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n**NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Email Customization",
+ "10.10.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "org_identifiers": {
+ "description": "Unique ID or name of org
Version: 10.12.0.cl or later",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CreateEmailCustomizationResponse"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Unexpected error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/customization/email/update": {
+ "post": {
+ "operationId": "updateEmailCustomization",
+ "description": "\nBeta Version: 10.12.0.cl or later\n\nUpdates a customization configuration for the notification email.\n\n#### Pre-requisites\n\nRequires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n**NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.\n\n#### Usage guidelines\n\nTo update a custom configuration pass these parameters in your API request:\n\n- A JSON map of configuration attributes `template_properties`. The following example shows a sample set of customization configuration:\n\n```\n{\n {\n \"ctaButtonBgColor\": \"#444DEA\",\n \"ctaTextFontColor\": \"#FFFFFF\",\n \"primaryBgColor\": \"#D3DEF0\",\n \"hideMobileAppNudge\": false,\n \"fontFamily\" : \"\",\n \"hideProductName\" : false,\n \"hideFooterPhone\" : false,\n \"hideFooterAddress\" : false,\n \"hidePrivacyPolicy\" : false,\n \"hideManageNotification\" : false,\n \"hideTsVocabularyDefinitions\": false,\n \"hideNotificationStatus\" : false,\n \"hideErrorMessage\": false,\n \"hideUnsubscribeLink\" : false,\n \"hideModifyAlert\": false,\n \"textTransform\": \"\",\n \"replacementValueForLiveboard\": \"LB dashboard\",\n \"replacementValueForAnswer\": \"Answer dashboard\",\n \"replacementValueForSpotIQ\": \"SpotIQ dashboard\",\n \"logoUrl\":\"\",\n \"productName\":\"ThoughtSpot\",\n \"footerPhone\":\"(800) 508-7008\",\n \"footerAddress\":\"444 Castro St, Suite 1000 Mountain View, CA 94041\"\n }\n}\n```\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Email Customization",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "template_properties": {
+ "description": "Email customization configuration as key value pair",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Template_Properties_Input_Create"
+ }
+ ]
+ },
+ "org_identifier": {
+ "description": "Unique ID or name of org",
+ "type": "string"
+ }
+ },
+ "required": [
+ "template_properties"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Email Customization configuration successfully updated."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Unexpected error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/customization/email/validate": {
+ "post": {
+ "operationId": "validateEmailCustomization",
+ "description": "\nBeta Version: 10.10.0.cl or later\n\nValidates the email customization configuration if any set for the ThoughtSpot system.\n\n#### Pre-requisites\n\nRequires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n**NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Email Customization",
+ "10.10.0.cl"
+ ],
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Triggered test email for customization configuration"
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Unexpected error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/groups/create": {
+ "post": {
+ "operationId": "createUserGroup",
+ "description": "\n Version: 9.0.0.cl or later\n\nCreates a group object in ThoughtSpot.\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 `GROUP_ADMINISTRATION` (**Can manage groups**) privilege is required.\n\n#### About groups\nGroups in ThoughtSpot are used by the administrators to define privileges and organize users based on their roles and access requirements. To know more about groups and privileges, see [ThoughtSpot Product Documentation](https://docs.thoughtspot.com/cloud/latest/groups-privileges).\n\n#### Supported operations\n\nThe API endpoint lets you perform the following operations:\n\n* Assign privileges\n* Add users\n* Define sharing visibility\n* Add sub-groups\n* Assign a default Liveboard\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Groups",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the group. The group name must be unique.",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "Display name for the group.",
+ "type": "string"
+ },
+ "default_liveboard_identifiers": {
+ "description": "GUID of the Liveboards to assign as default Liveboards to the users in the group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": {
+ "description": "Description of the group",
+ "type": "string"
+ },
+ "privileges": {
+ "description": "Privileges to assign to the group",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "ADMINISTRATION",
+ "AUTHORING",
+ "USERDATAUPLOADING",
+ "DATADOWNLOADING",
+ "USERMANAGEMENT",
+ "DATAMANAGEMENT",
+ "SHAREWITHALL",
+ "JOBSCHEDULING",
+ "A3ANALYSIS",
+ "EXPERIMENTALFEATUREPRIVILEGE",
+ "BYPASSRLS",
+ "RANALYSIS",
+ "DEVELOPER",
+ "USER_ADMINISTRATION",
+ "GROUP_ADMINISTRATION",
+ "SYNCMANAGEMENT",
+ "CAN_CREATE_CATALOG",
+ "DISABLE_PINBOARD_CREATION",
+ "LIVEBOARD_VERIFIER",
+ "PREVIEW_THOUGHTSPOT_SAGE",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "ALLOW_NON_EMBED_FULL_APP_ACCESS",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "CAN_SETUP_VERSION_CONTROL"
+ ]
+ }
+ },
+ "sub_group_identifiers": {
+ "description": "GUID or name of the sub groups. A subgroup is a group assigned to a parent group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "type": {
+ "description": "Group type.",
+ "default": "LOCAL_GROUP",
+ "type": "string",
+ "enum": [
+ "LOCAL_GROUP",
+ "LDAP_GROUP"
+ ]
+ },
+ "user_identifiers": {
+ "description": "GUID or name of the users to assign to the group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "visibility": {
+ "description": "Visibility of the group. To make a group visible to other users and groups,\nset the visibility to SHAREABLE.",
+ "default": "SHARABLE",
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ]
+ },
+ "role_identifiers": {
+ "description": "Role identifiers of the roles that should be assigned to the group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "display_name"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "User group successfully created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserGroupResponse"
+ }
+ }
+ }
+ },
+ "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/groups/{group_identifier}/delete": {
+ "post": {
+ "operationId": "deleteUserGroup",
+ "description": "\n Version: 9.0.0.cl or later\n\nRemoves the specified group object from the ThoughtSpot system.\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 `GROUP_ADMINISTRATION` (**Can manage groups**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Groups",
+ "9.0.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "group_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "GUID or name of the group."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "User group successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/groups/import": {
+ "post": {
+ "operationId": "importUserGroups",
+ "description": "\n Version: 9.0.0.cl or later\n\nImports group objects from external databases into ThoughtSpot.\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 `GROUP_ADMINISTRATION` (**Can manage groups**) privilege is required.\n\nDuring the import operation:\n\n* If the specified group is not available in ThoughtSpot, it will be added to ThoughtSpot.\n* If `delete_unspecified_groups` is set to `true`, the groups not specified in the API request, excluding administrator and system user groups, are deleted.\n* If the specified groups are already available in ThoughtSpot, the object properties of these groups are modified and synchronized as per the input data in the API request.\n\nA successful API call returns the object that represents the changes made in the ThoughtSpot system.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Groups",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "groups": {
+ "description": "Details of groups which are to be imported",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/GroupsImportListInput"
+ }
+ },
+ "delete_unspecified_groups": {
+ "description": "If set to true, removes groups that are not specified in the API request.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "dry_run": {
+ "description": "If true, the API performs a test operation and returns user IDs whose\ndata will be edited after the import.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Import user groups operation successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ImportUserGroupsResponse"
+ }
+ }
+ }
+ },
+ "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/groups/search": {
+ "post": {
+ "operationId": "searchUserGroups",
+ "description": "\n Version: 9.0.0.cl or later\n\nGets a list of user group objects from the ThoughtSpot system.\n\nTo get details of a specific user group, specify the user group GUID or name. You can also filter the API response based on User ID, Org ID, Role ID, type of group, sharing visibility, privileges assigned to the group, and the Liveboard IDs assigned to the users in the group.\n\nAvailable to all users. Users with `ADMINISTRATION` (**Can administer ThoughtSpot**) privileges can view all users properties.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `GROUP_ADMINISTRATION` (**Can manage groups**) privilege is required.\n\n**NOTE**: If you do not get precise results, try setting `record_size` to `-1` and `record_offset` to `0`.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Groups",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "default_liveboard_identifiers": {
+ "description": "GUID of Liveboards that are assigned as default Liveboards to the users in the group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": {
+ "description": "Description of the group",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "Display name of the group",
+ "type": "string"
+ },
+ "name_pattern": {
+ "description": "A pattern to match case-insensitive name of the Group object.",
+ "type": "string"
+ },
+ "group_identifier": {
+ "description": "GUID or name of the group",
+ "type": "string"
+ },
+ "org_identifiers": {
+ "description": "ID or name of the Org to which the group belongs",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "privileges": {
+ "description": "Privileges assigned to the group.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "ADMINISTRATION",
+ "AUTHORING",
+ "USERDATAUPLOADING",
+ "DATADOWNLOADING",
+ "USERMANAGEMENT",
+ "DATAMANAGEMENT",
+ "SHAREWITHALL",
+ "JOBSCHEDULING",
+ "A3ANALYSIS",
+ "EXPERIMENTALFEATUREPRIVILEGE",
+ "BYPASSRLS",
+ "RANALYSIS",
+ "DEVELOPER",
+ "USER_ADMINISTRATION",
+ "GROUP_ADMINISTRATION",
+ "SYNCMANAGEMENT",
+ "CAN_CREATE_CATALOG",
+ "DISABLE_PINBOARD_CREATION",
+ "LIVEBOARD_VERIFIER",
+ "PREVIEW_THOUGHTSPOT_SAGE",
+ "APPLICATION_ADMINISTRATION",
+ "SYSTEM_INFO_ADMINISTRATION",
+ "ORG_ADMINISTRATION",
+ "ROLE_ADMINISTRATION",
+ "AUTHENTICATION_ADMINISTRATION",
+ "BILLING_INFO_ADMINISTRATION",
+ "CAN_MANAGE_CUSTOM_CALENDAR",
+ "CAN_CREATE_OR_EDIT_CONNECTIONS",
+ "CAN_MANAGE_WORKSHEET_VIEWS_TABLES",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "ALLOW_NON_EMBED_FULL_APP_ACCESS",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "CAN_SETUP_VERSION_CONTROL"
+ ]
+ }
+ },
+ "sub_group_identifiers": {
+ "description": "GUID or name of the sub groups. A subgroup is a group assigned to a parent group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "type": {
+ "description": "Group type.",
+ "type": "string",
+ "enum": [
+ "LOCAL_GROUP",
+ "LDAP_GROUP"
+ ]
+ },
+ "user_identifiers": {
+ "description": "GUID or name of the users assigned to the group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "visibility": {
+ "description": "Visibility of the group. To make a group visible to other users and groups,\nset the visibility to SHAREABLE.",
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ]
+ },
+ "role_identifiers": {
+ "description": "Filter groups with a list of Roles assigned to a group",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included.",
+ "default": 10,
+ "type": "integer",
+ "format": "int32"
+ },
+ "sort_options": {
+ "description": "Sort options to filter group details.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SortOptions"
+ }
+ ]
+ },
+ "include_users": {
+ "description": "Version: 10.10.0.cl or later
\n\nDefine Parameter to consider if the users should be included in group search response.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "include_sub_groups": {
+ "description": "Version: 10.10.0.cl or later
\n\nDefine Parameter to consider if the sub groups should be included in group search response.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "User group search result.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroupResponse"
+ }
+ }
+ }
+ }
+ },
+ "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/groups/{group_identifier}/update": {
+ "post": {
+ "operationId": "updateUserGroup",
+ "description": "\n Version: 9.0.0.cl or later\n\nUpdates the properties of a group object in ThoughtSpot.\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 `GROUP_ADMINISTRATION` (**Can manage groups**) privilege is required.\n\n#### Supported operations\n\nThis API endpoint lets you perform the following operations in a single API request:\n\n* Edit [privileges](https://developers.thoughtspot.com/docs/?pageid=api-user-management#group-privileges)\n* Add or remove users\n* Change sharing visibility settings\n* Add or remove sub-groups\n* Assign a default Liveboard or update the existing settings\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Groups",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the group to modify.",
+ "type": "string"
+ },
+ "default_liveboard_identifiers": {
+ "description": "ID of the Liveboards to be assigned as default Liveboards to the users in the group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": {
+ "description": "Description for the group.",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "Display name of the group.",
+ "type": "string"
+ },
+ "privileges": {
+ "description": "Privileges to assign to the group.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "ADMINISTRATION",
+ "AUTHORING",
+ "USERDATAUPLOADING",
+ "DATADOWNLOADING",
+ "USERMANAGEMENT",
+ "DATAMANAGEMENT",
+ "SHAREWITHALL",
+ "JOBSCHEDULING",
+ "A3ANALYSIS",
+ "EXPERIMENTALFEATUREPRIVILEGE",
+ "BYPASSRLS",
+ "RANALYSIS",
+ "DEVELOPER",
+ "USER_ADMINISTRATION",
+ "GROUP_ADMINISTRATION",
+ "SYNCMANAGEMENT",
+ "CAN_CREATE_CATALOG",
+ "DISABLE_PINBOARD_CREATION",
+ "LIVEBOARD_VERIFIER",
+ "PREVIEW_THOUGHTSPOT_SAGE",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "ALLOW_NON_EMBED_FULL_APP_ACCESS",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "CAN_SETUP_VERSION_CONTROL"
+ ]
+ }
+ },
+ "sub_group_identifiers": {
+ "description": "GUID or name of the sub groups. A subgroup is a group assigned to a parent group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "type": {
+ "description": "Type of the group",
+ "type": "string",
+ "enum": [
+ "LOCAL_GROUP",
+ "LDAP_GROUP"
+ ]
+ },
+ "user_identifiers": {
+ "description": "GUID or name of the users to assign to the group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "visibility": {
+ "description": "Visibility of the group. To make a group visible to other users and\ngroups, set the visibility to SHAREABLE.",
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ]
+ },
+ "role_identifiers": {
+ "description": "Role identifiers of the Roles that should be assigned to the group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "operation": {
+ "description": "Type of update operation. Default operation type is REPLACE",
+ "default": "REPLACE",
+ "type": "string",
+ "enum": [
+ "ADD",
+ "REMOVE",
+ "REPLACE"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "group_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "GUID or name of the group."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "User group 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/logs/fetch": {
+ "post": {
+ "operationId": "fetchLogs",
+ "description": "\n Version: 9.0.0.cl or later\n\nFetches security audit logs. \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 [Admin Control](https://developers.thoughtspot.com/docs/rbac#_admin_control) privileges are required.\n\n\n#### Usage guidelines\n\nBy default, the API retrieves logs for the last 24 hours. You can set a custom duration in EPOCH time. Make sure the log duration specified in your API request doesn't exceed 24 hours. If you must fetch logs for a longer time range, modify the duration and make multiple sequential API requests.\n\nUpon successful execution, the API returns logs with the following information:\n* timestamp of the event\n* event ID\n* event type\n* name and GUID of the user\n* IP address of ThoughtSpot instance\n\nFor more information see [Audit logs Documentation](https://developers.thoughtspot.com/docs/audit-logs).\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Log",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "log_type": {
+ "description": "Name of the log type",
+ "type": "string",
+ "enum": [
+ "SECURITY_AUDIT"
+ ]
+ },
+ "start_epoch_time_in_millis": {
+ "description": "Start time in EPOCH format",
+ "type": "number",
+ "format": "float"
+ },
+ "end_epoch_time_in_millis": {
+ "description": "End time in EPOCH format",
+ "type": "number",
+ "format": "float"
+ },
+ "get_all_logs": {
+ "description": "Fetch all the logs. This is available from 9.10.5.cl",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "log_type"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Log fetched successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/LogResponse"
+ }
+ }
+ }
+ }
+ },
+ "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/metadata/worksheets/convert": {
+ "post": {
+ "operationId": "convertWorksheetToModel",
+ "description": "\nConvert worksheets to models
Version: 10.6.0.cl or later\n\n## Prerequisites\n- **Privileges Required:**\n - `DATAMANAGEMENT` (Can manage data) or `ADMINISTRATION` (Can administer ThoughtSpot).\n- **Additional Privileges (if RBAC is enabled):**\n - `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (Can manage data models).\n\n---\n\n## Usage Guidelines\n\n### Parameters\n\n1. **worksheet_ids** \n - **Description:** A comma-separated list of GUIDs (Globally Unique Identifiers) specifying the Worksheets to be converted. \n - **Usage:** \n - Used only when `convert_all` is set to `false`. \n - Leave empty or omit when `convert_all` is set to `true`.\n\n2. **exclude_worksheet_ids** \n - **Description:** A comma-separated list of GUIDs specifying Worksheets to be excluded from conversion. \n - **Usage:** \n - Useful when `convert_all` is set to `true` and specific Worksheets should not be converted.\n\n3. **convert_all** \n - **Description:** Sets the scope of conversion.\n - **Options:** \n - `true`: Converts all Worksheets in the system, except those specified in `exclude_worksheet_ids`. \n - `false`: Converts only the Worksheets listed in `worksheet_ids`.\n\n4. **apply_changes** \n - **Description:** Specifies whether to apply changes directly to ThoughtSpot or to generate a preview before applying any changes.Used for validation of conversion.\n - **Options:** \n - `true`: Applies conversion changes directly to ThoughtSpot.\n - `false`: Generates only a preview of the changes and does not apply any changes to ThoughtSpot\n\n---\n\n## Best Practices\n\n1. **Backup Before Conversion:** \n Always export metadata as a backup before initiating the conversion process\n\n2. **Partial Conversion for Testing:** \n Test the conversion process by setting `convert_all` to `false` and specifying a small number of `worksheet_ids`.\n\n3. **Verify Dependencies:** \n Check for dependent objects, such as Tables and Connections, to avoid invalid references.\n\n4. **Review Changes:** \n Use `apply_changes: false` to preview the impact of the conversion before applying changes.\n\n---\n\n## Examples\n\n### Convert Specific Worksheets\n```json\n{\n \"worksheet_ids\": [\"guid1\", \"guid2\", \"guid3\"],\n \"exclude_worksheet_ids\": [],\n \"convert_all\": false,\n \"apply_changes\": true\n}\n```\n\n### Convert All Accessible Worksheets\n```json\n{\n \"worksheet_ids\": [],\n \"exclude_worksheet_ids\": [],\n \"convert_all\": true,\n \"apply_changes\": true\n}\n```\n\n### Exclude Specific Worksheets While Converting All Accessible Worksheets\n```json\n{\n \"worksheet_ids\": [],\n \"exclude_worksheet_ids\": [\"abc\"],\n \"convert_all\": true,\n \"apply_changes\": true\n}\n```\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "10.6.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "worksheet_ids": {
+ "description": "List of Worksheet IDs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "exclude_worksheet_ids": {
+ "description": "List of Worksheet IDs to be excluded.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "convert_all": {
+ "description": "Indicates whether all the worksheet needs to be converted to models.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "apply_changes": {
+ "description": "Indicates whether the changes should be applied to database.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Conversion of worksheets to model done successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseWorksheetToModelConversion"
+ }
+ }
+ }
+ },
+ "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/metadata/copyobject": {
+ "post": {
+ "operationId": "copyObject",
+ "description": "\nMakes a copy of an Answer or Liveboard saved in Atlas
Version: 10.3.0.cl or later\n\nCreates a copy of a metadata object.\n\nRequires at least view access to the metadata object being copied.\n\nUpon successful execution, the API creates a copy of the metadata object specified in the API request and returns the ID of the new object.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "10.3.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Description of the new object",
+ "type": "string"
+ },
+ "identifier": {
+ "description": "GUID of metadata object to be copied (answer id or liveboard id)",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of metadata object",
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER"
+ ]
+ },
+ "title": {
+ "description": "Title of the new object",
+ "type": "string"
+ }
+ },
+ "required": [
+ "identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successfully created a copy of the object",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseCopyObject"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Object not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Unexpected error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/metadata/delete": {
+ "post": {
+ "operationId": "deleteMetadata",
+ "description": "\n Version: 9.0.0.cl or later\n\nRemoves the specified metadata object from the ThoughtSpot system.\n\nRequires edit access to the metadata object. \n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DeleteMetadataTypeInput"
+ }
+ },
+ "delete_disabled_objects": {
+ "description": "Indicates whether to delete disabled metadata objects.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "metadata"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Metadata objects successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/metadata/tml/export": {
+ "post": {
+ "operationId": "exportMetadataTML",
+ "description": "\n Version: 9.0.0.cl or later\n\nExports the [TML](https://docs.thoughtspot.com/cloud/latest/tml) representation of metadata objects in JSON or YAML format.\n\nRequires `DATADOWNLOADING` (**Can download Data**) and at least view access to the metadata object.\n\n#### Usage guidelines\n\n* You can export one or several objects by passing metadata object GUIDs in the `metadata` array.\n* When exporting TML content for a Liveboard or Answer object, you can set `export_associated` to `true` to retrieve TML content for underlying Worksheets, Tables, or Views, including the GUID of each object within the headers. When `export_associated` is set to `true`, consider retrieving one metadata object at a time.\n* Set `export_fqns` to `true` to add FQNs of the referenced objects in the TML content. For example, if you send an API request to retrieve TML for a Liveboard and its associated objects, the API returns the TML content with FQNs of the referenced Worksheet. Exporting TML with FQNs is useful if ThoughtSpot has multiple objects with the same name and you want to eliminate ambiguity when importing TML files into ThoughtSpot. It eliminates the need for adding FQNs of the referenced objects manually during the import operation.\n* To export only the TML of feedbacks associated with an object, set the GUID of the object as `identifier`, and set the `type` as `FEEDBACK` in the `metadata` array.\n* To export the TML of an object along with the feedbacks associated with it, set the GUID of the object as `identifier`, set the `type` as `LOGIAL_TABLE` in the `metadata` array, and set `export_with_associated_feedbacks` in `export_options` to true.\n\nFor more information, see [TML Documentation](https://developers.thoughtspot.com/docs/tml#_export_a_tml).\n\nFor more information on feedbacks, see [Feedback Documentation](https://docs.thoughtspot.com/cloud/latest/sage-feedback).\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ExportMetadataTypeInput"
+ }
+ },
+ "export_associated": {
+ "description": "Indicates whether to export associated metadata objects of specified metadata objects.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "export_fqn": {
+ "description": "Adds FQNs of the referenced objects. For example, if you are exporting a Liveboard and its associated objects,\nthe API returns the Liveboard TML data with the FQNs of the referenced worksheet.\nIf the exported TML data includes FQNs, you don't need to manually add FQNs of the referenced objects during TML import.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "edoc_format": {
+ "description": "TML EDOC content format.\n\n**Note: exporting in YAML format currently requires manual formatting of the output. For more details on the workaround, please click [here](https://developers.thoughtspot.com/docs/known-issues#_version_9_12_0_cl)**",
+ "default": "JSON",
+ "type": "string",
+ "enum": [
+ "JSON",
+ "YAML"
+ ]
+ },
+ "export_schema_version": {
+ "description": "Indicates whether to export worksheet TML in DEFAULT or V1 or V2 version.",
+ "default": "DEFAULT",
+ "type": "string",
+ "enum": [
+ "DEFAULT",
+ "V1",
+ "V2"
+ ]
+ },
+ "export_dependent": {
+ "description": "Indicates whether to export table while exporting connection.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "export_connection_as_dependent": {
+ "description": "Indicates whether to export connection as dependent while exporting table/worksheet/answer/liveboard.\nThis will only be active when export_associated is true.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "all_orgs_override": {
+ "description": "Indicates whether to export is happening from all orgs context.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "export_options": {
+ "description": "Flags to specify additional options for export.
Version: 10.6.0.cl or later",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Export_Options"
+ }
+ ]
+ }
+ },
+ "required": [
+ "metadata"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Export TMLs of specified metadata objects is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ }
+ }
+ },
+ "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/metadata/tml/export/batch": {
+ "post": {
+ "operationId": "exportMetadataTMLBatched",
+ "description": "\n Version: 10.1.0.cl or later\n\nExports the [TML](https://docs.thoughtspot.com/cloud/latest/tml) representation of metadata objects in JSON or YAML format.\n\n### **Permissions Required**\n\nRequires `DATAMANAGEMENT` (**Can manage data**) and `USERMANAGEMENT` (**Can manage users**) privileges.\n\n#### **Usage Guidelines**\n\nThis API is only applicable for `USER`, `GROUP`, and `ROLES` metadata types.\n\n- `batch_offset` Indicates the starting position within the complete dataset from which the API should begin returning objects. Useful for paginating results efficiently.\n- `batch_size` Specifies the number of objects or items to retrieve in a single request. Helps control response size for better performance.\n- `edoc_format` Defines the format of the TML content. The exported metadata can be in JSON or YAML format.\n- `export_dependent` Specifies whether to include dependent metadata objects in the export. Ensures related objects are also retrieved if needed.\n- `all_orgs_override` Indicates whether the export operation applies across all organizations. Useful for multi-tenant environments where cross-org exports are required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "10.1.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_type": {
+ "description": "Type of metadata object to export, can be one of USER | ROLE | USER_GROUP",
+ "type": "string",
+ "enum": [
+ "USER",
+ "USER_GROUP",
+ "ROLE"
+ ]
+ },
+ "batch_offset": {
+ "description": "Indicates the position within the complete set from where the API should begin returning objects.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "batch_size": {
+ "description": "Determines the number of objects or items to be retrieved in a single request.",
+ "default": 20,
+ "type": "integer",
+ "format": "int32"
+ },
+ "edoc_format": {
+ "description": "TML EDOC content format.",
+ "default": "JSON",
+ "type": "string",
+ "enum": [
+ "JSON",
+ "YAML"
+ ]
+ },
+ "export_dependent": {
+ "description": "Indicates whether to export dependent metadata objects of specified metadata objects.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "all_orgs_override": {
+ "description": "Indicates whether to export is happening from all orgs context.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "metadata_type"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Export TMLs of specified metadata objects is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ "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/metadata/answer/sql": {
+ "post": {
+ "operationId": "fetchAnswerSqlQuery",
+ "description": "\n Version: 9.0.0.cl or later\n\nFetches the underlying SQL query data for an Answer object.\n\nRequires at least view access to the Answer object.\n\nUpon successful execution, the API returns the SQL queries for the specified object as shown in this example:\n```\n{\n \"metadata_id\":\"8fbe44a8-46ad-4b16-8d39-184b2fada490\",\n \"metadata_name\":\"Total sales\",\n \"metadata_type\":\"ANSWER\",\n \"sql_queries\":[\n {\n \"metadata_id\":\"8fbe44a8-46ad-4b16-8d39-184b2fada490\",\n \"metadata_name\":\"Total sales -test\",\n \"sql_query\":\"SELECT \\n \\\"ta_1\\\".\\\"REGION\\\" \\\"ca_1\\\", \\n \\\"ta_2\\\".\\\"PRODUCTNAME\\\" \\\"ca_2\\\", \\n \\\"ta_1\\\".\\\"STORENAME\\\" \\\"ca_3\\\", \\n CASE\\n WHEN sum(\\\"ta_3\\\".\\\"SALES\\\") IS NOT NULL THEN sum(\\\"ta_3\\\".\\\"SALES\\\")\\n ELSE 0\\n END \\\"ca_4\\\", \\n CASE\\n WHEN sum(\\\"ta_3\\\".\\\"QUANTITYPURCHASED\\\") IS NOT NULL THEN sum(\\\"ta_3\\\".\\\"QUANTITYPURCHASED\\\")\\n ELSE 0\\n END \\\"ca_5\\\"\\nFROM \\\"RETAILAPPAREL\\\".\\\"PUBLIC\\\".\\\"FACT_RETAPP_SALES\\\" \\\"ta_3\\\"\\n JOIN \\\"RETAILAPPAREL\\\".\\\"PUBLIC\\\".\\\"DIM_RETAPP_STORES\\\" \\\"ta_1\\\"\\n ON \\\"ta_3\\\".\\\"STOREID\\\" = \\\"ta_1\\\".\\\"STOREID\\\"\\n JOIN \\\"RETAILAPPAREL\\\".\\\"PUBLIC\\\".\\\"DIM_RETAPP_PRODUCTS\\\" \\\"ta_2\\\"\\n ON \\\"ta_3\\\".\\\"PRODUCTID\\\" = \\\"ta_2\\\".\\\"PRODUCTID\\\"\\nGROUP BY \\n \\\"ca_1\\\", \\n \\\"ca_2\\\", \\n \\\"ca_3\\\"\\n\"\n }\n ]\n}\n```\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_identifier": {
+ "description": "ID or name of an Answer.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "metadata_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Fetching SQL query of specified metadata object is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SqlQueryResponse"
+ }
+ }
+ }
+ },
+ "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/metadata/tml/async/status": {
+ "post": {
+ "operationId": "fetchAsyncImportTaskStatus",
+ "description": "\n Version: 10.4.0.cl or later\n\nGets information about the status of the TML async import task scheduled using the `/api/rest/2.0/metadata/tml/async/import` API call.\n\nTo fetch the task details, specify the ID of the TML async import task. \n\nRequires access to the task ID. The API allows users who initiated the asynchronous TML import via `/api/rest/2.0/metadata/tml/async/import` to view the status of their tasks. Users with administration privilege can view the status of all import tasks initiated by the users in their Org.\n\n#### Usage guidelines\n\nSee [TML API Documentation](https://developers.thoughtspot.com/docs/tml#_fetch_status_of_the_tml_import_task) for usage guidelines.\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "10.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "task_ids": {
+ "description": "List of task IDs to fetch status for.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "task_status": {
+ "description": "List of task statuses to filter on. Valid values: [IN_QUEUE, IN_PROGRESS, COMPLETED, FAILED]",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "COMPLETED",
+ "IN_QUEUE",
+ "IN_PROGRESS",
+ "FAILED"
+ ]
+ }
+ },
+ "author_identifier": {
+ "description": "Author GUID or name of async import tasks to filter on.",
+ "type": "string"
+ },
+ "record_offset": {
+ "description": "The offset point, starting from where the task status should be included in the response.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of task statuses that should be included in the response starting from offset position.",
+ "default": 5,
+ "type": "integer",
+ "format": "int32"
+ },
+ "include_import_response": {
+ "description": "Boolean flag to specify whether to include import response in the task status objects.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Async TML Import Task statuses fetched successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GetAsyncImportStatusResponse"
+ }
+ }
+ }
+ },
+ "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/metadata/liveboard/sql": {
+ "post": {
+ "operationId": "fetchLiveboardSqlQuery",
+ "description": "\n Version: 9.0.0.cl or later\n\nFetches the underlying SQL query data for a Liveboard object and its visualizations.\n\nRequires at least view access to the Liveboard object.\n\nTo get SQL query data for a Liveboard, specify the GUID of the Liveboard. Optionally, you can add an array of visualization GUIDs to retrieve the SQL query data for visualizations in the Liveboard.\n\nUpon successful execution, the API returns the SQL queries for the specified object as shown in this example:\n```\n{\n \"metadata_id\": \"fa68ae91-7588-4136-bacd-d71fb12dda69\",\n \"metadata_name\": \"Total Sales\",\n \"metadata_type\": \"LIVEBOARD\",\n \"sql_queries\": [\n {\n \"metadata_id\": \"b3b6d2b9-089a-490c-8e16-b144650b7843\",\n \"metadata_name\": \"Total quantity purchased, Total sales by region\",\n \"sql_query\": \"SELECT \\n \\\"ta_1\\\".\\\"REGION\\\" \\\"ca_1\\\", \\n CASE\\n WHEN sum(\\\"ta_2\\\".\\\"QUANTITYPURCHASED\\\") IS NOT NULL THEN sum(\\\"ta_2\\\".\\\"QUANTITYPURCHASED\\\")\\n ELSE 0\\n END \\\"ca_2\\\", \\n CASE\\n WHEN sum(\\\"ta_2\\\".\\\"SALES\\\") IS NOT NULL THEN sum(\\\"ta_2\\\".\\\"SALES\\\")\\n ELSE 0\\n END \\\"ca_3\\\"\\nFROM \\\"RETAILAPPAREL\\\".\\\"PUBLIC\\\".\\\"FACT_RETAPP_SALES\\\" \\\"ta_2\\\"\\n JOIN \\\"RETAILAPPAREL\\\".\\\"PUBLIC\\\".\\\"DIM_RETAPP_STORES\\\" \\\"ta_1\\\"\\n ON \\\"ta_2\\\".\\\"STOREID\\\" = \\\"ta_1\\\".\\\"STOREID\\\"\\nGROUP BY \\\"ca_1\\\"\"\n }\n ]\n}\n```\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_identifier": {
+ "description": "ID or name of the Liveboard.",
+ "type": "string"
+ },
+ "visualization_identifiers": {
+ "description": "Unique ID or name of visualizations.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "metadata_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Fetching SQL query of specified metadata object is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SqlQueryResponse"
+ }
+ }
+ }
+ },
+ "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/metadata/tml/import": {
+ "post": {
+ "operationId": "importMetadataTML",
+ "description": "\n Version: 9.0.0.cl or later\n\nImports [TML](https://docs.thoughtspot.com/cloud/latest/tml) files into ThoughtSpot.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtsSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the following Data control privileges may be required:\n- `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**)\n\n#### Usage guidelines\n\n* Import all related objects in a single TML Import API call. For example, Tables that use the same Connection object and Worksheets connected to these Tables.\n* Include the `fqn` property to distinguish objects that have the same name.\n For example, if you have multiple Connections or Worksheets with the same name on ThoughtSpot and the Connection or Worksheet referenced in your TML file does not have a unique name to distinguish, it may result in invalid object references.\n Adding `fqn` helps ThoughtSpot differentiate a Table from another with the same name.\n We recommend [exporting TML with FQNs](#/http/api-endpoints/metadata/export-metadata-tml) and using these during the import operation.\n* You can upload multiple TML files at a time.\n If you import a Worksheet along with Liveboards, Answers, and other dependent objects in a single API call, the imported objects will be immediately available for use.\n When you import only a Worksheet object, it may take some time for the Worksheet to become available in the ThoughtSpot system. Please wait for a few minutes, and then proceed to create an Answer and Liveboard from the newly imported Worksheet.\n\nFor more information, see [TML Documentation](https://developers.thoughtspot.com/docs/tml#_import_a_tml).\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_tmls": {
+ "description": "Details of TML objects.\n\n**Note: importing TML in YAML format, when coming directly from our Playground, is currently requires manual formatting. For more details on the workaround, please click [here](https://developers.thoughtspot.com/docs/known-issues#_version_9_12_0_cl)**",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "import_policy": {
+ "description": "Specifies the import policy for the TML import.",
+ "default": "PARTIAL",
+ "type": "string",
+ "enum": [
+ "PARTIAL",
+ "ALL_OR_NONE",
+ "VALIDATE_ONLY",
+ "PARTIAL_OBJECT"
+ ]
+ },
+ "create_new": {
+ "description": "If selected, creates TML objects with new GUIDs.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "all_orgs_override": {
+ "description": "If import is happening from all orgs context.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "skip_diff_check": {
+ "description": "Version: 10.6.0.cl or later
\n\nBoolean Flag to skip TML diff check before processing object TMLs.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "enable_large_metadata_validation": {
+ "description": "Version: 10.5.0.cl or later
\n\nBoolean to indicate if the large metadata validation should be enabled.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "metadata_tmls"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Import metadata objects using specified TMLs is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ }
+ }
+ },
+ "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/metadata/tml/async/import": {
+ "post": {
+ "operationId": "importMetadataTMLAsync",
+ "description": "\n Version: 10.4.0.cl or later\n\nSchedules a task to import [TML](https://docs.thoughtspot.com/cloud/latest/tml) files into ThoughtSpot. You can use this API endpoint to process TML objects asynchronously when importing TMLs of large and complex metadata objects into ThoughtSpot. Unlike the synchronous import TML operation, the API processes TML data in the background and returns a task ID, which can be used to check the status of the import task via `/api/rest/2.0/metadata/tml/async/status` API endpoint.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtsSpot**) privilege, and edit access to the TML objects.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the following Data control privileges may be required:\n- `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**)\n\n#### Usage guidelines\n\nSee [Async TML API Documentation](https://developers.thoughtspot.com/docs/tml#_import_tml_objects_asynchronously) for usage guidelines.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "10.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_tmls": {
+ "description": "Details of TML objects.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "create_new": {
+ "description": "If selected, creates TML objects with new GUIDs.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "all_orgs_override": {
+ "description": "If import is happening from all orgs context.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "import_policy": {
+ "description": "Version: 10.5.0.cl or later
\n\nPolicy to be followed while importing the TML. Valid values are [PARTIAL_OBJECT, PARTIAL, VALIDATE_ONLY, ALL_OR_NONE]",
+ "default": "PARTIAL_OBJECT",
+ "type": "string",
+ "enum": [
+ "PARTIAL",
+ "ALL_OR_NONE",
+ "VALIDATE_ONLY",
+ "PARTIAL_OBJECT"
+ ]
+ },
+ "skip_diff_check": {
+ "description": "Version: 10.6.0.cl or later
\n\nBoolean Flag to skip TML diff check before processing object TMLs.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "enable_large_metadata_validation": {
+ "description": "Version: 10.5.0.cl or later
\n\nBoolean to indicate if the large metadata validation should be enabled.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "metadata_tmls"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Async TML Import Task submitted successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ImportEPackAsyncTaskStatus"
+ }
+ }
+ }
+ },
+ "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/metadata/parameterize": {
+ "post": {
+ "operationId": "parameterizeMetadata",
+ "description": "\nParameterize fields in metadata objects.
Beta Version: 10.9.0.cl or later\n\nAllows parameterizing fields in metadata objects in ThoughtSpot.\n\nRequires appropriate permissions to modify the metadata object.\n\nThe API endpoint allows parameterizing the following types of metadata objects:\n* Logical Tables\n* Connections\n\nFor a Logical Table the field type must be `ATTRIBUTE` and field name can be one of:\n* databaseName\n* schemaName\n* tableName\n\nFor a Connection the field type is always `CONNECTION_PROPERTY`. We use the field_name in this\ncase to specify the exact property of a connection which needs to be parameterized.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "10.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_type": {
+ "description": "Type of metadata object to parameterize.",
+ "type": "string",
+ "enum": [
+ "LOGICAL_TABLE",
+ "CONNECTION"
+ ]
+ },
+ "metadata_identifier": {
+ "description": "Unique ID or name of the metadata object to parameterize.",
+ "type": "string"
+ },
+ "field_type": {
+ "description": "Type of field in the metadata to parameterize.",
+ "type": "string",
+ "enum": [
+ "ATTRIBUTE",
+ "CONNECTION_PROPERTY"
+ ]
+ },
+ "field_name": {
+ "description": "Name of the field which needs to be parameterized.",
+ "type": "string"
+ },
+ "variable_identifier": {
+ "description": "Unique ID or name of the variable to use for parameterization",
+ "type": "string"
+ }
+ },
+ "required": [
+ "metadata_identifier",
+ "field_type",
+ "field_name",
+ "variable_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Parameterize successful."
+ },
+ "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/metadata/search": {
+ "post": {
+ "operationId": "searchMetadata",
+ "description": "\n Version: 9.0.0.cl or later\n\nGets a list of metadata objects available on the ThoughtSpot system.\n\nThis API endpoint is available to all users who have view access to the object. Users with `ADMINISTRATION` (**Can administer ThoughtSpot**) privileges can view data for all metadata objects, including users and groups.\n\n#### Usage guidelines\n\n- To get all metadata objects, send the API request without any attributes.\n- To get metadata objects of a specific type, set the `type` attribute. For example, to fetch a Worksheet, set the type as `LOGICAL_TABLE`.\n- To filter metadata objects within type `LOGICAL_TABLE`, set the `subtypes` attribute. For example, to fetch a Worksheet, set the type as `LOGICAL_TABLE` & subtypes as `[WORKSHEET]`.\n- To get a specific metadata object, specify the GUID.\n- To customize your search and filter the API response, you can use several parameters.\n You can search for objects created or modified by specific users, by tags applied to the objects, or by using the include parameters like `include_auto_created_objects`, `include_dependent_objects`, `include_headers`, `include_incomplete_objects`, and so on.\n You can also define sorting options to sort the data retrieved in the API response.\n- To get discoverable objects when linientmodel is enabled you can use `include_discoverable_objects` as true else false. Default value is true.\n- For liveboard metadata type, to get the newer format, set the `liveboard_response_format` as V2. Default value is V1.\n- To retrieve only objects that are published, set the `include_only_published_objects` as true. Default value is false.\n\n**NOTE**: The following parameters support pagination of metadata records:\n\n- `tag_identifiers`\n- `type`\n- `subtypes`\n- `created_by_user_identifiers`\n- `modified_by_user_identifiers`\n- `owned_by_user_identifiers`\n- `exclude_objects`\n- `include_auto_created_objects`\n- `favorite_object_options`\n- `include_only_published_objects`\nIf you are using other parameters to search metadata, set `record_size` to `-1` and `record_offset` to `0`.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects such as Liveboards, Answers, and Worksheets.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/MetadataListItemInput"
+ }
+ },
+ "permissions": {
+ "description": "Object permission details to search by.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PermissionInput"
+ }
+ },
+ "created_by_user_identifiers": {
+ "description": "GUID or name of user who created the metadata object.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "dependent_object_version": {
+ "description": "Version of the dependent table of the metadata objects like Worksheets.",
+ "default": "V1",
+ "type": "string",
+ "enum": [
+ "V1",
+ "V2"
+ ]
+ },
+ "exclude_objects": {
+ "description": "List of metadata objects to exclude from search.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ExcludeMetadataListItemInput"
+ }
+ },
+ "favorite_object_options": {
+ "description": "Options to sort the API response by objects set as favorites\nfor the logged-in user or the users specified in the API request.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/FavoriteObjectOptionsInput"
+ }
+ ]
+ },
+ "include_auto_created_objects": {
+ "description": "Includes system-generated metadata objects.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "include_dependent_objects": {
+ "description": "Includes dependents of the metadata object specified in the API request.\nFor example, a worksheet can consist of dependent objects such as Liveboards or Answers.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "dependent_objects_record_size": {
+ "description": "The maximum number of dependents to include per metadata object.",
+ "default": 50,
+ "type": "integer",
+ "format": "int32"
+ },
+ "include_details": {
+ "description": "Includes complete details of the metadata objects.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "include_headers": {
+ "description": "Includes headers of the metadata objects.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "include_hidden_objects": {
+ "description": "Includes details of the hidden objects, such as a column in a worksheet or a table.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "include_incomplete_objects": {
+ "description": "Includes objects with incomplete metadata.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "include_visualization_headers": {
+ "description": "Includes visualization headers of the specified Liveboard object.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "include_worksheet_search_assist_data": {
+ "description": "If search assistance lessons are configured on a worksheet,\nthe API returns the search assist data for Worksheet objects.",
+ "type": "boolean",
+ "nullable": true
+ },
+ "modified_by_user_identifiers": {
+ "description": "Includes ID or names of the users who modified the metadata object.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included. It is recommended to use a smaller `record_size` when fetching dependent objects or any of the additional metadata detail options.",
+ "default": 10,
+ "type": "integer",
+ "format": "int32"
+ },
+ "sort_options": {
+ "description": "Sort options to filter metadata details.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/MetadataSearchSortOptions"
+ }
+ ]
+ },
+ "tag_identifiers": {
+ "description": "Tags to filter metadata objects by",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "include_stats": {
+ "description": "Indicates whether to include stats of the metadata objects.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "include_discoverable_objects": {
+ "description": "Version: 10.7.0.cl or later
\n\nBoolean to indicate whether to include discoverable metadata objects.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "show_resolved_parameters": {
+ "description": "Version: 10.9.0.cl or later
\n\nIndicates whether to show resolved parameterised values.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "liveboard_response_version": {
+ "description": "Indicates the model version of Liveboard to be attached in metadata detail.",
+ "default": "V1",
+ "type": "string",
+ "enum": [
+ "V1",
+ "V2"
+ ]
+ },
+ "include_only_published_objects": {
+ "description": "Version: 10.11.0.cl or later
\n\nIf only published objects should be returned",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Metadata objects search result.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/MetadataSearchResponse"
+ }
+ }
+ }
+ }
+ },
+ "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/metadata/unparameterize": {
+ "post": {
+ "operationId": "unparameterizeMetadata",
+ "description": "\nRemove parameterization from fields in metadata objects.
Beta Version: 10.9.0.cl or later\n\nAllows removing parameterization from fields in metadata objects in ThoughtSpot.\n\nRequires appropriate permissions to modify the metadata object.\n\nThe API endpoint allows unparameterizing the following types of metadata objects:\n* Logical Tables\n* Connections\n\nFor a Logical Table the field type must be `ATTRIBUTE` and field name can be one of:\n* databaseName\n* schemaName\n* tableName\n\nFor a Connection the field type is always `CONNECTION_PROPERTY`. We use the field_name in this\ncase to specify the exact property of a connection which needs to be unparameterized.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "10.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_type": {
+ "description": "Type of metadata object to unparameterize.",
+ "type": "string",
+ "enum": [
+ "LOGICAL_TABLE",
+ "CONNECTION"
+ ]
+ },
+ "metadata_identifier": {
+ "description": "Unique ID or name of the metadata object to unparameterize.",
+ "type": "string"
+ },
+ "field_type": {
+ "description": "Type of field in the metadata to unparameterize.",
+ "type": "string",
+ "enum": [
+ "ATTRIBUTE",
+ "CONNECTION_PROPERTY"
+ ]
+ },
+ "field_name": {
+ "description": "Name of the field which needs to be unparameterized.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value to use in place of the variable for the field",
+ "type": "string"
+ }
+ },
+ "required": [
+ "metadata_identifier",
+ "field_type",
+ "field_name",
+ "value"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Successfuly removed parameters."
+ },
+ "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/metadata/headers/update": {
+ "post": {
+ "operationId": "updateMetadataHeader",
+ "description": "\nUpdate header attributes for a given list of header objects.
Beta Version: 10.6.0.cl or later\n\n## Prerequisites\n- **Privileges Required:**\n - `DATAMANAGEMENT` (Can manage data) or `ADMINISTRATION` (Can administer ThoughtSpot).\n- **Additional Privileges (if RBAC is enabled):**\n - `ORG_ADMINISTRATION` (Can manage orgs).\n\n---\n\n## Usage Guidelines\n\n### Parameters\n\n1. **headers_update** \n - **Description:** List of header objects with their attributes to be updated. Each object contains a list of attributes to be updated in the header.\n - **Usage:**\n - You must provide either `identifier` or `obj_identifier`, but not both. Both fields cannot be empty.\n - When `org_identifier` is set to `-1`, only the `identifier` value is accepted; `obj_identifier` is not allowed.\n\n2. **org_identifier** \n - **Description:** GUID (Globally Unique Identifier) or name of the organization. \n - **Usage:**\n - Leaving this field empty assumes that the changes should be applied to the current organization \n - Provide `org_guid` or `org_name` to uniquely identify the organization where changes need to be applied. .\n - Provide `-1` if changes have to be applied across all the org.\n\n---\n\n## Note\nCurrently, this API is enabled only for updating the `obj_identifier` attribute. Only `text` will be allowed in attribute's value.\n\n## Best Practices\n\n1. **Backup Before Conversion:** \n Always export metadata as a backup before initiating the update process\n\n---\n\n## Examples\n\n### Only `identifier` is given \n```json\n{\n \"headers_update\":\n [\n {\n \"identifier\": \"guid_1\",\n \"obj_identifier\": \"\",\n \"type\": \"LOGICAL_COLUMN\",\n \"attributes\":\n [\n {\n \"name\": \"obj_id\",\n \"value\": \"custom_object_id\"\n }\n ]\n }\n ],\n \"org_identifier\": \"orgGuid\"\n}\n```\n\n### Only `obj_identifier` is given\n```json\n{\n \"headers_update\":\n [\n {\n \"obj_identifier\": \"custom_object_id\",\n \"type\": \"ANSWER\",\n \"attributes\":\n [\n {\n \"name\": \"obj_id\",\n \"value\": \"custom_object_id\"\n }\n ]\n }\n ],\n \"org_identifier\": \"orgName\"\n}\n```\n\n### Executing update for all org `-1`\n```json\n{\n \"headers_update\":\n [\n {\n \"identifier\": \"guid_1\",\n \"type\": \"ANSWER\",\n \"attributes\":\n [\n {\n \"name\": \"obj_id\",\n \"value\": \"custom_object_id\"\n }\n ]\n }\n ],\n \"org_identifier\": -1\n}\n```\n\n### Optional `type` is not provided\n```json\n{\n \"headers_update\":\n [\n {\n \"identifier\": \"guid_1\",\n \"attributes\":\n [\n {\n \"name\": \"obj_id\",\n \"value\": \"custom_object_id\"\n }\n ]\n }\n ],\n \"org_identifier\": -1\n}\n```\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "10.6.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "headers_update": {
+ "description": "List of header objects to update.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/HeaderUpdateInput"
+ }
+ },
+ "org_identifier": {
+ "description": "Unique ID or name of the organization.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "headers_update"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Headers update was successful."
+ },
+ "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/metadata/update-obj-id": {
+ "post": {
+ "operationId": "updateMetadataObjId",
+ "description": "\nUpdate object IDs for given metadata objects.
Beta Version: 10.8.0.cl or later\n\n## Prerequisites\n- **Privileges Required:**\n - `DATAMANAGEMENT` (Can manage data) or `ADMINISTRATION` (Can administer ThoughtSpot).\n- **Additional Privileges (if RBAC is enabled):**\n - `ORG_ADMINISTRATION` (Can manage orgs).\n\n---\n\n## Usage Guidelines\n\n### Parameters\n\n1. **metadata** \n - **Description:** List of metadata objects to update their object IDs.\n - **Usage:**\n - Use either `current_obj_id` alone OR use `metadata_identifier` with `type` (when needed).\n - When using `metadata_identifier`, the `type` field is required if using a name instead of a GUID.\n - The `new_obj_id` field is always required.\n\n---\n\n## Note\nThis API is specifically designed for updating object IDs of metadata objects. It internally uses the header update mechanism to perform the changes.\n\n## Best Practices\n\n1. **Backup Before Update:** \n Always export metadata as a backup before initiating the update process.\n\n2. **Validation:**\n - When using `current_obj_id`, ensure it matches the existing object ID exactly.\n - When using `metadata_identifier` with a name, ensure the `type` is specified correctly.\n - Verify that the `new_obj_id` follows your naming conventions and is unique within your system.\n\n---\n\n## Examples\n\n### Using current_obj_id\n```json\n{\n \"metadata\": [\n {\n \"current_obj_id\": \"existing_object_id\",\n \"new_obj_id\": \"new_object_id\"\n }\n ]\n}\n```\n\n### Using metadata_identifier with GUID\n```json\n{\n \"metadata\": [\n {\n \"metadata_identifier\": \"01234567-89ab-cdef-0123-456789abcdef\",\n \"new_obj_id\": \"new_object_id\"\n }\n ]\n}\n```\n\n### Using metadata_identifier with name and type\n```json\n{\n \"metadata\": [\n {\n \"metadata_identifier\": \"My Answer\",\n \"type\": \"ANSWER\",\n \"new_obj_id\": \"new_object_id\"\n }\n ]\n}\n```\n\n### Multiple objects update\n```json\n{\n \"metadata\": [\n {\n \"current_obj_id\": \"existing_object_id_1\",\n \"new_obj_id\": \"new_object_id_1\"\n },\n {\n \"metadata_identifier\": \"My Worksheet\",\n \"type\": \"LOGICAL_TABLE\",\n \"new_obj_id\": \"new_object_id_2\"\n }\n ]\n}\n```\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Metadata",
+ "10.8.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "List of metadata objects to update their object IDs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UpdateObjIdInput"
+ }
+ }
+ },
+ "required": [
+ "metadata"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Headers update was successful."
+ },
+ "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/orgs/create": {
+ "post": {
+ "operationId": "createOrg",
+ "description": "\n Version: 9.0.0.cl or later\n\nCreates an Org object.\n\nTo use this API, the [Orgs](https://docs.thoughtspot.com/cloud/latest/orgs-overview) feature must be enabled in your cluster.\n\nRequires cluster administration (**Can administer Org**) privileges.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `ORG_ADMINISTRATION` (**Can manage Orgs**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Orgs",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the Org.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the Org.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Organization successfully created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/OrgResponse"
+ },
+ "examples": {
+ "example_1": {
+ "value": {
+ "id": 1980035173,
+ "name": "test_org",
+ "status": "ACTIVE",
+ "description": "test_org",
+ "visibility": "SHOW"
+ }
+ }
+ }
+ }
+ }
+ },
+ "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/orgs/{org_identifier}/delete": {
+ "post": {
+ "operationId": "deleteOrg",
+ "description": "\n Version: 9.0.0.cl or later\n\nDeletes an Org object from the ThoughtSpot system.\n\nRequires cluster administration (**Can administer Org**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `ORG_ADMINISTRATION` (**Can manage Orgs**) privilege is required.\n\nWhen you delete an Org, all its users and objects created in that Org context are removed. However, if the users in the deleted Org also exists in other Orgs, they are removed only from the deleted Org.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Orgs",
+ "9.0.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "org_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "ID or name of the Org"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Organization successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/orgs/search": {
+ "post": {
+ "operationId": "searchOrgs",
+ "description": "\n Version: 9.0.0.cl or later\n\nGets a list of Orgs configured on the ThoughtSpot system. To get details of a specific Org, specify the Org ID or name. You can also pass parameters such as status, visibility, and user identifiers to get a specific list of Orgs.\n\nRequires cluster administration (**Can administer Org**) privileges.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `ORG_ADMINISTRATION` (**Can manage Orgs**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Orgs",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "org_identifier": {
+ "description": "ID or name of the Org",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the Org",
+ "type": "string"
+ },
+ "visibility": {
+ "description": "Visibility of the Org",
+ "type": "string",
+ "enum": [
+ "SHOW",
+ "HIDDEN"
+ ]
+ },
+ "status": {
+ "description": "Status of the Org",
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "IN_ACTIVE"
+ ]
+ },
+ "user_identifiers": {
+ "description": "GUIDs or names of the users for which you want to retrieve the Orgs data",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Organization search result.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/OrgResponse"
+ }
+ },
+ "examples": {
+ "example_1": {
+ "value": [
+ {
+ "id": 0,
+ "name": "Primary",
+ "status": "ACTIVE",
+ "description": "Primary Org",
+ "visibility": "SHOW"
+ },
+ {
+ "id": 583464508,
+ "name": "test_org",
+ "status": "ACTIVE",
+ "description": "test_org",
+ "visibility": "SHOW"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "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/orgs/{org_identifier}/update": {
+ "post": {
+ "operationId": "updateOrg",
+ "description": "\n Version: 9.0.0.cl or later\n\nUpdates an Org object. You can modify Org properties such as name, description, and user associations.\n\nRequires cluster administration (**Can administer Org**) privileges.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `ORG_ADMINISTRATION` (**Can manage Orgs**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Orgs",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the Org",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the Org",
+ "type": "string"
+ },
+ "user_identifiers": {
+ "description": "Add Users to an Org",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "group_identifiers": {
+ "description": "Add Default Groups to an Org",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "operation": {
+ "description": "Type of update operation. Default operation type is ADD",
+ "default": "ADD",
+ "type": "string",
+ "enum": [
+ "ADD",
+ "REMOVE",
+ "REPLACE"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "org_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "ID or name of the Org"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Organization 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/report/answer": {
+ "post": {
+ "operationId": "exportAnswerReport",
+ "description": "\n Version: 9.0.0.cl or later\n\nExports an Answer in the given file format. You can download the Answer data as a PDF, PNG, CSV, or XLSX file.\n\nRequires at least view access to the Answer.\n\n#### Usage guidelines\n\nIn the request body, the GUID or name of the Answer and set `file_format`. The default file format is CSV.\n\n**NOTE**:\n* The downloadable file returned in API response file is extensionless. Please rename the downloaded file by typing in the relevant extension.\n* HTML rendering is not supported for PDF exports of Answers with tables.\n\nOptionally, you can define [runtime overrides](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_overrides) to apply to the Answer data. \n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Reports",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_identifier": {
+ "description": "Unique ID or name of the metadata object.",
+ "type": "string"
+ },
+ "session_identifier": {
+ "description": "Unique ID of the answer session.",
+ "type": "string"
+ },
+ "generation_number": {
+ "description": "Generation number of the answer session.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "file_format": {
+ "description": "Export file format.",
+ "default": "CSV",
+ "type": "string",
+ "enum": [
+ "CSV",
+ "PDF",
+ "XLSX",
+ "PNG"
+ ]
+ },
+ "runtime_filter": {
+ "description": "JSON string representing runtime filter.\n{ col1:region, op1: EQ, val1: northeast }",
+ "type": "object"
+ },
+ "runtime_sort": {
+ "description": "JSON string representing runtime sort.\n{ sortCol1: region, asc1 :true, sortCol2 : date }",
+ "type": "object"
+ },
+ "runtime_param_override": {
+ "description": "JSON object for setting values of parameters in runtime.",
+ "type": "object"
+ },
+ "regional_settings": {
+ "description": "Options for specific region specific overrides to support date/number/string/currency formatting.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/RegionalSettingsInput"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Export report file of specified metadata object is successful.",
+ "content": {
+ "application/octet-stream": {}
+ }
+ },
+ "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/report/liveboard": {
+ "post": {
+ "operationId": "exportLiveboardReport",
+ "description": "\n Version: 9.0.0.cl or later\n\nExports a Liveboard and its visualizations in PDF or PNG file format.\n\nRequires at least view access to the Liveboard.\n\n#### Usage guidelines\n\nIn the request body, specify the GUID or name of the Liveboard. To generate a Liveboard report with specific visualizations, add GUIDs or names of the visualizations.\n\nThe default `file_format` is PDF. For PDF downloads, you can specify additional parameters to customize the page orientation and include or exclude the cover page, logo, footer text, and page numbers. Similar customization options are also available for PNG output.\n\n**NOTE**: The downloadable file returned in API response file is extensionless. Please rename the downloaded file by typing in the relevant extension.\n\nOptionally, you can define [runtime overrides](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_overrides) to apply to the Answer data.\n\nTo include unsaved changes in the report, pass the `transient_pinboard_content` script generated from the `getExportRequestForCurrentPinboard` method in the Visual Embed SDK. Upon successful execution, the API returns the report with unsaved changes, including ad hoc changes to visualizations. For more information, see [Liveboard Report API](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_liveboard_report_api). \n\n**NOTE**: Starting with ThoughtSpot Cloud 10.9.0.cl release, the Liveboard can be exported in the PNG format in the resolution of your choice. To enable this on your instance, contact ThoughtSpot support. When this feature is enabled, the options `include_cover_page`,`include_filter_page` within the `png_options` will not be available for PNG exports.\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Reports",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_identifier": {
+ "description": "GUID or name of the Liveboard object.",
+ "type": "string"
+ },
+ "tab_identifiers": {
+ "description": "GUID or name of the tab of the Liveboard object.
Version: 10.9.0.cl or later",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "personalised_view_identifier": {
+ "description": "GUID or name of the personalised view of the Liveboard object.
Version: 10.9.0.cl or later",
+ "type": "string"
+ },
+ "visualization_identifiers": {
+ "description": "GUID or name of visualizations on the Liveboard. If this parameter is\nnot defined, the API returns a report with all visualizations saved on a Liveboard.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transient_content": {
+ "description": "Transient content of the Liveboard.",
+ "type": "string"
+ },
+ "file_format": {
+ "description": "Export file format.",
+ "default": "PDF",
+ "type": "string",
+ "enum": [
+ "PDF",
+ "PNG"
+ ]
+ },
+ "runtime_filter": {
+ "description": "JSON object with representing filter condition to apply filters at runtime. For example, {\"col1\": \"region\", \"op1\": \"EQ\", \"val1\": \"northeast\" }. You can add multiple keys by incrementing the number at the end, for example, col2, op2, val2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_filters).",
+ "type": "object"
+ },
+ "override_filters": {
+ "description": "Applied to the liveboard and overrides any filters already applied on the same columns in liveboard.\nFollowing example illustrate different kinds of filters:\n{\n \"override_filters\": [\n {\n \"column_name\": \"Color\",\n \"generic_filter\": {\n \"op\": \"IN\",\n \"values\": [\n \"almond\",\n \"turquoise\"\n ]\n },\n \"negate\": false\n },\n {\n \"column_name\": \"Commit Date\",\n \"date_filter\": {\n \"datePeriod\": \"HOUR\",\n \"number\": 3,\n \"type\": \"LAST_N_PERIOD\",\n \"op\": \"EQ\"\n }\n },\n {\n \"column_name\": \"Sales\",\n \"generic_filter\": {\n \"op\": \"BW_INC\",\n \"values\": [\n \"100000\",\n \"70000\"\n ]\n },\n \"negate\": true\n }\n ]\n}",
+ "type": "object"
+ },
+ "runtime_sort": {
+ "description": "JSON string representing runtime sort. For example, {\"sortCol1\": \"region\", \"asc1\" : true}. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_sort).",
+ "type": "object"
+ },
+ "pdf_options": {
+ "description": "Options for PDF export.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/PdfOptionsInput"
+ }
+ ]
+ },
+ "png_options": {
+ "description": "Options for PNG export.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/PngOptionsInput"
+ }
+ ]
+ },
+ "runtime_param_override": {
+ "description": "JSON object for setting values of parameters at runtime. For example, {\"param1\": \"Double List Param\", \"paramVal1\": 0.5}. You can add multiple keys by incrementing the number at the end, for example, param2, paramVal2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_parameters).",
+ "type": "object"
+ },
+ "regional_settings": {
+ "description": "Options for specific region specific overrides to support date/number/string/currency formatting.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/RegionalSettingsInput"
+ }
+ ]
+ }
+ },
+ "required": [
+ "metadata_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Export report file of specified metadata object is successful.",
+ "content": {
+ "application/octet-stream": {}
+ }
+ },
+ "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/roles/create": {
+ "post": {
+ "operationId": "createRole",
+ "description": "\n Version: 9.5.0.cl or later\n\nCreates a Role object in ThoughtSpot.\n\nAvailable only if [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance. To create a Role, the `ROLE_ADMINISTRATION` (**Can manage roles**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Roles",
+ "9.5.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Unique name of the Role.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the Role.",
+ "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.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "USERDATAUPLOADING",
+ "DATADOWNLOADING",
+ "DATAMANAGEMENT",
+ "SHAREWITHALL",
+ "JOBSCHEDULING",
+ "A3ANALYSIS",
+ "BYPASSRLS",
+ "DISABLE_PINBOARD_CREATION",
+ "DEVELOPER",
+ "APPLICATION_ADMINISTRATION",
+ "USER_ADMINISTRATION",
+ "GROUP_ADMINISTRATION",
+ "SYSTEM_INFO_ADMINISTRATION",
+ "SYNCMANAGEMENT",
+ "ORG_ADMINISTRATION",
+ "ROLE_ADMINISTRATION",
+ "AUTHENTICATION_ADMINISTRATION",
+ "BILLING_INFO_ADMINISTRATION",
+ "CONTROL_TRUSTED_AUTH",
+ "TAGMANAGEMENT",
+ "LIVEBOARD_VERIFIER",
+ "CAN_MANAGE_CUSTOM_CALENDAR",
+ "CAN_CREATE_OR_EDIT_CONNECTIONS",
+ "CAN_MANAGE_WORKSHEET_VIEWS_TABLES",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "CAN_CREATE_CATALOG",
+ "ALLOW_NON_EMBED_FULL_APP_ACCESS",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "CAN_SETUP_VERSION_CONTROL",
+ "PREVIEW_THOUGHTSPOT_SAGE"
+ ]
+ }
+ },
+ "read_only": {
+ "description": "Version: 10.5.0.cl or later
\n\nIndicates whether the role is read only. A readonly role can neither be updated nor deleted.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "name"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Role successfully created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RoleResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid parameters.",
+ "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": "Internal error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/roles/{role_identifier}/delete": {
+ "post": {
+ "operationId": "deleteRole",
+ "description": "\n Version: 9.5.0.cl or later\n\nDeletes a Role object from the ThoughtSpot system.\n\nAvailable only if [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance. To delete a Role, the `ROLE_ADMINISTRATION` (**Can manage roles**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Roles",
+ "9.5.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "role_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the Role. ReadOnly roles cannot be deleted."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Role successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/roles/search": {
+ "post": {
+ "operationId": "searchRoles",
+ "description": "\n Version: 9.5.0.cl or later\n\nGets a list of Role objects from the ThoughtSpot system.\n\nAvailable if [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance. To search for Roles, the `ROLE_ADMINISTRATION` (**Can manage roles**) privilege is required.\n\nTo get details of a specific Role object, specify the GUID or name. You can also filter the API response based on user group and Org identifiers, privileges assigned to the Role, and deprecation status.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Roles",
+ "9.5.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "role_identifiers": {
+ "description": "unique ID or name of the Roles",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "org_identifiers": {
+ "description": "Unique Id or name of the Organisation",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "group_identifiers": {
+ "description": "Unique Id or name of the User Group",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "privileges": {
+ "description": "Privileges assigned to the Role. See [Documentation](https://developers.thoughtspot.com/docs/rbac#_role_categories_and_privileges)for supported roles privileges.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "UNKNOWN",
+ "ADMINISTRATION",
+ "AUTHORING",
+ "USERDATAUPLOADING",
+ "DATADOWNLOADING",
+ "USERMANAGEMENT",
+ "SECURITYMANAGEMENT",
+ "LOGICALMODELING",
+ "DATAMANAGEMENT",
+ "TAGMANAGEMENT",
+ "SHAREWITHALL",
+ "SYSTEMMANAGEMENT",
+ "JOBSCHEDULING",
+ "A3ANALYSIS",
+ "EXPERIMENTALFEATUREPRIVILEGE",
+ "BYPASSRLS",
+ "RANALYSIS",
+ "DISABLE_PINBOARD_CREATION",
+ "DEVELOPER",
+ "APPLICATION_ADMINISTRATION",
+ "USER_ADMINISTRATION",
+ "GROUP_ADMINISTRATION",
+ "BACKUP_ADMINISTRATION",
+ "SYSTEM_INFO_ADMINISTRATION",
+ "ENABLESPOTAPPCREATION",
+ "SYNCMANAGEMENT",
+ "ORG_ADMINISTRATION",
+ "ROLE_ADMINISTRATION",
+ "AUTHENTICATION_ADMINISTRATION",
+ "BILLING_INFO_ADMINISTRATION",
+ "PREVIEW_THOUGHTSPOT_SAGE",
+ "LIVEBOARD_VERIFIER",
+ "CAN_MANAGE_CUSTOM_CALENDAR",
+ "CAN_CREATE_OR_EDIT_CONNECTIONS",
+ "CAN_CONFIGURE_CONNECTIONS",
+ "CAN_MANAGE_WORKSHEET_VIEWS_TABLES",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "CONTROL_TRUSTED_AUTH",
+ "CAN_CREATE_CATALOG",
+ "ALLOW_NON_EMBED_FULL_APP_ACCESS",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "CAN_SETUP_VERSION_CONTROL"
+ ]
+ }
+ },
+ "deprecated": {
+ "description": "Indicates whether the Role is deprecated.",
+ "type": "boolean",
+ "deprecated": true,
+ "nullable": true
+ },
+ "external": {
+ "description": "Indicates whether the Role is external",
+ "type": "boolean",
+ "deprecated": true,
+ "nullable": true
+ },
+ "shared_via_connection": {
+ "description": "Indicates whether the Role is shared via connection",
+ "type": "boolean",
+ "deprecated": true,
+ "nullable": true
+ },
+ "permissions": {
+ "description": "Permission details of the Role",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "READ_ONLY",
+ "MODIFY",
+ "NO_ACCESS"
+ ]
+ },
+ "deprecated": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Roles search result.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SearchRoleResponse"
+ }
+ }
+ }
+ }
+ },
+ "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": "Internal error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/roles/{role_identifier}/update": {
+ "post": {
+ "operationId": "updateRole",
+ "description": "\n Version: 9.5.0.cl or later\n\nUpdates the properties of a Role object.\n\nAvailable only if [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance. To update a Role, the `ROLE_ADMINISTRATION` (**Can manage roles**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Roles",
+ "9.5.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the Role.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the Role.",
+ "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.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "USERDATAUPLOADING",
+ "DATADOWNLOADING",
+ "DATAMANAGEMENT",
+ "SHAREWITHALL",
+ "JOBSCHEDULING",
+ "A3ANALYSIS",
+ "BYPASSRLS",
+ "DISABLE_PINBOARD_CREATION",
+ "DEVELOPER",
+ "APPLICATION_ADMINISTRATION",
+ "USER_ADMINISTRATION",
+ "GROUP_ADMINISTRATION",
+ "SYSTEM_INFO_ADMINISTRATION",
+ "SYNCMANAGEMENT",
+ "ORG_ADMINISTRATION",
+ "ROLE_ADMINISTRATION",
+ "AUTHENTICATION_ADMINISTRATION",
+ "BILLING_INFO_ADMINISTRATION",
+ "CONTROL_TRUSTED_AUTH",
+ "TAGMANAGEMENT",
+ "LIVEBOARD_VERIFIER",
+ "CAN_MANAGE_CUSTOM_CALENDAR",
+ "CAN_CREATE_OR_EDIT_CONNECTIONS",
+ "CAN_MANAGE_WORKSHEET_VIEWS_TABLES",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "CAN_CREATE_CATALOG",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "PREVIEW_THOUGHTSPOT_SAGE"
+ ]
+ }
+ }
+ },
+ "required": [
+ "name"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "role_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the Role."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Role successfully updated.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RoleResponse"
+ }
+ }
+ }
+ },
+ "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/schedules/create": {
+ "post": {
+ "operationId": "createSchedule",
+ "description": "\nCreate schedule.
Version: 9.4.0.cl or later\n\nCreates a Liveboard schedule job.\n\nRequires at least edit access to Liveboards. To create a schedule on behalf of another user, you need `ADMINISTRATION` (**Can administer Org**) or `JOBSCHEDULING` (**Can schedule for others**) privilege and edit access to the Liveboard.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `JOBSCHEDULING` (**Can schedule for others**) privilege is required.\n\n#### Usage guidelines\n\n* The description text is mandatory. The description text appears as **Description: ** in the Liveboard schedule email notifications.\n* For Liveboards with both charts and tables, schedule creation is only supported in PDF and XLS formats. Schedules created in CSV formats for such Liveboards will fail to run. If `PDF` is set as the `file_format`, enable `pdf_options` to get the correct attachment. Not doing so may cause the attachment to be rendered empty.\n* To include only specific visualizations, specify the visualization GUIDs in the `visualization_identifiers` array.\n* You can schedule a Liveboard job to run periodically by setting frequency parameters. You can set the schedule to run daily, weekly, monthly or every n minutes or hours. The scheduled job can also be configured to run at a specific time of the day or on specific days of the week or month. Please ensure that when setting the schedule frequency for _minute of the object_, only values that are multiples of 5 are included.\n* If the `frequency` parameters are defined, you can set the time zone to a value that matches your server's time zone. For example, `US/Central`, `Etc/UTC`, `CET`. The default time zone is `America/Los_Angeles`.\n\nFor more information about Liveboard jobs, see [ThoughtSpot Product Documentation](https://docs.thoughtspot.com/cloud/latest/liveboard-schedule).\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Schedules",
+ "9.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the scheduled job.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the job.",
+ "type": "string"
+ },
+ "metadata_type": {
+ "description": "Type of the metadata object.",
+ "type": "string",
+ "enum": [
+ "LIVEBOARD"
+ ]
+ },
+ "metadata_identifier": {
+ "description": "Unique ID or name of the metadata object.",
+ "type": "string"
+ },
+ "file_format": {
+ "description": "Export file format.",
+ "default": "PDF",
+ "type": "string",
+ "enum": [
+ "CSV",
+ "PDF",
+ "XLSX"
+ ]
+ },
+ "liveboard_options": {
+ "description": "Options to specify details of Liveboard.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/LiveboardOptionsInput"
+ }
+ ]
+ },
+ "pdf_options": {
+ "description": "PDF layout and orientation settings. Applicable only if the `file_format` is specified as `PDF`.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SchedulesPdfOptionsInput"
+ }
+ ]
+ },
+ "time_zone": {
+ "description": "Time zone",
+ "default": "America/Los_Angeles",
+ "type": "string",
+ "enum": [
+ "Africa/Abidjan",
+ "Africa/Accra",
+ "Africa/Addis_Ababa",
+ "Africa/Algiers",
+ "Africa/Asmara",
+ "Africa/Asmera",
+ "Africa/Bamako",
+ "Africa/Bangui",
+ "Africa/Banjul",
+ "Africa/Bissau",
+ "Africa/Blantyre",
+ "Africa/Brazzaville",
+ "Africa/Bujumbura",
+ "Africa/Cairo",
+ "Africa/Casablanca",
+ "Africa/Ceuta",
+ "Africa/Conakry",
+ "Africa/Dakar",
+ "Africa/Dar_es_Salaam",
+ "Africa/Djibouti",
+ "Africa/Douala",
+ "Africa/El_Aaiun",
+ "Africa/Freetown",
+ "Africa/Gaborone",
+ "Africa/Harare",
+ "Africa/Johannesburg",
+ "Africa/Juba",
+ "Africa/Kampala",
+ "Africa/Khartoum",
+ "Africa/Kigali",
+ "Africa/Kinshasa",
+ "Africa/Lagos",
+ "Africa/Libreville",
+ "Africa/Lome",
+ "Africa/Luanda",
+ "Africa/Lubumbashi",
+ "Africa/Lusaka",
+ "Africa/Malabo",
+ "Africa/Maputo",
+ "Africa/Maseru",
+ "Africa/Mbabane",
+ "Africa/Mogadishu",
+ "Africa/Monrovia",
+ "Africa/Nairobi",
+ "Africa/Ndjamena",
+ "Africa/Niamey",
+ "Africa/Nouakchott",
+ "Africa/Ouagadougou",
+ "Africa/Porto-Novo",
+ "Africa/Sao_Tome",
+ "Africa/Timbuktu",
+ "Africa/Tripoli",
+ "Africa/Tunis",
+ "Africa/Windhoek",
+ "America/Adak",
+ "America/Anchorage",
+ "America/Anguilla",
+ "America/Antigua",
+ "America/Araguaina",
+ "America/Argentina/Buenos_Aires",
+ "America/Argentina/Catamarca",
+ "America/Argentina/ComodRivadavia",
+ "America/Argentina/Cordoba",
+ "America/Argentina/Jujuy",
+ "America/Argentina/La_Rioja",
+ "America/Argentina/Mendoza",
+ "America/Argentina/Rio_Gallegos",
+ "America/Argentina/Salta",
+ "America/Argentina/San_Juan",
+ "America/Argentina/San_Luis",
+ "America/Argentina/Tucuman",
+ "America/Argentina/Ushuaia",
+ "America/Aruba",
+ "America/Asuncion",
+ "America/Atikokan",
+ "America/Atka",
+ "America/Bahia",
+ "America/Bahia_Banderas",
+ "America/Barbados",
+ "America/Belem",
+ "America/Belize",
+ "America/Blanc-Sablon",
+ "America/Boa_Vista",
+ "America/Bogota",
+ "America/Boise",
+ "America/Buenos_Aires",
+ "America/Cambridge_Bay",
+ "America/Campo_Grande",
+ "America/Cancun",
+ "America/Caracas",
+ "America/Catamarca",
+ "America/Cayenne",
+ "America/Cayman",
+ "America/Chicago",
+ "America/Chihuahua",
+ "America/Coral_Harbour",
+ "America/Cordoba",
+ "America/Costa_Rica",
+ "America/Creston",
+ "America/Cuiaba",
+ "America/Curacao",
+ "America/Danmarkshavn",
+ "America/Dawson",
+ "America/Dawson_Creek",
+ "America/Denver",
+ "America/Detroit",
+ "America/Dominica",
+ "America/Edmonton",
+ "America/Eirunepe",
+ "America/El_Salvador",
+ "America/Ensenada",
+ "America/Fort_Nelson",
+ "America/Fort_Wayne",
+ "America/Fortaleza",
+ "America/Glace_Bay",
+ "America/Godthab",
+ "America/Goose_Bay",
+ "America/Grand_Turk",
+ "America/Grenada",
+ "America/Guadeloupe",
+ "America/Guatemala",
+ "America/Guayaquil",
+ "America/Guyana",
+ "America/Halifax",
+ "America/Havana",
+ "America/Hermosillo",
+ "America/Indiana/Indianapolis",
+ "America/Indiana/Knox",
+ "America/Indiana/Marengo",
+ "America/Indiana/Petersburg",
+ "America/Indiana/Tell_City",
+ "America/Indiana/Vevay",
+ "America/Indiana/Vincennes",
+ "America/Indiana/Winamac",
+ "America/Indianapolis",
+ "America/Inuvik",
+ "America/Iqaluit",
+ "America/Jamaica",
+ "America/Jujuy",
+ "America/Juneau",
+ "America/Kentucky/Louisville",
+ "America/Kentucky/Monticello",
+ "America/Knox_IN",
+ "America/Kralendijk",
+ "America/La_Paz",
+ "America/Lima",
+ "America/Los_Angeles",
+ "America/Louisville",
+ "America/Lower_Princes",
+ "America/Maceio",
+ "America/Managua",
+ "America/Manaus",
+ "America/Marigot",
+ "America/Martinique",
+ "America/Matamoros",
+ "America/Mazatlan",
+ "America/Mendoza",
+ "America/Menominee",
+ "America/Merida",
+ "America/Metlakatla",
+ "America/Mexico_City",
+ "America/Miquelon",
+ "America/Moncton",
+ "America/Monterrey",
+ "America/Montevideo",
+ "America/Montreal",
+ "America/Montserrat",
+ "America/Nassau",
+ "America/New_York",
+ "America/Nipigon",
+ "America/Nome",
+ "America/Noronha",
+ "America/North_Dakota/Beulah",
+ "America/North_Dakota/Center",
+ "America/North_Dakota/New_Salem",
+ "America/Nuuk",
+ "America/Ojinaga",
+ "America/Panama",
+ "America/Pangnirtung",
+ "America/Paramaribo",
+ "America/Phoenix",
+ "America/Port-au-Prince",
+ "America/Port_of_Spain",
+ "America/Porto_Acre",
+ "America/Porto_Velho",
+ "America/Puerto_Rico",
+ "America/Punta_Arenas",
+ "America/Rainy_River",
+ "America/Rankin_Inlet",
+ "America/Recife",
+ "America/Regina",
+ "America/Resolute",
+ "America/Rio_Branco",
+ "America/Rosario",
+ "America/Santa_Isabel",
+ "America/Santarem",
+ "America/Santiago",
+ "America/Santo_Domingo",
+ "America/Sao_Paulo",
+ "America/Scoresbysund",
+ "America/Shiprock",
+ "America/Sitka",
+ "America/St_Barthelemy",
+ "America/St_Johns",
+ "America/St_Kitts",
+ "America/St_Lucia",
+ "America/St_Thomas",
+ "America/St_Vincent",
+ "America/Swift_Current",
+ "America/Tegucigalpa",
+ "America/Thule",
+ "America/Thunder_Bay",
+ "America/Tijuana",
+ "America/Toronto",
+ "America/Tortola",
+ "America/Vancouver",
+ "America/Virgin",
+ "America/Whitehorse",
+ "America/Winnipeg",
+ "America/Yakutat",
+ "America/Yellowknife",
+ "Antarctica/Casey",
+ "Antarctica/Davis",
+ "Antarctica/DumontDUrville",
+ "Antarctica/Macquarie",
+ "Antarctica/Mawson",
+ "Antarctica/McMurdo",
+ "Antarctica/Palmer",
+ "Antarctica/Rothera",
+ "Antarctica/South_Pole",
+ "Antarctica/Syowa",
+ "Antarctica/Troll",
+ "Antarctica/Vostok",
+ "Arctic/Longyearbyen",
+ "Asia/Aden",
+ "Asia/Almaty",
+ "Asia/Amman",
+ "Asia/Anadyr",
+ "Asia/Aqtau",
+ "Asia/Aqtobe",
+ "Asia/Ashgabat",
+ "Asia/Ashkhabad",
+ "Asia/Atyrau",
+ "Asia/Baghdad",
+ "Asia/Bahrain",
+ "Asia/Baku",
+ "Asia/Bangkok",
+ "Asia/Barnaul",
+ "Asia/Beirut",
+ "Asia/Bishkek",
+ "Asia/Brunei",
+ "Asia/Calcutta",
+ "Asia/Chita",
+ "Asia/Choibalsan",
+ "Asia/Chongqing",
+ "Asia/Chungking",
+ "Asia/Colombo",
+ "Asia/Dacca",
+ "Asia/Damascus",
+ "Asia/Dhaka",
+ "Asia/Dili",
+ "Asia/Dubai",
+ "Asia/Dushanbe",
+ "Asia/Famagusta",
+ "Asia/Gaza",
+ "Asia/Harbin",
+ "Asia/Hebron",
+ "Asia/Ho_Chi_Minh",
+ "Asia/Hong_Kong",
+ "Asia/Hovd",
+ "Asia/Irkutsk",
+ "Asia/Istanbul",
+ "Asia/Jakarta",
+ "Asia/Jayapura",
+ "Asia/Jerusalem",
+ "Asia/Kabul",
+ "Asia/Kamchatka",
+ "Asia/Karachi",
+ "Asia/Kashgar",
+ "Asia/Kathmandu",
+ "Asia/Katmandu",
+ "Asia/Khandyga",
+ "Asia/Kolkata",
+ "Asia/Krasnoyarsk",
+ "Asia/Kuala_Lumpur",
+ "Asia/Kuching",
+ "Asia/Kuwait",
+ "Asia/Macao",
+ "Asia/Macau",
+ "Asia/Magadan",
+ "Asia/Makassar",
+ "Asia/Manila",
+ "Asia/Muscat",
+ "Asia/Nicosia",
+ "Asia/Novokuznetsk",
+ "Asia/Novosibirsk",
+ "Asia/Omsk",
+ "Asia/Oral",
+ "Asia/Phnom_Penh",
+ "Asia/Pontianak",
+ "Asia/Pyongyang",
+ "Asia/Qatar",
+ "Asia/Qostanay",
+ "Asia/Qyzylorda",
+ "Asia/Rangoon",
+ "Asia/Riyadh",
+ "Asia/Saigon",
+ "Asia/Sakhalin",
+ "Asia/Samarkand",
+ "Asia/Seoul",
+ "Asia/Shanghai",
+ "Asia/Singapore",
+ "Asia/Srednekolymsk",
+ "Asia/Taipei",
+ "Asia/Tashkent",
+ "Asia/Tbilisi",
+ "Asia/Tehran",
+ "Asia/Tel_Aviv",
+ "Asia/Thimbu",
+ "Asia/Thimphu",
+ "Asia/Tokyo",
+ "Asia/Tomsk",
+ "Asia/Ujung_Pandang",
+ "Asia/Ulaanbaatar",
+ "Asia/Ulan_Bator",
+ "Asia/Urumqi",
+ "Asia/Ust-Nera",
+ "Asia/Vientiane",
+ "Asia/Vladivostok",
+ "Asia/Yakutsk",
+ "Asia/Yangon",
+ "Asia/Yekaterinburg",
+ "Asia/Yerevan",
+ "Atlantic/Azores",
+ "Atlantic/Bermuda",
+ "Atlantic/Canary",
+ "Atlantic/Cape_Verde",
+ "Atlantic/Faeroe",
+ "Atlantic/Faroe",
+ "Atlantic/Jan_Mayen",
+ "Atlantic/Madeira",
+ "Atlantic/Reykjavik",
+ "Atlantic/South_Georgia",
+ "Atlantic/St_Helena",
+ "Atlantic/Stanley",
+ "Australia/ACT",
+ "Australia/Adelaide",
+ "Australia/Brisbane",
+ "Australia/Broken_Hill",
+ "Australia/Canberra",
+ "Australia/Currie",
+ "Australia/Darwin",
+ "Australia/Eucla",
+ "Australia/Hobart",
+ "Australia/LHI",
+ "Australia/Lindeman",
+ "Australia/Lord_Howe",
+ "Australia/Melbourne",
+ "Australia/NSW",
+ "Australia/North",
+ "Australia/Perth",
+ "Australia/Queensland",
+ "Australia/South",
+ "Australia/Sydney",
+ "Australia/Tasmania",
+ "Australia/Victoria",
+ "Australia/West",
+ "Australia/Yancowinna",
+ "Brazil/Acre",
+ "Brazil/DeNoronha",
+ "Brazil/East",
+ "Brazil/West",
+ "CET",
+ "CST6CDT",
+ "Canada/Atlantic",
+ "Canada/Central",
+ "Canada/Eastern",
+ "Canada/Mountain",
+ "Canada/Newfoundland",
+ "Canada/Pacific",
+ "Canada/Saskatchewan",
+ "Canada/Yukon",
+ "Chile/Continental",
+ "Chile/EasterIsland",
+ "Cuba",
+ "EET",
+ "EST5EDT",
+ "Egypt",
+ "Eire",
+ "Etc/GMT",
+ "Etc/GMT+0",
+ "Etc/GMT+1",
+ "Etc/GMT+10",
+ "Etc/GMT+11",
+ "Etc/GMT+12",
+ "Etc/GMT+2",
+ "Etc/GMT+3",
+ "Etc/GMT+4",
+ "Etc/GMT+5",
+ "Etc/GMT+6",
+ "Etc/GMT+7",
+ "Etc/GMT+8",
+ "Etc/GMT+9",
+ "Etc/GMT-0",
+ "Etc/GMT-1",
+ "Etc/GMT-10",
+ "Etc/GMT-11",
+ "Etc/GMT-12",
+ "Etc/GMT-13",
+ "Etc/GMT-14",
+ "Etc/GMT-2",
+ "Etc/GMT-3",
+ "Etc/GMT-4",
+ "Etc/GMT-5",
+ "Etc/GMT-6",
+ "Etc/GMT-7",
+ "Etc/GMT-8",
+ "Etc/GMT-9",
+ "Etc/GMT0",
+ "Etc/Greenwich",
+ "Etc/UCT",
+ "Etc/UTC",
+ "Etc/Universal",
+ "Etc/Zulu",
+ "Europe/Amsterdam",
+ "Europe/Andorra",
+ "Europe/Astrakhan",
+ "Europe/Athens",
+ "Europe/Belfast",
+ "Europe/Belgrade",
+ "Europe/Berlin",
+ "Europe/Bratislava",
+ "Europe/Brussels",
+ "Europe/Bucharest",
+ "Europe/Budapest",
+ "Europe/Busingen",
+ "Europe/Chisinau",
+ "Europe/Copenhagen",
+ "Europe/Dublin",
+ "Europe/Gibraltar",
+ "Europe/Guernsey",
+ "Europe/Helsinki",
+ "Europe/Isle_of_Man",
+ "Europe/Istanbul",
+ "Europe/Jersey",
+ "Europe/Kaliningrad",
+ "Europe/Kiev",
+ "Europe/Kirov",
+ "Europe/Kyiv",
+ "Europe/Lisbon",
+ "Europe/Ljubljana",
+ "Europe/London",
+ "Europe/Luxembourg",
+ "Europe/Madrid",
+ "Europe/Malta",
+ "Europe/Mariehamn",
+ "Europe/Minsk",
+ "Europe/Monaco",
+ "Europe/Moscow",
+ "Europe/Nicosia",
+ "Europe/Oslo",
+ "Europe/Paris",
+ "Europe/Podgorica",
+ "Europe/Prague",
+ "Europe/Riga",
+ "Europe/Rome",
+ "Europe/Samara",
+ "Europe/San_Marino",
+ "Europe/Sarajevo",
+ "Europe/Saratov",
+ "Europe/Simferopol",
+ "Europe/Skopje",
+ "Europe/Sofia",
+ "Europe/Stockholm",
+ "Europe/Tallinn",
+ "Europe/Tirane",
+ "Europe/Tiraspol",
+ "Europe/Ulyanovsk",
+ "Europe/Uzhgorod",
+ "Europe/Vaduz",
+ "Europe/Vatican",
+ "Europe/Vienna",
+ "Europe/Vilnius",
+ "Europe/Volgograd",
+ "Europe/Warsaw",
+ "Europe/Zagreb",
+ "Europe/Zaporozhye",
+ "Europe/Zurich",
+ "GB",
+ "GB-Eire",
+ "GMT",
+ "GMT0",
+ "Greenwich",
+ "Hongkong",
+ "Iceland",
+ "Indian/Antananarivo",
+ "Indian/Chagos",
+ "Indian/Christmas",
+ "Indian/Cocos",
+ "Indian/Comoro",
+ "Indian/Kerguelen",
+ "Indian/Mahe",
+ "Indian/Maldives",
+ "Indian/Mauritius",
+ "Indian/Mayotte",
+ "Indian/Reunion",
+ "Iran",
+ "Israel",
+ "Jamaica",
+ "Japan",
+ "Kwajalein",
+ "Libya",
+ "MET",
+ "MST7MDT",
+ "Mexico/BajaNorte",
+ "Mexico/BajaSur",
+ "Mexico/General",
+ "NZ",
+ "NZ-CHAT",
+ "Navajo",
+ "PRC",
+ "PST8PDT",
+ "Pacific/Apia",
+ "Pacific/Auckland",
+ "Pacific/Bougainville",
+ "Pacific/Chatham",
+ "Pacific/Chuuk",
+ "Pacific/Easter",
+ "Pacific/Efate",
+ "Pacific/Enderbury",
+ "Pacific/Fakaofo",
+ "Pacific/Fiji",
+ "Pacific/Funafuti",
+ "Pacific/Galapagos",
+ "Pacific/Gambier",
+ "Pacific/Guadalcanal",
+ "Pacific/Guam",
+ "Pacific/Honolulu",
+ "Pacific/Johnston",
+ "Pacific/Kanton",
+ "Pacific/Kiritimati",
+ "Pacific/Kosrae",
+ "Pacific/Kwajalein",
+ "Pacific/Majuro",
+ "Pacific/Marquesas",
+ "Pacific/Midway",
+ "Pacific/Nauru",
+ "Pacific/Niue",
+ "Pacific/Norfolk",
+ "Pacific/Noumea",
+ "Pacific/Pago_Pago",
+ "Pacific/Palau",
+ "Pacific/Pitcairn",
+ "Pacific/Pohnpei",
+ "Pacific/Ponape",
+ "Pacific/Port_Moresby",
+ "Pacific/Rarotonga",
+ "Pacific/Saipan",
+ "Pacific/Samoa",
+ "Pacific/Tahiti",
+ "Pacific/Tarawa",
+ "Pacific/Tongatapu",
+ "Pacific/Truk",
+ "Pacific/Wake",
+ "Pacific/Wallis",
+ "Pacific/Yap",
+ "Poland",
+ "Portugal",
+ "ROK",
+ "Singapore",
+ "SystemV/AST4",
+ "SystemV/AST4ADT",
+ "SystemV/CST6",
+ "SystemV/CST6CDT",
+ "SystemV/EST5",
+ "SystemV/EST5EDT",
+ "SystemV/HST10",
+ "SystemV/MST7",
+ "SystemV/MST7MDT",
+ "SystemV/PST8",
+ "SystemV/PST8PDT",
+ "SystemV/YST9",
+ "SystemV/YST9YDT",
+ "Turkey",
+ "UCT",
+ "US/Alaska",
+ "US/Aleutian",
+ "US/Arizona",
+ "US/Central",
+ "US/East-Indiana",
+ "US/Eastern",
+ "US/Hawaii",
+ "US/Indiana-Starke",
+ "US/Michigan",
+ "US/Mountain",
+ "US/Pacific",
+ "US/Samoa",
+ "UTC",
+ "Universal",
+ "W-SU",
+ "WET",
+ "Zulu",
+ "EST",
+ "HST",
+ "MST",
+ "ACT",
+ "AET",
+ "AGT",
+ "ART",
+ "AST",
+ "BET",
+ "BST",
+ "CAT",
+ "CNT",
+ "CST",
+ "CTT",
+ "EAT",
+ "ECT",
+ "IET",
+ "IST",
+ "JST",
+ "MIT",
+ "NET",
+ "NST",
+ "PLT",
+ "PNT",
+ "PRT",
+ "PST",
+ "SST",
+ "VST"
+ ]
+ },
+ "frequency": {
+ "description": "Frequency settings for the scheduled job.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/FrequencyInput"
+ }
+ ]
+ },
+ "recipient_details": {
+ "description": "Recipients of the scheduled job notifications. Add the GUID or name of the ThoughtSpot users or groups as recipients in the `principals` array. If a recipient is not a ThoughtSpot user, specify email address.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/RecipientDetailsInput"
+ }
+ ]
+ },
+ "personalised_view_id": {
+ "description": "Personalised view id of the liveboard to be scheduled.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "description",
+ "metadata_type",
+ "metadata_identifier",
+ "time_zone",
+ "recipient_details"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Schedule successfully created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseSchedule"
+ }
+ }
+ }
+ },
+ "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/schedules/{schedule_identifier}/delete": {
+ "post": {
+ "operationId": "deleteSchedule",
+ "description": "\nDeletes a scheduled job.
Version: 9.4.0.cl or later\n\nDeletes a scheduled Liveboard job.\n\nRequires at least edit access to Liveboard or `ADMINISTRATION` (**Can administer Org**) privilege. \nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `JOBSCHEDULING` (**Can schedule for others**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Schedules",
+ "9.4.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "schedule_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the scheduled job."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Schedule successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/schedules/search": {
+ "post": {
+ "operationId": "searchSchedules",
+ "description": "\nSearch Schedules
Version: 9.4.0.cl or later\n\nGets a list of scheduled jobs configured for a Liveboard.\n\nTo get details of a specific scheduled job, specify the name or GUID of the scheduled job.\n\nRequires at least view access to Liveboards.\n\n**NOTE**: When filtering schedules by parameters other than `metadata`, set `record_size` to `-1` and `record_offset` to `0` for accurate results.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Schedules",
+ "9.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects associated with the scheduled jobs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/MetadataInput"
+ }
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "sort_options": {
+ "description": "Sort options.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SortingOptions"
+ }
+ ]
+ },
+ "history_runs_options": {
+ "description": "Options while fetching history runs for the schedule.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ScheduleHistoryRunsOptionsInput"
+ }
+ ]
+ },
+ "schedule_identifiers": {
+ "description": "unique ID or name of the Schedule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Schedule search result.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ResponseSchedule"
+ }
+ }
+ }
+ }
+ },
+ "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/schedules/{schedule_identifier}/update": {
+ "post": {
+ "operationId": "updateSchedule",
+ "description": "\nUpdate schedule.
Version: 9.4.0.cl or later\n\nUpdates a scheduled Liveboard job.\n\nRequires at least edit access to Liveboards. To update a schedule on behalf of another user, you need `ADMINISTRATION` (**Can administer Org**) or `JOBSCHEDULING` (**Can schedule for others**) privilege and edit access to the Liveboard.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `JOBSCHEDULING` (**Can schedule for others**) privilege is required.\n\nThe API endpoint allows you to pause a scheduled job, change the status of a paused job. You can also edit the recipients list, frequency of the job, format of the file to send to the recipients in email notifications, PDF options, and time zone setting.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Schedules",
+ "9.4.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the scheduled job.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the scheduled job.",
+ "type": "string"
+ },
+ "metadata_type": {
+ "description": "Type of metadata object.",
+ "type": "string",
+ "enum": [
+ "LIVEBOARD"
+ ]
+ },
+ "metadata_identifier": {
+ "description": "Unique ID or name of the metadata object.",
+ "type": "string"
+ },
+ "file_format": {
+ "description": "Export file format.",
+ "type": "string",
+ "enum": [
+ "CSV",
+ "PDF",
+ "XLSX"
+ ]
+ },
+ "liveboard_options": {
+ "description": "Options to specify the details of a Liveboard.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/LiveboardOptionsInput"
+ }
+ ]
+ },
+ "pdf_options": {
+ "description": "Options for PDF export.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SchedulesPdfOptionsInput"
+ }
+ ]
+ },
+ "time_zone": {
+ "description": "Time zone",
+ "type": "string",
+ "enum": [
+ "Africa/Abidjan",
+ "Africa/Accra",
+ "Africa/Addis_Ababa",
+ "Africa/Algiers",
+ "Africa/Asmara",
+ "Africa/Asmera",
+ "Africa/Bamako",
+ "Africa/Bangui",
+ "Africa/Banjul",
+ "Africa/Bissau",
+ "Africa/Blantyre",
+ "Africa/Brazzaville",
+ "Africa/Bujumbura",
+ "Africa/Cairo",
+ "Africa/Casablanca",
+ "Africa/Ceuta",
+ "Africa/Conakry",
+ "Africa/Dakar",
+ "Africa/Dar_es_Salaam",
+ "Africa/Djibouti",
+ "Africa/Douala",
+ "Africa/El_Aaiun",
+ "Africa/Freetown",
+ "Africa/Gaborone",
+ "Africa/Harare",
+ "Africa/Johannesburg",
+ "Africa/Juba",
+ "Africa/Kampala",
+ "Africa/Khartoum",
+ "Africa/Kigali",
+ "Africa/Kinshasa",
+ "Africa/Lagos",
+ "Africa/Libreville",
+ "Africa/Lome",
+ "Africa/Luanda",
+ "Africa/Lubumbashi",
+ "Africa/Lusaka",
+ "Africa/Malabo",
+ "Africa/Maputo",
+ "Africa/Maseru",
+ "Africa/Mbabane",
+ "Africa/Mogadishu",
+ "Africa/Monrovia",
+ "Africa/Nairobi",
+ "Africa/Ndjamena",
+ "Africa/Niamey",
+ "Africa/Nouakchott",
+ "Africa/Ouagadougou",
+ "Africa/Porto-Novo",
+ "Africa/Sao_Tome",
+ "Africa/Timbuktu",
+ "Africa/Tripoli",
+ "Africa/Tunis",
+ "Africa/Windhoek",
+ "America/Adak",
+ "America/Anchorage",
+ "America/Anguilla",
+ "America/Antigua",
+ "America/Araguaina",
+ "America/Argentina/Buenos_Aires",
+ "America/Argentina/Catamarca",
+ "America/Argentina/ComodRivadavia",
+ "America/Argentina/Cordoba",
+ "America/Argentina/Jujuy",
+ "America/Argentina/La_Rioja",
+ "America/Argentina/Mendoza",
+ "America/Argentina/Rio_Gallegos",
+ "America/Argentina/Salta",
+ "America/Argentina/San_Juan",
+ "America/Argentina/San_Luis",
+ "America/Argentina/Tucuman",
+ "America/Argentina/Ushuaia",
+ "America/Aruba",
+ "America/Asuncion",
+ "America/Atikokan",
+ "America/Atka",
+ "America/Bahia",
+ "America/Bahia_Banderas",
+ "America/Barbados",
+ "America/Belem",
+ "America/Belize",
+ "America/Blanc-Sablon",
+ "America/Boa_Vista",
+ "America/Bogota",
+ "America/Boise",
+ "America/Buenos_Aires",
+ "America/Cambridge_Bay",
+ "America/Campo_Grande",
+ "America/Cancun",
+ "America/Caracas",
+ "America/Catamarca",
+ "America/Cayenne",
+ "America/Cayman",
+ "America/Chicago",
+ "America/Chihuahua",
+ "America/Coral_Harbour",
+ "America/Cordoba",
+ "America/Costa_Rica",
+ "America/Creston",
+ "America/Cuiaba",
+ "America/Curacao",
+ "America/Danmarkshavn",
+ "America/Dawson",
+ "America/Dawson_Creek",
+ "America/Denver",
+ "America/Detroit",
+ "America/Dominica",
+ "America/Edmonton",
+ "America/Eirunepe",
+ "America/El_Salvador",
+ "America/Ensenada",
+ "America/Fort_Nelson",
+ "America/Fort_Wayne",
+ "America/Fortaleza",
+ "America/Glace_Bay",
+ "America/Godthab",
+ "America/Goose_Bay",
+ "America/Grand_Turk",
+ "America/Grenada",
+ "America/Guadeloupe",
+ "America/Guatemala",
+ "America/Guayaquil",
+ "America/Guyana",
+ "America/Halifax",
+ "America/Havana",
+ "America/Hermosillo",
+ "America/Indiana/Indianapolis",
+ "America/Indiana/Knox",
+ "America/Indiana/Marengo",
+ "America/Indiana/Petersburg",
+ "America/Indiana/Tell_City",
+ "America/Indiana/Vevay",
+ "America/Indiana/Vincennes",
+ "America/Indiana/Winamac",
+ "America/Indianapolis",
+ "America/Inuvik",
+ "America/Iqaluit",
+ "America/Jamaica",
+ "America/Jujuy",
+ "America/Juneau",
+ "America/Kentucky/Louisville",
+ "America/Kentucky/Monticello",
+ "America/Knox_IN",
+ "America/Kralendijk",
+ "America/La_Paz",
+ "America/Lima",
+ "America/Los_Angeles",
+ "America/Louisville",
+ "America/Lower_Princes",
+ "America/Maceio",
+ "America/Managua",
+ "America/Manaus",
+ "America/Marigot",
+ "America/Martinique",
+ "America/Matamoros",
+ "America/Mazatlan",
+ "America/Mendoza",
+ "America/Menominee",
+ "America/Merida",
+ "America/Metlakatla",
+ "America/Mexico_City",
+ "America/Miquelon",
+ "America/Moncton",
+ "America/Monterrey",
+ "America/Montevideo",
+ "America/Montreal",
+ "America/Montserrat",
+ "America/Nassau",
+ "America/New_York",
+ "America/Nipigon",
+ "America/Nome",
+ "America/Noronha",
+ "America/North_Dakota/Beulah",
+ "America/North_Dakota/Center",
+ "America/North_Dakota/New_Salem",
+ "America/Nuuk",
+ "America/Ojinaga",
+ "America/Panama",
+ "America/Pangnirtung",
+ "America/Paramaribo",
+ "America/Phoenix",
+ "America/Port-au-Prince",
+ "America/Port_of_Spain",
+ "America/Porto_Acre",
+ "America/Porto_Velho",
+ "America/Puerto_Rico",
+ "America/Punta_Arenas",
+ "America/Rainy_River",
+ "America/Rankin_Inlet",
+ "America/Recife",
+ "America/Regina",
+ "America/Resolute",
+ "America/Rio_Branco",
+ "America/Rosario",
+ "America/Santa_Isabel",
+ "America/Santarem",
+ "America/Santiago",
+ "America/Santo_Domingo",
+ "America/Sao_Paulo",
+ "America/Scoresbysund",
+ "America/Shiprock",
+ "America/Sitka",
+ "America/St_Barthelemy",
+ "America/St_Johns",
+ "America/St_Kitts",
+ "America/St_Lucia",
+ "America/St_Thomas",
+ "America/St_Vincent",
+ "America/Swift_Current",
+ "America/Tegucigalpa",
+ "America/Thule",
+ "America/Thunder_Bay",
+ "America/Tijuana",
+ "America/Toronto",
+ "America/Tortola",
+ "America/Vancouver",
+ "America/Virgin",
+ "America/Whitehorse",
+ "America/Winnipeg",
+ "America/Yakutat",
+ "America/Yellowknife",
+ "Antarctica/Casey",
+ "Antarctica/Davis",
+ "Antarctica/DumontDUrville",
+ "Antarctica/Macquarie",
+ "Antarctica/Mawson",
+ "Antarctica/McMurdo",
+ "Antarctica/Palmer",
+ "Antarctica/Rothera",
+ "Antarctica/South_Pole",
+ "Antarctica/Syowa",
+ "Antarctica/Troll",
+ "Antarctica/Vostok",
+ "Arctic/Longyearbyen",
+ "Asia/Aden",
+ "Asia/Almaty",
+ "Asia/Amman",
+ "Asia/Anadyr",
+ "Asia/Aqtau",
+ "Asia/Aqtobe",
+ "Asia/Ashgabat",
+ "Asia/Ashkhabad",
+ "Asia/Atyrau",
+ "Asia/Baghdad",
+ "Asia/Bahrain",
+ "Asia/Baku",
+ "Asia/Bangkok",
+ "Asia/Barnaul",
+ "Asia/Beirut",
+ "Asia/Bishkek",
+ "Asia/Brunei",
+ "Asia/Calcutta",
+ "Asia/Chita",
+ "Asia/Choibalsan",
+ "Asia/Chongqing",
+ "Asia/Chungking",
+ "Asia/Colombo",
+ "Asia/Dacca",
+ "Asia/Damascus",
+ "Asia/Dhaka",
+ "Asia/Dili",
+ "Asia/Dubai",
+ "Asia/Dushanbe",
+ "Asia/Famagusta",
+ "Asia/Gaza",
+ "Asia/Harbin",
+ "Asia/Hebron",
+ "Asia/Ho_Chi_Minh",
+ "Asia/Hong_Kong",
+ "Asia/Hovd",
+ "Asia/Irkutsk",
+ "Asia/Istanbul",
+ "Asia/Jakarta",
+ "Asia/Jayapura",
+ "Asia/Jerusalem",
+ "Asia/Kabul",
+ "Asia/Kamchatka",
+ "Asia/Karachi",
+ "Asia/Kashgar",
+ "Asia/Kathmandu",
+ "Asia/Katmandu",
+ "Asia/Khandyga",
+ "Asia/Kolkata",
+ "Asia/Krasnoyarsk",
+ "Asia/Kuala_Lumpur",
+ "Asia/Kuching",
+ "Asia/Kuwait",
+ "Asia/Macao",
+ "Asia/Macau",
+ "Asia/Magadan",
+ "Asia/Makassar",
+ "Asia/Manila",
+ "Asia/Muscat",
+ "Asia/Nicosia",
+ "Asia/Novokuznetsk",
+ "Asia/Novosibirsk",
+ "Asia/Omsk",
+ "Asia/Oral",
+ "Asia/Phnom_Penh",
+ "Asia/Pontianak",
+ "Asia/Pyongyang",
+ "Asia/Qatar",
+ "Asia/Qostanay",
+ "Asia/Qyzylorda",
+ "Asia/Rangoon",
+ "Asia/Riyadh",
+ "Asia/Saigon",
+ "Asia/Sakhalin",
+ "Asia/Samarkand",
+ "Asia/Seoul",
+ "Asia/Shanghai",
+ "Asia/Singapore",
+ "Asia/Srednekolymsk",
+ "Asia/Taipei",
+ "Asia/Tashkent",
+ "Asia/Tbilisi",
+ "Asia/Tehran",
+ "Asia/Tel_Aviv",
+ "Asia/Thimbu",
+ "Asia/Thimphu",
+ "Asia/Tokyo",
+ "Asia/Tomsk",
+ "Asia/Ujung_Pandang",
+ "Asia/Ulaanbaatar",
+ "Asia/Ulan_Bator",
+ "Asia/Urumqi",
+ "Asia/Ust-Nera",
+ "Asia/Vientiane",
+ "Asia/Vladivostok",
+ "Asia/Yakutsk",
+ "Asia/Yangon",
+ "Asia/Yekaterinburg",
+ "Asia/Yerevan",
+ "Atlantic/Azores",
+ "Atlantic/Bermuda",
+ "Atlantic/Canary",
+ "Atlantic/Cape_Verde",
+ "Atlantic/Faeroe",
+ "Atlantic/Faroe",
+ "Atlantic/Jan_Mayen",
+ "Atlantic/Madeira",
+ "Atlantic/Reykjavik",
+ "Atlantic/South_Georgia",
+ "Atlantic/St_Helena",
+ "Atlantic/Stanley",
+ "Australia/ACT",
+ "Australia/Adelaide",
+ "Australia/Brisbane",
+ "Australia/Broken_Hill",
+ "Australia/Canberra",
+ "Australia/Currie",
+ "Australia/Darwin",
+ "Australia/Eucla",
+ "Australia/Hobart",
+ "Australia/LHI",
+ "Australia/Lindeman",
+ "Australia/Lord_Howe",
+ "Australia/Melbourne",
+ "Australia/NSW",
+ "Australia/North",
+ "Australia/Perth",
+ "Australia/Queensland",
+ "Australia/South",
+ "Australia/Sydney",
+ "Australia/Tasmania",
+ "Australia/Victoria",
+ "Australia/West",
+ "Australia/Yancowinna",
+ "Brazil/Acre",
+ "Brazil/DeNoronha",
+ "Brazil/East",
+ "Brazil/West",
+ "CET",
+ "CST6CDT",
+ "Canada/Atlantic",
+ "Canada/Central",
+ "Canada/Eastern",
+ "Canada/Mountain",
+ "Canada/Newfoundland",
+ "Canada/Pacific",
+ "Canada/Saskatchewan",
+ "Canada/Yukon",
+ "Chile/Continental",
+ "Chile/EasterIsland",
+ "Cuba",
+ "EET",
+ "EST5EDT",
+ "Egypt",
+ "Eire",
+ "Etc/GMT",
+ "Etc/GMT+0",
+ "Etc/GMT+1",
+ "Etc/GMT+10",
+ "Etc/GMT+11",
+ "Etc/GMT+12",
+ "Etc/GMT+2",
+ "Etc/GMT+3",
+ "Etc/GMT+4",
+ "Etc/GMT+5",
+ "Etc/GMT+6",
+ "Etc/GMT+7",
+ "Etc/GMT+8",
+ "Etc/GMT+9",
+ "Etc/GMT-0",
+ "Etc/GMT-1",
+ "Etc/GMT-10",
+ "Etc/GMT-11",
+ "Etc/GMT-12",
+ "Etc/GMT-13",
+ "Etc/GMT-14",
+ "Etc/GMT-2",
+ "Etc/GMT-3",
+ "Etc/GMT-4",
+ "Etc/GMT-5",
+ "Etc/GMT-6",
+ "Etc/GMT-7",
+ "Etc/GMT-8",
+ "Etc/GMT-9",
+ "Etc/GMT0",
+ "Etc/Greenwich",
+ "Etc/UCT",
+ "Etc/UTC",
+ "Etc/Universal",
+ "Etc/Zulu",
+ "Europe/Amsterdam",
+ "Europe/Andorra",
+ "Europe/Astrakhan",
+ "Europe/Athens",
+ "Europe/Belfast",
+ "Europe/Belgrade",
+ "Europe/Berlin",
+ "Europe/Bratislava",
+ "Europe/Brussels",
+ "Europe/Bucharest",
+ "Europe/Budapest",
+ "Europe/Busingen",
+ "Europe/Chisinau",
+ "Europe/Copenhagen",
+ "Europe/Dublin",
+ "Europe/Gibraltar",
+ "Europe/Guernsey",
+ "Europe/Helsinki",
+ "Europe/Isle_of_Man",
+ "Europe/Istanbul",
+ "Europe/Jersey",
+ "Europe/Kaliningrad",
+ "Europe/Kiev",
+ "Europe/Kirov",
+ "Europe/Kyiv",
+ "Europe/Lisbon",
+ "Europe/Ljubljana",
+ "Europe/London",
+ "Europe/Luxembourg",
+ "Europe/Madrid",
+ "Europe/Malta",
+ "Europe/Mariehamn",
+ "Europe/Minsk",
+ "Europe/Monaco",
+ "Europe/Moscow",
+ "Europe/Nicosia",
+ "Europe/Oslo",
+ "Europe/Paris",
+ "Europe/Podgorica",
+ "Europe/Prague",
+ "Europe/Riga",
+ "Europe/Rome",
+ "Europe/Samara",
+ "Europe/San_Marino",
+ "Europe/Sarajevo",
+ "Europe/Saratov",
+ "Europe/Simferopol",
+ "Europe/Skopje",
+ "Europe/Sofia",
+ "Europe/Stockholm",
+ "Europe/Tallinn",
+ "Europe/Tirane",
+ "Europe/Tiraspol",
+ "Europe/Ulyanovsk",
+ "Europe/Uzhgorod",
+ "Europe/Vaduz",
+ "Europe/Vatican",
+ "Europe/Vienna",
+ "Europe/Vilnius",
+ "Europe/Volgograd",
+ "Europe/Warsaw",
+ "Europe/Zagreb",
+ "Europe/Zaporozhye",
+ "Europe/Zurich",
+ "GB",
+ "GB-Eire",
+ "GMT",
+ "GMT0",
+ "Greenwich",
+ "Hongkong",
+ "Iceland",
+ "Indian/Antananarivo",
+ "Indian/Chagos",
+ "Indian/Christmas",
+ "Indian/Cocos",
+ "Indian/Comoro",
+ "Indian/Kerguelen",
+ "Indian/Mahe",
+ "Indian/Maldives",
+ "Indian/Mauritius",
+ "Indian/Mayotte",
+ "Indian/Reunion",
+ "Iran",
+ "Israel",
+ "Jamaica",
+ "Japan",
+ "Kwajalein",
+ "Libya",
+ "MET",
+ "MST7MDT",
+ "Mexico/BajaNorte",
+ "Mexico/BajaSur",
+ "Mexico/General",
+ "NZ",
+ "NZ-CHAT",
+ "Navajo",
+ "PRC",
+ "PST8PDT",
+ "Pacific/Apia",
+ "Pacific/Auckland",
+ "Pacific/Bougainville",
+ "Pacific/Chatham",
+ "Pacific/Chuuk",
+ "Pacific/Easter",
+ "Pacific/Efate",
+ "Pacific/Enderbury",
+ "Pacific/Fakaofo",
+ "Pacific/Fiji",
+ "Pacific/Funafuti",
+ "Pacific/Galapagos",
+ "Pacific/Gambier",
+ "Pacific/Guadalcanal",
+ "Pacific/Guam",
+ "Pacific/Honolulu",
+ "Pacific/Johnston",
+ "Pacific/Kanton",
+ "Pacific/Kiritimati",
+ "Pacific/Kosrae",
+ "Pacific/Kwajalein",
+ "Pacific/Majuro",
+ "Pacific/Marquesas",
+ "Pacific/Midway",
+ "Pacific/Nauru",
+ "Pacific/Niue",
+ "Pacific/Norfolk",
+ "Pacific/Noumea",
+ "Pacific/Pago_Pago",
+ "Pacific/Palau",
+ "Pacific/Pitcairn",
+ "Pacific/Pohnpei",
+ "Pacific/Ponape",
+ "Pacific/Port_Moresby",
+ "Pacific/Rarotonga",
+ "Pacific/Saipan",
+ "Pacific/Samoa",
+ "Pacific/Tahiti",
+ "Pacific/Tarawa",
+ "Pacific/Tongatapu",
+ "Pacific/Truk",
+ "Pacific/Wake",
+ "Pacific/Wallis",
+ "Pacific/Yap",
+ "Poland",
+ "Portugal",
+ "ROK",
+ "Singapore",
+ "SystemV/AST4",
+ "SystemV/AST4ADT",
+ "SystemV/CST6",
+ "SystemV/CST6CDT",
+ "SystemV/EST5",
+ "SystemV/EST5EDT",
+ "SystemV/HST10",
+ "SystemV/MST7",
+ "SystemV/MST7MDT",
+ "SystemV/PST8",
+ "SystemV/PST8PDT",
+ "SystemV/YST9",
+ "SystemV/YST9YDT",
+ "Turkey",
+ "UCT",
+ "US/Alaska",
+ "US/Aleutian",
+ "US/Arizona",
+ "US/Central",
+ "US/East-Indiana",
+ "US/Eastern",
+ "US/Hawaii",
+ "US/Indiana-Starke",
+ "US/Michigan",
+ "US/Mountain",
+ "US/Pacific",
+ "US/Samoa",
+ "UTC",
+ "Universal",
+ "W-SU",
+ "WET",
+ "Zulu",
+ "EST",
+ "HST",
+ "MST",
+ "ACT",
+ "AET",
+ "AGT",
+ "ART",
+ "AST",
+ "BET",
+ "BST",
+ "CAT",
+ "CNT",
+ "CST",
+ "CTT",
+ "EAT",
+ "ECT",
+ "IET",
+ "IST",
+ "JST",
+ "MIT",
+ "NET",
+ "NST",
+ "PLT",
+ "PNT",
+ "PRT",
+ "PST",
+ "SST",
+ "VST"
+ ]
+ },
+ "frequency": {
+ "description": "Frequency of the scheduled job run.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/FrequencyInput"
+ }
+ ]
+ },
+ "recipient_details": {
+ "description": "Recipients of the scheduled job notifications. You can add the ID or name of the ThoughtSpot users or groups as recipients in the `principals` array. If a recipient is not a ThoughtSpot user, specify email address.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/RecipientDetailsInput"
+ }
+ ]
+ },
+ "status": {
+ "description": "Status of the schedule",
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "PAUSE"
+ ]
+ },
+ "personalised_view_id": {
+ "description": "Personalised view id of the liveboard to be scheduled.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "schedule_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the schedule."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Schedule 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/security/metadata/assign": {
+ "post": {
+ "operationId": "assignChangeAuthor",
+ "description": "\n Version: 9.0.0.cl or later\n\nTransfers the ownership of one or several objects from one user to another.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `USER_ADMINISTRATION` (**Can manage users**) privilege and edit access to the objects are required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "GUID or name of the metadata object.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/AuthorMetadataTypeInput"
+ }
+ },
+ "user_identifier": {
+ "description": "GUID or name of the user who you want to assign as the author.",
+ "type": "string"
+ },
+ "current_owner_identifier": {
+ "description": "GUID or name of the current author. When defined, the metadata objects\nauthored by the specified owner are filtered for the API operation.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "metadata",
+ "user_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Author assignment for given metadata objects is successful."
+ },
+ "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/security/column/rules/fetch": {
+ "post": {
+ "operationId": "fetchColumnSecurityRules",
+ "description": "\nBeta Version: 10.12.0.cl or later\n\nFetches column security rules for specified tables.\n\nThis API endpoint retrieves column-level security rules configured for tables. It returns information about which columns are secured and which groups have access to those columns.\n\n#### Usage guidelines\n\n- Provide an array of table identifiers using either `identifier` (GUID or name) or `obj_identifier` (object ID)\n- At least one of `identifier` or `obj_identifier` must be provided for each table\n- The API returns column security rules for all specified tables\n- Users must have appropriate permissions to access security rules for the specified tables\n\n#### Required permissions\n\n- `ADMINISTRATION` - Can administer ThoughtSpot\n- `DATAMANAGEMENT` - Can manage data\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` - Can manage worksheet views and tables\n\n#### Example request\n\n```json\n{\n \"tables\": [\n {\n \"identifier\": \"table-guid\",\n \"obj_identifier\": \"table-object-id\"\n }\n ]\n}\n```\n\n#### Response format\n\nThe API returns an array of `ColumnSecurityRuleResponse` objects wrapped in a `data` field. Each `ColumnSecurityRuleResponse` object contains:\n- Table information (GUID and object ID) \n- Array of column security rules with column details, group access, and source table information\n\n#### Example response\n\n```json\n{\n \"data\": [\n {\n \"guid\": \"table-guid\",\n \"objId\": \"table-object-id\",\n \"columnSecurityRules\": [\n {\n \"column\": {\n \"id\": \"col_123\",\n \"name\": \"Salary\"\n },\n \"groups\": [\n {\n \"id\": \"group_1\",\n \"name\": \"HR Department\"\n }\n ],\n \"sourceTableDetails\": {\n \"id\": \"source-table-guid\",\n \"name\": \"Employee_Data\"\n }\n }\n ]\n }\n ]\n}\n```\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "tables": {
+ "description": "Array of table identifier objects for which to fetch column security rules",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnSecurityRuleTableInput"
+ }
+ }
+ },
+ "required": [
+ "tables"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successfully fetched column security rules",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnSecurityRuleResponse"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad request - Table not found or invalid parameters",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden - User doesn't have permission to access security rules for this table",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/rest/2.0/security/principals/fetch-permissions": {
+ "post": {
+ "operationId": "fetchPermissionsOfPrincipals",
+ "description": "\n Version: 9.0.0.cl or later\n\nFetches object permission details for a given principal object such as a user and group.\n\nRequires view access to the metadata object. \n\n#### Usage guidelines\n\n* To get a list of all metadata objects that a user or group can access, specify the `type` and GUID or name of the principal.\n* To get permission details for a specific object, add the `type` and GUID or name of the metadata object to your API request.\n\nUpon successful execution, the API returns a list of metadata objects and permission details for each object. \n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "principals": {
+ "description": "GUID or name of the user or group.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PrincipalsInput"
+ }
+ },
+ "metadata": {
+ "description": "Metadata objects for which you want to fetch permission details.\nIf not specified, the API returns permission details for all\nmetadata objects that the specified users and groups can access.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PermissionsMetadataTypeInput"
+ }
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included for each metadata type.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included for each metadata type.",
+ "default": -1,
+ "type": "integer",
+ "format": "int32"
+ },
+ "default_metadata_type": {
+ "description": "When no metadata objects input is passed, metadata objects of this type are fetched.",
+ "type": "string",
+ "enum": [
+ "ALL",
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION"
+ ]
+ }
+ },
+ "required": [
+ "principals"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Fetching permissions of principals is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PermissionOfPrincipalsResponse"
+ },
+ "examples": {
+ "example_1": {
+ "value": {
+ "principal_permission_details": [
+ {
+ "principal_id": "7f5e7f87-09a1-487c-a1da-c4bb35e45270",
+ "principal_name": "test_user",
+ "principal_type": "USER",
+ "principal_sub_type": "LOCAL_USER",
+ "metadata_permission_info": [
+ {
+ "metadata_type": "LIVEBOARD",
+ "metadata_permissions": [
+ {
+ "metadata_id": "2ff57a24-cf90-485f-8b4b-45fc17474c6f",
+ "metadata_name": "Learn how to use ThoughtSpot",
+ "metadata_owner": {
+ "id": "2ff57a24-cf90-485f-8b4b-45fc17474c6f",
+ "name": "Learn how to use ThoughtSpot"
+ },
+ "metadata_author": {
+ "id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "name": "tsadmin"
+ },
+ "permission": "READ_ONLY",
+ "shared_permission": "NO_ACCESS",
+ "group_permission": []
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "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/security/metadata/fetch-permissions": {
+ "post": {
+ "operationId": "fetchPermissionsOnMetadata",
+ "description": "\n Version: 9.0.0.cl or later\n\nFetches permission details for a given metadata object.\n\nRequires view access to the metadata object.\n\n#### Usage guidelines\n\n* To fetch a list of users and groups for a metadata object, specify `type` and GUID or name of the metadata object.\n* To get permission details for a specific user or group, add `type` and GUID or name of the principal object to your API request.\n\nUpon successful execution, the API returns permission details and principal information for the object specified in the API request.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "GUID or name of the metadata object.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PermissionsMetadataTypeInput"
+ }
+ },
+ "principals": {
+ "description": "User or group objects for which you want to fetch permissions.\nIf not specified, the API returns all users and groups that\ncan access the specified metadata objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PrincipalsInput"
+ }
+ },
+ "include_dependent_objects": {
+ "description": "Indicates whether to fetch permissions of dependent metadata objects.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included for each metadata type.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included for each metadata type.",
+ "default": -1,
+ "type": "integer",
+ "format": "int32"
+ },
+ "permission_type": {
+ "description": "Version: 10.3.0.cl or later
\n\nSpecifies the type of permission. Valid values are:\n EFFECTIVE - If the user permission to the metadata objects is granted by the privileges assigned to the groups to which they belong.\n DEFINED - If a user or user group received access to metadata objects via object sharing by another user.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "metadata"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Fetching permissions of metadata objects is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PermissionOfMetadataResponse"
+ },
+ "examples": {
+ "example_1": {
+ "value": {
+ "metadata_permission_details": [
+ {
+ "metadata_id": "a62a5bf3-9f16-45b2-a174-7d30b3b577a9",
+ "metadata_name": "testing",
+ "metadata_type": "LIVEBOARD",
+ "metadata_owner": {
+ "id": "a62a5bf3-9f16-45b2-a174-7d30b3b577a9",
+ "name": "testing"
+ },
+ "metadata_author": {
+ "id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "name": "tsadmin"
+ },
+ "principal_permission_info": [
+ {
+ "principal_type": "USER_GROUP",
+ "principal_sub_type": "LOCAL_GROUP",
+ "principal_permissions": [
+ {
+ "principal_id": "d0326b56-ef23-4c8a-8327-a30e99bcc72b",
+ "principal_name": "Administrator",
+ "permission": "MODIFY",
+ "shared_permission": "NO_ACCESS",
+ "group_permission": []
+ }
+ ]
+ },
+ {
+ "principal_type": "USER",
+ "principal_sub_type": "LOCAL_USER",
+ "principal_permissions": [
+ {
+ "principal_id": "0f0dd0f7-7411-4195-a4aa-0dc6b58413c9",
+ "principal_name": "su",
+ "permission": "MODIFY",
+ "shared_permission": "NO_ACCESS",
+ "group_permission": []
+ },
+ {
+ "principal_id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "principal_name": "tsadmin",
+ "permission": "MODIFY",
+ "shared_permission": "NO_ACCESS",
+ "group_permission": []
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "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/security/metadata/publish": {
+ "post": {
+ "operationId": "publishMetadata",
+ "description": "\nBeta Version: 10.9.0.cl or later\n\nAllows publishing metadata objects across organizations in ThoughtSpot.\n\nRequires ADMINISTRATION role and TENANT scope.\n\nThe API endpoint allows publishing the following types of metadata objects:\n* Liveboards\n* Answers\n* Logical Tables\n\nThis API will essentially share the objects along with it's dependencies to\nthe org admins of the orgs to which it is being published.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "10.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects to be published.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PublishMetadataListItem"
+ }
+ },
+ "org_identifiers": {
+ "description": "Unique ID or name of orgs to which metadata objects should be published.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "skip_validation": {
+ "description": "Skip validations of objects to be published.",
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "metadata",
+ "org_identifiers"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Publishing metadata objects is successful."
+ },
+ "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/security/metadata/share": {
+ "post": {
+ "operationId": "shareMetadata",
+ "description": "\n Version: 9.0.0.cl or later\n\nAllows sharing one or several metadata objects with users and groups in ThoughtSpot.\n\nRequires edit access to the metadata object.\n\nThe API endpoint allows sharing only the following types of metadata objects:\n* Liveboards\n* Visualizations\n* Answers\n* Worksheets\n* Views\n* Connections\n\nYou can provide `READ_ONLY` or `MODIFY` access when sharing an object with another user or group. With `READ_ONLY` access grants view access to the shared object, whereas `MODIFY` provides edit access.\n\nTo prevent a user or group from accessing the shared object, specify the GUID or name of the principal and set `shareMode` to `NO_ACCESS`.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_type": {
+ "description": "Type of metadata. Required if identifier in metadata_identifies is a name.\n1. Liveboard\n2. Answers\n3. LOGICAL_TABLE for any data object such as table, worksheet or view.\n4. LOGICAL_COLUMN\n5. Connection",
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION"
+ ]
+ },
+ "metadata_identifiers": {
+ "description": "Unique ID or name of metadata objects. Note: All the names should belong to same metadata_type",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "description": "Metadata details for sharing objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ShareMetadataTypeInput"
+ }
+ },
+ "permissions": {
+ "description": "Permission details for sharing the objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SharePermissionsInput"
+ }
+ },
+ "visualization_identifiers": {
+ "description": "Options to specify details of Liveboard. First Liveboard encountered in payload is considered to be the corresponding Liveboard.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "emails": {
+ "description": "Email IDs to which notifications will be sent.",
+ "default": [],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "message": {
+ "description": "Message to be included in notification.",
+ "type": "string"
+ },
+ "enable_custom_url": {
+ "description": "Sends object URLs in the customized format in email notifications.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "notify_on_share": {
+ "description": "Flag to notify user when any object is shared.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "has_lenient_discoverability": {
+ "description": "Flag to make the object discoverable.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "permissions",
+ "message"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Sharing metadata objects is successful."
+ },
+ "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/security/metadata/unpublish": {
+ "post": {
+ "operationId": "unpublishMetadata",
+ "description": "\nBeta Version: 10.9.0.cl or later\n\nAllows unpublishing metadata objects from organizations in ThoughtSpot.\n\nRequires ADMINISTRATION role and TENANT scope.\n\nThe API endpoint allows unpublishing the following types of metadata objects:\n* Liveboards\n* Answers\n* Logical Tables\n\nWhen unpublishing objects, you can:\n* Include dependencies by setting `include_dependencies` to true - this will unpublish all dependent objects if no other published object is using them\n* Force unpublish by setting `force` to true - this will break all dependent objects in the unpublished organizations\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "10.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "force": {
+ "description": "Force unpublishes the object. This will break all the dependent objects in the unpublished orgs.",
+ "type": "boolean",
+ "nullable": true
+ },
+ "include_dependencies": {
+ "description": "Should we unpublish all the dependencies for the objects specified.\nThe dependencies will be unpublished if no other published object is using it.",
+ "type": "boolean"
+ },
+ "metadata": {
+ "description": "Metadata objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PublishMetadataListItem"
+ }
+ },
+ "org_identifiers": {
+ "description": "Unique ID or name of orgs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "include_dependencies",
+ "metadata",
+ "org_identifiers"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Unpublishing metadata objects is successful."
+ },
+ "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/security/column/rules/update": {
+ "post": {
+ "operationId": "updateColumnSecurityRules",
+ "description": "\nBeta Version: 10.12.0.cl or later\n\nCreates, updates, or deletes column security rules for specified tables.\n\nThis API endpoint allows you to create, update, or delete column-level security rules on columns of a table. The operation follows an \"all or none\" policy: if defining security rules for any of the provided columns fails, the entire operation will be rolled back, and no rules will be created.\n\n#### Usage guidelines\n\n- Provide table identifier using either `identifier` (GUID or name) or `obj_identifier` (object ID)\n- Use `clear_csr: true` to remove all column security rules from the table\n- For each column, specify the security rule using `column_security_rules` array\n- Use `is_unsecured: true` to mark a specific column as unprotected\n- Use `group_access` operations to manage group associations:\n - `ADD`: Add groups to the column's access list\n - `REMOVE`: Remove groups from the column's access list\n - `REPLACE`: Replace all existing groups with the specified groups\n\n#### Required permissions\n\n- `ADMINISTRATION` - Can administer ThoughtSpot\n- `DATAMANAGEMENT` - Can manage data (if RBAC is disabled)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` - Can manage worksheet views and tables (if RBAC is enabled)\n\n#### Example request\n\n```json\n{\n \"identifier\": \"table-guid\",\n \"obj_identifier\": \"table-object-id\",\n \"clear_csr\": false,\n \"column_security_rules\": [\n {\n \"column_identifier\": \"col id or col name\",\n \"is_unsecured\": false,\n \"group_access\": [\n {\n \"operation\": \"ADD\",\n \"group_identifiers\": [\"hr_group_id\", \"hr_group_name\", \"finance_group_id\"]\n }\n ]\n },\n {\n \"column_identifier\": \"col id or col name\",\n \"is_unsecured\": true\n },\n {\n \"column_identifier\": \"col id or col name\",\n \"is_unsecured\": false,\n \"group_access\": [\n {\n \"operation\": \"REPLACE\",\n \"group_identifiers\": [\"management_group_id\", \"management_group_name\"]\n }\n ]\n }\n ]\n}\n```\n\n#### Request Body Schema\n\n- `identifier` (string, optional): GUID or name of the table for which we want to create column security rules\n- `obj_identifier` (string, optional): The object ID of the table\n- `clear_csr` (boolean, optional): If true, then all the secured columns will be marked as unprotected, and all the group associations will be removed\n- `column_security_rules` (array of objects, required): An array where each object defines the security rule for a specific column\n\nEach column security rule object contains:\n- `column_identifier` (string, required): Column identifier (col_id or name)\n- `is_unsecured` (boolean, optional): If true, the column will be marked as unprotected and all groups associated with it will be removed\n- `group_access` (array of objects, optional): Array of group operation objects\n\nEach group operation object contains:\n- `operation` (string, required): Operation type - ADD, REMOVE, or REPLACE\n- `group_identifiers` (array of strings, required): Array of group identifiers (name or GUID) on which the operation will be performed\n\n#### Response\n\nThis API does not return any response body. A successful operation returns HTTP 200 status code.\n\n#### Operation Types\n\n- **ADD**: Adds the specified groups to the column's access list\n- **REMOVE**: Removes the specified groups from the column's access list \n- **REPLACE**: Replaces all existing groups with the specified groups \n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Security",
+ "10.12.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "description": "GUID or name of the table for which we want to create column security rules",
+ "type": "string"
+ },
+ "obj_identifier": {
+ "description": "The object ID of the table",
+ "type": "string"
+ },
+ "clear_csr": {
+ "description": "If true, then all the secured columns will be marked as unprotected, and all the group associations will be removed",
+ "type": "boolean",
+ "nullable": true
+ },
+ "column_security_rules": {
+ "description": "Array where each object defines the security rule for a specific column",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnSecurityRuleUpdate"
+ }
+ }
+ },
+ "required": [
+ "column_security_rules"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Successfully updated column security rules"
+ },
+ "400": {
+ "description": "Bad request - Invalid parameters or table not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden - User doesn't have permission to modify security rules for this table",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server 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": ""
+ }
+ }
+ }
+ }
+ }
+ },
+ "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/config-update": {
+ "post": {
+ "operationId": "updateSystemConfig",
+ "description": "\n Version: 9.2.0.cl or later\n\nUpdates the current configuration of the cluster. You must send the configuration data in JSON format.\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 `APPLICATION_ADMINISTRATION` (**Can manage application settings**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "System",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "configuration": {
+ "description": "Configuration JSON with the key-value pair of configuration attributes to be updated.",
+ "type": "object"
+ }
+ },
+ "required": [
+ "configuration"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Configuration successfully updated."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/tags/assign": {
+ "post": {
+ "operationId": "assignTag",
+ "description": "\n Version: 9.0.0.cl or later\n\nAssigns tags to Liveboards, Answers, Tables, and Worksheets.\n\nRequires edit access to the metadata object.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Tags",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TagMetadataTypeInput"
+ }
+ },
+ "tag_identifiers": {
+ "description": "GUID or name of the tag.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "metadata",
+ "tag_identifiers"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Tags successfully assigned."
+ },
+ "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/tags/create": {
+ "post": {
+ "operationId": "createTag",
+ "description": "\n Version: 9.0.0.cl or later\n\nCreates a tag object.\n\nTags are labels that identify a metadata object. For example, you can create a tag to designate subject areas, such as sales, HR, marketing, and finance.\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 `TAGMANAGEMENT` (**Can manage tags**) privilege is required to create, edit, and delete tags.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Tags",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the tag.",
+ "type": "string"
+ },
+ "color": {
+ "description": "Hex color code to be assigned to the tag. For example, #ff78a9.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Tag successfully created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Tag"
+ },
+ "examples": {
+ "example_1": {
+ "value": {
+ "name": "test5",
+ "id": "6abf5aec-3485-4f83-b25f-8c55b92e2b20",
+ "color": "#342323",
+ "deleted": false,
+ "hidden": false,
+ "external": false,
+ "deprecated": false,
+ "creation_time_in_millis": 1685441468684,
+ "modification_time_in_millis": 1685441468684,
+ "author_id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "modifier_id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "owner_id": "6abf5aec-3485-4f83-b25f-8c55b92e2b20"
+ }
+ }
+ }
+ }
+ }
+ },
+ "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/tags/{tag_identifier}/delete": {
+ "post": {
+ "operationId": "deleteTag",
+ "description": "\n Version: 9.0.0.cl or later\n\nDeletes a tag object from the ThoughtSpot system\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 `TAGMANAGEMENT` (**Can manage tags**) privilege is required to create, edit, and delete tags.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Tags",
+ "9.0.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tag_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Tag identifier Tag name or Tag id."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Tag successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/tags/search": {
+ "post": {
+ "operationId": "searchTags",
+ "description": "\n Version: 9.0.0.cl or later\n\nGets a list of tag objects available on the ThoughtSpot system. To get details of a specific tag object, specify the GUID or name.\n\nAny authenticated user can search for tag objects.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Tags",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "tag_identifier": {
+ "description": "Name or Id of the tag.",
+ "type": "string"
+ },
+ "name_pattern": {
+ "description": "A pattern to match case-insensitive name of the Tag object.",
+ "type": "string"
+ },
+ "color": {
+ "description": "Color of the tag.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Tags search result.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Tag"
+ }
+ },
+ "examples": {
+ "example_1": {
+ "value": [
+ {
+ "name": "test4",
+ "id": "0935bbb5-17e2-43ab-b657-da6bf347cbb4",
+ "color": "#342323",
+ "deleted": false,
+ "hidden": false,
+ "external": false,
+ "deprecated": false,
+ "creation_time_in_millis": 1684937524885,
+ "modification_time_in_millis": 1684937524885,
+ "author_id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "modifier_id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "owner_id": "0935bbb5-17e2-43ab-b657-da6bf347cbb4"
+ },
+ {
+ "name": "test6",
+ "id": "65a5c39a-daf5-4cae-975f-44283628494e",
+ "color": "#342323",
+ "deleted": false,
+ "hidden": false,
+ "external": false,
+ "deprecated": false,
+ "creation_time_in_millis": 1684988834183,
+ "modification_time_in_millis": 1684988887888,
+ "author_id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "modifier_id": "59481331-ee53-42be-a548-bd87be6ddd4a",
+ "owner_id": "65a5c39a-daf5-4cae-975f-44283628494e"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "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/tags/unassign": {
+ "post": {
+ "operationId": "unassignTag",
+ "description": "\n Version: 9.0.0.cl or later\n\nRemoves the tags applied to a Liveboard, Answer, Table, or Worksheet.\n\nRequires edit access to the metadata object.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Tags",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TagMetadataTypeInput"
+ }
+ },
+ "tag_identifiers": {
+ "description": "GUID or name of the tag.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "metadata",
+ "tag_identifiers"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Tags successfully unassigned."
+ },
+ "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/tags/{tag_identifier}/update": {
+ "post": {
+ "operationId": "updateTag",
+ "description": "\n Version: 9.0.0.cl or later\n\nUpdates a tag object.\n\nYou can modify the `name` and `color` properties of a tag object. \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 `TAGMANAGEMENT` (**Can manage tags**) privilege is required to create, edit, and delete tags.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Tags",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the tag.",
+ "type": "string"
+ },
+ "color": {
+ "description": "Hex color code to be assigned to the tag. For example, #ff78a9.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tag_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Name or Id of the tag."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Tag 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/users/activate": {
+ "post": {
+ "operationId": "activateUser",
+ "description": "\n Version: 9.7.0.cl or later\n\nActivates a deactivated user account.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\nTo activate an inactive user account, the API request body must include the following information:\n\n- Username or the GUID of the user account.\n- Auth token generated for the deactivated user. The auth token is sent in the API response when a user is deactivated.\n- Password for the user account.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.7.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "user_identifier": {
+ "description": "Unique ID or name of the user.",
+ "type": "string"
+ },
+ "auth_token": {
+ "description": "Auth token for the user.",
+ "type": "string"
+ },
+ "password": {
+ "description": "New password for the user to access the account.",
+ "type": "string"
+ },
+ "properties": {
+ "description": "Properties of the user.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "user_identifier",
+ "auth_token",
+ "password"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "User activated successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/User"
+ }
+ }
+ }
+ },
+ "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/users/change-password": {
+ "post": {
+ "operationId": "changeUserPassword",
+ "description": "\n Version: 9.0.0.cl or later\n\nUpdates the current password of the user.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "current_password": {
+ "description": "Current password of the user.",
+ "type": "string"
+ },
+ "new_password": {
+ "description": "New password for the user.",
+ "type": "string"
+ },
+ "user_identifier": {
+ "description": "GUID or name of the user.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "current_password",
+ "new_password",
+ "user_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "User password change operation successful."
+ },
+ "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/users/create": {
+ "post": {
+ "operationId": "createUser",
+ "description": "\n Version: 9.0.0.cl or later\n\nCreates a user in ThoughtSpot.\n\nThe API endpoint allows you to configure several user properties such as email address, account status, share notification preferences, and sharing visibility. You can provision the user to [groups](https://docs.thoughtspot.com/cloud/latest/groups-privileges) and [Orgs](https://docs.thoughtspot.com/cloud/latest/orgs-overview). You can also add Liveboard, Answer, and Worksheet objects to the user's favorites list, assign a default Liveboard for the user, and set user preferences.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the user. The username string must be unique.",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "A unique display name string for the user account, usually their first and last name",
+ "type": "string"
+ },
+ "password": {
+ "description": "Password for the user account. For IAMv2 users, you must set this password if you do not want to trigger an activation email.",
+ "type": "string"
+ },
+ "email": {
+ "description": "Email of the user account",
+ "type": "string"
+ },
+ "account_type": {
+ "description": "Type of the account.",
+ "default": "LOCAL_USER",
+ "type": "string",
+ "enum": [
+ "LOCAL_USER",
+ "LDAP_USER",
+ "SAML_USER",
+ "OIDC_USER",
+ "REMOTE_USER"
+ ]
+ },
+ "account_status": {
+ "description": "Current status of the user account. The `SUSPENDED` user state indicates a transitional state applicable to IAMv2 users only.",
+ "default": "ACTIVE",
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "INACTIVE",
+ "EXPIRED",
+ "LOCKED",
+ "PENDING",
+ "SUSPENDED"
+ ]
+ },
+ "org_identifiers": {
+ "description": "List of Org IDs to which the user belongs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "group_identifiers": {
+ "description": "GUIDs or names of the groups to which the newly created user belongs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "visibility": {
+ "description": "Visibility of the users. When set to SHARABLE, the user is visible to other users and groups when they try to share an object.",
+ "default": "SHARABLE",
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ]
+ },
+ "notify_on_share": {
+ "description": "User preference for receiving email notifications when another ThoughtSpot\nuser shares a metadata object such as Answer, Liveboard, or Worksheet.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "show_onboarding_experience": {
+ "description": "The user preference for revisiting the onboarding experience.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "onboarding_experience_completed": {
+ "description": "flag to get the on-boarding experience is completed or not.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "home_liveboard_identifier": {
+ "description": "GUID of the Liveboard to set a default Liveboard for the user.\nThoughtSpot displays this Liveboard on the Home page when the user logs in.",
+ "type": "string"
+ },
+ "favorite_metadata": {
+ "description": "Metadata objects to add to the user's favorites list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FavoriteMetadataInput"
+ }
+ },
+ "preferred_locale": {
+ "description": "Locale for the user.",
+ "type": "string",
+ "enum": [
+ "en-CA",
+ "en-GB",
+ "en-US",
+ "de-DE",
+ "ja-JP",
+ "zh-CN",
+ "pt-BR",
+ "fr-FR",
+ "fr-CA",
+ "es-US",
+ "da-DK",
+ "es-ES",
+ "fi-FI",
+ "sv-SE",
+ "nb-NO",
+ "pt-PT",
+ "nl-NL",
+ "it-IT",
+ "ru-RU",
+ "en-IN",
+ "de-CH",
+ "en-NZ",
+ "es-MX",
+ "en-AU",
+ "zh-Hant",
+ "ko-KR",
+ "en-DE"
+ ]
+ },
+ "extended_properties": {
+ "description": "Properties for the user",
+ "type": "object"
+ },
+ "extended_preferences": {
+ "description": "Preferences for the user",
+ "type": "object"
+ },
+ "trigger_welcome_email": {
+ "description": "Flag to indicate whether welcome email should be sent to user. This parameter is applied only on clusters on which IAM is disabled.",
+ "type": "boolean",
+ "nullable": true
+ },
+ "trigger_activation_email": {
+ "description": "Flag to indicate whether activation email should be sent to the user. Default value for IAMv2 users is set to true. Users must either set this to false, or enter a valid \npassword if they do not want to trigger an activation email.",
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "name",
+ "display_name",
+ "email"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "User successfully created.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/User"
+ }
+ }
+ }
+ },
+ "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/users/deactivate": {
+ "post": {
+ "operationId": "deactivateUser",
+ "description": "\n Version: 9.7.0.cl or later\n\nDeactivates a user account.\n\nRequires `ADMINISTRATION` (**Can administer Thoughtspot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\nTo deactivate a user account, the API request body must include the following information:\n\n- Username or the GUID of the user account\n- Base URL of the ThoughtSpot instance\n\nIf the API request is successful, ThoughtSpot returns the activation URL in the response. The activation URL is valid for 14 days and can be used to re-activate the account and reset the password of the deactivated account.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.7.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "user_identifier": {
+ "description": "Unique ID or name of the user.",
+ "type": "string"
+ },
+ "base_url": {
+ "description": "Base url of the cluster.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "user_identifier",
+ "base_url"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "User deactivated successfully.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseActivationURL"
+ }
+ }
+ }
+ },
+ "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/users/{user_identifier}/delete": {
+ "post": {
+ "operationId": "deleteUser",
+ "description": "\n Version: 9.0.0.cl or later\n\nDeletes a user from the ThoughtSpot system.\n\nIf you want to remove a user from a specific Org but not from ThoughtSpot, update the group and Org mapping properties of the user object via a POST API call to the [/api/rest/2.0/users/{user_identifier}/update](#/http/api-endpoints/users/update-user) endpoint.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "user_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "GUID / name of the user"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "User successfully deleted."
+ },
+ "400": {
+ "description": "Invalid request.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized access.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "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/users/force-logout": {
+ "post": {
+ "operationId": "forceLogoutUsers",
+ "description": "\n Version: 9.0.0.cl or later\n\nEnforces logout on current user sessions. \n\nUse this API with caution as it may invalidate active user sessions and force users to re-login. Make sure you specify the usernames or GUIDs. If you pass null values in the API call, all user sessions on your cluster become invalid, and the users are forced to re-login.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "user_identifiers": {
+ "description": "GUID or name of the users for force logging out their sessions.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Force logging out of users operation successful."
+ },
+ "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/users/import": {
+ "post": {
+ "operationId": "importUsers",
+ "description": "\n Version: 9.0.0.cl or later\n\nImports user data from external databases into ThoughtSpot. During the user import operation:\n\n* If the specified users are not available in ThoughtSpot, the users are created and assigned a default password. Defining a `default_password` in the API request is optional.\n* If `delete_unspecified_users` is set to `true`, the users not specified in the API request, excluding the `tsadmin`, `guest`, `system` and `su` users, are deleted.\n* If the specified user objects are already available in ThoughtSpot, the object properties are updated and synchronized as per the input data in the API request.\n\nA successful API call returns the object that represents the changes made in the ThoughtSpot system.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "users": {
+ "description": "List of users needs to be imported.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ImportUser"
+ }
+ },
+ "default_password": {
+ "description": "The default password to assign to users if they do not have a password assigned in ThoughtSpot.",
+ "type": "string"
+ },
+ "dry_run": {
+ "description": "If true, the API performs a test operation and returns user IDs whose data will be edited after the import.",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "delete_unspecified_users": {
+ "description": "If set to true, removes the users that are not specified in the API request.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ },
+ "required": [
+ "users"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Import users operation successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ImportUsersResponse"
+ }
+ }
+ }
+ },
+ "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/users/reset-password": {
+ "post": {
+ "operationId": "resetUserPassword",
+ "description": "\n Version: 9.0.0.cl or later\n\nResets the password of a user account. Administrators can reset password on behalf of a user.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "new_password": {
+ "description": "New password for the user.",
+ "type": "string"
+ },
+ "user_identifier": {
+ "description": "GUID or name of the user.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "new_password",
+ "user_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "User password reset operation successful."
+ },
+ "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/users/search": {
+ "post": {
+ "operationId": "searchUsers",
+ "description": "\n Version: 9.0.0.cl or later\n\nGets a list of users available on the ThoughtSpot system.\n\nTo get details of a specific user, specify the user GUID or name. You can also filter the API response based on groups, Org ID, user visibility, account status, user type, and user preference settings and favorites.\n\nAvailable to all users. Users with `ADMINISTRATION` (**Can administer ThoughtSpot**) privileges can view all users properties. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n**NOTE**: If the API returns an empty list, consider increasing the value of the `record_size` parameter. To search across all available users, set `record_size` to `-1`.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "user_identifier": {
+ "description": "GUID / name of the user to search",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "A unique display name string for the user account, usually their first and last name",
+ "type": "string"
+ },
+ "name_pattern": {
+ "description": "A pattern to match case-insensitive name of the User object.",
+ "type": "string"
+ },
+ "visibility": {
+ "description": "Visibility of the user",
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ]
+ },
+ "email": {
+ "description": "Email of the user account",
+ "type": "string"
+ },
+ "group_identifiers": {
+ "description": "GUID or name of the group to which the user belongs",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "privileges": {
+ "description": "Privileges assigned to the user",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "ADMINISTRATION",
+ "AUTHORING",
+ "USERDATAUPLOADING",
+ "DATADOWNLOADING",
+ "USERMANAGEMENT",
+ "DATAMANAGEMENT",
+ "SHAREWITHALL",
+ "JOBSCHEDULING",
+ "A3ANALYSIS",
+ "EXPERIMENTALFEATUREPRIVILEGE",
+ "BYPASSRLS",
+ "RANALYSIS",
+ "DEVELOPER",
+ "USER_ADMINISTRATION",
+ "GROUP_ADMINISTRATION",
+ "SYNCMANAGEMENT",
+ "CAN_CREATE_CATALOG",
+ "DISABLE_PINBOARD_CREATION",
+ "LIVEBOARD_VERIFIER",
+ "PREVIEW_THOUGHTSPOT_SAGE",
+ "APPLICATION_ADMINISTRATION",
+ "SYSTEM_INFO_ADMINISTRATION",
+ "ORG_ADMINISTRATION",
+ "ROLE_ADMINISTRATION",
+ "AUTHENTICATION_ADMINISTRATION",
+ "BILLING_INFO_ADMINISTRATION",
+ "CAN_MANAGE_CUSTOM_CALENDAR",
+ "CAN_CREATE_OR_EDIT_CONNECTIONS",
+ "CAN_MANAGE_WORKSHEET_VIEWS_TABLES",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "ALLOW_NON_EMBED_FULL_APP_ACCESS",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "CAN_SETUP_VERSION_CONTROL"
+ ]
+ }
+ },
+ "account_type": {
+ "description": "Type of the account",
+ "type": "string",
+ "enum": [
+ "LOCAL_USER",
+ "LDAP_USER",
+ "SAML_USER",
+ "OIDC_USER",
+ "REMOTE_USER"
+ ]
+ },
+ "account_status": {
+ "description": "Current status of the user account.",
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "INACTIVE",
+ "EXPIRED",
+ "LOCKED",
+ "PENDING",
+ "SUSPENDED"
+ ]
+ },
+ "notify_on_share": {
+ "description": "User preference for receiving email notifications when another ThoughtSpot user\nshares a metadata object such as Answer, Liveboard, or Worksheet.",
+ "type": "boolean",
+ "nullable": true
+ },
+ "show_onboarding_experience": {
+ "description": "The user preference for revisiting the onboarding experience",
+ "type": "boolean",
+ "nullable": true
+ },
+ "onboarding_experience_completed": {
+ "description": "Indicates if the user has completed the onboarding walkthrough",
+ "type": "boolean",
+ "nullable": true
+ },
+ "org_identifiers": {
+ "description": "IDs or names of the Orgs to which the user belongs",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "home_liveboard_identifier": {
+ "description": "Unique ID or name of the user's home Liveboard.",
+ "type": "string"
+ },
+ "favorite_metadata": {
+ "description": "Metadata objects which are assigned as favorites of the user.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FavoriteMetadataInput"
+ }
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included.",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included.",
+ "default": 10,
+ "type": "integer",
+ "format": "int32"
+ },
+ "sort_options": {
+ "description": "Sort options.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SortOptions"
+ }
+ ]
+ },
+ "role_identifiers": {
+ "description": "Filters by the role assigned to the user.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "include_favorite_metadata": {
+ "description": "Indicates if the user's favorite objects should be displayed.",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "User search result.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/User"
+ }
+ }
+ }
+ }
+ },
+ "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/users/{user_identifier}/update": {
+ "post": {
+ "operationId": "updateUser",
+ "description": "\n Version: 9.0.0.cl or later\n\nUpdates the properties of a user object.\n\nYou can modify user properties such as username, email, and share notification settings. You can also assign new groups and Orgs, remove the user from a group or Org, reset password, and modify user preferences.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Users",
+ "9.0.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the user. The username string must be unique.",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "A unique display name string for the user account, usually their first and last name",
+ "type": "string"
+ },
+ "visibility": {
+ "description": "Visibility of the users. When set to SHARABLE, the user is visible to other users and groups when they try to share an object.",
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ]
+ },
+ "email": {
+ "description": "Email of the user account",
+ "type": "string"
+ },
+ "account_status": {
+ "description": "Current status of the user account. The `SUSPENDED` user state indicates a transitional state applicable to IAMv2 users only.",
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "INACTIVE",
+ "EXPIRED",
+ "LOCKED",
+ "PENDING",
+ "SUSPENDED"
+ ]
+ },
+ "notify_on_share": {
+ "description": "User preference for receiving email notifications when another ThoughtSpot user\nshares a metadata object such as Answer, Liveboard, or Worksheet.",
+ "type": "boolean",
+ "nullable": true
+ },
+ "show_onboarding_experience": {
+ "description": "The user preference for revisiting the onboarding experience.",
+ "type": "boolean",
+ "nullable": true
+ },
+ "onboarding_experience_completed": {
+ "description": "Indicates if the user has completed the onboarding and allows turning off the onboarding walkthrough.",
+ "type": "boolean",
+ "nullable": true
+ },
+ "account_type": {
+ "description": "Type of the account.",
+ "type": "string",
+ "enum": [
+ "LOCAL_USER",
+ "LDAP_USER",
+ "SAML_USER",
+ "OIDC_USER",
+ "REMOTE_USER"
+ ]
+ },
+ "group_identifiers": {
+ "description": "GUIDs or names of the groups.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "home_liveboard_identifier": {
+ "description": "GUID of the Liveboard to set a default Liveboard for the user. ThoughtSpot displays\nthis Liveboard on the Home page when the user logs in.",
+ "type": "string"
+ },
+ "favorite_metadata": {
+ "description": "Metadata objects to add to the user's favorites list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FavoriteMetadataInput"
+ }
+ },
+ "org_identifiers": {
+ "description": "IDs of the Orgs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "operation": {
+ "description": "Type of update operation. Default operation type is REPLACE",
+ "default": "REPLACE",
+ "type": "string",
+ "enum": [
+ "ADD",
+ "REMOVE",
+ "REPLACE"
+ ]
+ },
+ "preferred_locale": {
+ "description": "Locale for the user.",
+ "type": "string",
+ "enum": [
+ "en-CA",
+ "en-GB",
+ "en-US",
+ "de-DE",
+ "ja-JP",
+ "zh-CN",
+ "pt-BR",
+ "fr-FR",
+ "fr-CA",
+ "es-US",
+ "da-DK",
+ "es-ES",
+ "fi-FI",
+ "sv-SE",
+ "nb-NO",
+ "pt-PT",
+ "nl-NL",
+ "it-IT",
+ "ru-RU",
+ "en-IN",
+ "de-CH",
+ "en-NZ",
+ "es-MX",
+ "en-AU",
+ "zh-Hant",
+ "ko-KR",
+ "en-DE"
+ ]
+ },
+ "extended_properties": {
+ "description": "Properties for the user",
+ "type": "object"
+ },
+ "extended_preferences": {
+ "description": "Preferences for the user",
+ "type": "object"
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "user_identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "GUID / name of the user"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "User 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/template/variables/create": {
+ "post": {
+ "operationId": "createVariable",
+ "description": "\nCreate a variable which can be used for parameterizing metadata objects
Beta Version: 10.9.0.cl or later\n\nAllows creating a variable which can be used for parameterizing metadata objects in ThoughtSpot.\n\nRequires ADMINISTRATION role and TENANT scope.\n\nThe API endpoint supports the following types of variables:\n* CONNECTION_PROPERTY - For connection properties\n* TABLE_MAPPING - For table mappings\n* CONNECTION_PROPERTY_PER_PRINCIPAL - For connection properties per principal. In order to use this please contact support to enable this.\n\nWhen creating a variable, you need to specify:\n* The variable type\n* A unique name for the variable\n* Whether the variable contains sensitive values (defaults to false)\n* The variable values (optional)\n\nThe operation will fail if:\n* The user lacks required permissions\n* The variable name already exists\n* The variable type is invalid\n* The variable values are invalid for the specified type \n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Variable",
+ "10.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of variable",
+ "type": "string",
+ "enum": [
+ "CONNECTION_PROPERTY",
+ "TABLE_MAPPING",
+ "CONNECTION_PROPERTY_PER_PRINCIPAL"
+ ]
+ },
+ "name": {
+ "description": "Name of the variable. This is unique across the cluster.",
+ "type": "string"
+ },
+ "sensitive": {
+ "description": "If the variable contains sensitive values like passwords",
+ "default": false,
+ "type": "boolean",
+ "nullable": true
+ },
+ "values": {
+ "description": "Values of variable",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/InputVariableValue"
+ }
+ }
+ },
+ "required": [
+ "type",
+ "name"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Create variable is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Variable"
+ }
+ }
+ }
+ },
+ "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/template/variables/{identifier}/delete": {
+ "post": {
+ "operationId": "deleteVariable",
+ "description": "\nDelete a variable
Beta Version: 10.9.0.cl or later\n\nAllows deleting a variable from ThoughtSpot.\n\nRequires ADMINISTRATION role and TENANT scope.\n\nThe API endpoint requires:\n* The variable identifier (ID or name)\n\nThe operation will fail if:\n* The user lacks required permissions\n* The variable doesn't exist\n* The variable is being used by other objects \n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Variable",
+ "10.9.0.cl"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique id or name of the variable"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Deleting the variable is successful."
+ },
+ "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/template/variables/search": {
+ "post": {
+ "operationId": "searchVariables",
+ "description": "\nSearch variables
Beta Version: 10.9.0.cl or later\n\nAllows searching for variables in ThoughtSpot.\n\nRequires ADMINISTRATION role.\n\nThe API endpoint supports searching variables by:\n* Variable identifier (ID or name)\n* Variable type\n* Name pattern (case-insensitive, supports % for wildcard)\n\nThe search results can be formatted in three ways:\n* METADATA_ONLY - Returns only variable metadata (default)\n* METADATA_AND_VALUES - Returns variable metadata and values\n* EDITABLE_METADATA_AND_VALUES - Returns only editable variable metadata and values\n\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Variable",
+ "10.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "variable_details": {
+ "description": "Variable details",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VariableDetailInput"
+ }
+ },
+ "record_offset": {
+ "description": "The starting record number from where the records should be included",
+ "default": 0,
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": "The number of records that should be included",
+ "default": 10,
+ "type": "integer",
+ "format": "int32"
+ },
+ "output_format": {
+ "description": "Format in which we want the output",
+ "default": "METADATA_ONLY",
+ "type": "string",
+ "enum": [
+ "METADATA_ONLY",
+ "METADATA_AND_VALUES",
+ "EDITABLE_METADATA_AND_VALUES"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "List of variables is successful.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Variable"
+ }
+ }
+ }
+ }
+ },
+ "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/template/variables/{identifier}/update": {
+ "post": {
+ "operationId": "updateVariable",
+ "description": "\nUpdate a variable's properties
Beta Version: 10.9.0.cl or later\n\nAllows updating a variable's properties in ThoughtSpot.\n\nRequires ADMINISTRATION role and TENANT scope.\n\nThe API endpoint allows updating:\n* The variable name\n* The variable values\n\nWhen updating variable values, you need to specify:\n* The operation to perform (ADD, REPLACE, REMOVE)\n* The new values to add/replace/remove\n\nWhen the operation is ADD, a value any pre-existing value with the same set of constraints will be replaced.\nWhen the operation is REPLACE, all values of the variable are replaced with the values specified.\nWhen the operation is REMOVE, all values with the given set of conditions are removed.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Variable",
+ "10.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "New name of the variable if we want to rename.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation to perform on the values.",
+ "default": "REPLACE",
+ "type": "string",
+ "enum": [
+ "ADD",
+ "REMOVE",
+ "REPLACE"
+ ]
+ },
+ "values": {
+ "description": "Values of variable to be updated.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/InputVariableValue"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Unique id or name of the variable to update."
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Updating the variable is successful."
+ },
+ "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/template/variables/update": {
+ "post": {
+ "operationId": "updateVariableValues",
+ "description": "\nUpdate values for multiple variables
Beta Version: 10.9.0.cl or later\n\nAllows updating values for multiple variables in ThoughtSpot.\n\nRequires ADMINISTRATION role.\n\nThe API endpoint allows:\n* Adding new values to variables\n* Replacing existing values\n* Deleting values from variables\n\nWhen updating variable values, you need to specify:\n* The variable identifiers\n* The values to add/replace/remove for each variable\n* The operation to perform (ADD, REPLACE, REMOVE)\n\nBehaviour based on operation type:\n* ADD - Adds values to the variable. Any pre-existing values with the same conditions are replaced.\n* REPLACE - Replaces all values of a given org with the current set of values.\n* REMOVE - Removes any values which match the set of conditions of the variables.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Variable",
+ "10.9.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "variable_updates": {
+ "description": "Variables and values",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VariableValueInput"
+ }
+ },
+ "operation": {
+ "description": "Type of update operation",
+ "type": "string",
+ "enum": [
+ "ADD",
+ "REMOVE",
+ "REPLACE"
+ ]
+ }
+ },
+ "required": [
+ "variable_updates",
+ "operation"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Updating variable values is successful."
+ },
+ "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/vcs/git/branches/commit": {
+ "post": {
+ "operationId": "commitBranch",
+ "description": "\n Version: 9.2.0.cl or later\n\nCommits TML files of metadata objects to the Git branch configured on your instance.\n\nRequires at least edit access to objects used in the commit operation.\n\nBefore using this endpoint to push your commits:\n\n* Enable Git integration on your instance.\n* Make sure the Git repository and branch details are configured on your instance.\n\nFor more information, see [Git integration documentation](https://developers.thoughtspot.com/docs/git-integration).\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/MetadataObject"
+ }
+ },
+ "delete_aware": {
+ "description": "Delete the tml files from version control repo if it does not exist in the ThoughSpot instance",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "branch_name": {
+ "description": " Name of the remote branch where object should be pushed\n \n\nNote: If no branch_name is specified, then the commit_branch_name will be considered.",
+ "type": "string"
+ },
+ "comment": {
+ "description": "Comment to be added to the commit",
+ "type": "string"
+ }
+ },
+ "required": [
+ "metadata",
+ "comment"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successfully committed the metadata objects",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CommitResponse"
+ }
+ }
+ }
+ },
+ "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/vcs/git/config/create": {
+ "post": {
+ "operationId": "createConfig",
+ "description": "\n Version: 9.2.0.cl or later\n\nAllows you to connect a ThoughtSpot instance to a Git repository.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance on your instance, the `CAN_SETUP_VERSION_CONTROL` (**Can set up version control**) privilege.\n\nYou can use this API endpoint to connect your ThoughtSpot development and production environments to the development and production branches of a Git repository.\n\nBefore using this endpoint to connect your ThoughtSpot instance to a Git repository, check the following prerequisites:\n\n* You have a Git repository. If you are using GitHub, make sure you have a valid account and an access token to connect ThoughtSpot to GitHub. For information about generating a token, see [GitHub Documentation](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens).\n\n* Your access token has `repo` scope that grants full access to public and private repositories.\n* Your Git repository has a branch that can be configured as a default branch in ThoughtSpot.\n\nFor more information, see [Git integration documentation](https://developers.thoughtspot.com/docs/?pageid=git-integration).\n\n**Note**: ThoughtSpot supports only GitHub / itHub Enterprise for CI/CD.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "repository_url": {
+ "description": "URL for connecting to remote repository",
+ "type": "string"
+ },
+ "username": {
+ "description": "Username to authenticate connection to remote repository",
+ "type": "string"
+ },
+ "access_token": {
+ "description": "Access token corresponding to the user to authenticate connection to remote repository",
+ "type": "string"
+ },
+ "org_identifier": {
+ "description": " Applicable when Orgs is enabled in the cluster\n \n\nList of Org ids or name. Provide value -1 for cluster level. Example : [\"OrgID1-or-Name1\", \"OrgID2-or-Name2\"] \n\n\n \n\nNote: If no value is specified, then the configurations will be returned for all orgs the user has access to
Version: 9.5.0.cl or later",
+ "type": "string"
+ },
+ "branch_names": {
+ "description": "List the remote branches to configure. Example:[development, production]",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "commit_branch_name": {
+ "description": "Name of the remote branch where objects from this Thoughtspot instance will be versioned.
Version: 9.7.0.cl or later",
+ "type": "string"
+ },
+ "enable_guid_mapping": {
+ "description": "Maintain mapping of guid for the deployment to an instance
Version: 9.4.0.cl or later",
+ "default": true,
+ "type": "boolean",
+ "nullable": true
+ },
+ "configuration_branch_name": {
+ "description": " Name of the branch where the configuration files related to operations between Thoughtspot and version control repo should be maintained.\n \n\nNote: If no branch name is specified, then by default, ts_config_files branch is considered. Ensure this branch exists before configuration.
Version: 9.7.0.cl or later",
+ "type": "string"
+ }
+ },
+ "required": [
+ "repository_url",
+ "username",
+ "access_token"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successfully configured local repository",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RepoConfigObject"
+ }
+ }
+ }
+ },
+ "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/vcs/git/config/delete": {
+ "post": {
+ "operationId": "deleteConfig",
+ "description": "\n Version: 9.2.0.cl or later\n\nDeletes Git repository configuration from your ThoughtSpot instance.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance on your instance, the `CAN_SETUP_VERSION_CONTROL` (**Can set up version control**) privilege.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "cluster_level": {
+ "description": " Applicable when Orgs is enabled in the cluster\n \n\nIndicator to consider cluster level or org level config. Set it to false to delete configuration from current org. If set to true, then the configuration at cluster level and orgs that inherited the configuration from cluster level will be deleted.
Version: 9.5.0.cl or later",
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Successfully deleted local repository configuration"
+ },
+ "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/vcs/git/commits/deploy": {
+ "post": {
+ "operationId": "deployCommit",
+ "description": "\n Version: 9.2.0.cl or later\n\nAllows you to deploy a commit and publish TML content to your ThoughtSpot instance.\n\nRequires at least edit access to the objects used in the deploy operation.\n\nThe API deploys the head of the branch unless a `commit_id` is specified in the API request. If the branch name is not defined in the request, the default branch is considered for deploying commits.\n\nFor more information, see [Git integration documentation](https://developers.thoughtspot.com/docs/git-integration).\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "commit_id": {
+ "description": " Commit_id against which the files should be picked to deploy.\n \n\nNote: If no commit_id is specified, then the head of the branch is considered.",
+ "type": "string"
+ },
+ "branch_name": {
+ "description": "Name of the remote branch where changes should be picked",
+ "type": "string"
+ },
+ "deploy_type": {
+ "description": "Indicates if all files or only modified file at specified commit point should be considered",
+ "default": "DELTA",
+ "type": "string",
+ "enum": [
+ "FULL",
+ "DELTA"
+ ]
+ },
+ "deploy_policy": {
+ "description": "Define the policy to follow while importing TML in the ThoughtSpot environment. Use "ALL_OR_NONE" to cancel the deployment of all ThoughtSpot objects if at least one of them fails to import. Use "Partial" to import ThoughtSpot objects that validate successfully even if other objects in the same deploy operations fail to import.",
+ "default": "ALL_OR_NONE",
+ "type": "string",
+ "enum": [
+ "ALL_OR_NONE",
+ "PARTIAL",
+ "VALIDATE_ONLY"
+ ]
+ }
+ },
+ "required": [
+ "branch_name"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successfully deployed the changes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DeployResponse"
+ }
+ }
+ }
+ }
+ },
+ "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/vcs/git/commits/{commit_id}/revert": {
+ "post": {
+ "operationId": "revertCommit",
+ "description": "\n Version: 9.2.0.cl or later\n\nReverts TML objects to a previous commit specified in the API request.\n\nRequires at least edit access to objects.\n\nIn the API request, specify the `commit_id`. If the branch name is not specified in the request, the API will consider the default branch configured on your instance.\n\nBy default, the API reverts all objects. If the revert operation fails for one of the objects provided in the commit, the API returns an error and does not revert any object.\n\nFor more information, see [Git integration documentation](https://developers.thoughtspot.com/docs/git-integration).\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "description": "Metadata objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/MetadataObject"
+ }
+ },
+ "branch_name": {
+ "description": " Name of the branch where the reverted version should be committed\n \n\nNote: If no branch_name is specified, then the commit_branch_name will be considered.",
+ "type": "string"
+ },
+ "revert_policy": {
+ "description": "Policy to apply when reverting a commit. Valid values: [ALL_OR_NONE, PARTIAL]",
+ "default": "ALL_OR_NONE",
+ "type": "string",
+ "enum": [
+ "ALL_OR_NONE",
+ "PARTIAL"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "commit_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "description": "Commit id to which the object should be reverted"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Reverted the object to the commit point specified",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RevertResponse"
+ }
+ }
+ }
+ },
+ "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/vcs/git/commits/search": {
+ "post": {
+ "operationId": "searchCommits",
+ "description": "\n Version: 9.2.0.cl or later\n\nGets a list of commits for a given metadata object.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance on your instance, the `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**) privilege and edit access to the metadata objects.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "metadata_identifier": {
+ "description": "Unique ID or name of the metadata.",
+ "type": "string"
+ },
+ "metadata_type": {
+ "description": "Type of metadata.",
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "CUSTOM_ACTION"
+ ]
+ },
+ "branch_name": {
+ "description": " Name of the branch from which commit history needs to be displayed.\n \n\nNote: If no branch_name is specified, then commits will be returned for the default branch for this configuration.",
+ "type": "string"
+ },
+ "record_offset": {
+ "description": " Record offset point in the commit history to display the response.\n \n\nNote: If no record offset is specified, the beginning of the record will be considered.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "record_size": {
+ "description": " Number of history records from record offset point to be displayed in the response.\n \n\nNote: If no record size is specified, then all the records will be considered.",
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "required": [
+ "metadata_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Commit history of the metadata object",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CommitHistoryResponse"
+ }
+ }
+ }
+ }
+ },
+ "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/vcs/git/config/search": {
+ "post": {
+ "operationId": "searchConfig",
+ "description": "\n Version: 9.2.0.cl or later\n\nGets Git repository connections configured on the ThoughtSpot instance.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance on your instance, the `CAN_SETUP_VERSION_CONTROL` (**Can set up version control**) privilege.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "org_identifiers": {
+ "description": " Applicable when Orgs is enabled in the cluster\n \n\nList of Org ids or name. Provide value -1 for cluster level. Example : [\"OrgID1-or-Name1\", \"OrgID2-or-Name2\"] \n\n\n \n\nNote: If no value is specified, then the configurations will be returned for all orgs the user has access to
Version: 9.5.0.cl or later",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Details of local repository configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/RepoConfigObject"
+ }
+ }
+ }
+ }
+ },
+ "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/vcs/git/config/update": {
+ "post": {
+ "operationId": "updateConfig",
+ "description": "\n Version: 9.2.0.cl or later\n\nUpdates Git repository configuration settings.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance on your instance, the `CAN_SETUP_VERSION_CONTROL` (**Can set up version control**) privilege.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "Username to authenticate connection to version control system",
+ "type": "string"
+ },
+ "access_token": {
+ "description": "Access token corresponding to the user to authenticate connection to version control system",
+ "type": "string"
+ },
+ "org_identifier": {
+ "description": " Applicable when Orgs is enabled in the cluster\n \n\nList of Org ids or name. Provide value -1 for cluster level. Example : [\"OrgID1-or-Name1\", \"OrgID2-or-Name2\"] \n\n\n \n\nNote: If no value is specified, then the configurations will be returned for all orgs the user has access to
Version: 9.5.0.cl or later",
+ "type": "string"
+ },
+ "branch_names": {
+ "description": "List the remote branches to configure. Example:[development, production]",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "commit_branch_name": {
+ "description": "Name of the remote branch where objects from this Thoughtspot instance will be versioned.
Version: 9.7.0.cl or later",
+ "type": "string"
+ },
+ "enable_guid_mapping": {
+ "description": "Maintain mapping of guid for the deployment to an instance
Version: 9.4.0.cl or later",
+ "type": "boolean",
+ "nullable": true
+ },
+ "configuration_branch_name": {
+ "description": "Name of the branch where the configuration files related to operations between Thoughtspot and version control repo should be maintained.
Version: 9.7.0.cl or later",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Successfully updated local repository configuration",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RepoConfigObject"
+ }
+ }
+ }
+ },
+ "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/vcs/git/branches/validate": {
+ "post": {
+ "operationId": "validateMerge",
+ "description": "\n Version: 9.2.0.cl or later\n\nValidates the content of your source branch against the objects in your destination environment.\n\nBefore merging content from your source branch to the destination branch, run this API operation from your destination environment and ensure that the changes from the source branch function in the destination environment.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance on your instance, the `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**) privilege and edit access to the metadata objects.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "Version Control",
+ "9.2.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "source_branch_name": {
+ "description": "Name of the branch from which changes need to be picked for validation",
+ "type": "string"
+ },
+ "target_branch_name": {
+ "description": "Name of the branch where files will be merged",
+ "type": "string"
+ }
+ },
+ "required": [
+ "source_branch_name",
+ "target_branch_name"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "validation done successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DeployResponse"
+ }
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "schemas": {
+ "ErrorResponse": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "object",
+ "nullable": true
+ }
+ }
+ },
+ "GetTokenResponse": {
+ "type": "object",
+ "required": [
+ "token",
+ "creation_time_in_millis",
+ "expiration_time_in_millis",
+ "valid_for_user_id",
+ "valid_for_username"
+ ],
+ "properties": {
+ "token": {
+ "type": "string",
+ "description": "Bearer auth token."
+ },
+ "creation_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token creation time in milliseconds."
+ },
+ "expiration_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token expiration time in milliseconds."
+ },
+ "valid_for_user_id": {
+ "type": "string",
+ "description": "Username to whom the token is issued."
+ },
+ "valid_for_username": {
+ "type": "string",
+ "description": "Unique identifier of the user to whom the token is issued."
+ }
+ }
+ },
+ "RiseSetter": {
+ "type": "object",
+ "required": [
+ "field",
+ "path"
+ ],
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ }
+ }
+ },
+ "User": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "display_name",
+ "visibility"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier of the user."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the user."
+ },
+ "display_name": {
+ "type": "string",
+ "description": "Display name of the user."
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ],
+ "description": "Visibility of the users. The `SHARABLE` property makes a user visible to other users and group, who can share objects with the user."
+ },
+ "author_id": {
+ "type": "string",
+ "description": "Unique identifier of author of the user.",
+ "nullable": true
+ },
+ "can_change_password": {
+ "type": "boolean",
+ "description": "Defines whether the user can change their password.",
+ "nullable": true
+ },
+ "complete_detail": {
+ "type": "boolean",
+ "description": "Defines whether the response has complete detail of the user.",
+ "nullable": true
+ },
+ "creation_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Creation time of the user in milliseconds.",
+ "nullable": true
+ },
+ "current_org": {
+ "$ref": "#/components/schemas/Org",
+ "description": "Current logged-in Org of the user.",
+ "nullable": true
+ },
+ "deleted": {
+ "type": "boolean",
+ "description": "Indicates whether the user is deleted.",
+ "nullable": true
+ },
+ "deprecated": {
+ "type": "boolean",
+ "description": "Indicates whether the user is deprecated.",
+ "nullable": true
+ },
+ "account_type": {
+ "type": "string",
+ "enum": [
+ "LOCAL_USER",
+ "LDAP_USER",
+ "SAML_USER",
+ "OIDC_USER",
+ "REMOTE_USER"
+ ],
+ "description": "Type of the user account.",
+ "nullable": true
+ },
+ "account_status": {
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "INACTIVE",
+ "EXPIRED",
+ "LOCKED",
+ "PENDING",
+ "SUSPENDED"
+ ],
+ "description": "Status of the user account.",
+ "nullable": true
+ },
+ "email": {
+ "type": "string",
+ "description": "Email of the user.",
+ "nullable": true
+ },
+ "expiration_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Expiration time of the user in milliseconds.",
+ "nullable": true
+ },
+ "external": {
+ "type": "boolean",
+ "description": "Indicates whether the user is external.",
+ "nullable": true
+ },
+ "favorite_metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FavoriteMetadataItem"
+ },
+ "description": "Metadata objects to add to the users' favorites list.",
+ "nullable": true
+ },
+ "first_login_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Timestamp of the first login session of the user in milliseconds.",
+ "nullable": true
+ },
+ "group_mask": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Group mask of the user.",
+ "nullable": true
+ },
+ "hidden": {
+ "type": "boolean",
+ "description": "Indicates whether the user is hidden.",
+ "nullable": true
+ },
+ "home_liveboard": {
+ "$ref": "#/components/schemas/Object_ID_And_Name",
+ "description": "Unique ID or name of the default Liveboard assigned to the user.",
+ "nullable": true
+ },
+ "incomplete_details": {
+ "type": "object",
+ "description": "Incomplete details of user if any present.",
+ "nullable": true
+ },
+ "is_first_login": {
+ "type": "boolean",
+ "description": "Indicates whether it is first login of the user.",
+ "nullable": true
+ },
+ "modification_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Last modified time of the user in milliseconds.",
+ "nullable": true
+ },
+ "modifier_id": {
+ "type": "string",
+ "description": "Unique identifier of modifier of the user.",
+ "nullable": true
+ },
+ "notify_on_share": {
+ "type": "boolean",
+ "description": "User preference for receiving email notifications on shared Answers or Liveboard.",
+ "nullable": true
+ },
+ "onboarding_experience_completed": {
+ "type": "boolean",
+ "description": "The user preference for turning off the onboarding experience.",
+ "nullable": true
+ },
+ "orgs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Org"
+ },
+ "description": "Orgs to which the user belongs.",
+ "nullable": true
+ },
+ "owner_id": {
+ "type": "string",
+ "description": "Unique identifier of owner of the user.",
+ "nullable": true
+ },
+ "parent_type": {
+ "type": "string",
+ "enum": [
+ "USER",
+ "GROUP"
+ ],
+ "description": "Parent type of the user.",
+ "nullable": true
+ },
+ "privileges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Privileges which are assigned to the user.",
+ "nullable": true
+ },
+ "show_onboarding_experience": {
+ "type": "boolean",
+ "description": "User's preference to revisit the new user onboarding experience.",
+ "nullable": true
+ },
+ "super_user": {
+ "type": "boolean",
+ "description": "Indicates whether the user is a super user.",
+ "nullable": true
+ },
+ "system_user": {
+ "type": "boolean",
+ "description": "Indicates whether the user is a system user.",
+ "nullable": true
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Object_ID_And_Name"
+ },
+ "description": "Tags associated with the user.",
+ "nullable": true
+ },
+ "tenant_id": {
+ "type": "string",
+ "description": "Unique identifier of tenant of the user.",
+ "nullable": true
+ },
+ "user_groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Object_ID_And_Name"
+ },
+ "description": "Groups to which the user is assigned.",
+ "nullable": true
+ },
+ "user_inherited_groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Object_ID_And_Name"
+ },
+ "description": "Inherited User Groups which the user is part of.",
+ "nullable": true
+ },
+ "welcome_email_sent": {
+ "type": "boolean",
+ "description": "Indicates whether welcome email is sent for the user.",
+ "nullable": true
+ },
+ "org_privileges": {
+ "type": "object",
+ "description": "Privileges which are assigned to the user with org.",
+ "nullable": true
+ },
+ "preferred_locale": {
+ "type": "string",
+ "description": "Locale for the user.",
+ "nullable": true
+ },
+ "extended_properties": {
+ "type": "object",
+ "description": "Properties for the user",
+ "nullable": true
+ },
+ "extended_preferences": {
+ "type": "object",
+ "description": "Preferences for the user",
+ "nullable": true
+ },
+ "user_parameters": {
+ "type": "object",
+ "description": "User Parameters which are specified for the user via JWToken",
+ "nullable": true
+ },
+ "access_control_properties": {
+ "type": "object",
+ "description": "Access Control Properties which are specified for the user via JWToken",
+ "nullable": true
+ }
+ }
+ },
+ "Org": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The ID of the object."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the object."
+ }
+ },
+ "description": "The current Org context of the user."
+ },
+ "FavoriteMetadataItem": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "type"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique ID of the metadata object."
+ },
+ "name": {
+ "type": "string",
+ "description": "name of the metadata object."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION",
+ "TAG",
+ "USER",
+ "USER_GROUP",
+ "LOGICAL_RELATIONSHIP"
+ ],
+ "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."
+ }
+ }
+ },
+ "Object_ID_And_Name": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The unique identifier of the object.",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the object.",
+ "nullable": true
+ }
+ },
+ "description": "The object representation with ID and Name."
+ },
+ "FavoriteMetadataInput": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata object.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER"
+ ],
+ "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.",
+ "nullable": true
+ }
+ }
+ },
+ "SortOptions": {
+ "type": "object",
+ "properties": {
+ "field_name": {
+ "type": "string",
+ "enum": [
+ "NAME",
+ "DISPLAY_NAME",
+ "AUTHOR",
+ "CREATED",
+ "MODIFIED"
+ ],
+ "description": "Name of the field to apply the sort on.",
+ "nullable": true
+ },
+ "order": {
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "description": "Sort order : ASC(Ascending) or DESC(Descending).",
+ "nullable": true
+ }
+ },
+ "description": "Sort options."
+ },
+ "SystemInfo": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The unique identifier of the object",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the cluster.",
+ "nullable": true
+ },
+ "release_version": {
+ "type": "string",
+ "description": "The release version of the cluster.",
+ "nullable": true
+ },
+ "time_zone": {
+ "type": "string",
+ "description": "The timezone of the cluster.",
+ "nullable": true
+ },
+ "locale": {
+ "type": "string",
+ "description": "The default locale of the cluster.",
+ "nullable": true
+ },
+ "date_format": {
+ "type": "string",
+ "description": "The default date format representation of the cluster.",
+ "nullable": true
+ },
+ "api_version": {
+ "type": "string",
+ "description": "The API version of the cluster.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The deployment type of the cluster.",
+ "nullable": true
+ },
+ "environment": {
+ "type": "string",
+ "description": "The deployed environment of the cluster.",
+ "nullable": true
+ },
+ "license": {
+ "type": "string",
+ "description": "The license applied to the cluster.",
+ "nullable": true
+ },
+ "date_time_format": {
+ "type": "string",
+ "description": "The default date time format representation of the cluster.",
+ "nullable": true
+ },
+ "time_format": {
+ "type": "string",
+ "description": "The default time format representation of the cluster.",
+ "nullable": true
+ },
+ "system_user_id": {
+ "type": "string",
+ "description": "The unique identifier of system user.",
+ "nullable": true
+ },
+ "super_user_id": {
+ "type": "string",
+ "description": "The unique identifier of super user.",
+ "nullable": true
+ },
+ "hidden_object_id": {
+ "type": "string",
+ "description": "The unique identifier of hidden object.",
+ "nullable": true
+ },
+ "system_group_id": {
+ "type": "string",
+ "description": "The unique identifier of system group.",
+ "nullable": true
+ },
+ "tsadmin_user_id": {
+ "type": "string",
+ "description": "The unique identifier of tsadmin user.",
+ "nullable": true
+ },
+ "admin_group_id": {
+ "type": "string",
+ "description": "The unique identifier of admin group.",
+ "nullable": true
+ },
+ "all_tables_connection_id": {
+ "type": "string",
+ "description": "The unique identifier of all tables connection.",
+ "nullable": true
+ },
+ "all_user_group_id": {
+ "type": "string",
+ "description": "The unique identifier of ALL group.",
+ "nullable": true
+ },
+ "accept_language": {
+ "type": "string",
+ "description": "The supported accept language by the cluster.",
+ "nullable": true
+ },
+ "all_user_group_member_user_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The count of users of ALL group.",
+ "nullable": true
+ },
+ "logical_model_version": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The version number of logical model of the cluster.",
+ "nullable": true
+ }
+ }
+ },
+ "SystemConfig": {
+ "type": "object",
+ "properties": {
+ "onboarding_content_url": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ },
+ "SystemOverrideInfo": {
+ "type": "object",
+ "properties": {
+ "config_override_info": {
+ "type": "object",
+ "nullable": true
+ }
+ }
+ },
+ "OrgResponse": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Unique identifier of the Org.",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the Org.",
+ "nullable": true
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "IN_ACTIVE"
+ ],
+ "description": "Status of the Org.",
+ "nullable": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the Org.",
+ "nullable": true
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "SHOW",
+ "HIDDEN"
+ ],
+ "description": "Visibility of the Org.",
+ "nullable": true
+ }
+ }
+ },
+ "Tag": {
+ "type": "object",
+ "required": [
+ "name",
+ "id"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "color": {
+ "type": "string",
+ "nullable": true
+ },
+ "deleted": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "hidden": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "external": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "deprecated": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "creation_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "nullable": true
+ },
+ "modification_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "nullable": true
+ },
+ "author_id": {
+ "type": "string",
+ "nullable": true
+ },
+ "modifier_id": {
+ "type": "string",
+ "nullable": true
+ },
+ "owner_id": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ },
+ "UserGroupResponse": {
+ "type": "object",
+ "required": [
+ "display_name",
+ "id",
+ "name",
+ "visibility"
+ ],
+ "properties": {
+ "author_id": {
+ "type": "string",
+ "description": "The unique identifier of the object",
+ "nullable": true
+ },
+ "complete_detail": {
+ "type": "boolean",
+ "description": "Indicates whether the response has complete detail of the group.",
+ "nullable": true
+ },
+ "content": {
+ "type": "object",
+ "description": "Content details of the group",
+ "nullable": true
+ },
+ "creation_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Creation time of the group in milliseconds",
+ "nullable": true
+ },
+ "default_liveboards": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "Liveboards that are assigned as default Liveboards to the group.",
+ "nullable": true
+ },
+ "deleted": {
+ "type": "boolean",
+ "description": "Indicates whether the group is deleted",
+ "nullable": true
+ },
+ "deprecated": {
+ "type": "boolean",
+ "description": "Indicates whether the group is deprecated",
+ "nullable": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the group",
+ "nullable": true
+ },
+ "display_name": {
+ "type": "string",
+ "description": "Display name of the group."
+ },
+ "external": {
+ "type": "boolean",
+ "description": "Indicates whether the group is external",
+ "nullable": true
+ },
+ "generation_number": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Generation number of the group",
+ "nullable": true
+ },
+ "hidden": {
+ "type": "boolean",
+ "description": "Indicates whether the group is hidden",
+ "nullable": true
+ },
+ "id": {
+ "type": "string",
+ "description": "The unique identifier of the object"
+ },
+ "index": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Index number of the group",
+ "nullable": true
+ },
+ "index_version": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Index version number of the group",
+ "nullable": true
+ },
+ "metadata_version": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Metadata version number of the group",
+ "nullable": true
+ },
+ "modification_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Last modified time of the group in milliseconds.",
+ "nullable": true
+ },
+ "modifier_id": {
+ "type": "string",
+ "description": "The unique identifier of the object",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the group."
+ },
+ "orgs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "Orgs in which group exists.",
+ "nullable": true
+ },
+ "owner_id": {
+ "type": "string",
+ "description": "The unique identifier of the object",
+ "nullable": true
+ },
+ "parent_type": {
+ "type": "string",
+ "enum": [
+ "USER",
+ "GROUP"
+ ],
+ "description": "Parent type of the group.",
+ "nullable": true
+ },
+ "privileges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Privileges which are assigned to the group",
+ "nullable": true
+ },
+ "sub_groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "Groups who are part of the group",
+ "nullable": true
+ },
+ "system_group": {
+ "type": "boolean",
+ "description": "Indicates whether the group is a system group.",
+ "nullable": true
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "Tags associated with the group.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LOCAL_GROUP",
+ "LDAP_GROUP"
+ ],
+ "description": "Type of the group.",
+ "nullable": true
+ },
+ "users": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "Users who are part of the group.",
+ "nullable": true
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ],
+ "description": "Visibility of the group. The SHARABLE makes a group visible to other users and groups, and thus allows them to share objects."
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Role"
+ },
+ "description": "List of roles assgined to the user",
+ "nullable": true
+ }
+ }
+ },
+ "Role": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "id of the role",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "name of the role",
+ "nullable": true
+ }
+ }
+ },
+ "MetadataListItemInput": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata.",
+ "nullable": true
+ },
+ "obj_identifier": {
+ "type": "string",
+ "description": "CustomObjectId of the metadata.",
+ "nullable": true
+ },
+ "name_pattern": {
+ "type": "string",
+ "description": "A pattern to match the case-insensitive name of the metadata object. User % for a wildcard match.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION",
+ "TAG",
+ "USER",
+ "USER_GROUP",
+ "LOGICAL_RELATIONSHIP",
+ "INSIGHT_SPEC"
+ ],
+ "description": "Type of metadata. Required if the name of the object is set as identifier. This attribute is optional when the object GUID is specified as identifier.\n1. Liveboard\n2. Answers\n3. LOGICAL_TABLE for any data object such as table, worksheet or view.\n4. LOGICAL_COLUMN for a column of any data object such as table, worksheet or view.\n5. CONNECTION for creating or modify data connections.\n6. TAG for tag objects.\n7. USER for user objects.\n8. USER_GROUP for group objects.\n9. LOGICAL_RELATIONSHIP for table or worksheet joins. A join combines from one or several data object by using matching values\n10. INSIGHT_SPEC for SpotIQ objects",
+ "nullable": true
+ },
+ "subtypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "ONE_TO_ONE_LOGICAL",
+ "WORKSHEET",
+ "PRIVATE_WORKSHEET",
+ "USER_DEFINED",
+ "AGGR_WORKSHEET",
+ "SQL_VIEW"
+ ]
+ },
+ "description": "List of subtype of metadata. Applies for LOGICAL_TABLE type with the following valid values.\n1. ONE_TO_ONE_LOGICAL\n2. WORKSHEET\n3. PRIVATE_WORKSHEET.\n4. USER_DEFINED.\n5. AGGR_WORKSHEET.\n6. SQL_VIEW
Version: 10.11.0.cl or later",
+ "nullable": true
+ }
+ }
+ },
+ "PermissionInput": {
+ "type": "object",
+ "required": [
+ "principal",
+ "share_mode"
+ ],
+ "properties": {
+ "principal": {
+ "$ref": "#/components/schemas/PrincipalsInput",
+ "description": "Details of users or groups."
+ },
+ "share_mode": {
+ "type": "string",
+ "enum": [
+ "READ_ONLY",
+ "MODIFY",
+ "NO_ACCESS"
+ ],
+ "description": "Object share mode."
+ }
+ },
+ "description": "Details of users or groups."
+ },
+ "ExcludeMetadataListItemInput": {
+ "type": "object",
+ "required": [
+ "identifier",
+ "type"
+ ],
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION",
+ "TAG",
+ "USER",
+ "USER_GROUP",
+ "LOGICAL_RELATIONSHIP",
+ "INSIGHT_SPEC"
+ ],
+ "description": "Type of metadata. Required if the name of the object is set as identifier. This attribute is optional when the object GUID is specified as identifier.\n1. Liveboard\n2. Answers\n3. LOGICAL_TABLE for any data object such as table, worksheet or view\n4. LOGICAL_COLUMN for a column of any data object such as table, worksheet or view\n5. CONNECTION for connection objects\n6. TAG for tag objects\n7. USER for user objects\n8. USER_GROUP for group objects\n9. LOGICAL_RELATIONSHIP for table or worksheet joins. A join combines from one or several data object by using matching values.\n10. INSIGHT_SPEC for SpotIQ objects"
+ }
+ }
+ },
+ "FavoriteObjectOptionsInput": {
+ "type": "object",
+ "properties": {
+ "include": {
+ "type": "boolean",
+ "default": false,
+ "description": "Includes objects marked as favorite for the specified users.",
+ "nullable": true
+ },
+ "user_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the users. If not specified, the favorite objects of current logged in user are returned.",
+ "nullable": true
+ }
+ },
+ "description": "Favorite object options."
+ },
+ "MetadataSearchSortOptions": {
+ "type": "object",
+ "properties": {
+ "field_name": {
+ "type": "string",
+ "enum": [
+ "NAME",
+ "DISPLAY_NAME",
+ "AUTHOR",
+ "CREATED",
+ "MODIFIED",
+ "VIEWS",
+ "FAVORITES",
+ "LAST_ACCESSED"
+ ],
+ "description": "Name of the field to apply the sort on.",
+ "nullable": true
+ },
+ "order": {
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "description": "Sort order : ASC(Ascending) or DESC(Descending).",
+ "nullable": true
+ }
+ },
+ "description": "Sort options."
+ },
+ "MetadataSearchResponse": {
+ "type": "object",
+ "required": [
+ "metadata_type"
+ ],
+ "properties": {
+ "metadata_id": {
+ "type": "string",
+ "description": "Unique identifier of the metadata.",
+ "nullable": true
+ },
+ "metadata_name": {
+ "type": "string",
+ "description": "Name of the metadata.",
+ "nullable": true
+ },
+ "metadata_type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION",
+ "TAG",
+ "USER",
+ "USER_GROUP",
+ "LOGICAL_RELATIONSHIP",
+ "INSIGHT_SPEC"
+ ],
+ "description": "Type of the metadata."
+ },
+ "metadata_obj_id": {
+ "type": "string",
+ "description": "Custom identifier of the metadata.\n(Available from 10.8.0.cl onwards)",
+ "nullable": true
+ },
+ "dependent_objects": {
+ "type": "object",
+ "description": "Details of dependent objects of the metadata objects.",
+ "nullable": true
+ },
+ "incomplete_objects": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "description": "Details of incomplete information of the metadata objects if any.",
+ "nullable": true
+ },
+ "metadata_detail": {
+ "type": "object",
+ "description": "Complete details of the metadata objects.",
+ "nullable": true
+ },
+ "metadata_header": {
+ "type": "object",
+ "description": "Header information of the metadata objects.",
+ "nullable": true
+ },
+ "visualization_headers": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "description": "Visualization header information of the metadata objects.",
+ "nullable": true
+ },
+ "stats": {
+ "type": "object",
+ "description": "Stats of the metadata object. Includes views, favorites, last_accessed.",
+ "nullable": true
+ }
+ },
+ "description": "Metadata Search Response Object."
+ },
+ "GetAsyncImportStatusResponse": {
+ "type": "object",
+ "properties": {
+ "status_list": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ImportEPackAsyncTaskStatus"
+ },
+ "description": "List of task statuses.",
+ "nullable": true
+ },
+ "last_batch": {
+ "type": "boolean",
+ "description": "Indicates whether there are more task statuses to fetch.",
+ "nullable": true
+ }
+ }
+ },
+ "ImportEPackAsyncTaskStatus": {
+ "type": "object",
+ "properties": {
+ "tenant_id": {
+ "type": "string",
+ "description": "GUID of tenant from which the task is initiated.",
+ "nullable": true
+ },
+ "org_id": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Organisation ID of the user who initiated the task.",
+ "nullable": true
+ },
+ "task_id": {
+ "type": "string",
+ "description": "Unique identifier for the task.",
+ "nullable": true
+ },
+ "task_name": {
+ "type": "string",
+ "description": "Name of the task.",
+ "nullable": true
+ },
+ "import_response": {
+ "type": "object",
+ "description": "Response of imported objects so far.",
+ "nullable": true
+ },
+ "task_status": {
+ "type": "string",
+ "enum": [
+ "COMPLETED",
+ "IN_QUEUE",
+ "IN_PROGRESS",
+ "FAILED"
+ ],
+ "description": "Current status of the task.",
+ "nullable": true
+ },
+ "author_id": {
+ "type": "string",
+ "description": "ID of the user who initiated the task.",
+ "nullable": true
+ },
+ "import_policy": {
+ "type": "string",
+ "enum": [
+ "PARTIAL",
+ "ALL_OR_NONE",
+ "VALIDATE_ONLY",
+ "PARTIAL_OBJECT"
+ ],
+ "description": "Policy used for the import task.",
+ "nullable": true
+ },
+ "created_at": {
+ "type": "number",
+ "format": "float",
+ "description": "Time when the task was created (in ms since epoch).",
+ "nullable": true
+ },
+ "in_progress_at": {
+ "type": "number",
+ "format": "float",
+ "description": "Time when the task started (in ms since epoch).",
+ "nullable": true
+ },
+ "completed_at": {
+ "type": "number",
+ "format": "float",
+ "description": "Time when the task was completed (in ms since epoch).",
+ "nullable": true
+ },
+ "total_object_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total number of objects to process.",
+ "nullable": true
+ },
+ "object_processed_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of objects processed so far.",
+ "nullable": true
+ },
+ "modified_at": {
+ "type": "number",
+ "format": "float",
+ "description": "Last time the task status was updated (in ms since epoch).",
+ "nullable": true
+ },
+ "author_display_name": {
+ "type": "string",
+ "description": "Display name of the user who initiated the task.",
+ "nullable": true
+ }
+ }
+ },
+ "SqlQueryResponse": {
+ "type": "object",
+ "required": [
+ "metadata_id",
+ "metadata_name",
+ "metadata_type",
+ "sql_queries"
+ ],
+ "properties": {
+ "metadata_id": {
+ "type": "string",
+ "description": "Unique identifier of the metadata."
+ },
+ "metadata_name": {
+ "type": "string",
+ "description": "Name of the metadata."
+ },
+ "metadata_type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION",
+ "TAG",
+ "USER",
+ "USER_GROUP",
+ "LOGICAL_RELATIONSHIP"
+ ],
+ "description": "Type of the metadata."
+ },
+ "sql_queries": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SqlQuery"
+ },
+ "description": "SQL query details of metadata objects."
+ }
+ }
+ },
+ "SqlQuery": {
+ "type": "object",
+ "required": [
+ "metadata_id",
+ "metadata_name",
+ "sql_query"
+ ],
+ "properties": {
+ "metadata_id": {
+ "type": "string",
+ "description": "Unique identifier of the metadata."
+ },
+ "metadata_name": {
+ "type": "string",
+ "description": "Name of the metadata."
+ },
+ "sql_query": {
+ "type": "string",
+ "description": "SQL query of a metadata object."
+ }
+ },
+ "description": "Response format associated with fetch SQL query api"
+ },
+ "PdfOptionsInput": {
+ "type": "object",
+ "properties": {
+ "include_cover_page": {
+ "type": "boolean",
+ "default": true,
+ "description": "Indicates whether to include the cover page with the Liveboard title.",
+ "nullable": true
+ },
+ "include_custom_logo": {
+ "type": "boolean",
+ "default": true,
+ "description": "Indicates whether to include customized wide logo in the footer if available.",
+ "nullable": true
+ },
+ "include_filter_page": {
+ "type": "boolean",
+ "default": true,
+ "description": "Indicates whether to include a page with all applied filters.",
+ "nullable": true
+ },
+ "include_page_number": {
+ "type": "boolean",
+ "default": true,
+ "description": "Indicates whether to include page number in the footer of each page.",
+ "nullable": true
+ },
+ "page_orientation": {
+ "type": "string",
+ "enum": [
+ "PORTRAIT",
+ "LANDSCAPE"
+ ],
+ "default": "PORTRAIT",
+ "description": "Page orientation of the PDF.",
+ "nullable": true
+ },
+ "truncate_table": {
+ "type": "boolean",
+ "default": false,
+ "description": "Indicates whether to include only the first page of the tables.",
+ "nullable": true
+ },
+ "page_footer_text": {
+ "type": "string",
+ "description": "Text to include in the footer of each page.",
+ "nullable": true
+ }
+ }
+ },
+ "PngOptionsInput": {
+ "type": "object",
+ "properties": {
+ "include_cover_page": {
+ "type": "boolean",
+ "default": false,
+ "description": "Indicates whether to include the cover page with the Liveboard title.",
+ "nullable": true
+ },
+ "include_filter_page": {
+ "type": "boolean",
+ "default": false,
+ "description": "Indicates whether to include a page with all applied filters.",
+ "nullable": true
+ },
+ "personalised_view_id": {
+ "type": "string",
+ "description": "Indicates personalised view of the Liveboard in case of png",
+ "nullable": true
+ },
+ "image_resolution": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Desired width of the Liveboard image in pixels. Ex. 1920 for Full HD image
Beta Version: 10.9.0.cl or later",
+ "nullable": true
+ },
+ "image_scale": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The scale of the image in percentage. Ex. 100 for 100% scale.
Beta Version: 10.9.0.cl or later",
+ "nullable": true
+ },
+ "include_header": {
+ "type": "boolean",
+ "default": false,
+ "description": "Indicates whether to include the header of the liveboard.
Beta Version: 10.9.0.cl or later",
+ "nullable": true
+ }
+ }
+ },
+ "RegionalSettingsInput": {
+ "type": "object",
+ "properties": {
+ "currency_format": {
+ "type": "string",
+ "description": "ISO code to be appended with currency values.",
+ "nullable": true,
+ "enum": [
+ "ADP",
+ "AED",
+ "AFN",
+ "ALL",
+ "AMD",
+ "ANG",
+ "AOA",
+ "ARA",
+ "ARS",
+ "ATS",
+ "AUD",
+ "AWG",
+ "AZN",
+ "BAM",
+ "BBD",
+ "BDT",
+ "BEF",
+ "BGL",
+ "BGM",
+ "BGN",
+ "BHD",
+ "BIF",
+ "BMD",
+ "BND",
+ "BOB",
+ "BOP",
+ "BOV",
+ "BRL",
+ "BSD",
+ "BTN",
+ "BUK",
+ "BWP",
+ "BYN",
+ "BZD",
+ "CAD",
+ "CDF",
+ "CHE",
+ "CHF",
+ "CHW",
+ "CLE",
+ "CLP",
+ "CNX",
+ "CNY",
+ "COP",
+ "COU",
+ "CRC",
+ "CSK",
+ "CUC",
+ "CUP",
+ "CVE",
+ "CYP",
+ "CZK",
+ "DDM",
+ "DEM",
+ "DJF",
+ "DKK",
+ "DOP",
+ "DZD",
+ "ECS",
+ "ECV",
+ "EEK",
+ "EGP",
+ "ERN",
+ "ESP",
+ "ETB",
+ "EUR",
+ "FIM",
+ "FJD",
+ "FKP",
+ "FRF",
+ "GBP",
+ "GEK",
+ "GEL",
+ "GHS",
+ "GIP",
+ "GMD",
+ "GNF",
+ "GNS",
+ "GQE",
+ "GRD",
+ "GTQ",
+ "GWE",
+ "GWP",
+ "GYD",
+ "HKD",
+ "HNL",
+ "HRD",
+ "HRK",
+ "HTG",
+ "HUF",
+ "IDR",
+ "IEP",
+ "ILP",
+ "ILS",
+ "INR",
+ "IQD",
+ "IRR",
+ "ISK",
+ "ITL",
+ "JMD",
+ "JOD",
+ "JPY",
+ "KES",
+ "KGS",
+ "KHR",
+ "KMF",
+ "KPW",
+ "KRW",
+ "KWD",
+ "KYD",
+ "KZT",
+ "LAK",
+ "LBP",
+ "LKR",
+ "LRD",
+ "LSL",
+ "LTL",
+ "LTT",
+ "LUC",
+ "LUF",
+ "LUL",
+ "LVL",
+ "LVR",
+ "LYD",
+ "MAD",
+ "MAF",
+ "MCF",
+ "MDC",
+ "MDL",
+ "MGA",
+ "MGF",
+ "MKD",
+ "MLF",
+ "MMK",
+ "MNT",
+ "MOP",
+ "MRU",
+ "MTL",
+ "MTP",
+ "MUR",
+ "MVR",
+ "MWK",
+ "MXN",
+ "MXV",
+ "MYR",
+ "MZE",
+ "MZN",
+ "NAD",
+ "NGN",
+ "NIO",
+ "NLG",
+ "NOK",
+ "NPR",
+ "NZD",
+ "OMR",
+ "PAB",
+ "PEI",
+ "PEN",
+ "PGK",
+ "PHP",
+ "PKR",
+ "PLN",
+ "PTE",
+ "PYG",
+ "QAR",
+ "RHD",
+ "RON",
+ "RSD",
+ "RUB",
+ "RWF",
+ "SAR",
+ "SBD",
+ "SCR",
+ "SDG",
+ "SEK",
+ "SGD",
+ "SHP",
+ "SIT",
+ "SKK",
+ "SLL",
+ "SOS",
+ "SRD",
+ "SRG",
+ "SSP",
+ "STN",
+ "SUR",
+ "SVC",
+ "SYP",
+ "SZL",
+ "THB",
+ "TJR",
+ "TJS",
+ "TMT",
+ "TND",
+ "TOP",
+ "TPE",
+ "TRY",
+ "TTD",
+ "TWD",
+ "TZS",
+ "UAH",
+ "UAK",
+ "UGX",
+ "USD",
+ "UYU",
+ "UYW",
+ "UZS",
+ "VES",
+ "VND",
+ "VUV",
+ "WST",
+ "XAF",
+ "XAG",
+ "XAU",
+ "XBA",
+ "XBB",
+ "XCD",
+ "XDR",
+ "XEU",
+ "XFO",
+ "XFU",
+ "XOF",
+ "XPD",
+ "XPF",
+ "XPT",
+ "XRE",
+ "XSU",
+ "XTS",
+ "XUA",
+ "XXX",
+ "YDD",
+ "YER",
+ "ZAR",
+ "ZMW"
+ ]
+ },
+ "user_locale": {
+ "type": "string",
+ "description": "Indicates the locale to be used for all formattings.",
+ "nullable": true,
+ "enum": [
+ "en-CA",
+ "en-GB",
+ "en-US",
+ "de-DE",
+ "ja-JP",
+ "zh-CN",
+ "pt-BR",
+ "fr-FR",
+ "fr-CA",
+ "es-US",
+ "da-DK",
+ "es-ES",
+ "fi-FI",
+ "sv-SE",
+ "nb-NO",
+ "pt-PT",
+ "nl-NL",
+ "it-IT",
+ "ru-RU",
+ "en-IN",
+ "de-CH",
+ "en-NZ",
+ "es-MX",
+ "en-AU",
+ "zh-Hant",
+ "ko-KR",
+ "en-DE"
+ ]
+ },
+ "number_format_locale": {
+ "type": "string",
+ "description": "Indicates the locale to be used for number formatting.",
+ "nullable": true,
+ "enum": [
+ "en-CA",
+ "en-GB",
+ "en-US",
+ "de-DE",
+ "ja-JP",
+ "zh-CN",
+ "pt-BR",
+ "fr-FR",
+ "fr-CA",
+ "es-US",
+ "da-DK",
+ "es-ES",
+ "fi-FI",
+ "sv-SE",
+ "nb-NO",
+ "pt-PT",
+ "nl-NL",
+ "it-IT",
+ "ru-RU",
+ "en-IN",
+ "de-CH",
+ "en-NZ",
+ "es-MX",
+ "en-AU",
+ "zh-Hant",
+ "ko-KR",
+ "en-DE"
+ ]
+ },
+ "date_format_locale": {
+ "type": "string",
+ "description": "Indicates the locale to be used for date formatting.",
+ "nullable": true,
+ "enum": [
+ "en-CA",
+ "en-GB",
+ "en-US",
+ "de-DE",
+ "ja-JP",
+ "zh-CN",
+ "pt-BR",
+ "fr-FR",
+ "fr-CA",
+ "es-US",
+ "da-DK",
+ "es-ES",
+ "fi-FI",
+ "sv-SE",
+ "nb-NO",
+ "pt-PT",
+ "nl-NL",
+ "it-IT",
+ "ru-RU",
+ "en-IN",
+ "de-CH",
+ "en-NZ",
+ "es-MX",
+ "en-AU",
+ "zh-Hant",
+ "ko-KR",
+ "en-DE"
+ ]
+ }
+ }
+ },
+ "PermissionOfPrincipalsResponse": {
+ "type": "object",
+ "properties": {
+ "principal_permission_details": {
+ "type": "object",
+ "nullable": true
+ }
+ }
+ },
+ "PermissionOfMetadataResponse": {
+ "type": "object",
+ "properties": {
+ "metadata_permission_details": {
+ "type": "object",
+ "nullable": true
+ }
+ }
+ },
+ "PrincipalsInput": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the principal object such as a user or group."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "USER",
+ "USER_GROUP"
+ ],
+ "description": "Principal type.",
+ "nullable": true
+ }
+ }
+ },
+ "PermissionsMetadataTypeInput": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION"
+ ],
+ "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.",
+ "nullable": true
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata object."
+ }
+ },
+ "description": "MetadataType InputType used in Permission API's"
+ },
+ "ColumnSecurityRuleTableInput": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Name or GUID of the table",
+ "nullable": true
+ },
+ "obj_identifier": {
+ "type": "string",
+ "description": "Object ID of the table",
+ "nullable": true
+ }
+ }
+ },
+ "ColumnSecurityRuleResponse": {
+ "type": "object",
+ "properties": {
+ "guid": {
+ "type": "string",
+ "description": "GUID of the table for which the column security rules are fetched",
+ "nullable": true
+ },
+ "objId": {
+ "type": "string",
+ "description": "Object ID of the table for which the column security rules are fetched",
+ "nullable": true
+ },
+ "columnSecurityRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnSecurityRule"
+ },
+ "description": "Array containing column security rule objects",
+ "nullable": true
+ }
+ }
+ },
+ "ColumnSecurityRule": {
+ "type": "object",
+ "required": [
+ "column"
+ ],
+ "properties": {
+ "column": {
+ "$ref": "#/components/schemas/ColumnSecurityRuleColumn",
+ "description": "Information about the column"
+ },
+ "groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ColumnSecurityRuleGroup"
+ },
+ "description": "Array of groups that have access to this column",
+ "nullable": true
+ },
+ "sourceTableDetails": {
+ "$ref": "#/components/schemas/ColumnSecurityRuleSourceTable",
+ "description": "Information about the source table",
+ "nullable": true
+ }
+ }
+ },
+ "ColumnSecurityRuleColumn": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The unique identifier of the column"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the column"
+ }
+ }
+ },
+ "ColumnSecurityRuleGroup": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The unique identifier of the group"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the group"
+ }
+ }
+ },
+ "ColumnSecurityRuleSourceTable": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The unique identifier of the source table"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the source table"
+ }
+ }
+ },
+ "SearchDataResponse": {
+ "type": "object",
+ "required": [
+ "contents"
+ ],
+ "properties": {
+ "contents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/AnswerContent"
+ },
+ "description": "Data content of metadata objects"
+ }
+ },
+ "description": "Response format associated with the search data API."
+ },
+ "AnswerContent": {
+ "type": "object",
+ "required": [
+ "available_data_row_count",
+ "column_names",
+ "data_rows",
+ "record_offset",
+ "record_size",
+ "returned_data_row_count",
+ "sampling_ratio"
+ ],
+ "properties": {
+ "available_data_row_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total available data row count."
+ },
+ "column_names": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Name of the columns."
+ },
+ "data_rows": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "description": "Rows of data set."
+ },
+ "record_offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The starting record number from where the records should be included."
+ },
+ "record_size": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of records that should be included."
+ },
+ "returned_data_row_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total returned data row count."
+ },
+ "sampling_ratio": {
+ "type": "number",
+ "format": "float",
+ "description": "Sampling ratio (0 to 1). If the query was sampled, it is the ratio of keys returned in the data set to the total number of keys expected in the query. If the value is 1.0, this means that the complete result is returned."
+ }
+ }
+ },
+ "LiveboardDataResponse": {
+ "type": "object",
+ "required": [
+ "metadata_id",
+ "metadata_name",
+ "contents"
+ ],
+ "properties": {
+ "metadata_id": {
+ "type": "string",
+ "description": "The unique identifier of the object"
+ },
+ "metadata_name": {
+ "type": "string",
+ "description": "Name of the metadata object"
+ },
+ "contents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/LiveboardContent"
+ },
+ "description": "Data content of metadata objects"
+ }
+ }
+ },
+ "LiveboardContent": {
+ "type": "object",
+ "required": [
+ "available_data_row_count",
+ "column_names",
+ "data_rows",
+ "record_offset",
+ "record_size",
+ "returned_data_row_count",
+ "sampling_ratio"
+ ],
+ "properties": {
+ "available_data_row_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total available data row count."
+ },
+ "column_names": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Name of the columns."
+ },
+ "data_rows": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "description": "Rows of data set."
+ },
+ "record_offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The starting record number from where the records should be included."
+ },
+ "record_size": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of records that should be included."
+ },
+ "returned_data_row_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total returned data row count."
+ },
+ "sampling_ratio": {
+ "type": "number",
+ "format": "float",
+ "description": "Sampling ratio (0 to 1). If the query was sampled, it is the ratio of keys returned in the data set to the total number of keys expected in the query. If the value is 1.0, this means that the complete result is returned."
+ },
+ "visualization_id": {
+ "type": "string",
+ "description": "Unique ID of the visualization.",
+ "nullable": true
+ },
+ "visualization_name": {
+ "type": "string",
+ "description": "Name of the visualization.",
+ "nullable": true
+ }
+ }
+ },
+ "AnswerDataResponse": {
+ "type": "object",
+ "required": [
+ "metadata_id",
+ "metadata_name",
+ "contents"
+ ],
+ "properties": {
+ "metadata_id": {
+ "type": "string",
+ "description": "The unique identifier of the object"
+ },
+ "metadata_name": {
+ "type": "string",
+ "description": "Name of the metadata object"
+ },
+ "contents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/AnswerContent"
+ },
+ "description": "Data content of metadata objects"
+ }
+ },
+ "description": "Response format associated with fetch data api"
+ },
+ "LogResponse": {
+ "type": "object",
+ "required": [
+ "date",
+ "log"
+ ],
+ "properties": {
+ "date": {
+ "type": "string",
+ "description": "Date timestamp of the log entry"
+ },
+ "log": {
+ "type": "string",
+ "description": "Log data"
+ }
+ }
+ },
+ "RepoConfigObject": {
+ "type": "object",
+ "properties": {
+ "repository_url": {
+ "type": "string",
+ "description": "Remote repository URL configured",
+ "nullable": true
+ },
+ "username": {
+ "type": "string",
+ "description": "Username to authenticate connection to the version control system",
+ "nullable": true
+ },
+ "commit_branch_name": {
+ "type": "string",
+ "description": "Name of the remote branch where objects from this Thoughtspot instance will be versioned.",
+ "nullable": true
+ },
+ "branches": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Branches that have been pulled in local repository",
+ "nullable": true
+ },
+ "enable_guid_mapping": {
+ "type": "boolean",
+ "description": "Maintain mapping of guid for the deployment to an instance",
+ "nullable": true
+ },
+ "configuration_branch_name": {
+ "type": "string",
+ "description": "Name of the branch where the configuration files related to operations between Thoughtspot and version control repo should be maintained.",
+ "nullable": true
+ },
+ "org": {
+ "$ref": "#/components/schemas/Org",
+ "description": "Details of the Org",
+ "nullable": true
+ }
+ }
+ },
+ "CommitHistoryResponse": {
+ "type": "object",
+ "required": [
+ "committer",
+ "author",
+ "comment",
+ "commit_time",
+ "commit_id",
+ "branch"
+ ],
+ "properties": {
+ "committer": {
+ "$ref": "#/components/schemas/CommiterType",
+ "description": "Repository user using which changes were committed"
+ },
+ "author": {
+ "$ref": "#/components/schemas/AuthorType",
+ "description": "Thoughtspot user who commits the changes"
+ },
+ "comment": {
+ "type": "string",
+ "description": "Comments associated with the commit"
+ },
+ "commit_time": {
+ "type": "string",
+ "description": "Time at which the changes were committed."
+ },
+ "commit_id": {
+ "type": "string",
+ "description": "SHA id associated with the commit"
+ },
+ "branch": {
+ "type": "string",
+ "description": "Branch where changes were committed"
+ }
+ }
+ },
+ "CommiterType": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "Email id of the committer",
+ "nullable": true
+ },
+ "username": {
+ "type": "string",
+ "description": "Username of the committer",
+ "nullable": true
+ }
+ }
+ },
+ "AuthorType": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "Email id of the committer",
+ "nullable": true
+ },
+ "username": {
+ "type": "string",
+ "description": "Username of the committer",
+ "nullable": true
+ }
+ }
+ },
+ "ConnectionInput": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the connection.",
+ "nullable": true
+ },
+ "name_pattern": {
+ "type": "string",
+ "description": "A pattern to match case-insensitive name of the connection object. User `%` for a wildcard match.",
+ "nullable": true
+ },
+ "data_warehouse_objects": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/DataWarehouseObjectInput"
+ },
+ "description": "Filter options for databases, schemas, tables and columns.",
+ "nullable": true
+ }
+ }
+ },
+ "DataWarehouseObjectInput": {
+ "type": "object",
+ "properties": {
+ "database": {
+ "type": "string",
+ "description": "Name of the database.",
+ "nullable": true
+ },
+ "schema": {
+ "type": "string",
+ "description": "Name of the schema within the database.",
+ "nullable": true
+ },
+ "table": {
+ "type": "string",
+ "description": "Name of the table within the schema.",
+ "nullable": true
+ },
+ "column": {
+ "type": "string",
+ "description": "Name of the column within the table.",
+ "nullable": true
+ }
+ }
+ },
+ "SortOptionInput": {
+ "type": "object",
+ "properties": {
+ "field_name": {
+ "type": "string",
+ "enum": [
+ "NAME",
+ "DISPLAY_NAME",
+ "AUTHOR",
+ "CREATED",
+ "MODIFIED",
+ "LAST_ACCESSED",
+ "SYNCED",
+ "VIEWS",
+ "USER_STATE",
+ "ROW_COUNT"
+ ],
+ "description": "Name of the field to apply the sort on.",
+ "nullable": true
+ },
+ "order": {
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "description": "Sort order : ASC(Ascending) or DESC(Descending).",
+ "nullable": true
+ }
+ }
+ },
+ "SearchConnectionResponse": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "data_warehouse_type"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique ID of the connection."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the connection."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the connection.",
+ "nullable": true
+ },
+ "data_warehouse_type": {
+ "type": "string",
+ "enum": [
+ "SNOWFLAKE",
+ "AMAZON_REDSHIFT",
+ "GOOGLE_BIGQUERY",
+ "AZURE_SYNAPSE",
+ "TERADATA",
+ "SAP_HANA",
+ "STARBURST",
+ "ORACLE_ADW",
+ "DATABRICKS",
+ "DENODO",
+ "DREMIO",
+ "TRINO",
+ "PRESTO",
+ "POSTGRES",
+ "SQLSERVER",
+ "MYSQL",
+ "GENERIC_JDBC",
+ "AMAZON_RDS_POSTGRESQL",
+ "AMAZON_AURORA_POSTGRESQL",
+ "AMAZON_RDS_MYSQL",
+ "AMAZON_AURORA_MYSQL",
+ "LOOKER",
+ "AMAZON_ATHENA",
+ "SINGLESTORE",
+ "GCP_SQLSERVER",
+ "GCP_ALLOYDB_POSTGRESQL",
+ "GCP_POSTGRESQL",
+ "GCP_MYSQL",
+ "MODE",
+ "GOOGLE_SHEETS",
+ "FALCON",
+ "FALCON_ONPREM",
+ "CLICKHOUSE"
+ ],
+ "description": "Type of data warehouse."
+ },
+ "data_warehouse_objects": {
+ "$ref": "#/components/schemas/DataWarehouseObjects",
+ "description": "List of Data warehouse objects",
+ "nullable": true
+ },
+ "details": {
+ "type": "object",
+ "description": "Details of the connection.",
+ "nullable": true
+ }
+ }
+ },
+ "DataWarehouseObjects": {
+ "type": "object",
+ "required": [
+ "databases"
+ ],
+ "properties": {
+ "databases": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Database"
+ },
+ "description": "Databases of the connection."
+ }
+ }
+ },
+ "Database": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the database."
+ },
+ "schemas": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SchemaObject"
+ },
+ "description": "Schemas of the database.",
+ "nullable": true
+ },
+ "auto_created": {
+ "type": "boolean",
+ "description": "Determines if the object is auto created.",
+ "nullable": true
+ }
+ }
+ },
+ "SchemaObject": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the schema."
+ },
+ "tables": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Table"
+ },
+ "description": "Tables in the schema.",
+ "nullable": true
+ }
+ }
+ },
+ "Table": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the table."
+ },
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Column"
+ },
+ "description": "Columns of the table.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of table. Either view or table",
+ "nullable": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the table",
+ "nullable": true
+ },
+ "selected": {
+ "type": "boolean",
+ "description": "Determines if the table is selected",
+ "nullable": true
+ },
+ "linked": {
+ "type": "boolean",
+ "description": "Determines if the table is linked",
+ "nullable": true
+ },
+ "relationships": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "description": "List of relationships for the table",
+ "nullable": true
+ }
+ }
+ },
+ "Column": {
+ "type": "object",
+ "required": [
+ "name",
+ "data_type"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the column"
+ },
+ "data_type": {
+ "type": "string",
+ "description": "Data type of the column"
+ },
+ "is_aggregate": {
+ "type": "string",
+ "description": "Determines if the column schema is an aggregate",
+ "nullable": true
+ },
+ "can_import": {
+ "type": "boolean",
+ "description": "Determines if the column schema can be imported",
+ "nullable": true
+ },
+ "selected": {
+ "type": "boolean",
+ "description": "Determines if the table is selected",
+ "nullable": true
+ },
+ "is_linked_active": {
+ "type": "boolean",
+ "description": "Determines if the table is linked",
+ "nullable": true
+ }
+ }
+ },
+ "SearchRoleResponse": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "description",
+ "privileges"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique Id of the role."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the role"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the role"
+ },
+ "groups_assigned_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "number of groups assigned with this role",
+ "nullable": true
+ },
+ "orgs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/GenericInfo"
+ },
+ "description": "Orgs in which role exists.",
+ "nullable": true
+ },
+ "groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/GenericInfo"
+ },
+ "description": "Details of groups assigned with this role",
+ "nullable": true
+ },
+ "privileges": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "UNKNOWN",
+ "ADMINISTRATION",
+ "AUTHORING",
+ "USERDATAUPLOADING",
+ "DATADOWNLOADING",
+ "USERMANAGEMENT",
+ "SECURITYMANAGEMENT",
+ "LOGICALMODELING",
+ "DATAMANAGEMENT",
+ "TAGMANAGEMENT",
+ "SHAREWITHALL",
+ "SYSTEMMANAGEMENT",
+ "JOBSCHEDULING",
+ "A3ANALYSIS",
+ "EXPERIMENTALFEATUREPRIVILEGE",
+ "BYPASSRLS",
+ "RANALYSIS",
+ "DISABLE_PINBOARD_CREATION",
+ "DEVELOPER",
+ "APPLICATION_ADMINISTRATION",
+ "USER_ADMINISTRATION",
+ "GROUP_ADMINISTRATION",
+ "BACKUP_ADMINISTRATION",
+ "SYSTEM_INFO_ADMINISTRATION",
+ "ENABLESPOTAPPCREATION",
+ "SYNCMANAGEMENT",
+ "ORG_ADMINISTRATION",
+ "ROLE_ADMINISTRATION",
+ "AUTHENTICATION_ADMINISTRATION",
+ "BILLING_INFO_ADMINISTRATION",
+ "PREVIEW_THOUGHTSPOT_SAGE",
+ "LIVEBOARD_VERIFIER",
+ "CAN_MANAGE_CUSTOM_CALENDAR",
+ "CAN_CREATE_OR_EDIT_CONNECTIONS",
+ "CAN_CONFIGURE_CONNECTIONS",
+ "CAN_MANAGE_WORKSHEET_VIEWS_TABLES",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "CONTROL_TRUSTED_AUTH",
+ "CAN_CREATE_CATALOG",
+ "ALLOW_NON_EMBED_FULL_APP_ACCESS",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "CAN_SETUP_VERSION_CONTROL"
+ ]
+ },
+ "description": "Privileges granted to the role."
+ },
+ "permission": {
+ "type": "string",
+ "enum": [
+ "READ_ONLY",
+ "MODIFY",
+ "NO_ACCESS"
+ ],
+ "description": "Permission details of the Role",
+ "nullable": true
+ },
+ "author_id": {
+ "type": "string",
+ "description": "Unique identifier of author of the role.",
+ "nullable": true
+ },
+ "modifier_id": {
+ "type": "string",
+ "description": "Unique identifier of modifier of the role.",
+ "nullable": true
+ },
+ "creation_time_in_millis": {
+ "type": "object",
+ "description": "Creation time of the role in milliseconds.",
+ "nullable": true
+ },
+ "modification_time_in_millis": {
+ "type": "object",
+ "description": "Last modified time of the role in milliseconds.",
+ "nullable": true
+ },
+ "deleted": {
+ "type": "boolean",
+ "description": "Indicates whether the role is deleted.",
+ "nullable": true
+ },
+ "deprecated": {
+ "type": "boolean",
+ "description": "Indicates whether the role is deprecated.",
+ "nullable": true
+ },
+ "external": {
+ "type": "boolean",
+ "description": "Indicates whether the role is external.",
+ "nullable": true
+ },
+ "hidden": {
+ "type": "boolean",
+ "description": "Indicates whether the role is hidden.",
+ "nullable": true
+ },
+ "shared_via_connection": {
+ "type": "boolean",
+ "description": "Indicates whether the role is shared via connection",
+ "nullable": true
+ }
+ },
+ "description": "Response for search role api should handle hidden privileges as well."
+ },
+ "Default_Action_Config_Search_Input": {
+ "type": "object",
+ "properties": {
+ "visibility": {
+ "type": "boolean",
+ "description": "Custom action is available on all visualizations. Earlier naming convention: LOCAL/GLOBAL. TRUE signifies GLOBAL for backward compatibility.",
+ "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."
+ },
+ "ResponseCustomAction": {
+ "type": "object",
+ "required": [
+ "action_details",
+ "default_action_config",
+ "id",
+ "name"
+ ],
+ "properties": {
+ "action_details": {
+ "$ref": "#/components/schemas/Action_details",
+ "description": "`Type` and configuration data for custom actions"
+ },
+ "default_action_config": {
+ "$ref": "#/components/schemas/Default_action_config",
+ "description": "Default custom action configuration. This includes the custom action's visibility across all visualizations and Answers. By default, a custom action is added to all visualizations and Answers."
+ },
+ "id": {
+ "type": "string",
+ "description": "Unique Id of the custom action."
+ },
+ "metadata_association": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Metadata_Association_Item"
+ },
+ "description": "Metadata objects to assign the the custom action to.",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Unique name of the custom action."
+ },
+ "user_groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Object_ID_And_Name"
+ },
+ "description": "Unique ID or name of the User groups which are associated with the custom action.",
+ "nullable": true
+ }
+ },
+ "description": "Custom action details"
+ },
+ "Action_details": {
+ "type": "object",
+ "properties": {
+ "CALLBACK": {
+ "$ref": "#/components/schemas/CALLBACK",
+ "description": "CALLBACK Custom Action Type",
+ "nullable": true
+ },
+ "URL": {
+ "$ref": "#/components/schemas/URL",
+ "description": "URL Custom Action Type",
+ "nullable": true
+ }
+ },
+ "description": "Type and Configuration for Custom Actions"
+ },
+ "CALLBACK": {
+ "type": "object",
+ "properties": {
+ "reference": {
+ "type": "string",
+ "description": "Reference name of the SDK. By default, the value will be set to action name.",
+ "nullable": true
+ }
+ },
+ "description": "CALLBACK Custom Action Type"
+ },
+ "URL": {
+ "type": "object",
+ "required": [
+ "url"
+ ],
+ "properties": {
+ "authentication": {
+ "$ref": "#/components/schemas/Authentication",
+ "description": "Authorization type for the custom action.",
+ "nullable": true
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ParametersListItem"
+ },
+ "description": "Query parameters for url.",
+ "nullable": true
+ },
+ "url": {
+ "type": "string",
+ "description": "Request Url for the Custom action."
+ },
+ "reference": {
+ "type": "string",
+ "description": "Reference name of the SDK. By default, the value will be set to action name.",
+ "nullable": true
+ }
+ },
+ "description": "URL Custom Action Type"
+ },
+ "Authentication": {
+ "type": "object",
+ "properties": {
+ "API_Key": {
+ "$ref": "#/components/schemas/API_Key",
+ "description": "With API key auth, you send a key-value pair to the API either in the request headers or query parameters.",
+ "nullable": true
+ },
+ "Basic_Auth": {
+ "$ref": "#/components/schemas/Basic_Auth",
+ "description": "Basic Auth: Basic authentication involves sending a verified username and password with your request.",
+ "nullable": true
+ },
+ "Bearer_Token": {
+ "type": "string",
+ "description": "Bearer tokens enable requests to authenticate using an access key.",
+ "nullable": true
+ },
+ "No_Auth": {
+ "type": "string",
+ "description": "No authorization. If your request doesn't require authorization.",
+ "nullable": true
+ }
+ },
+ "description": "Authorization type for the custom action."
+ },
+ "API_Key": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "Enter your key name",
+ "nullable": true
+ },
+ "value": {
+ "type": "string",
+ "description": "Enter you key value",
+ "nullable": true
+ }
+ },
+ "description": "With API key auth, you send a key-value pair to the API either in the request headers or query parameters."
+ },
+ "Basic_Auth": {
+ "type": "object",
+ "properties": {
+ "password": {
+ "type": "string",
+ "description": "Password for the basic authentication",
+ "nullable": true
+ },
+ "username": {
+ "type": "string",
+ "description": "Username for the basic authentication",
+ "nullable": true
+ }
+ },
+ "description": "Basic Auth: Basic authentication involves sending a verified username and password with your request."
+ },
+ "ParametersListItem": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "Key for the url query parameter",
+ "nullable": true
+ },
+ "value": {
+ "type": "string",
+ "description": "Value for the url query parameter",
+ "nullable": true
+ }
+ }
+ },
+ "Default_action_config": {
+ "type": "object",
+ "properties": {
+ "visibility": {
+ "type": "boolean",
+ "description": "Custom action is available on all visualizations. Earlier , the naming convention: LOCAL/GLOBAL. TRUE signifies GLOBAL for backward compatibility.",
+ "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."
+ },
+ "Metadata_Association_Item": {
+ "type": "object",
+ "required": [
+ "action_config",
+ "identifier",
+ "type"
+ ],
+ "properties": {
+ "action_config": {
+ "$ref": "#/components/schemas/Action_config",
+ "description": "Specify that the association is enabled for the metadata object"
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata."
+ },
+ "type": {
+ "type": "string",
+ "description": " Type of metadata.\n \n\nRequired if the name of the object is set as the identifier. This attribute is optional when the object GUID is specified as the identifier."
+ }
+ }
+ },
+ "Action_config": {
+ "type": "object",
+ "properties": {
+ "position": {
+ "type": "string",
+ "description": "Position of the Custom action on the Metadata object. Earlier naming convention: context.",
+ "nullable": true
+ },
+ "visibility": {
+ "type": "boolean",
+ "description": "Visibility of the metadata association with custom action. Earlier naming convention: enabled",
+ "nullable": true
+ }
+ },
+ "description": "Specify that the association is enabled for the metadata object"
+ },
+ "CustomActionMetadataTypeInput": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "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.",
+ "nullable": true
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata object."
+ }
+ },
+ "description": "MetadataType InputType used in Custom Action API's"
+ },
+ "Input_eureka_NLSRequest": {
+ "type": "object",
+ "properties": {
+ "agentVersion": {
+ "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.",
+ "nullable": true
+ },
+ "instructions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "User specific instructions for processing the @query.",
+ "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.",
+ "nullable": true
+ }
+ }
+ },
+ "eureka_LLMDecomposeQueryResponse": {
+ "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.",
+ "nullable": true
+ }
+ }
+ },
+ "eureka_LLMSuggestedQuery": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "NL query that can be run using spotter aka natural language search to get an AI generated answer.",
+ "nullable": true
+ },
+ "worksheetId": {
+ "type": "string",
+ "description": "Unique identifier of the worksheet on which this query can be run on.",
+ "nullable": true
+ },
+ "worksheetName": {
+ "type": "string",
+ "description": "Display name of the worksheet on which this query can be run on.",
+ "nullable": true
+ }
+ }
+ },
+ "RiseGQLArgWrapper": {
+ "type": "object",
+ "required": [
+ "name",
+ "type"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ }
+ }
+ },
+ "VariableDetailInput": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the variable",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "CONNECTION_PROPERTY",
+ "TABLE_MAPPING",
+ "CONNECTION_PROPERTY_PER_PRINCIPAL"
+ ],
+ "description": "Type of variable",
+ "nullable": true
+ },
+ "name_pattern": {
+ "type": "string",
+ "description": "A pattern to match case-insensitive name of the variable. User % for a wildcard match",
+ "nullable": true
+ }
+ },
+ "description": "Input for variable details in search"
+ },
+ "Variable": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier of the variable"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the variable"
+ },
+ "variable_type": {
+ "type": "string",
+ "enum": [
+ "CONNECTION_PROPERTY",
+ "TABLE_MAPPING",
+ "CONNECTION_PROPERTY_PER_PRINCIPAL"
+ ],
+ "description": "Type of the variable",
+ "nullable": true
+ },
+ "sensitive": {
+ "type": "boolean",
+ "description": "If the variable is sensitive",
+ "nullable": true
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VariableValue"
+ },
+ "description": "Values of the variable",
+ "nullable": true
+ }
+ },
+ "description": "Variable object"
+ },
+ "VariableValue": {
+ "type": "object",
+ "required": [
+ "org_identifier"
+ ],
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The value of the variable",
+ "nullable": true
+ },
+ "org_identifier": {
+ "type": "string",
+ "description": "The unique name of the org"
+ },
+ "principal_type": {
+ "type": "string",
+ "enum": [
+ "USER",
+ "USER_GROUP"
+ ],
+ "description": "Principal type",
+ "nullable": true
+ },
+ "principal_identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the principal",
+ "nullable": true
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The priority assigned to this value. If there are 2 matching values, the one with the higher priority will be picked.",
+ "nullable": true
+ }
+ }
+ },
+ "SortOption": {
+ "type": "object",
+ "properties": {
+ "field_name": {
+ "type": "string",
+ "enum": [
+ "DEFAULT",
+ "NAME",
+ "DISPLAY_NAME",
+ "AUTHOR",
+ "CREATED",
+ "MODIFIED"
+ ],
+ "default": "DEFAULT",
+ "description": "Name of the field to apply the sort on.",
+ "nullable": true
+ },
+ "order": {
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "default": "ASC",
+ "description": "Sort order : ASC(Ascending) or DESC(Descending).",
+ "nullable": true
+ }
+ }
+ },
+ "CalendarResponse": {
+ "type": "object",
+ "properties": {
+ "calendar_name": {
+ "type": "string",
+ "description": "Name of the calendar",
+ "nullable": true
+ },
+ "connection_name": {
+ "type": "string",
+ "description": "Name of the connection",
+ "nullable": true
+ },
+ "data_warehouse_type": {
+ "type": "string",
+ "description": "Type of data warehouse",
+ "nullable": true
+ },
+ "modification_time_in_millis": {
+ "type": "string",
+ "description": "Last modification time in milliseconds",
+ "nullable": true
+ },
+ "author_name": {
+ "type": "string",
+ "description": "Name of the author who created the calendar",
+ "nullable": true
+ },
+ "connection_id": {
+ "type": "string",
+ "description": "Unique ID of the connection",
+ "nullable": true
+ },
+ "calendar_id": {
+ "type": "string",
+ "description": "Unique ID of the calendar",
+ "nullable": true
+ }
+ }
+ },
+ "ConnectionConfigurationResponse": {
+ "type": "object",
+ "properties": {
+ "configuration_identifier": {
+ "type": "string",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "nullable": true
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "configuration": {
+ "type": "object",
+ "nullable": true
+ },
+ "policy_principals": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserPrincipal"
+ },
+ "nullable": true
+ },
+ "policy_processes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "SAGE_INDEXING",
+ "ROW_COUNT_STATS"
+ ]
+ },
+ "nullable": true
+ },
+ "disabled": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "data_warehouse_type": {
+ "type": "string",
+ "enum": [
+ "SNOWFLAKE",
+ "AMAZON_REDSHIFT",
+ "GOOGLE_BIGQUERY",
+ "AZURE_SYNAPSE",
+ "TERADATA",
+ "SAP_HANA",
+ "STARBURST",
+ "ORACLE_ADW",
+ "DATABRICKS",
+ "DENODO",
+ "DREMIO",
+ "TRINO",
+ "PRESTO",
+ "POSTGRES",
+ "SQLSERVER",
+ "MYSQL",
+ "GENERIC_JDBC",
+ "AMAZON_RDS_POSTGRESQL",
+ "AMAZON_AURORA_POSTGRESQL",
+ "AMAZON_RDS_MYSQL",
+ "AMAZON_AURORA_MYSQL",
+ "LOOKER",
+ "AMAZON_ATHENA",
+ "SINGLESTORE",
+ "GCP_SQLSERVER",
+ "GCP_ALLOYDB_POSTGRESQL",
+ "GCP_POSTGRESQL",
+ "GCP_MYSQL",
+ "MODE",
+ "GOOGLE_SHEETS",
+ "FALCON",
+ "FALCON_ONPREM",
+ "CLICKHOUSE"
+ ],
+ "nullable": true
+ },
+ "policy_type": {
+ "type": "string",
+ "enum": [
+ "NO_POLICY",
+ "PRINCIPALS",
+ "PROCESSES"
+ ],
+ "nullable": true
+ }
+ }
+ },
+ "UserPrincipal": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ },
+ "GenericInfo": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ },
+ "UserGroup": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ },
+ "JWT_User_Options": {
+ "type": "object",
+ "properties": {
+ "parameters": {
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/Runtime_Filter"
+ },
+ {
+ "$ref": "#/components/schemas/Runtime_Sort"
+ },
+ {
+ "$ref": "#/components/schemas/Runtime_Param_Override"
+ }
+ ]
+ }
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/JWT_Metadata_Object"
+ },
+ "nullable": true
+ }
+ },
+ "description": "JWT user options to create a JWT token given the payload.\n\n\n*Deprecated in 9.12.0.cl. Use user_parameters instead.*"
+ },
+ "JWT_Parameter": {
+ "type": "object",
+ "properties": {
+ "runtime_filter": {
+ "type": "object",
+ "description": "Runtime filter parameter type in JWT.",
+ "nullable": true
+ },
+ "runtime_sort": {
+ "type": "object",
+ "description": "Runtime sort parameter type in JWT.",
+ "nullable": true
+ },
+ "runtime_param_override": {
+ "type": "object",
+ "description": "Runtime param override type in JWT.",
+ "nullable": true
+ }
+ },
+ "description": "List of runtime parameters need to set during the session."
+ },
+ "JWT_Metadata_Object": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "LOGICAL_TABLE"
+ ],
+ "nullable": true
+ }
+ },
+ "description": "Metadata objects."
+ },
+ "User_Parameter_Options": {
+ "type": "object",
+ "properties": {
+ "objects": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/User_Object"
+ },
+ "nullable": true
+ },
+ "runtime_filters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Runtime_Filters"
+ },
+ "description": "Objects to apply the User_Runtime_Filters.\n\nExamples to set the `runtime_filters` :\n```json\n{ \"column_name\": \"Color\", \"operator\": \"EQ\", \"values\": [\"red\"], \"persist\": false }\n```",
+ "nullable": true
+ },
+ "runtime_sorts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Runtime_Sorts"
+ },
+ "description": "Objects to apply the User_Runtime_Sorts.\n\nExamples to set the `runtime_sorts` :\n```json\n{ \"column_name\": \"Color\", \"order\": \"ASC\", \"persist\": false }\n```",
+ "nullable": true
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Runtime_Parameters"
+ },
+ "description": "Objects to apply the Runtime_Parameters.\n\nExamples to set the `parameters` :\n```json\n{ \"name\": \"Color\", \"values\": [\"Blue\"], \"persist\": false }\n```",
+ "nullable": true
+ }
+ },
+ "description": "Define attributes such as Runtime filters and Runtime parameters to send security entitlements to a user session. For more information, see [Documentation](https://developers.thoughtspot.com/docs/abac-user-parameters).\n"
+ },
+ "User_Object": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "LOGICAL_TABLE"
+ ],
+ "description": " Type of 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.\n \n\n Specify the object type as `LOGICAL_TABLE`. The `LIVEBOARD` and `ANSWER` object types are not supported.",
+ "nullable": true
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique name/id of the object."
+ }
+ },
+ "description": "Objects to apply the User_Object."
+ },
+ "Runtime_Filters": {
+ "type": "object",
+ "required": [
+ "column_name",
+ "values",
+ "operator"
+ ],
+ "properties": {
+ "column_name": {
+ "type": "string",
+ "description": "The column name to apply filter."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Value of the filters."
+ },
+ "operator": {
+ "type": "string",
+ "enum": [
+ "EQ",
+ "NE",
+ "LT",
+ "LE",
+ "GT",
+ "GE",
+ "IN",
+ "BW",
+ "CONTAINS",
+ "BEGINS_WITH",
+ "ENDS_WITH",
+ "BW_INC",
+ "BW_INC_MIN",
+ "BW_INC_MAX",
+ "LIKE",
+ "NOT_IN"
+ ],
+ "description": "Operator value. Example: EQ"
+ },
+ "persist": {
+ "type": "boolean",
+ "default": false,
+ "description": "Flag to persist the runtime filters.
Version: 9.12.0.cl or later",
+ "nullable": true
+ },
+ "objects": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/User_Object"
+ },
+ "description": "Object to apply the runtime filter.",
+ "nullable": true
+ }
+ },
+ "description": "Objects to apply the Runtime_Filters."
+ },
+ "Runtime_Sorts": {
+ "type": "object",
+ "properties": {
+ "column_name": {
+ "type": "string",
+ "description": "The column name to apply filter.",
+ "nullable": true
+ },
+ "order": {
+ "type": "string",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "description": "Order for the sort.",
+ "nullable": true
+ },
+ "persist": {
+ "type": "boolean",
+ "default": false,
+ "description": "Flag to persist the runtime sorts.
Version: 9.12.0.cl or later",
+ "nullable": true
+ },
+ "objects": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/User_Object"
+ },
+ "description": "Object to apply the runtime sort.",
+ "nullable": true
+ }
+ },
+ "description": "Objects to apply the Runtime_Sorts."
+ },
+ "Runtime_Parameters": {
+ "type": "object",
+ "required": [
+ "name",
+ "values"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the parameter."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The array of values."
+ },
+ "persist": {
+ "type": "boolean",
+ "default": false,
+ "description": "Flag to persist the parameters.
Version: 9.12.0.cl or later",
+ "nullable": true
+ },
+ "objects": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/User_Object"
+ },
+ "description": "Object to apply the runtime parameter.",
+ "nullable": true
+ }
+ },
+ "description": "Objects to apply the Runtime_Parameters."
+ },
+ "Token": {
+ "type": "object",
+ "required": [
+ "token",
+ "creation_time_in_millis",
+ "expiration_time_in_millis",
+ "scope",
+ "valid_for_user_id",
+ "valid_for_username"
+ ],
"properties": {
- "id": {
+ "token": {
"type": "string",
- "description": "Unique identifier of the user."
+ "description": "Bearer auth token."
},
- "name": {
+ "creation_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token creation time in milliseconds."
+ },
+ "expiration_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token expiration time in milliseconds."
+ },
+ "scope": {
+ "$ref": "#/components/schemas/Scope",
+ "description": "Token access scope details"
+ },
+ "valid_for_user_id": {
"type": "string",
- "description": "Name of the user."
+ "description": "Username to whom the token is issued."
},
- "display_name": {
+ "valid_for_username": {
"type": "string",
- "description": "Display name of the user."
+ "description": "Unique identifier of the user to whom the token is issued."
+ }
+ }
+ },
+ "Scope": {
+ "type": "object",
+ "required": [
+ "access_type"
+ ],
+ "properties": {
+ "access_type": {
+ "type": "string",
+ "description": "Object access scope type."
},
- "visibility": {
+ "org_id": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Unique identifier of the metadata.",
+ "nullable": true
+ },
+ "metadata_id": {
+ "type": "string",
+ "description": "Unique identifier of the Org.",
+ "nullable": true
+ }
+ }
+ },
+ "JWT_User_Options_Full": {
+ "type": "object",
+ "properties": {
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/JWT_Parameter"
+ },
+ "nullable": true
+ }
+ },
+ "description": "JWT user options to create a JWT token given the payload.\n\n\n*Deprecated in 9.12.0.cl. Use user_parameters instead.*"
+ },
+ "TokenValidationResponse": {
+ "type": "object",
+ "required": [
+ "creation_time_in_millis",
+ "expiration_time_in_millis",
+ "scope",
+ "valid_for_user_id",
+ "token_type"
+ ],
+ "properties": {
+ "creation_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token creation time in milliseconds."
+ },
+ "expiration_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token expiration time in milliseconds."
+ },
+ "scope": {
+ "$ref": "#/components/schemas/Scope",
+ "description": "Token access scope details"
+ },
+ "valid_for_user_id": {
+ "type": "string",
+ "description": "Username to whom the token is issued."
+ },
+ "token_type": {
+ "type": "string",
+ "description": "Type of token."
+ }
+ }
+ },
+ "FilterRules": {
+ "type": "object",
+ "required": [
+ "column_name",
+ "operator",
+ "values"
+ ],
+ "properties": {
+ "column_name": {
+ "type": "string",
+ "description": "The name of the column to apply the filter on."
+ },
+ "operator": {
"type": "string",
"enum": [
- "SHARABLE",
- "NON_SHARABLE"
+ "EQ",
+ "NE",
+ "LT",
+ "LE",
+ "GT",
+ "GE",
+ "IN",
+ "BW",
+ "CONTAINS",
+ "BEGINS_WITH",
+ "ENDS_WITH",
+ "BW_INC",
+ "BW_INC_MIN",
+ "BW_INC_MAX",
+ "LIKE",
+ "NOT_IN"
],
- "description": "Visibility of the users. The SHARABLE makes a users visible to other users and user groups, and thus allows them to share objects."
+ "description": "The operator to use for filtering. Example: EQ (equals), GT(greater than), etc."
},
- "author_id": {
+ "values": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ "description": "The values to filter on. To get all records, use TS_WILDCARD_ALL as values."
+ }
+ },
+ "description": "Filter Rules to be applied on Objects."
+ },
+ "ParameterValues": {
+ "type": "object",
+ "required": [
+ "name",
+ "values"
+ ],
+ "properties": {
+ "name": {
"type": "string",
- "description": "Unique identifier of author of the user."
+ "description": "The name of the column to apply the filter on."
},
- "can_change_password": {
- "type": "boolean",
- "description": "Indicates whether the user can change their password."
+ "values": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ "description": "The values to filter on. Only single value is supported currently."
+ }
+ },
+ "description": "Filter Rules to be applied on Objects."
+ },
+ "TokenAccessScopeObject": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "LOGICAL_TABLE"
+ ],
+ "description": " Type of 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.\n \n\n Specify the object type as `LOGICAL_TABLE`. The `LIVEBOARD` and `ANSWER` object types are not supported.",
+ "nullable": true
},
- "complete_detail": {
- "type": "boolean",
- "description": "Indicates whether the response has complete detail of the user."
+ "identifier": {
+ "type": "string",
+ "description": "Unique name/id of the object."
+ }
+ },
+ "description": "Objects on which the filter rules and parameters values should be applied to"
+ },
+ "Group_Object": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "description": "Groups objects."
+ },
+ "AccessToken": {
+ "type": "object",
+ "required": [
+ "token",
+ "org",
+ "user",
+ "creation_time_in_millis",
+ "expiration_time_in_millis"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "GUID of the auth token.",
+ "nullable": true
+ },
+ "token": {
+ "type": "string",
+ "description": "Bearer auth token."
+ },
+ "org": {
+ "$ref": "#/components/schemas/OrgInfo",
+ "description": "Org information for which the token is generated."
+ },
+ "user": {
+ "$ref": "#/components/schemas/UserInfo",
+ "description": "User information for which the token is generated."
},
"creation_time_in_millis": {
"type": "number",
"format": "float",
- "description": "Creation time of the user in milliseconds."
+ "description": "Token creation time in milliseconds."
},
- "current_org": {
- "$ref": "#/components/schemas/Org",
- "description": "Current logged in Organizations of the user."
+ "expiration_time_in_millis": {
+ "type": "number",
+ "format": "float",
+ "description": "Token expiration time in milliseconds."
+ }
+ }
+ },
+ "OrgInfo": {
+ "type": "object",
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Id."
},
- "deleted": {
- "type": "boolean",
- "description": "Indicates whether the user is deleted."
+ "name": {
+ "type": "string",
+ "description": "Name.",
+ "nullable": true
+ }
+ }
+ },
+ "UserInfo": {
+ "type": "object",
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Id."
},
- "deprecated": {
- "type": "boolean",
- "description": "Indicates whether the user is deprecated."
+ "name": {
+ "type": "string",
+ "description": "Name.",
+ "nullable": true
+ }
+ }
+ },
+ "ResponseActivationURL": {
+ "type": "object",
+ "properties": {
+ "activation_link": {
+ "type": "string",
+ "description": "Activation link to activate the user.",
+ "nullable": true
+ }
+ },
+ "description": "The object representation with activation link."
+ },
+ "ImportUser": {
+ "type": "object",
+ "required": [
+ "user_identifier",
+ "display_name"
+ ],
+ "properties": {
+ "user_identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the user."
+ },
+ "display_name": {
+ "type": "string",
+ "description": "Display name of the user."
+ },
+ "password": {
+ "type": "string",
+ "description": "Password of the user.",
+ "nullable": true
},
"account_type": {
"type": "string",
@@ -4047,7 +61568,9 @@
"OIDC_USER",
"REMOTE_USER"
],
- "description": "Type of the user account."
+ "default": "LOCAL_USER",
+ "description": "Type of the user account.",
+ "nullable": true
},
"account_status": {
"type": "string",
@@ -4056,91 +61579,168 @@
"INACTIVE",
"EXPIRED",
"LOCKED",
- "PENDING"
+ "PENDING",
+ "SUSPENDED"
],
- "description": "Status of the user account."
+ "default": "ACTIVE",
+ "description": "Status of the user account.",
+ "nullable": true
},
"email": {
"type": "string",
- "description": "Email of the user."
+ "description": "Email address of the user.",
+ "nullable": true
},
- "expiration_time_in_millis": {
- "type": "number",
- "format": "float",
- "description": "Expiration time of the user in milliseconds."
- },
- "external": {
- "type": "boolean",
- "description": "Indicates whether the user is external."
- },
- "favorite_metadata": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FavoriteMetadataItem"
- },
- "description": "Metadata objects to be assigned as favorites for the imported user."
- },
- "first_login_time_in_millis": {
- "type": "number",
- "format": "float",
- "description": "First login time of the user in milliseconds."
- },
- "group_mask": {
- "type": "integer",
- "format": "int32",
- "description": "Group mask of the user."
- },
- "hidden": {
- "type": "boolean",
- "description": "Indicates whether the user is hidden."
- },
- "home_liveboard": {
- "$ref": "#/components/schemas/Object_ID_And_Name",
- "description": "Unique ID or name of the users home liveboard."
- },
- "incomplete_details": {
- "type": "object",
- "description": "Incomplete details of user if any present."
- },
- "is_first_login": {
- "type": "boolean",
- "description": "Indicates whether it is first login of the user."
+ "org_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "ID or name of the Orgs to which the user belongs.",
+ "nullable": true
},
- "modification_time_in_millis": {
- "type": "number",
- "format": "float",
- "description": "Last modified time of the user in milliseconds."
+ "group_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "ID or name of the groups to which the user belongs.",
+ "nullable": true
},
- "modifier_id": {
+ "visibility": {
"type": "string",
- "description": "Unique identifier of modifier of the user."
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ],
+ "description": "Visibility of the users. The SHARABLE property makes a user visible to other users and group, who can share objects with the user.",
+ "nullable": true
},
"notify_on_share": {
"type": "boolean",
- "description": "User preference for receiving email notifications on shared answers or liveboard."
+ "default": true,
+ "description": "Notify user when other users or groups share metadata objects",
+ "nullable": true
+ },
+ "show_onboarding_experience": {
+ "type": "boolean",
+ "description": "Show or hide the new user onboarding walkthroughs",
+ "nullable": true
},
"onboarding_experience_completed": {
"type": "boolean",
- "description": "The user preference for turning off the onboarding experience."
+ "description": "Revisit the new user onboarding walkthroughs",
+ "nullable": true
},
- "orgs": {
+ "home_liveboard_identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the default Liveboard assigned to the user.",
+ "nullable": true
+ },
+ "favorite_metadata": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/Org"
+ "$ref": "#/components/schemas/FavoriteMetadataInput"
+ },
+ "description": "Metadata objects to add to the user's favorites list.",
+ "nullable": true
+ }
+ }
+ },
+ "ImportUsersResponse": {
+ "type": "object",
+ "properties": {
+ "users_added": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ImportUserType"
},
- "description": "Organizations in which user exists."
+ "nullable": true
},
- "owner_id": {
+ "users_updated": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ImportUserType"
+ },
+ "nullable": true
+ },
+ "users_deleted": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ImportUserType"
+ },
+ "nullable": true
+ }
+ }
+ },
+ "ImportUserType": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "id": {
"type": "string",
- "description": "Unique identifier of owner of the user."
+ "description": "Unique identifier of the user.",
+ "nullable": true
},
- "parent_type": {
+ "name": {
+ "type": "string",
+ "description": "Name of the user."
+ }
+ }
+ },
+ "TagMetadataTypeInput": {
+ "type": "object",
+ "required": [
+ "identifier"
+ ],
+ "properties": {
+ "type": {
"type": "string",
"enum": [
- "USER",
- "GROUP"
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "CONNECTION"
],
- "description": "Parent type of the user."
+ "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.\n 1. LIVEBOARD\n 2. ANSWERS\n 3. LOGICAL_TABLE for any data object such as table, worksheet or view.\n 4. LOGICAL_COLUMN for a column of any data object such as tables, worksheets or views.",
+ "nullable": true
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata."
+ }
+ }
+ },
+ "GroupsImportListInput": {
+ "type": "object",
+ "required": [
+ "display_name",
+ "group_identifier"
+ ],
+ "properties": {
+ "display_name": {
+ "type": "string",
+ "description": "Unique display name of the group."
+ },
+ "group_identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the group."
+ },
+ "default_liveboard_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Unique ID of Liveboards that will be assigned as default Liveboards to the users in the group.",
+ "nullable": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the group.",
+ "nullable": true
},
"privileges": {
"type": "array",
@@ -4152,261 +61752,489 @@
"USERDATAUPLOADING",
"DATADOWNLOADING",
"USERMANAGEMENT",
- "SECURITYMANAGEMENT",
- "LOGICALMODELING",
"DATAMANAGEMENT",
- "TAGMANAGEMENT",
"SHAREWITHALL",
- "SYSTEMMANAGEMENT",
"JOBSCHEDULING",
"A3ANALYSIS",
"EXPERIMENTALFEATUREPRIVILEGE",
"BYPASSRLS",
"RANALYSIS",
- "DISABLE_PINBOARD_CREATION",
"DEVELOPER",
- "APPLICATION_ADMINISTRATION",
"USER_ADMINISTRATION",
"GROUP_ADMINISTRATION",
- "BACKUP_ADMINISTRATION",
- "SYSTEM_INFO_ADMINISTRATION",
- "ENABLESPOTAPPCREATION",
- "SYNCMANAGEMENT"
+ "SYNCMANAGEMENT",
+ "CAN_CREATE_CATALOG",
+ "DISABLE_PINBOARD_CREATION",
+ "LIVEBOARD_VERIFIER",
+ "PREVIEW_THOUGHTSPOT_SAGE",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "ALLOW_NON_EMBED_FULL_APP_ACCESS",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "CAN_SETUP_VERSION_CONTROL"
]
},
- "description": "Privileges which are assigned to the user."
- },
- "show_onboarding_experience": {
- "type": "boolean",
- "description": "The user preference for revisiting the onboarding experience."
+ "description": "Privileges that will be assigned to the group.",
+ "nullable": true
},
- "super_user": {
- "type": "boolean",
- "description": "Indicates whether the user is a super user."
+ "sub_group_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Unique ID or name of the sub-groups to add to the group.",
+ "nullable": true
},
- "system_user": {
- "type": "boolean",
- "description": "Indicates whether the user is a system user."
+ "type": {
+ "type": "string",
+ "enum": [
+ "LOCAL_GROUP",
+ "LDAP_GROUP"
+ ],
+ "description": "Type of the group.",
+ "nullable": true
},
- "tags": {
+ "user_identifiers": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/Object_ID_And_Name"
+ "type": "string"
},
- "description": "Tags associated with the user."
+ "description": "Unique ID or name of the users to assign to the group.",
+ "nullable": true
},
- "tenant_id": {
+ "visibility": {
"type": "string",
- "description": "Unique identifier of tenant of the user."
+ "enum": [
+ "SHARABLE",
+ "NON_SHARABLE"
+ ],
+ "description": "Visibility of the group. The SHARABLE makes a group visible to other users and groups, and thus allows them to share objects.",
+ "nullable": true
+ }
+ }
+ },
+ "ImportUserGroupsResponse": {
+ "type": "object",
+ "required": [
+ "groups_added",
+ "groups_deleted",
+ "groups_updated"
+ ],
+ "properties": {
+ "groups_added": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "The groups which are added into the system."
},
- "user_groups": {
+ "groups_deleted": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/Object_ID_And_Name"
+ "$ref": "#/components/schemas/UserGroup"
},
- "description": "User Groups which the user is part of."
+ "description": "The groups which are deleted from the system."
},
- "user_inherited_groups": {
+ "groups_updated": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "description": "The groups which are updated in the system."
+ }
+ }
+ },
+ "Export_Options": {
+ "type": "object",
+ "properties": {
+ "include_obj_id_ref": {
+ "type": "boolean",
+ "default": false,
+ "description": "Boolean Flag to export Object ID of referenced object. This flag will work only after the Object ID feature has been enabled. Please contact support to enable the feature.",
+ "nullable": true
+ },
+ "include_guid": {
+ "type": "boolean",
+ "default": true,
+ "description": "Boolean flag to export guid of the object. This flag will work only after the Object ID feature has been enabled. Please contact support to enable the feature.",
+ "nullable": true
+ },
+ "include_obj_id": {
+ "type": "boolean",
+ "default": false,
+ "description": "Boolean flag to export Object ID of the object. This flag will work only after the Object ID feature has been enabled. Please contact support to enable the feature.",
+ "nullable": true
+ },
+ "export_with_associated_feedbacks": {
+ "type": "boolean",
+ "default": false,
+ "description": "Boolean flag indicating whether to export associated feedbacks of the object. This will only be respected when the object can have feedbacks.
Version: 10.7.0.cl or later",
+ "nullable": true
+ },
+ "export_column_security_rules": {
+ "type": "boolean",
+ "default": false,
+ "description": "Boolean flag indicating whether to export column security rules of the object. This will only be respected when the object can have column security rules and export_associated is true.
Beta Version: 10.12.0.cl or later",
+ "nullable": true
+ }
+ },
+ "description": "Flags to specify additional options for export. This will only be active when UserDefinedId in TML is enabled."
+ },
+ "ResponseCopyObject": {
+ "type": "object",
+ "properties": {
+ "metadata_id": {
+ "type": "string",
+ "description": "The unique identifier of the object.",
+ "nullable": true
+ }
+ }
+ },
+ "ResponseWorksheetToModelConversion": {
+ "type": "object",
+ "required": [
+ "name",
+ "success_count",
+ "failure_count",
+ "incomplete_count",
+ "post_upgrade_failed_count",
+ "total_time_in_millis",
+ "successful_entities",
+ "failed_entities",
+ "incomplete_entities",
+ "post_upgrade_failed_entities"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "success_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of worksheets successfully converted to models."
+ },
+ "failure_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of worksheets that failed to convert."
+ },
+ "incomplete_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of worksheets that were incomplete during the conversion process."
+ },
+ "post_upgrade_failed_count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of worksheets that failed after an upgrade during the conversion process."
+ },
+ "total_time_in_millis": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The total time taken to complete the conversion process in milliseconds."
+ },
+ "successful_entities": {
+ "$ref": "#/components/schemas/ResponseSuccessfulEntities",
+ "description": "List of worksheets successfully converted to models."
+ },
+ "failed_entities": {
+ "$ref": "#/components/schemas/ResponseFailedEntities",
+ "description": "List of worksheets that failed to convert."
+ },
+ "incomplete_entities": {
+ "$ref": "#/components/schemas/ResponseIncompleteEntities",
+ "description": "List of worksheets that were incomplete during the conversion."
+ },
+ "post_upgrade_failed_entities": {
+ "$ref": "#/components/schemas/ResponsePostUpgradeFailedEntities",
+ "description": "List of worksheets that failed after an upgrade during the conversion process."
+ }
+ },
+ "description": "Name of the conversion process, which involves converting worksheets to models."
+ },
+ "ResponseSuccessfulEntities": {
+ "type": "object",
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ResponseSuccessfulEntity"
+ }
+ }
+ },
+ "description": "Wrapper for the successful entities, as they are inside a 'data' field in the response."
+ },
+ "ResponseSuccessfulEntity": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the worksheet."
+ }
+ },
+ "description": "Unique ID of the worksheet."
+ },
+ "ResponseFailedEntities": {
+ "type": "object",
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/Object_ID_And_Name"
- },
- "description": "Inherited User Groups which the user is part of."
- },
- "welcome_email_sent": {
- "type": "boolean",
- "description": "Indicates whether welcome email is sent for the user."
+ "$ref": "#/components/schemas/ResponseFailedEntity"
+ }
}
- }
+ },
+ "description": "Wrapper for the failed entities, as they are inside a 'data' field in the response."
},
- "FavoriteMetadataInput": {
+ "ResponseFailedEntity": {
"type": "object",
+ "required": [
+ "id",
+ "name",
+ "error"
+ ],
"properties": {
- "identifier": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
"type": "string",
- "description": "Unique ID or name of the metadata."
+ "description": "Name of the worksheet that failed to convert."
},
- "type": {
+ "error": {
"type": "string",
- "enum": [
- "LIVEBOARD",
- "ANSWER",
- "LOGICAL_TABLE",
- "CONNECTION",
- "DATA_SOURCE"
- ],
- "description": "Type of metadata."
+ "description": "Error details related to the failed conversion."
}
- }
+ },
+ "description": "Unique ID of the failed worksheet."
},
- "ImportUser": {
+ "ResponseIncompleteEntities": {
"type": "object",
"required": [
- "user_identifier",
- "display_name"
+ "data"
],
"properties": {
- "user_identifier": {
- "type": "string",
- "description": "Unique ID or name of the user."
- },
- "display_name": {
- "type": "string",
- "description": "Unique display name of the user."
- },
- "password": {
- "type": "string",
- "description": "Password of the user."
- },
- "account_type": {
- "type": "string",
- "enum": [
- "LOCAL_USER",
- "LDAP_USER",
- "SAML_USER",
- "OIDC_USER",
- "REMOTE_USER"
- ],
- "description": "Type of the user account."
- },
- "account_status": {
- "type": "string",
- "enum": [
- "ACTIVE",
- "INACTIVE",
- "EXPIRED",
- "LOCKED",
- "PENDING"
- ],
- "description": "Status of the user account."
- },
- "email": {
- "type": "string",
- "description": "Email of the user."
- },
- "org_identifiers": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "Unique ID or name of the Orgs for the users."
- },
- "group_identifiers": {
+ "data": {
"type": "array",
"items": {
- "type": "string"
- },
- "description": "Unique ID or name of the User Groups of the users."
+ "$ref": "#/components/schemas/ResponseIncompleteEntity"
+ }
+ }
+ },
+ "description": "Wrapper for the incomplete entities, as they are inside a 'data' field in the response."
+ },
+ "ResponseIncompleteEntity": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "error"
+ ],
+ "properties": {
+ "id": {
+ "type": "string"
},
- "visibility": {
+ "name": {
"type": "string",
- "enum": [
- "SHARABLE",
- "NON_SHARABLE"
- ],
- "description": "Visibility of the users. The SHARABLE makes a users visible to other users and user groups,\nand thus allows them to share objects."
- },
- "notify_on_share": {
- "type": "boolean",
- "description": "User preference for receiving email notifications on shared answers or liveboard."
- },
- "show_onboarding_experience": {
- "type": "boolean",
- "description": "The user preference for revisiting the onboarding experience."
- },
- "onboarding_experience_completed": {
- "type": "boolean",
- "description": "The user preference for turning off the onboarding experience."
+ "description": "Name of the incomplete worksheet."
},
- "home_liveboard_identifier": {
+ "error": {
"type": "string",
- "description": "Unique ID or name of the users home liveboard."
- },
- "favorite_metadata": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FavoriteMetadataInput"
- },
- "description": "Metadata objects to be assigned as favorites for the imported user."
+ "description": "Error details related to the incomplete conversion."
}
- }
+ },
+ "description": "Unique ID of the incomplete worksheet."
},
- "ImportUsersResponse": {
+ "ResponsePostUpgradeFailedEntities": {
"type": "object",
+ "required": [
+ "data"
+ ],
"properties": {
- "users_added": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ImportUserType"
- }
- },
- "users_updated": {
+ "data": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/ImportUserType"
- }
- },
- "users_deleted": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ImportUserType"
+ "$ref": "#/components/schemas/ResponsePostUpgradeFailedEntity"
}
}
- }
+ },
+ "description": "Wrapper for the post-upgrade failed entities, as they are inside a 'data' field in the response."
},
- "UserGroup": {
+ "ResponsePostUpgradeFailedEntity": {
"type": "object",
+ "required": [
+ "id",
+ "name",
+ "error"
+ ],
"properties": {
"id": {
"type": "string"
},
"name": {
- "type": "string"
+ "type": "string",
+ "description": "Name of the worksheet that failed post-upgrade."
+ },
+ "error": {
+ "type": "string",
+ "description": "Error details related to the post-upgrade failure."
}
- }
+ },
+ "description": "Unique ID of the worksheet that failed post-upgrade."
},
- "VisualizationIdentifiersInput": {
+ "HeaderUpdateInput": {
"type": "object",
+ "required": [
+ "attributes"
+ ],
"properties": {
"identifier": {
"type": "string",
- "description": "Unique ID or name of the visualization."
+ "description": "Unique ID of a specified type to identify the header.",
+ "nullable": true
+ },
+ "obj_identifier": {
+ "type": "string",
+ "description": "Custom object identifier to uniquely identify header.",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "LOGICAL_COLUMN",
+ "LIVEBOARD",
+ "ACTION_OBJECT",
+ "DATA_SOURCE",
+ "USER",
+ "USER_GROUP"
+ ],
+ "description": "Optional type of the header object.",
+ "nullable": true
+ },
+ "attributes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/HeaderAttributeInput"
+ },
+ "description": "List of attributes to update"
+ }
+ },
+ "description": "Favorite object options."
+ },
+ "HeaderAttributeInput": {
+ "type": "object",
+ "required": [
+ "name",
+ "value"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Attribute name to be updated."
+ },
+ "value": {
+ "type": "string",
+ "description": "Attribute's new value."
}
- }
+ },
+ "description": "Attribute to update in a header."
},
- "MetadataTypeInput": {
+ "UpdateObjIdInput": {
"type": "object",
"required": [
- "type",
- "identifier"
+ "new_obj_id"
],
"properties": {
+ "metadata_identifier": {
+ "type": "string",
+ "description": "GUID or name of the metadata object.",
+ "nullable": true
+ },
"type": {
"type": "string",
"enum": [
- "LIVEBOARD",
"ANSWER",
"LOGICAL_TABLE",
"LOGICAL_COLUMN",
+ "LIVEBOARD",
+ "ACTION_OBJECT",
+ "DATA_SOURCE",
+ "USER",
+ "USER_GROUP"
+ ],
+ "description": "Type of metadata. Required if metadata_identifier is name of the object.",
+ "nullable": true
+ },
+ "current_obj_id": {
+ "type": "string",
+ "description": "Current object ID value.",
+ "nullable": true
+ },
+ "new_obj_id": {
+ "type": "string",
+ "description": "New object ID value to set."
+ }
+ },
+ "description": "Input for updating object ID of a metadata object."
+ },
+ "ExportMetadataTypeInput": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
"CONNECTION",
- "TAG",
+ "CUSTOM_ACTION",
"USER",
"USER_GROUP",
- "LOGICAL_RELATIONSHIP"
+ "ROLE",
+ "FEEDBACK"
],
- "description": "Type of metadata."
+ "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
},
"identifier": {
"type": "string",
- "description": "Unique ID or name of the metadata."
+ "description": "Unique ID or name of the metadata object. Not required if the metadata type is ANSWER when session_id and generation_number is set.",
+ "nullable": true
+ },
+ "session_identifier": {
+ "type": "string",
+ "description": "Unique ID of the Answer session. Required if the metadata type is ANSWER and identifier is not set.",
+ "nullable": true
+ },
+ "generation_number": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Generation Number of the Answer session. Required if the metadata type is ANSWER and identifier is not set.",
+ "nullable": true
}
},
- "description": "MetadataType InputType associated in the Product"
+ "description": "MetadataType InputType used in Export MetadataType API"
},
"DeleteMetadataTypeInput": {
"type": "object",
"required": [
- "type",
"identifier"
],
"properties": {
@@ -4416,42 +62244,44 @@
"LIVEBOARD",
"ANSWER",
"LOGICAL_TABLE",
- "LOGICAL_COLUMN"
+ "LOGICAL_COLUMN",
+ "LOGICAL_RELATIONSHIP"
],
- "description": "Type of metadata."
+ "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
},
"identifier": {
"type": "string",
- "description": "Unique ID or name of the metadata."
+ "description": "Unique ID or name of the metadata object."
}
},
- "description": "MetadataType InputType used in Delete MetadataType API's"
+ "description": "MetadataType InputType used in Delete MetadataType API"
},
- "PrincipalsInput": {
+ "PublishMetadataListItem": {
"type": "object",
"required": [
- "identifier",
- "type"
+ "identifier"
],
"properties": {
"identifier": {
"type": "string",
- "description": "Unique ID or name of the principal."
+ "description": "Unique ID or name of the metadata."
},
"type": {
"type": "string",
"enum": [
- "USER",
- "USER_GROUP"
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE"
],
- "description": "Principal type."
+ "description": "Type of metadata. Required if identifier is name.",
+ "nullable": true
}
}
},
"AuthorMetadataTypeInput": {
"type": "object",
"required": [
- "type",
"identifier"
],
"properties": {
@@ -4460,21 +62290,22 @@
"enum": [
"LIVEBOARD",
"ANSWER",
- "LOGICAL_TABLE"
+ "LOGICAL_TABLE",
+ "CONNECTION"
],
- "description": "Type of metadata."
+ "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
},
"identifier": {
"type": "string",
- "description": "Unique ID or name of the metadata."
+ "description": "Unique ID or name of the metadata object."
}
},
"description": "MetadataType InputType used in Author API's"
},
- "PermissionsMetadataTypeInput": {
+ "ShareMetadataTypeInput": {
"type": "object",
"required": [
- "type",
"identifier"
],
"properties": {
@@ -4487,14 +62318,14 @@
"LOGICAL_COLUMN",
"CONNECTION"
],
- "description": "Type of metadata."
+ "description": " Type of metadata.\n \n\nType of metadata. Required 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
},
"identifier": {
"type": "string",
- "description": "Unique ID or name of the metadata."
+ "description": "Unique ID or name of the metadata object."
}
- },
- "description": "MetadataType InputType used in Permission API's"
+ }
},
"SharePermissionsInput": {
"type": "object",
@@ -4505,7 +62336,7 @@
"properties": {
"principal": {
"$ref": "#/components/schemas/PrincipalsInput",
- "description": "Details of users or user groups."
+ "description": "Details of users or groups."
},
"share_mode": {
"type": "string",
@@ -4513,1358 +62344,1713 @@
"READ_ONLY",
"MODIFY",
"NO_ACCESS"
- ],
- "description": "Object share mode."
- }
- }
- },
- "AnswerDataResponse": {
- "type": "object",
- "required": [
- "metadata_id",
- "metadata_name",
- "contents"
- ],
- "properties": {
- "metadata_id": {
- "type": "string",
- "description": "The unique identifier of the object"
- },
- "metadata_name": {
- "type": "string",
- "description": "Name of the metadata."
- },
- "contents": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/AnswerContent"
- },
- "description": "Data content of metadata objects."
+ ],
+ "description": "Type of access to the shared object"
}
- },
- "description": "Response format associated with fetch data api"
+ }
},
- "LiveboardDataResponse": {
+ "ColumnSecurityRuleUpdate": {
"type": "object",
"required": [
- "metadata_id",
- "metadata_name",
- "contents"
+ "column_identifier"
],
"properties": {
- "metadata_id": {
+ "column_identifier": {
"type": "string",
- "description": "The unique identifier of the object"
+ "description": "Column identifier (col_id or name)"
},
- "metadata_name": {
- "type": "string",
- "description": "Name of the metadata."
+ "is_unsecured": {
+ "type": "boolean",
+ "description": "If true, the column will be marked as unprotected and all groups associated with it will be removed",
+ "nullable": true
},
- "contents": {
+ "group_access": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/LiveboardContent"
+ "$ref": "#/components/schemas/ColumnSecurityRuleGroupOperation"
},
- "description": "Data content of metadata objects."
+ "description": "Array of group operation objects that specifies the actions for groups to be associated with a column",
+ "nullable": true
}
}
},
- "RiseSetter": {
+ "ColumnSecurityRuleGroupOperation": {
"type": "object",
"required": [
- "field",
- "path"
+ "operation",
+ "group_identifiers"
],
"properties": {
- "field": {
- "type": "string"
+ "operation": {
+ "type": "string",
+ "enum": [
+ "ADD",
+ "REMOVE",
+ "REPLACE"
+ ],
+ "description": "Type of operation to be performed on the groups"
},
- "path": {
- "type": "string"
+ "group_identifiers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Array of group identifiers (name or GUID) on which the operation will be performed"
}
}
},
- "SystemInfo": {
+ "MetadataObject": {
"type": "object",
+ "required": [
+ "identifier"
+ ],
"properties": {
- "id": {
- "type": "string",
- "description": "The unique identifier of the object"
- },
- "name": {
- "type": "string",
- "description": "Name of the cluster."
- },
- "release_version": {
- "type": "string",
- "description": "The release version of the cluster."
- },
- "time_zone": {
- "type": "string",
- "description": "The timezone of the cluster."
- },
- "locale": {
- "type": "string",
- "description": "The default locale of the cluster."
- },
- "date_format": {
- "type": "string",
- "description": "The default date format representation of the cluster."
- },
- "api_version": {
+ "identifier": {
"type": "string",
- "description": "The API version of the cluster."
+ "description": "Unique ID or name of the metadata"
},
"type": {
"type": "string",
- "description": "The deployment type of the cluster."
+ "enum": [
+ "LIVEBOARD",
+ "ANSWER",
+ "LOGICAL_TABLE",
+ "CUSTOM_ACTION"
+ ],
+ "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
+ }
+ }
+ },
+ "CommitResponse": {
+ "type": "object",
+ "properties": {
+ "committer": {
+ "$ref": "#/components/schemas/CommiterType",
+ "description": "Repository user using which changes were committed",
+ "nullable": true
},
- "environment": {
- "type": "string",
- "description": "The deployed environment of the cluster."
+ "author": {
+ "$ref": "#/components/schemas/AuthorType",
+ "description": "Thoughtspot user who commits the changes",
+ "nullable": true
},
- "license": {
+ "comment": {
"type": "string",
- "description": "The license applied to the cluster."
+ "description": "Comments associated with the commit",
+ "nullable": true
},
- "date_time_format": {
+ "commit_time": {
"type": "string",
- "description": "The default date time format representation of the cluster."
+ "description": "Time at which the changes were committed.",
+ "nullable": true
},
- "time_format": {
+ "commit_id": {
"type": "string",
- "description": "The default time format representation of the cluster."
+ "description": "SHA id associated with the commit",
+ "nullable": true
},
- "system_user_id": {
+ "branch": {
"type": "string",
- "description": "The unique identifier of system user."
+ "description": "Branch where changes were committed",
+ "nullable": true
},
- "super_user_id": {
+ "committed_files": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CommitFileType"
+ },
+ "description": "Files that were pushed as part of this commit",
+ "nullable": true
+ }
+ }
+ },
+ "CommitFileType": {
+ "type": "object",
+ "required": [
+ "file_name",
+ "status_code"
+ ],
+ "properties": {
+ "file_name": {
"type": "string",
- "description": "The unique identifier of super user."
+ "description": "Name of the file deployed"
},
- "hidden_object_id": {
+ "status_code": {
"type": "string",
- "description": "The unique identifier of hidden object."
+ "description": "Indicates the status of deployment for the file"
},
- "system_group_id": {
+ "status_message": {
"type": "string",
- "description": "The unique identifier of system group."
+ "description": "Any error or warning with the deployment",
+ "nullable": true
+ }
+ }
+ },
+ "RevertResponse": {
+ "type": "object",
+ "properties": {
+ "committer": {
+ "$ref": "#/components/schemas/CommiterType",
+ "description": "Repository user using which changes were committed",
+ "nullable": true
},
- "tsadmin_user_id": {
- "type": "string",
- "description": "The unique identifier of tsadmin user."
+ "author": {
+ "$ref": "#/components/schemas/AuthorType",
+ "description": "Thoughtspot user who commits the changes",
+ "nullable": true
},
- "admin_group_id": {
+ "comment": {
"type": "string",
- "description": "The unique identifier of admin group."
+ "description": "Comments associated with the commit",
+ "nullable": true
},
- "all_tables_connection_id": {
+ "commit_time": {
"type": "string",
- "description": "The unique identifier of all tables connection."
+ "description": "Time at which the changes were committed.",
+ "nullable": true
},
- "all_user_group_id": {
+ "commit_id": {
"type": "string",
- "description": "The unique identifier of ALL user group."
+ "description": "SHA id associated with the commit",
+ "nullable": true
},
- "accept_language": {
+ "branch": {
"type": "string",
- "description": "The supported accept language by the cluster."
+ "description": "Branch where changes were committed",
+ "nullable": true
},
- "all_user_group_member_user_count": {
- "type": "integer",
- "format": "int32",
- "description": "The count of users of ALL user group."
+ "committed_files": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CommitFileType"
+ },
+ "description": "Files that were pushed as part of this commit",
+ "nullable": true
},
- "logical_model_version": {
- "type": "integer",
- "format": "int32",
- "description": "The version number of logical model of the cluster."
- }
- }
- },
- "SystemConfig": {
- "type": "object",
- "properties": {
- "onboarding_content_url": {
- "type": "string"
+ "reverted_metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/RevertedMetadata"
+ },
+ "description": "Metadata of reverted file of this commit",
+ "nullable": true
}
}
},
- "OrgResponse": {
+ "RevertedMetadata": {
"type": "object",
+ "required": [
+ "file_name",
+ "metadata_name",
+ "metadata_type",
+ "status_code",
+ "status_message"
+ ],
"properties": {
- "id": {
- "type": "integer",
- "format": "int32",
- "description": "Unique identifier of the organization."
+ "file_name": {
+ "type": "string",
+ "description": "Name of the file deployed"
},
- "name": {
+ "metadata_name": {
"type": "string",
- "description": "Name of the organization."
+ "description": "Name of the metadata object"
},
- "status": {
+ "metadata_type": {
"type": "string",
- "enum": [
- "ACTIVE",
- "IN_ACTIVE"
- ],
- "description": "Status of the organization."
+ "description": "Type of the metadata object"
},
- "description": {
+ "status_code": {
"type": "string",
- "description": "Description of the organization."
+ "description": "Indicates the status of deployment for the file"
},
- "visibility": {
+ "status_message": {
"type": "string",
- "enum": [
- "SHOW",
- "HIDDEN"
- ],
- "description": "Visibility of the organization."
+ "description": "Any error or warning with the deployment"
}
}
},
- "Tag": {
+ "DeployResponse": {
"type": "object",
- "required": [
- "name",
- "id",
- "color"
- ],
"properties": {
- "name": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "color": {
- "type": "string"
- },
- "deleted": {
- "type": "boolean"
- },
- "hidden": {
- "type": "boolean"
- },
- "external": {
- "type": "boolean"
- },
- "deprecated": {
- "type": "boolean"
- },
- "creation_time_in_millis": {
- "type": "number",
- "format": "float"
+ "file_name": {
+ "type": "string",
+ "description": "Name of the file deployed",
+ "nullable": true
},
- "modification_time_in_millis": {
- "type": "number",
- "format": "float"
+ "metadata_name": {
+ "type": "string",
+ "description": "Name of the metadata object",
+ "nullable": true
},
- "author_id": {
- "type": "string"
+ "metadata_type": {
+ "type": "string",
+ "description": "Type of the metadata object",
+ "nullable": true
},
- "modifier_id": {
- "type": "string"
+ "status_code": {
+ "type": "string",
+ "description": "Indicates the status of deployment for the file",
+ "nullable": true
},
- "owner_id": {
- "type": "string"
+ "status_message": {
+ "type": "string",
+ "description": "Any error or warning with the deployment",
+ "nullable": true
}
}
},
- "UserGroupResponse": {
+ "CreateConnectionResponse": {
"type": "object",
"required": [
- "display_name",
"id",
"name",
- "visibility"
+ "data_warehouse_type"
],
"properties": {
- "author_id": {
- "type": "string",
- "description": "The unique identifier of the object"
- },
- "complete_detail": {
- "type": "boolean",
- "description": "Indicates whether the response has complete detail of the user group."
- },
- "content": {
- "type": "object",
- "description": "Content details of the user group."
- },
- "creation_time_in_millis": {
- "type": "number",
- "format": "float",
- "description": "Creation time of the user group in milliseconds."
- },
- "default_liveboards": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/UserGroup"
- },
- "description": "Liveboards which are assigned as default liveboards to the user group."
- },
- "deleted": {
- "type": "boolean",
- "description": "Indicates whether the user group is deleted."
- },
- "deprecated": {
- "type": "boolean",
- "description": "Indicates whether the user group is deprecated."
- },
- "description": {
+ "id": {
"type": "string",
- "description": "Description of the user group."
+ "description": "ID of the connection created."
},
- "display_name": {
+ "name": {
"type": "string",
- "description": "Display name of the user group."
- },
- "external": {
- "type": "boolean",
- "description": "Indicates whether the user group is external."
- },
- "generation_number": {
- "type": "integer",
- "format": "int32",
- "description": "Generation number of the user group."
+ "description": "Name of the connection."
},
- "hidden": {
- "type": "boolean",
- "description": "Indicates whether the user group is hidden."
+ "data_warehouse_type": {
+ "type": "string",
+ "enum": [
+ "SNOWFLAKE",
+ "AMAZON_REDSHIFT",
+ "GOOGLE_BIGQUERY",
+ "AZURE_SYNAPSE",
+ "TERADATA",
+ "SAP_HANA",
+ "STARBURST",
+ "ORACLE_ADW",
+ "DATABRICKS",
+ "DENODO",
+ "DREMIO",
+ "TRINO",
+ "PRESTO",
+ "POSTGRES",
+ "SQLSERVER",
+ "MYSQL",
+ "GENERIC_JDBC",
+ "AMAZON_RDS_POSTGRESQL",
+ "AMAZON_AURORA_POSTGRESQL",
+ "AMAZON_RDS_MYSQL",
+ "AMAZON_AURORA_MYSQL",
+ "LOOKER",
+ "AMAZON_ATHENA",
+ "SINGLESTORE",
+ "GCP_SQLSERVER",
+ "GCP_ALLOYDB_POSTGRESQL",
+ "GCP_POSTGRESQL",
+ "GCP_MYSQL",
+ "MODE",
+ "GOOGLE_SHEETS",
+ "FALCON",
+ "FALCON_ONPREM",
+ "CLICKHOUSE"
+ ],
+ "description": "Type of data warehouse."
},
+ "details": {
+ "type": "object",
+ "description": "Details of the connection.",
+ "nullable": true
+ }
+ }
+ },
+ "FetchConnectionDiffStatusResponse": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "boolean",
+ "description": "Status of the connection diff.",
+ "nullable": true
+ }
+ }
+ },
+ "RoleResponse": {
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "description",
+ "privileges"
+ ],
+ "properties": {
"id": {
"type": "string",
- "description": "The unique identifier of the object"
+ "description": "Unique Id of the role."
},
- "index": {
- "type": "integer",
- "format": "int32",
- "description": "Index number of the user group."
+ "name": {
+ "type": "string",
+ "description": "Name of the role"
},
- "index_version": {
- "type": "integer",
- "format": "int32",
- "description": "Index version number of the user group."
+ "description": {
+ "type": "string",
+ "description": "Description of the role"
},
- "metadata_version": {
+ "groups_assigned_count": {
"type": "integer",
"format": "int32",
- "description": "Metadata version number of the user group."
- },
- "modification_time_in_millis": {
- "type": "number",
- "format": "float",
- "description": "Last modified time of the user group in milliseconds."
- },
- "modifier_id": {
- "type": "string",
- "description": "The unique identifier of the object"
- },
- "name": {
- "type": "string",
- "description": "Name of the user group."
+ "description": "number of groups assigned with this role",
+ "nullable": true
},
"orgs": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/UserGroup"
+ "$ref": "#/components/schemas/GenericInfo"
},
- "description": "Orgs in which user group exists."
- },
- "owner_id": {
- "type": "string",
- "description": "The unique identifier of the object"
+ "description": "Orgs in which role exists.",
+ "nullable": true
},
- "parent_type": {
- "type": "string",
- "enum": [
- "USER",
- "GROUP"
- ],
- "description": "Parent type of the user group."
+ "groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/GenericInfo"
+ },
+ "description": "Details of groups assigned with this role",
+ "nullable": true
},
"privileges": {
"type": "array",
"items": {
"type": "string",
"enum": [
- "ADMINISTRATION",
- "AUTHORING",
"USERDATAUPLOADING",
"DATADOWNLOADING",
- "USERMANAGEMENT",
- "SECURITYMANAGEMENT",
- "LOGICALMODELING",
"DATAMANAGEMENT",
- "TAGMANAGEMENT",
"SHAREWITHALL",
- "SYSTEMMANAGEMENT",
"JOBSCHEDULING",
"A3ANALYSIS",
- "EXPERIMENTALFEATUREPRIVILEGE",
"BYPASSRLS",
- "RANALYSIS",
"DISABLE_PINBOARD_CREATION",
"DEVELOPER",
"APPLICATION_ADMINISTRATION",
"USER_ADMINISTRATION",
"GROUP_ADMINISTRATION",
- "BACKUP_ADMINISTRATION",
"SYSTEM_INFO_ADMINISTRATION",
- "ENABLESPOTAPPCREATION",
- "SYNCMANAGEMENT"
+ "SYNCMANAGEMENT",
+ "ORG_ADMINISTRATION",
+ "ROLE_ADMINISTRATION",
+ "AUTHENTICATION_ADMINISTRATION",
+ "BILLING_INFO_ADMINISTRATION",
+ "CONTROL_TRUSTED_AUTH",
+ "TAGMANAGEMENT",
+ "LIVEBOARD_VERIFIER",
+ "CAN_MANAGE_CUSTOM_CALENDAR",
+ "CAN_CREATE_OR_EDIT_CONNECTIONS",
+ "CAN_MANAGE_WORKSHEET_VIEWS_TABLES",
+ "CAN_MANAGE_VERSION_CONTROL",
+ "THIRDPARTY_ANALYSIS",
+ "CAN_CREATE_CATALOG",
+ "ALLOW_NON_EMBED_FULL_APP_ACCESS",
+ "CAN_ACCESS_ANALYST_STUDIO",
+ "CAN_MANAGE_ANALYST_STUDIO",
+ "PREVIEW_DOCUMENT_SEARCH",
+ "CAN_SETUP_VERSION_CONTROL",
+ "PREVIEW_THOUGHTSPOT_SAGE"
]
},
- "description": "Privileges which are assigned to the user group."
+ "description": "Privileges granted to the role."
},
- "sub_groups": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/UserGroup"
- },
- "description": "User Groups who are part of the user group."
+ "permission": {
+ "type": "string",
+ "enum": [
+ "READ_ONLY",
+ "MODIFY",
+ "NO_ACCESS"
+ ],
+ "description": "Permission details of the Role",
+ "nullable": true
},
- "system_group": {
+ "author_id": {
+ "type": "string",
+ "description": "Unique identifier of author of the role.",
+ "nullable": true
+ },
+ "modifier_id": {
+ "type": "string",
+ "description": "Unique identifier of modifier of the role.",
+ "nullable": true
+ },
+ "creation_time_in_millis": {
+ "type": "object",
+ "description": "Creation time of the role in milliseconds.",
+ "nullable": true
+ },
+ "modification_time_in_millis": {
+ "type": "object",
+ "description": "Last modified time of the role in milliseconds.",
+ "nullable": true
+ },
+ "deleted": {
"type": "boolean",
- "description": "Indicates whether the user group is a system group."
+ "description": "Indicates whether the role is deleted.",
+ "nullable": true
},
- "tags": {
+ "deprecated": {
+ "type": "boolean",
+ "description": "Indicates whether the role is deprecated.",
+ "nullable": true
+ },
+ "external": {
+ "type": "boolean",
+ "description": "Indicates whether the role is external.",
+ "nullable": true
+ },
+ "hidden": {
+ "type": "boolean",
+ "description": "Indicates whether the role is hidden.",
+ "nullable": true
+ },
+ "shared_via_connection": {
+ "type": "boolean",
+ "description": "Indicates whether the role is shared via connection",
+ "nullable": true
+ }
+ }
+ },
+ "LiveboardOptionsInput": {
+ "type": "object",
+ "required": [
+ "visualization_identifiers"
+ ],
+ "properties": {
+ "visualization_identifiers": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/UserGroup"
+ "type": "string"
},
- "description": "Tags associated with the user group."
+ "description": "Unique ID or name of visualizations."
+ }
+ },
+ "description": "Options to specify details of Liveboard."
+ },
+ "SchedulesPdfOptionsInput": {
+ "type": "object",
+ "properties": {
+ "complete_liveboard": {
+ "type": "boolean",
+ "description": "Indicates whether to include complete Liveboard.",
+ "nullable": true
},
- "type": {
+ "include_cover_page": {
+ "type": "boolean",
+ "description": "Indicates whether to include cover page with the Liveboard title.",
+ "nullable": true
+ },
+ "include_custom_logo": {
+ "type": "boolean",
+ "description": "Indicates whether to include customized wide logo in the footer if available.",
+ "nullable": true
+ },
+ "include_filter_page": {
+ "type": "boolean",
+ "description": "Indicates whether to include a page with all applied filters.",
+ "nullable": true
+ },
+ "include_page_number": {
+ "type": "boolean",
+ "description": "Indicates whether to include page number in the footer of each page",
+ "nullable": true
+ },
+ "page_footer_text": {
"type": "string",
- "enum": [
- "LOCAL_GROUP",
- "LDAP_GROUP"
- ],
- "description": "Type of the user group."
+ "description": "Text to include in the footer of each page.",
+ "nullable": true
},
- "users": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/UserGroup"
- },
- "description": "Users who are part of the user group."
+ "page_orientation": {
+ "type": "string",
+ "description": "Page orientation of the PDF.",
+ "nullable": true
},
- "visibility": {
+ "page_size": {
"type": "string",
"enum": [
- "SHARABLE",
- "NON_SHARABLE"
+ "A4"
],
- "description": "Visibility of the user group. The SHARABLE makes a user group visible to other users and user groups, and thus allows them to share objects."
+ "description": "Page size.",
+ "nullable": true
+ },
+ "truncate_table": {
+ "type": "boolean",
+ "description": "Indicates whether to include only first page of the tables.",
+ "nullable": true
}
- }
+ },
+ "description": "Options for PDF export."
},
- "MetadataSearchResponse": {
+ "FrequencyInput": {
"type": "object",
"required": [
- "metadata_type"
+ "cron_expression"
],
"properties": {
- "metadata_id": {
+ "cron_expression": {
+ "$ref": "#/components/schemas/CronExpressionInput",
+ "description": "Schedule selected cron expression."
+ }
+ },
+ "description": "Configuration of schedule with cron expression"
+ },
+ "CronExpressionInput": {
+ "type": "object",
+ "required": [
+ "day_of_month",
+ "day_of_week",
+ "hour",
+ "minute",
+ "month",
+ "second"
+ ],
+ "properties": {
+ "day_of_month": {
"type": "string",
- "description": "Unique identifier of the metadata."
+ "description": "Day of month of the object."
},
- "metadata_name": {
+ "day_of_week": {
"type": "string",
- "description": "Name of the metadata."
+ "description": "Day of Week of the object."
},
- "metadata_type": {
+ "hour": {
"type": "string",
- "enum": [
- "LIVEBOARD",
- "ANSWER",
- "LOGICAL_TABLE",
- "LOGICAL_COLUMN",
- "CONNECTION",
- "TAG",
- "USER",
- "USER_GROUP",
- "LOGICAL_RELATIONSHIP"
- ],
- "description": "Type of the metadata."
+ "description": "Hour of the object."
},
- "dependent_objects": {
- "type": "object",
- "description": "Details of dependent objects of the metadata objects."
+ "minute": {
+ "type": "string",
+ "description": "Minute of the object."
},
- "incomplete_objects": {
+ "month": {
+ "type": "string",
+ "description": "Month of the object."
+ },
+ "second": {
+ "type": "string",
+ "description": "Second of the object."
+ }
+ },
+ "description": "Schedule selected cron expression."
+ },
+ "RecipientDetailsInput": {
+ "type": "object",
+ "properties": {
+ "emails": {
"type": "array",
"items": {
- "type": "object"
+ "type": "string"
},
- "description": "Details of incomplete information of the metadata objects if any."
- },
- "metadata_detail": {
- "type": "object",
- "description": "Complete details of the metadata objects."
- },
- "metadata_header": {
- "type": "object",
- "description": "Header information of the metadata objects."
+ "description": "Emails of the recipients.",
+ "nullable": true
},
- "visualization_headers": {
+ "principals": {
"type": "array",
"items": {
- "type": "object"
+ "$ref": "#/components/schemas/PrincipalsListItemInput"
},
- "description": "Visualization header information of the metadata objects."
+ "description": "User or groups to be set as recipients of the schedule notifications.",
+ "nullable": true
}
},
- "description": "Metadata Search Response Object."
+ "description": "Recipients of the scheduled job notification."
},
- "MetadataListItemInput": {
+ "PrincipalsListItemInput": {
"type": "object",
+ "required": [
+ "identifier",
+ "type"
+ ],
"properties": {
"identifier": {
"type": "string",
+ "description": "Unique ID or name of the user or group."
+ },
+ "type": {
+ "type": "string",
+ "description": "Principal type."
+ }
+ }
+ },
+ "ResponseSchedule": {
+ "type": "object",
+ "required": [
+ "author",
+ "creation_time_in_millis",
+ "file_format",
+ "frequency",
+ "id",
+ "metadata",
+ "name",
+ "recipient_details",
+ "time_zone"
+ ],
+ "properties": {
+ "author": {
+ "$ref": "#/components/schemas/Author",
+ "description": "Author of the schedule."
+ },
+ "creation_time_in_millis": {
+ "type": "object",
+ "description": "Schedule creation time in milliseconds."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the job.",
+ "nullable": true
+ },
+ "file_format": {
+ "type": "string",
+ "description": "Export file format."
+ },
+ "frequency": {
+ "$ref": "#/components/schemas/Frequency",
+ "description": "Configuration of schedule with cron expression"
+ },
+ "id": {
+ "type": "string",
+ "description": "GUID of the scheduled job."
+ },
+ "liveboard_options": {
+ "$ref": "#/components/schemas/LiveboardOptions",
+ "description": "Options to specify details of Liveboard.",
+ "nullable": true
+ },
+ "metadata": {
+ "$ref": "#/components/schemas/MetadataResponse",
"description": "Unique ID or name of the metadata."
},
- "name_pattern": {
+ "name": {
"type": "string",
- "description": "A pattern to match case-insensitive name of the metadata object. User % for a wildcard match."
+ "description": "Name of the scheduled job."
},
- "type": {
+ "pdf_options": {
+ "$ref": "#/components/schemas/PdfOptions",
+ "description": "Options for PDF export.",
+ "nullable": true
+ },
+ "recipient_details": {
+ "$ref": "#/components/schemas/RecipientDetails",
+ "description": "Recipient of the scheduled job notifications."
+ },
+ "status": {
"type": "string",
- "enum": [
- "LIVEBOARD",
- "ANSWER",
- "LOGICAL_TABLE",
- "LOGICAL_COLUMN",
- "CONNECTION",
- "TAG",
- "USER",
- "USER_GROUP",
- "LOGICAL_RELATIONSHIP"
- ],
- "description": "Type of metadata.\n1. Liveboard\n2. Answers\n3. LOGICAL_TABLE for any data object such as table, worksheet or view.\n4. LOGICAL_COLUMN for a column of any data object such as table, worksheet or view.\n5. CONNECTION for creating or modify data connections.\n6. TAG for tag objects.\n7. USER for user objects.\n8. USER_GROUP for user group objects.\n9. LOGICAL_RELATIONSHIP for table or worksheet joins. A join combines from one or several data object by using matching values"
+ "description": "Status of the job",
+ "nullable": true
+ },
+ "time_zone": {
+ "type": "string",
+ "description": "Time zone"
+ },
+ "history_runs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ResponseScheduleRun"
+ },
+ "description": "Schedule runs history records.",
+ "nullable": true
+ },
+ "personalised_view_id": {
+ "type": "string",
+ "description": "Personalised view id of the liveboard to be scheduled.",
+ "nullable": true
}
}
},
- "PermissionInput": {
+ "Author": {
"type": "object",
"required": [
- "principal",
- "share_mode"
+ "id",
+ "name"
],
"properties": {
- "principal": {
- "$ref": "#/components/schemas/PrincipalsInput",
- "description": "Details of users or user groups."
+ "id": {
+ "type": "string",
+ "description": "The unique identifier of the object."
},
- "share_mode": {
+ "name": {
"type": "string",
- "enum": [
- "READ_ONLY",
- "MODIFY",
- "NO_ACCESS"
- ],
- "description": "Object share mode."
+ "description": "Name of the object."
}
},
- "description": "Details of users or user groups."
+ "description": "Author of the schedule."
},
- "ExcludeMetadataListItemInput": {
+ "Frequency": {
"type": "object",
"required": [
- "identifier",
- "type"
+ "cron_expression"
],
"properties": {
- "identifier": {
+ "cron_expression": {
+ "$ref": "#/components/schemas/CronExpression",
+ "description": "Schedule selected cron expression."
+ }
+ },
+ "description": "Configuration of schedule with cron expression"
+ },
+ "CronExpression": {
+ "type": "object",
+ "required": [
+ "day_of_month",
+ "day_of_week",
+ "hour",
+ "minute",
+ "month",
+ "second"
+ ],
+ "properties": {
+ "day_of_month": {
"type": "string",
- "description": "Unique ID or name of the metadata."
+ "description": "Day of month of the object."
},
- "type": {
+ "day_of_week": {
"type": "string",
- "enum": [
- "LIVEBOARD",
- "ANSWER",
- "LOGICAL_TABLE",
- "LOGICAL_COLUMN",
- "CONNECTION",
- "TAG",
- "USER",
- "USER_GROUP",
- "LOGICAL_RELATIONSHIP"
- ],
- "description": "Type of metadata.\n1. Liveboard\n2. Answers\n3. LOGICAL_TABLE for any data object such as table, worksheet or view.\n4. LOGICAL_COLUMN for a column of any data object such as table, worksheet or view.\n5. CONNECTION for creating or modify data connections.\n6. TAG for tag objects.\n7. USER for user objects.\n8. USER_GROUP for user group objects.\n9. LOGICAL_RELATIONSHIP for table or worksheet joins. A join combines from one or several data object by using matching values"
+ "description": "Day of Week of the object."
+ },
+ "hour": {
+ "type": "string",
+ "description": "Hour of the object."
+ },
+ "minute": {
+ "type": "string",
+ "description": "Minute of the object."
+ },
+ "month": {
+ "type": "string",
+ "description": "Month of the object."
+ },
+ "second": {
+ "type": "string",
+ "description": "Second of the object."
}
- }
+ },
+ "description": "Schedule selected cron expression."
},
- "FavoriteObjectOptionsInput": {
+ "LiveboardOptions": {
"type": "object",
+ "required": [
+ "visualization_identifiers"
+ ],
"properties": {
- "include": {
- "type": "boolean",
- "description": "Includes objects marked as favorite for the specified user GUIDs."
- },
- "user_identifiers": {
+ "visualization_identifiers": {
"type": "array",
"items": {
"type": "string"
},
- "description": "Unique ID or name of the users. If not specified then favorite of current logged in user is considered."
- }
- },
- "description": "Favorite object options."
- },
- "SortOptions": {
- "type": "object",
- "properties": {
- "field_name": {
- "type": "string",
- "enum": [
- "NAME",
- "DISPLAY_NAME",
- "AUTHOR",
- "CREATED",
- "MODIFIED"
- ],
- "description": "Name of the field to apply the sort on."
- },
- "order": {
- "type": "string",
- "enum": [
- "ASC",
- "DESC"
- ],
- "description": "Sort order : ASC(Ascending) or DESC(Descending)."
+ "description": "Unique ID or name of visualizations."
}
},
- "description": "Sort options."
+ "description": "Options to specify details of Liveboard."
},
- "SqlQueryResponse": {
+ "MetadataResponse": {
"type": "object",
"required": [
- "metadata_id",
- "metadata_name",
- "metadata_type",
- "sql_queries"
+ "id",
+ "type"
],
"properties": {
- "metadata_id": {
+ "name": {
"type": "string",
- "description": "Unique identifier of the metadata."
+ "nullable": true
},
- "metadata_name": {
- "type": "string",
- "description": "Name of the metadata."
+ "id": {
+ "type": "string"
},
- "metadata_type": {
+ "type": {
"type": "string",
"enum": [
- "LIVEBOARD",
- "ANSWER",
- "LOGICAL_TABLE",
- "LOGICAL_COLUMN",
- "CONNECTION",
- "TAG",
- "USER",
- "USER_GROUP",
- "LOGICAL_RELATIONSHIP"
- ],
- "description": "Type of the metadata."
- },
- "sql_queries": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/SqlQuery"
- },
- "description": "SQL query details of metadata objects."
+ "LIVEBOARD"
+ ]
}
}
},
- "PdfOptionsInput": {
+ "PdfOptions": {
"type": "object",
"properties": {
+ "complete_liveboard": {
+ "type": "boolean",
+ "description": "Indicates whether to include complete Liveboard.",
+ "nullable": true
+ },
"include_cover_page": {
"type": "boolean",
- "description": "Indicates whether to include cover page with the Liveboard title."
+ "description": "Indicates whether to include cover page with the Liveboard title.",
+ "nullable": true
},
"include_custom_logo": {
"type": "boolean",
- "description": "Indicates whether to include customized wide logo in the footer if available."
+ "description": "Indicates whether to include customized wide logo in the footer if available.",
+ "nullable": true
},
"include_filter_page": {
"type": "boolean",
- "description": "Indicates whether to include a page with all applied filters."
+ "description": "Indicates whether to include a page with all applied filters.",
+ "nullable": true
},
"include_page_number": {
"type": "boolean",
- "description": "Indicates whether to include page number in the footer of each page."
+ "description": "Indicates whether to include page number in the footer of each page",
+ "nullable": true
+ },
+ "page_footer_text": {
+ "type": "string",
+ "description": "Text to include in the footer of each page.",
+ "nullable": true
},
"page_orientation": {
+ "type": "string",
+ "description": "Page orientation of the PDF.",
+ "nullable": true
+ },
+ "page_size": {
"type": "string",
"enum": [
- "PORTRAIT",
- "LANDSCAPE"
+ "A4"
],
- "description": "Page orientation of the PDF."
+ "description": "Page size.",
+ "nullable": true
},
"truncate_table": {
"type": "boolean",
- "description": "Indicates whether to include only first page of the tables."
- },
- "page_footer_text": {
- "type": "string",
- "description": "Text to include in the footer of each page."
+ "description": "Indicates whether to include only first page of the tables.",
+ "nullable": true
}
- }
+ },
+ "description": "Options for PDF export."
},
- "SearchDataResponse": {
+ "RecipientDetails": {
"type": "object",
- "required": [
- "contents"
- ],
"properties": {
- "contents": {
+ "emails": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/AnswerContent"
+ "type": "string"
+ },
+ "description": "Emails of the recipients. Specify email address if the recipient is not a ThoughtSpot user.",
+ "nullable": true
+ },
+ "principals": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PrincipalsListItem"
},
- "description": "Data content of metadata objects."
+ "description": "List of user or groups to subscribe for the scheduled job notifications.",
+ "nullable": true
}
},
- "description": "Response format associated with the search data API."
+ "description": "Recipient configuration which includes email address, ID or name of the users and groups."
},
- "LogResponse": {
+ "PrincipalsListItem": {
"type": "object",
"required": [
- "date",
- "log"
+ "identifier",
+ "type"
],
"properties": {
- "date": {
+ "identifier": {
"type": "string",
- "description": "Date timestamp of the log entry"
+ "description": "Unique ID or name of the user or group."
},
- "log": {
+ "type": {
"type": "string",
- "description": "Log data"
+ "description": "Principal type. Valid values are"
}
}
},
- "RepoConfigObject": {
+ "ResponseScheduleRun": {
"type": "object",
"required": [
- "remote_alias"
+ "id",
+ "start_time_in_millis",
+ "end_time_in_millis",
+ "status"
],
"properties": {
- "repository_url": {
+ "id": {
"type": "string",
- "description": "Remote repository URL configured"
+ "description": "GUID of the scheduled job."
},
- "branches": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "Branches that have been pulled in local repository"
+ "start_time_in_millis": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Schedule run start time in milliseconds."
+ },
+ "end_time_in_millis": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Schedule run end time in milliseconds."
+ },
+ "status": {
+ "type": "string",
+ "description": "Status of the schedule run."
+ },
+ "detail": {
+ "type": "string",
+ "description": "Message details related to the schedule run.",
+ "nullable": true
+ }
+ },
+ "description": "Schedule run response object"
+ },
+ "MetadataInput": {
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "type": "string",
+ "nullable": true
},
- "remote_alias": {
+ "type": {
"type": "string",
- "description": "Alias name associated with the remote repository"
+ "enum": [
+ "LIVEBOARD"
+ ],
+ "nullable": true
}
}
},
- "CommitHistoryResponse": {
+ "SortingOptions": {
+ "type": "object",
+ "properties": {
+ "field_name": {
+ "type": "string",
+ "description": "Name of the field to apply the sort on.",
+ "nullable": true
+ },
+ "order": {
+ "type": "string",
+ "description": "Sort order : ASC(Ascending) or DESC(Descending).",
+ "nullable": true
+ }
+ },
+ "description": "Sort options."
+ },
+ "ScheduleHistoryRunsOptionsInput": {
+ "type": "object",
+ "properties": {
+ "include_history_runs": {
+ "type": "boolean",
+ "default": false,
+ "description": "Indicates whether to fetch history runs for the scheduled notification.",
+ "nullable": true
+ },
+ "record_size": {
+ "type": "integer",
+ "format": "int32",
+ "default": 10,
+ "description": "Indicates the max number of records that can be fetched as past runs of any scheduled job.",
+ "nullable": true
+ },
+ "record_offset": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0,
+ "description": "Indicates the starting record number from where history runs records should be fetched.",
+ "nullable": true
+ }
+ }
+ },
+ "Action_Details_Input_Create": {
+ "type": "object",
+ "properties": {
+ "CALLBACK": {
+ "$ref": "#/components/schemas/CALLBACKInputMandatory",
+ "description": "CALLBACK Custom Action Type",
+ "nullable": true
+ },
+ "URL": {
+ "$ref": "#/components/schemas/URLInputMandatory",
+ "description": "URL Custom Action Type",
+ "nullable": true
+ }
+ },
+ "description": "Action details includes Type and Configuration for Custom Actions, either Callback or URL is required.\nWhen both callback and url are provided, callback would be considered"
+ },
+ "CALLBACKInputMandatory": {
+ "type": "object",
+ "properties": {
+ "reference": {
+ "type": "string",
+ "description": "Reference name. By default, the value will be set to action name.",
+ "nullable": true
+ }
+ },
+ "description": "CALLBACK Custom Action Type"
+ },
+ "URLInputMandatory": {
"type": "object",
"required": [
- "committer",
- "author",
- "comment",
- "commit_time",
- "commit_id",
- "branch"
+ "url"
],
"properties": {
- "committer": {
- "$ref": "#/components/schemas/CommiterType",
- "description": "Repository user using which changes were committed"
+ "authentication": {
+ "$ref": "#/components/schemas/AuthenticationInput",
+ "description": "Authorization type for the custom action.",
+ "nullable": true
},
- "author": {
- "$ref": "#/components/schemas/AuthorType",
- "description": "Thoughtspot user who commits the changes"
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ParametersListItemInput"
+ },
+ "description": "Query parameters for url.",
+ "nullable": true
},
- "comment": {
+ "url": {
"type": "string",
- "description": "Comments associated with the commit"
+ "description": "Request Url for the Custom action."
+ },
+ "reference": {
+ "type": "string",
+ "description": "Reference name. By default the value will be set to action name",
+ "nullable": true
+ }
+ },
+ "description": "URL Custom Action Type"
+ },
+ "AuthenticationInput": {
+ "type": "object",
+ "properties": {
+ "API_Key": {
+ "$ref": "#/components/schemas/API_KeyInput",
+ "description": "With API key auth, you send a key-value pair to the API either in the request headers or query parameters.",
+ "nullable": true
},
- "commit_time": {
- "type": "string",
- "description": "Time at which the changes were committed."
+ "Basic_Auth": {
+ "$ref": "#/components/schemas/Basic_AuthInput",
+ "description": "Basic Auth: Basic authentication involves sending a verified username and password with your request.",
+ "nullable": true
},
- "commit_id": {
+ "Bearer_Token": {
"type": "string",
- "description": "SHA id associated with the commit"
+ "description": "Bearer tokens enable requests to authenticate using an access key.",
+ "nullable": true
},
- "branch": {
+ "No_Auth": {
"type": "string",
- "description": "Branch where changes were committed"
+ "description": "No authorization. If your request doesn't require authorization.",
+ "nullable": true
}
- }
+ },
+ "description": "Authorization type for the custom action."
},
- "Token": {
+ "API_KeyInput": {
"type": "object",
- "required": [
- "token",
- "creation_time_in_millis",
- "expiration_time_in_millis",
- "scope",
- "valid_for_user_id",
- "valid_for_username"
- ],
"properties": {
- "token": {
+ "key": {
"type": "string",
- "description": "Bearer auth token."
- },
- "creation_time_in_millis": {
- "type": "number",
- "format": "float",
- "description": "Token creation time in milliseconds."
- },
- "expiration_time_in_millis": {
- "type": "number",
- "format": "float",
- "description": "Token expiration time in milliseconds."
+ "description": "Enter your key name",
+ "nullable": true
},
- "scope": {
- "$ref": "#/components/schemas/Scope",
- "description": "Token access scope details"
+ "value": {
+ "type": "string",
+ "description": "Enter you key value",
+ "nullable": true
+ }
+ },
+ "description": "With API key auth, you send a key-value pair to the API either in the request headers or query parameters."
+ },
+ "Basic_AuthInput": {
+ "type": "object",
+ "properties": {
+ "password": {
+ "type": "string",
+ "description": "Password for the basic authentication",
+ "nullable": true
},
- "valid_for_user_id": {
+ "username": {
"type": "string",
- "description": "Username to whom the token is issued."
+ "description": "Username for the basic authentication",
+ "nullable": true
+ }
+ },
+ "description": "Basic Auth: Basic authentication involves sending a verified username and password with your request."
+ },
+ "ParametersListItemInput": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "Key for the url query parameter",
+ "nullable": true
},
- "valid_for_username": {
+ "value": {
"type": "string",
- "description": "Unique identifier of the user to whom the token is issued."
+ "description": "Value for the url query parameter",
+ "nullable": true
}
}
},
- "TagMetadataTypeInput": {
+ "Associate_Metadata_Input_Create": {
"type": "object",
"required": [
- "type",
"identifier"
],
"properties": {
+ "action_config": {
+ "$ref": "#/components/schemas/ActionConfigInputCreate",
+ "description": "Specify that the association is enabled for the metadata object",
+ "nullable": true
+ },
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata."
+ },
"type": {
"type": "string",
"enum": [
- "LIVEBOARD",
+ "VISUALIZATION",
"ANSWER",
- "LOGICAL_TABLE",
- "LOGICAL_COLUMN"
+ "WORKSHEET"
],
- "description": "Type of metadata.\n1. LIVEBOARD\n2. ANSWERS\n3. LOGICAL_TABLE for any data object such as table, worksheet or view.\n4. LOGICAL_COLUMN for a column of any data object such as tables, worksheets or views."
- },
- "identifier": {
- "type": "string",
- "description": "Unique ID or name of the metadata."
+ "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
}
}
},
- "ImportUserGroupsResponse": {
+ "ActionConfigInputCreate": {
"type": "object",
- "required": [
- "groups_added",
- "groups_deleted",
- "groups_updated"
- ],
"properties": {
- "groups_added": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/UserGroup"
- },
- "description": "The user groups which are added into the system."
- },
- "groups_deleted": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/UserGroup"
- },
- "description": "The user groups which are deleted from the system."
+ "position": {
+ "type": "string",
+ "enum": [
+ "MENU",
+ "PRIMARY",
+ "CONTEXT_MENU"
+ ],
+ "default": "MENU",
+ "description": "Position of the Custom action on the Metadata object. Earlier naming convention: context.",
+ "nullable": true
},
- "groups_updated": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/UserGroup"
- },
- "description": "The user groups which are updated in the system."
+ "visibility": {
+ "type": "boolean",
+ "default": true,
+ "description": "Visibility of the metadata association with custom action. Earlier naming convention: enabled",
+ "nullable": true
}
- }
+ },
+ "description": "Specify that the association is enabled for the metadata object Default"
},
- "GroupsImportListInput": {
+ "Default_Action_Config_Input_Create": {
"type": "object",
- "required": [
- "display_name",
- "group_identifier"
- ],
"properties": {
- "display_name": {
- "type": "string",
- "description": "Unique display name of the user group."
- },
- "group_identifier": {
+ "visibility": {
+ "type": "boolean",
+ "default": true,
+ "description": "Custom action is available on all visualizations. Earlier naming convention: LOCAL/GLOBAL. TRUE signifies GLOBAL for backward compatibility.\nDefault: true",
+ "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."
+ },
+ "Action_Details_Input": {
+ "type": "object",
+ "properties": {
+ "CALLBACK": {
+ "$ref": "#/components/schemas/CALLBACKInput",
+ "description": "CALLBACK Custom Action Type",
+ "nullable": true
+ },
+ "URL": {
+ "$ref": "#/components/schemas/URLInput",
+ "description": "URL Custom Action Type",
+ "nullable": true
+ }
+ },
+ "description": "Action details includes `Type` and configuration details of Custom Actions. Either Callback or URL is required."
+ },
+ "CALLBACKInput": {
+ "type": "object",
+ "properties": {
+ "reference": {
"type": "string",
- "description": "Unique ID or name of the User Group."
+ "description": "Reference name. By default, the value will be set to action name.",
+ "nullable": true
+ }
+ },
+ "description": "CALLBACK Custom Action Type"
+ },
+ "URLInput": {
+ "type": "object",
+ "properties": {
+ "authentication": {
+ "$ref": "#/components/schemas/AuthenticationInput",
+ "description": "Authorization type for the custom action.",
+ "nullable": true
},
- "default_liveboard_identifiers": {
+ "parameters": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/components/schemas/ParametersListItemInput"
},
- "description": "Unique ID of liveboards which will be assigned as default liveboards to the user group."
+ "description": "Query parameters for url.",
+ "nullable": true
},
- "description": {
+ "url": {
"type": "string",
- "description": "Description of the user group."
+ "description": "Request Url for the Custom action.",
+ "nullable": true
},
- "privileges": {
- "type": "array",
- "items": {
- "type": "string",
- "enum": [
- "ADMINISTRATION",
- "AUTHORING",
- "USERDATAUPLOADING",
- "DATADOWNLOADING",
- "USERMANAGEMENT",
- "SECURITYMANAGEMENT",
- "LOGICALMODELING",
- "DATAMANAGEMENT",
- "TAGMANAGEMENT",
- "SHAREWITHALL",
- "SYSTEMMANAGEMENT",
- "JOBSCHEDULING",
- "A3ANALYSIS",
- "EXPERIMENTALFEATUREPRIVILEGE",
- "BYPASSRLS",
- "RANALYSIS",
- "DISABLE_PINBOARD_CREATION",
- "DEVELOPER",
- "APPLICATION_ADMINISTRATION",
- "USER_ADMINISTRATION",
- "GROUP_ADMINISTRATION",
- "BACKUP_ADMINISTRATION",
- "SYSTEM_INFO_ADMINISTRATION",
- "ENABLESPOTAPPCREATION",
- "SYNCMANAGEMENT"
- ]
- },
- "description": "Privileges which will be assigned to the user group."
+ "reference": {
+ "type": "string",
+ "description": "Reference name. By default the value will be set to action name",
+ "nullable": true
+ }
+ },
+ "description": "URL Custom Action Type"
+ },
+ "Associate_Metadata_Input": {
+ "type": "object",
+ "properties": {
+ "action_config": {
+ "$ref": "#/components/schemas/ActionConfigInput",
+ "description": "Specify that the association is enabled for the metadata object",
+ "nullable": true
},
- "sub_group_identifiers": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "Unique ID or name of the User Groups who will be part of the user group."
+ "identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the metadata.",
+ "nullable": true
},
"type": {
"type": "string",
"enum": [
- "LOCAL_GROUP",
- "LDAP_GROUP"
+ "VISUALIZATION",
+ "ANSWER",
+ "WORKSHEET"
],
- "description": "Type of the user group."
- },
- "user_identifiers": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "Unique ID or name of the Users who will be part of the user group."
- },
- "visibility": {
+ "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
+ }
+ }
+ },
+ "ActionConfigInput": {
+ "type": "object",
+ "properties": {
+ "position": {
"type": "string",
"enum": [
- "SHARABLE",
- "NON_SHARABLE"
+ "MENU",
+ "PRIMARY",
+ "CONTEXT_MENU"
],
- "description": "Visibility of the user group. The SHARABLE makes a user group visible to other users and user groups, and thus allows them to share objects."
+ "description": "Position of the Custom action on the Metadata object. Earlier naming convention: context.",
+ "nullable": true
+ },
+ "visibility": {
+ "type": "boolean",
+ "description": "Visibility of the metadata association with custom action. Earlier naming convention: enabled",
+ "nullable": true
}
- }
+ },
+ "description": "Specify that the association is enabled for the metadata object Default"
},
- "CommitResponse": {
+ "Default_Action_Config_Input": {
+ "type": "object",
+ "properties": {
+ "visibility": {
+ "type": "boolean",
+ "description": "Custom action is available on all visualizations. Earlier naming convention: LOCAL/GLOBAL. TRUE signifies GLOBAL for backward compatibility.",
+ "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."
+ },
+ "ModelTableList": {
"type": "object",
"required": [
- "committer",
- "author",
- "comment"
+ "model_name",
+ "tables"
],
"properties": {
- "committer": {
- "$ref": "#/components/schemas/CommiterType",
- "description": "Repository user using which changes were committed"
- },
- "author": {
- "$ref": "#/components/schemas/AuthorType",
- "description": "Thoughtspot user who commits the changes"
- },
- "comment": {
+ "model_name": {
"type": "string",
- "description": "Comments associated with the commit"
- },
- "commit_time": {
- "type": "string",
- "description": "Time at which the changes were committed."
- },
- "commit_id": {
- "type": "string",
- "description": "SHA id associated with the commit"
+ "description": "Name of the Model."
},
- "branch": {
+ "model_path": {
"type": "string",
- "description": "Branch where changes were committed"
+ "description": "Model directory path, this is optional param and required if there are duplicate models with the same name.",
+ "nullable": true
},
- "committed_files": {
+ "tables": {
"type": "array",
"items": {
"type": "string"
},
- "description": "Files that were pushed as part of this commit"
+ "description": "List of Tables."
}
}
},
- "MetadataObject": {
+ "DbtSearchResponse": {
"type": "object",
- "required": [
- "identifier",
- "type"
- ],
"properties": {
- "identifier": {
+ "dbt_connection_identifier": {
"type": "string",
- "description": "Unique ID or name of the metadata"
+ "nullable": true
},
- "type": {
+ "project_name": {
"type": "string",
- "enum": [
- "LIVEBOARD",
- "ANSWER",
- "LOGICAL_TABLE",
- "LOGICAL_COLUMN",
- "CONNECTION",
- "TAG",
- "USER",
- "USER_GROUP",
- "LOGICAL_RELATIONSHIP"
- ],
- "description": "Type of metadata."
- }
- }
- },
- "DeployResponse": {
- "type": "object",
- "properties": {
- "file_name": {
+ "nullable": true
+ },
+ "connection_id": {
"type": "string",
- "description": "Name of the file deployed"
+ "nullable": true
},
- "metadata_name": {
+ "connection_name": {
"type": "string",
- "description": "Name of the metadata object"
+ "nullable": true
},
- "metadata_type": {
+ "cdw_database": {
"type": "string",
- "description": "Type of the metadata object"
+ "nullable": true
},
- "status_code": {
+ "import_type": {
"type": "string",
- "description": "Indicates the status of deployment for the file"
+ "nullable": true
},
- "status_message": {
+ "author_name": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ },
+ "Conversation": {
+ "type": "object",
+ "required": [
+ "conversation_identifier"
+ ],
+ "properties": {
+ "conversation_identifier": {
"type": "string",
- "description": "Any error or warning with the deployment"
+ "description": "Unique identifier of the conversation."
}
}
},
- "Org": {
+ "ResponseMessage": {
"type": "object",
"required": [
- "id",
- "name"
+ "message_type"
],
"properties": {
- "id": {
+ "session_identifier": {
+ "type": "string",
+ "description": "Unique identifier of the generated response.",
+ "nullable": true
+ },
+ "generation_number": {
"type": "integer",
"format": "int32",
- "description": "The ID of the object."
+ "description": "Generate number of the response.",
+ "nullable": true
},
- "name": {
+ "message_type": {
"type": "string",
- "description": "Name of the object."
+ "enum": [
+ "TSAnswer"
+ ],
+ "description": "Type of the generated response."
+ },
+ "visualization_type": {
+ "type": "string",
+ "enum": [
+ "Chart",
+ "Table",
+ "Undefined"
+ ],
+ "description": "Generated visualization type.",
+ "nullable": true
+ },
+ "tokens": {
+ "type": "string",
+ "description": "Tokens for the response.",
+ "nullable": true
+ },
+ "display_tokens": {
+ "type": "string",
+ "description": "User friendly tokens for the response.",
+ "nullable": true
}
- },
- "description": "Current logged in Organizations of the user."
+ }
},
- "FavoriteMetadataItem": {
+ "InputVariableValue": {
"type": "object",
"required": [
- "id",
- "name",
- "type"
+ "value",
+ "org_identifier"
],
"properties": {
- "id": {
+ "value": {
"type": "string",
- "description": "Unique ID of the metadata."
+ "description": "The connection property value"
},
- "name": {
+ "org_identifier": {
"type": "string",
- "description": "name of the metadata."
+ "description": "The unique name of the org"
},
- "type": {
+ "principal_type": {
"type": "string",
"enum": [
- "LIVEBOARD",
- "ANSWER",
- "LOGICAL_TABLE",
- "LOGICAL_COLUMN",
- "CONNECTION",
- "TAG",
"USER",
- "USER_GROUP",
- "LOGICAL_RELATIONSHIP"
+ "USER_GROUP"
],
- "description": "Type of metadata."
+ "description": "Principal type",
+ "nullable": true
+ },
+ "principal_identifier": {
+ "type": "string",
+ "description": "Unique ID or name of the principal",
+ "nullable": true
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The priority assigned to this value. If there are 2 matching values, the one with the higher priority will be picked.",
+ "nullable": true
}
}
},
- "Object_ID_And_Name": {
+ "VariableValueInput": {
"type": "object",
+ "required": [
+ "variable_identifier",
+ "variable_values"
+ ],
"properties": {
- "id": {
+ "variable_identifier": {
"type": "string",
- "description": "The unique identifier of the object."
+ "description": "ID or Name of the variable"
},
- "name": {
- "type": "string",
- "description": "Name of the object."
+ "variable_values": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/InputVariableValue"
+ },
+ "description": "Values of the variable"
}
},
- "description": "The object representation with ID and Name."
+ "description": "Input for variable value update"
},
- "ImportUserType": {
+ "CreateEmailCustomizationResponse": {
"type": "object",
"required": [
- "id",
- "name"
+ "tenant_id",
+ "org",
+ "name",
+ "template_properties"
],
"properties": {
- "id": {
+ "tenant_id": {
"type": "string",
- "description": "Unique identifier of the user."
+ "description": "Tenant ID"
+ },
+ "org": {
+ "$ref": "#/components/schemas/OrgType",
+ "description": "Email customization org"
},
"name": {
"type": "string",
- "description": "Name of the user."
+ "description": "Email customization name."
+ },
+ "template_properties": {
+ "type": "object",
+ "description": "Customization configuration for the email"
}
}
},
- "AnswerContent": {
+ "OrgType": {
"type": "object",
- "required": [
- "available_data_row_count",
- "column_names",
- "data_rows",
- "record_offset",
- "record_size",
- "returned_data_row_count",
- "sampling_ratio"
- ],
"properties": {
- "available_data_row_count": {
- "type": "integer",
- "format": "int32",
- "description": "Total available data row count."
- },
- "column_names": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "Name of the columns."
- },
- "data_rows": {
- "type": "array",
- "items": {
- "type": "object"
- },
- "description": "Rows of data set."
- },
- "record_offset": {
- "type": "integer",
- "format": "int32",
- "description": "The starting record number from where the records should be included."
- },
- "record_size": {
- "type": "integer",
- "format": "int32",
- "description": "The number of records that should be included."
+ "name": {
+ "type": "string",
+ "nullable": true
},
- "returned_data_row_count": {
+ "id": {
"type": "integer",
"format": "int32",
- "description": "Total returned data row count."
- },
- "sampling_ratio": {
- "type": "number",
- "format": "float",
- "description": "Sampling ratio (0 to 1). If the query was sampled, it is the ratio of keys returned in the data set to the total number of keys expected in the query. If the value is 1.0, this means that the complete result is returned."
+ "nullable": true
}
}
},
- "LiveboardContent": {
+ "Template_Properties_Input_Create": {
"type": "object",
- "required": [
- "available_data_row_count",
- "column_names",
- "data_rows",
- "record_offset",
- "record_size",
- "returned_data_row_count",
- "sampling_ratio"
- ],
"properties": {
- "available_data_row_count": {
- "type": "integer",
- "format": "int32",
- "description": "Total available data row count."
+ "cta_button_bg_color": {
+ "type": "string",
+ "description": "Background color for call-to-action button in hex format",
+ "nullable": true
},
- "column_names": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "Name of the columns."
+ "cta_text_font_color": {
+ "type": "string",
+ "description": "Text color for call-to-action button in hex format",
+ "nullable": true
},
- "data_rows": {
- "type": "array",
- "items": {
- "type": "object"
- },
- "description": "Rows of data set."
+ "primary_bg_color": {
+ "type": "string",
+ "description": "Primary background color in hex format",
+ "nullable": true
},
- "record_offset": {
- "type": "integer",
- "format": "int32",
- "description": "The starting record number from where the records should be included."
+ "home_url": {
+ "type": "string",
+ "description": "Home page URL (HTTP/HTTPS only)",
+ "nullable": true
},
- "record_size": {
- "type": "integer",
- "format": "int32",
- "description": "The number of records that should be included."
+ "logo_url": {
+ "type": "string",
+ "description": "Logo image URL (HTTP/HTTPS only)",
+ "nullable": true
},
- "returned_data_row_count": {
- "type": "integer",
- "format": "int32",
- "description": "Total returned data row count."
+ "font_family": {
+ "type": "string",
+ "description": "Font family for email content (e.g., Arial, sans-serif)",
+ "nullable": true
},
- "sampling_ratio": {
- "type": "number",
- "format": "float",
- "description": "Sampling ratio (0 to 1). If the query was sampled, it is the ratio of keys returned in the data set to the total number of keys expected in the query. If the value is 1.0, this means that the complete result is returned."
+ "product_name": {
+ "type": "string",
+ "description": "Product name to display",
+ "nullable": true
},
- "visualization_id": {
+ "footer_address": {
"type": "string",
- "description": "Unique ID of the visualization."
+ "description": "Footer address text",
+ "nullable": true
},
- "visualization_name": {
+ "footer_phone": {
"type": "string",
- "description": "Name of the visualization."
- }
- }
- },
- "SqlQuery": {
- "type": "object",
- "required": [
- "metadata_id",
- "metadata_name",
- "sql_query"
- ],
- "properties": {
- "metadata_id": {
+ "description": "Footer phone number",
+ "nullable": true
+ },
+ "replacement_value_for_liveboard": {
"type": "string",
- "description": "Unique identifier of the metadata."
+ "description": "Replacement value for Liveboard",
+ "nullable": true
},
- "metadata_name": {
+ "replacement_value_for_answer": {
"type": "string",
- "description": "Name of the metadata."
+ "description": "Replacement value for Answer",
+ "nullable": true
},
- "sql_query": {
+ "replacement_value_for_spot_iq": {
"type": "string",
- "description": "SQL query of a metadata object."
+ "description": "Replacement value for SpotIQ",
+ "nullable": true
+ },
+ "hide_footer_address": {
+ "type": "boolean",
+ "description": "Whether to hide footer address",
+ "nullable": true
+ },
+ "hide_footer_phone": {
+ "type": "boolean",
+ "description": "Whether to hide footer phone number",
+ "nullable": true
+ },
+ "hide_manage_notification": {
+ "type": "boolean",
+ "description": "Whether to hide manage notification link",
+ "nullable": true
+ },
+ "hide_mobile_app_nudge": {
+ "type": "boolean",
+ "description": "Whether to hide mobile app nudge",
+ "nullable": true
+ },
+ "hide_privacy_policy": {
+ "type": "boolean",
+ "description": "Whether to hide privacy policy link",
+ "nullable": true
+ },
+ "hide_product_name": {
+ "type": "boolean",
+ "description": "Whether to hide product name",
+ "nullable": true
+ },
+ "hide_ts_vocabulary_definitions": {
+ "type": "boolean",
+ "description": "Whether to hide ThoughtSpot vocabulary definitions",
+ "nullable": true
+ },
+ "hide_notification_status": {
+ "type": "boolean",
+ "description": "Whether to hide notification status",
+ "nullable": true
+ },
+ "hide_error_message": {
+ "type": "boolean",
+ "description": "Whether to hide error message",
+ "nullable": true
+ },
+ "hide_unsubscribe_link": {
+ "type": "boolean",
+ "description": "Whether to hide unsubscribe link",
+ "nullable": true
+ },
+ "hide_modify_alert": {
+ "type": "boolean",
+ "description": "Whether to hide modify alert",
+ "nullable": true
}
},
- "description": "Response format associated with fetch SQL query api"
+ "description": "Email customization configuration properties"
},
- "CommiterType": {
+ "ExternalTableInput": {
"type": "object",
"required": [
- "username"
+ "connection_identifier",
+ "table_name"
],
"properties": {
- "email": {
+ "connection_identifier": {
"type": "string",
- "description": "Email id of the committer"
+ "description": "Unique ID or name of the connection."
},
- "username": {
+ "database_name": {
+ "type": "string",
+ "default": "",
+ "description": "Name of the database.",
+ "nullable": true
+ },
+ "schema_name": {
+ "type": "string",
+ "default": "",
+ "description": "Name of the schema.",
+ "nullable": true
+ },
+ "table_name": {
"type": "string",
- "description": "Username of the committer"
+ "description": "Name of the table. Table names may be case-sensitive depending on the database system."
}
}
},
- "AuthorType": {
+ "Runtime_Filter": {
"type": "object",
- "required": [
- "email",
- "username"
- ],
"properties": {
- "email": {
- "type": "string",
- "description": "Email id of the committer"
- },
- "username": {
- "type": "string",
- "description": "Username of the committer"
+ "runtime_filter": {
+ "type": "object",
+ "description": "Runtime filter parameter type in JWT."
}
- }
+ },
+ "description": "List of runtime parameters need to set during the session."
},
- "Scope": {
+ "Runtime_Sort": {
"type": "object",
- "required": [
- "access_type"
- ],
"properties": {
- "access_type": {
- "type": "string",
- "description": "Object access scope type."
- },
- "org_id": {
- "type": "integer",
- "format": "int32",
- "description": "Unique identifier of the metadata."
- },
- "metadata_id": {
- "type": "string",
- "description": "Unique identifier of the organization."
+ "runtime_sort": {
+ "type": "object",
+ "description": "Runtime sort parameter type in JWT."
}
- }
+ },
+ "description": "List of runtime parameters need to set during the session."
+ },
+ "Runtime_Param_Override": {
+ "type": "object",
+ "properties": {
+ "runtime_param_override": {
+ "type": "object",
+ "description": "Runtime param override type in JWT."
+ }
+ },
+ "description": "List of runtime parameters need to set during the session."
}
},
"securitySchemes": {
@@ -5889,4 +64075,4 @@
}
}
]
-}
+}
\ No newline at end of file
diff --git a/docs/auth/Authentication.md b/docs/auth/Authentication.md
deleted file mode 100644
index 2a1e51463..000000000
--- a/docs/auth/Authentication.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-stoplight-id: bizp3h40vjau4
-tags: [auth, security]
----
-
-# Authentication
-
-[Test] The beginning of an awesome article...
-
-## Sub head
-
-```js
-console.log('Markdown');
-```
-
diff --git a/openspecapi.json b/openspecapi.json
deleted file mode 100644
index e85aff36f..000000000
--- a/openspecapi.json
+++ /dev/null
@@ -1 +0,0 @@
-{"openapi":"3.0.0","info":{"title":"RESTAPI SDK","version":"2.0.0"},"paths":{"/tspublic/rest/v2/session":{"get":{"operationId":"getSessionInfo","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Session object information"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Session"],"description":"To get session object information, use this endpoint"}},"/tspublic/rest/v2/session/logout":{"post":{"operationId":"logout","responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully logged out and token invalidated"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Session"],"security":[],"description":"To log a user out of the current session, use this endpoint"}},"/tspublic/rest/v2/session/gettoken":{"post":{"operationId":"getToken","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"userName":{"type":"string","description":"Username of the user account"},"password":{"type":"string","description":"The password of the user account"},"secretKey":{"type":"string","description":"The secret key string provided by the ThoughtSpot application server. ThoughtSpot generates this secret key when you enable trusted authentication."},"accessLevel":{"description":"User access privilege. \n\n FULL - Creates a session with full access. \n\n REPORT_BOOK_VIEW - Allow view access to the specified visualizations.","title":"getToken-accessLevel","type":"string","enum":["FULL","REPORT_BOOK_VIEW"],"default":"FULL"},"tsObjectId":{"type":"string","description":"GUID of the ThoughtSpot object. If you have set the accessLevel attribute to REPORT_BOOK_VIEW, specify the GUID of the Liveboard or visualization object."},"tokenExpiryDuration":{"type":"string","description":"Provide duration in seconds after which the token should expire"},"orgId":{"type":"string","description":"This is applicable only if organization feature is enabled in the cluster. \n\n Id of the organization to be associated with the user login. If no input is provided then last logged in organization will be considered."}},"required":["userName"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionLoginResponse"}}},"description":"Token generated successfully"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Session"],"security":[],"description":"To programmatically create session token for a user in ThoughtSpot, use this endpoint. \n\n You can generate the token for a user by providing password or secret key from the cluster. \n\n You need to enable trusted authentication to generate secret key. To generate secret key, follow below steps. \n\n 1. Click the Develop tab. \n\n 2. Under Customizations, click Settings. \n\n 3. To enable trusted authentication, turn on the toggle. \n\n 4. A secret_key for trusted authentication is generated. \n\n 5. Click the clipboard icon to copy the token. \n\n \n\n Password is given precedence over secretKey input, when both are included in the request."}},"/tspublic/rest/v2/session/revoketoken":{"post":{"operationId":"revokeToken","responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Token revoked successfully"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Session"],"description":"To expire or revoke a token for a user, use this endpoint"}},"/tspublic/rest/v2/user":{"get":{"operationId":"getUser","parameters":[{"in":"query","name":"name","required":false,"schema":{"type":"string"},"description":"Username of the user that you want to query"},{"in":"query","name":"id","required":false,"schema":{"type":"string"},"description":"The GUID of the user account to query"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}},"description":"Details of the user"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["User"],"description":"To get the details of a specific user account by username or user id, use this endpoint. At Least one value is needed. When both are given,then user id will be considered to fetch user information \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/user/create":{"post":{"operationId":"createUser","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the user account. The username string must be unique."},"displayName":{"type":"string","description":"A display name string for the user, usually their first and last name."},"visibility":{"description":"Visibility of the user. The visibility attribute is set to DEFAULT when creating a user. \n\n The DEFAULT attribute makes a user visible to other users and user groups, and thus allows them to share objects. \n\n","title":"createUser-visibility","type":"string","enum":["DEFAULT","NON_SHARABLE","SHARABLE"],"default":"DEFAULT"},"mail":{"type":"string","description":"Email id associated with the user account"},"password":{"type":"string","description":"Password for the user account."},"orgIds":{"type":"array","items":{"type":"integer","format":"int32"},"description":"This is applicable only if organization feature is enabled in the cluster. \n\n Array of org identifiers. If no value is provided, the organization associated with the login session is considered."},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndIDInput"},"description":"A JSON array of group names or GUIDs or both. When both are given then id is considered"},"state":{"description":"Status of user account. acitve or inactive. \n\n","title":"createUser-state","type":"string","enum":["ACTIVE","INACTIVE","EXPIRED","LOCKED","PENDING"],"default":"ACTIVE"},"notifyOnShare":{"title":"createUser-notifyOnShare","type":"string","enum":["true","false"],"description":"User preference for receiving email notifications when another ThoughtSpot user shares answers or pinboards. \n\n","default":"true"},"showWalkMe":{"title":"createUser-showWalkMe","type":"string","enum":["true","false"],"description":"The user preference for revisiting the onboarding experience. \n\n","default":"true"},"analystOnboardingComplete":{"title":"createUser-analystOnboardingComplete","type":"string","enum":["true","false"],"description":"ThoughtSpot provides an interactive guided walkthrough to onboard new users. The onboarding experience leads users through a set of actions to help users get started and accomplish their tasks quickly. \n\n The users can turn off the Onboarding experience and access it again when they need assistance with the ThoughtSpot UI. \n\n","default":"false"},"type":{"description":"Type of user. LOCAL_USER indicates that the user is created locally in the ThoughtSpot system. \n\n","title":"createUser-type","type":"string","enum":["UNKNOWN","LDAP_USER","SAML_USER","OIDC_USER","LOCAL_USER"],"default":"LOCAL_USER"}},"required":["name","displayName","password"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}},"description":"Details of the user created"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["User"],"description":"To programmatically create a user account in the ThoughtSpot system, use this API endpoint. \n\n Using this API, you can create a user and assign groups. To create a user, you require admin user privileges. \n\n All users created in the ThoughtSpot system are added to ALL user group. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/user/update":{"put":{"operationId":"updateUser","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the user account. The username string must be unique."},"id":{"type":"string","description":"The GUID of the user account"},"displayName":{"type":"string","description":"A display name string for the user, usually their first and last name."},"visibility":{"description":"Visibility of the user account. \n\n The visibility attribute is set to DEFAULT when creating a user. The DEFAULT attribute makes a user visible to other users and user groups, and thus allows them to share objects. \n\n","title":"updateUser-visibility","type":"string","enum":["DEFAULT","NON_SHARABLE","SHARABLE"],"default":"DEFAULT"},"mail":{"type":"string","description":"Email id associated with the user account"},"state":{"description":"Status of user account. acitve or inactive. \n\n","title":"updateUser-state","type":"string","enum":["ACTIVE","INACTIVE","EXPIRED","LOCKED","PENDING"],"default":"ACTIVE"},"notifyOnShare":{"title":"updateUser-notifyOnShare","type":"string","enum":["true","false"],"description":"User preference for receiving email notifications when another ThoughtSpot user shares answers or pinboards. \n\n","default":"true"},"showWalkMe":{"title":"updateUser-showWalkMe","type":"string","enum":["true","false"],"description":"The user preference for revisiting the onboarding experience. \n\n","default":"true"},"analystOnboardingComplete":{"title":"updateUser-analystOnboardingComplete","type":"string","enum":["true","false"],"description":"ThoughtSpot provides an interactive guided walkthrough to onboard new users. The onboarding experience leads users through a set of actions to help users get started and accomplish their tasks quickly. \n\n The users can turn off the Onboarding experience and access it again when they need assistance with the ThoughtSpot UI. \n\n","default":"false"},"type":{"description":"Type of user. LOCAL_USER indicates that the user is created locally in the ThoughtSpot system. \n\n","title":"updateUser-type","type":"string","enum":["UNKNOWN","LDAP_USER","SAML_USER","OIDC_USER","LOCAL_USER","LDAP_GROUP","LOCAL_GROUP","TENANT_GROUP"],"default":"LOCAL_USER"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndIDInput"},"description":"A JSON array of group names or GUIDs or both. When both are given then id is considered"}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"User successfully updated"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["User"],"description":"You can use this endpoint to programmatically modify an existing user account. \n\n To modify a user, you require admin user privileges. \n\n At least one of User Id or username is mandatory. When both are given, then user id will be considered and username will be updated \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/user/delete":{"delete":{"operationId":"deleteUser","parameters":[{"in":"query","name":"name","required":false,"schema":{"type":"string"},"description":"Username of the user account"},{"in":"query","name":"id","required":false,"schema":{"type":"string"},"description":"The GUID of the user account"},{"in":"query","name":"orgId","required":false,"schema":{"type":"integer","format":"int32"},"description":"This is applicable only if organization feature is enabled in the cluster. \n\n Unique identifier of the organization from which the user would be deleted. If no value is provided, the organization associated with the login session is considered."}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"User successfully deleted"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["User"],"description":"To remove a user from the ThoughtSpot system, use this endpoint. \n\n At least one value is needed. When both are given, then user id will be considered to delete user. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/user/addgroup":{"put":{"operationId":"addUserToGroups","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Username of the user account"},"id":{"type":"string","description":"The GUID of the user account"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndIDInput"},"description":"A JSON array of group names or GUIDs or both. When both are given then id is considered"}},"required":["groups"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully assigned groups to the user"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["User"],"description":"To programmatically add groups to an existing ThoughtSpot user, use this endpoint. \n\n When you assign groups to a user, the user inherits the privileges assigned to those groups. \n\n At least one of user Id or username is mandatory. When both are given, then user id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/user/removegroup":{"put":{"operationId":"removeUserFromGroups","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"User name of the user account"},"id":{"type":"string","description":"The GUID of the user account"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndIDInput"},"description":"A JSON array of group names or GUIDs or both. When both are given then id is considered"}},"required":["groups"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully removed groups for the user"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["User"],"description":"To programmatically remove groups from an existing ThoughtSpot user, use this API endpoint. \n\n The API removes only the user association. It does not delete the user or group from the Thoughtspot system. \n\n At least one of user id or username is mandatory. When both are given, then user id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/user/addorg":{"put":{"operationId":"addUserToOrgs","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"orgId":{"type":"integer","format":"int32","description":"Unique identifier of the organization."},"users":{"type":"array","items":{"$ref":"#/components/schemas/UserNameAndIDInput"},"description":"Array of objects. A JSON array of name of users or GUIDs of users or both. When both are given then id is considered"}},"required":["users"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully assigned users to org"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["User"],"description":"This is endpoint is applicable only if organization feature is enabled in the cluster. \n\n To programmatically add existing ThoughtSpot users to an organization, use this API endpoint. \n\n Requires Administration access for the organization to which users need to be added."}},"/tspublic/rest/v2/user/changepassword":{"put":{"operationId":"changePasswordOfUser","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"User name of the user account"},"id":{"type":"string","description":"The GUID of the user account to query"},"currentPassword":{"type":"string","description":"The current password of the user."},"newPassword":{"type":"string","description":"A new password for the user."}},"required":["currentPassword","newPassword"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully changed the password for the user"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["User"],"description":"To change the password of a ThoughtSpot user account, use this endpoint. \n\n At least one of id or name of user is required. When both are given user id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/user/search":{"post":{"operationId":"searchUsers","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"outputFields":{"type":"array","items":{"type":"string"},"description":"Array of field names that need to be included in the response."},"name":{"type":"string","description":"Name of the user."},"id":{"type":"string","description":"The GUID of the user account to query"},"displayName":{"type":"string","description":"A unique display name string for the user, usually their first and last name."},"visibility":{"type":"string","description":"Visibility of the user. \n\n The visibility attribute is set to DEFAULT when creating a user. Setting this to DEFAULT makes a user visible to other users and user groups, and thus allows them to share objects","title":"searchUsers-visibility","enum":["DEFAULT","NON_SHARABLE","SHARABLE"]},"mail":{"type":"string","description":"email of the user account"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndIDInput"},"description":"A JSON array of group names or GUIDs or both. When both are given then id is considered"},"privileges":{"type":"array","items":{"title":"searchUsers-privileges","type":"string","enum":["ADMINISTRATION","AUTHORING","DEVELOPER","USERDATAUPLOADING","DATADOWNLOADING","DATAMANAGEMENT","SHAREWITHALL","EXPERIMENTALFEATUREPRIVILEGE","JOBSCHEDULING","RANALYSIS","A3ANALYSIS","BYPASSRLS"]},"description":"A JSON array of privileges assigned to the user"},"state":{"type":"string","description":"Status of user account. acitve or inactive.","title":"searchUsers-state","enum":["ACTIVE","INACTIVE","EXPIRED","LOCKED","PENDING"]},"notifyOnShare":{"title":"searchUsers-notifyOnShare","type":"string","enum":["true","false"],"description":"User preference for receiving email notifications when another ThoughtSpot user shares answers or pinboards."},"showWalkMe":{"title":"searchUsers-showWalkMe","type":"string","enum":["true","false"],"description":"The user preference for revisiting the onboarding experience."},"analystOnboardingComplete":{"title":"searchUsers-analystOnboardingComplete","type":"string","enum":["true","false"],"description":"ThoughtSpot provides an interactive guided walkthrough to onboard new users. The onboarding experience leads users through a set of actions to help users get started and accomplish their tasks quickly. \n\n The users can turn off the Onboarding experience and access it again when they need assistance with the ThoughtSpot UI."},"type":{"type":"string","description":"Type of user. LOCAL_USER indicates that the user is created locally in the ThoughtSpot system.","title":"searchUsers-type","enum":["UNKNOWN","LDAP_USER","SAML_USER","OIDC_USER","LOCAL_USER","LDAP_GROUP","LOCAL_GROUP","TENANT_GROUP"]}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Array of user details matching the search criteria and the output fields. \n\n If no output fields are specified then the response structure will match that of GET /tspublic/rest/v2/user"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["User"],"description":"To get the details of a specific user account or all users in the ThoughtSpot system, use this endpoint. If no input is provided, then all user are included in the response. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/group":{"get":{"operationId":"getGroup","parameters":[{"in":"query","name":"name","required":false,"schema":{"type":"string"},"description":"Name of the group"},{"in":"query","name":"id","required":false,"schema":{"type":"string"},"description":"The GUID of the group"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupResponse"}}},"description":"Details of the group"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Group"],"description":"To get the details of a specific group by name or id, use this endpoint. \n\n At least one value needed. When both are given,then id will be considered to fetch user information. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/group/create":{"post":{"operationId":"createGroup","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the user group. The group name string must be unique."},"displayName":{"type":"string","description":"A unique display name string for the user group, for example, Developer group."},"visibility":{"description":"Visibility of the user group. \n\n The visibility attribute is set to DEFAULT. The DEFAULT attribute makes the user group visible for other user groups and allows them to share objects. \n\n","title":"createGroup-visibility","type":"string","enum":["DEFAULT","NON_SHARABLE","SHARABLE"],"default":"DEFAULT"},"description":{"type":"string","description":"Description text for the group."},"privileges":{"type":"array","items":{"title":"createGroup-privileges","type":"string","enum":["ADMINISTRATION","AUTHORING","DEVELOPER","USERDATAUPLOADING","DATADOWNLOADING","DATAMANAGEMENT","SHAREWITHALL","EXPERIMENTALFEATUREPRIVILEGE","JOBSCHEDULING","RANALYSIS","A3ANALYSIS","BYPASSRLS"]},"description":"A JSON array of privileges assigned to the group"},"orgId":{"type":"integer","format":"int32","description":"This is applicable only if organization feature is enabled in the cluster. \n\n Unique identifier of the organization. If no value is provided, the organization associated with the login session is considered."},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndIDInput"},"description":"A JSON array of group names or GUIDs or both. When both are given then id is considered"},"users":{"type":"array","items":{"$ref":"#/components/schemas/UserNameAndIDInput"},"description":"A JSON array of name of users or GUIDs of users or both. When both are given then id is considered"},"type":{"description":"Type of user group. LOCAL_GROUP indicates that the user is created locally in the ThoughtSpot system. \n\n","title":"createGroup-type","type":"string","enum":["LOCAL_GROUP","TENANT_GROUP"],"default":"LOCAL_GROUP"}},"required":["name","displayName"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupResponse"}}},"description":"Details of the group created"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Group"],"description":"To programmatically create a group in the ThoughtSpot system, use this API endpoint. \n\n Using this API, you can create a group and assign privileges and users. \n\n For ease of user management and access control, ThoughtSpot administrations can create groups and assign privileges to these groups. \n\n The privileges determine the actions that the users belonging to a group are allowed to do. \n\n ThoughtSpot also has a default group called ALL. When you create new group in ThoughtSpot, they are automatically added to ALL user group. You cannot delete the ALL user group or remove members from it. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/group/update":{"put":{"operationId":"updateGroup","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the user group"},"id":{"type":"string","description":"GUID of the group to update"},"displayName":{"type":"string","description":"A unique display name string for the user group, for example, Developer group."},"visibility":{"description":"Visibility of the user group. \n\n The visibility attribute is set to DEFAULT. The DEFAULT attribute makes the user group visible for other user groups and allows them to share objects. \n\n","title":"updateGroup-visibility","type":"string","enum":["DEFAULT","NON_SHARABLE","SHARABLE"],"default":"DEFAULT"},"description":{"type":"string","description":"Description text for the group."},"privileges":{"type":"array","items":{"title":"updateGroup-privileges","type":"string","enum":["ADMINISTRATION","AUTHORING","DEVELOPER","USERDATAUPLOADING","DATADOWNLOADING","DATAMANAGEMENT","SHAREWITHALL","EXPERIMENTALFEATUREPRIVILEGE","JOBSCHEDULING","RANALYSIS","A3ANALYSIS","BYPASSRLS"]},"description":"A JSON array of privileges assigned to the group"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndIDInput"},"description":"A JSON array of group names or GUIDs or both. When both are given then id is considered"},"users":{"type":"array","items":{"$ref":"#/components/schemas/UserNameAndIDInput"},"description":"A JSON array of name of users or GUIDs of users or both. When both are given then id is considered"},"assignedLiveboards":{"type":"array","items":{"type":"string"},"description":"An array of liveboard ids to be assigned to the group."},"type":{"description":"Type of user group. LOCAL_GROUP indicates that the user is created locally in the ThoughtSpot system. \n\n","title":"updateGroup-type","type":"string","enum":["LOCAL_GROUP","TENANT_GROUP"],"default":"LOCAL_GROUP"}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Group successfully updated"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Group"],"description":"You can use this endpoint to programmatically modify an existing group. \n\n To modify a group, you require admin user privileges. \n\n At least one of id or name is required to update the group. When both are given, then id will be considered and group name will be updated. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/group/delete":{"delete":{"operationId":"deleteGroup","parameters":[{"in":"query","name":"name","required":false,"schema":{"type":"string"},"description":"Name of the group."},{"in":"query","name":"id","required":false,"schema":{"type":"string"},"description":"The GUID of the group"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Group successfully deleted"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Group"],"description":"To remove a group from the ThoughtSpot system, send a DELETE request to this endpoint. \n\n At least one value needed. When both are given,then user id will be considered to fetch user information. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/group/addprivilege":{"put":{"operationId":"addPrivilegesToGroup","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":" Name of the group"},"id":{"type":"string","description":"The GUID of the group to query."},"privileges":{"type":"array","items":{"title":"addPrivilegesToGroup-privileges","type":"string","enum":["ADMINISTRATION","AUTHORING","DEVELOPER","USERDATAUPLOADING","DATADOWNLOADING","DATAMANAGEMENT","SHAREWITHALL","EXPERIMENTALFEATUREPRIVILEGE","JOBSCHEDULING","RANALYSIS","A3ANALYSIS","BYPASSRLS"]},"description":"List of privileges"}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully assigned privileges to the group"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Group"],"description":"To programmatically add privileges to an existing group, use API endpoint. \n\n When you assign privileges to a group, all the users under to this group inherits the privileges assigned to that group. \n\n At least one of id or name of group is required. When both are given,then user id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/group/removeprivilege":{"put":{"operationId":"removePrivilegesFromGroup","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":" Name of the group"},"id":{"type":"string","description":"The GUID of the group to query."},"privileges":{"type":"array","items":{"title":"removePrivilegesFromGroup-privileges","type":"string","enum":["ADMINISTRATION","AUTHORING","DEVELOPER","USERDATAUPLOADING","DATADOWNLOADING","DATAMANAGEMENT","SHAREWITHALL","EXPERIMENTALFEATUREPRIVILEGE","JOBSCHEDULING","RANALYSIS","A3ANALYSIS","BYPASSRLS"]},"description":"List of privileges"}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully removed privileges to the group"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Group"],"description":"To programmatically remove privileges from a group, use API endpoint. \n\n The API removes only the privilege association. It does not delete the privilege or group from the Thoughtspot system. \n\n At least one of id or name of group is required. When both are given,then user id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/group/adduser":{"put":{"operationId":"addUsersToGroup","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the group"},"id":{"type":"string","description":"The GUID of the group"},"users":{"type":"array","items":{"$ref":"#/components/schemas/UserNameAndIDInput"},"description":"A JSON array of name of users or GUIDs of users or both. When both are given then id is considered"}},"required":["users"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully added user to the group"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Group"],"description":"To programmatically add existing ThoughtSpot users to a group, use this API endpoint. \n\n hen you assign users to a group, the users inherits the privileges assigned to that group. \n\n At least one of id or name of the group is required. When both are given,then user id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/group/removeuser":{"put":{"operationId":"removeUsersFromGroup","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":" Name of the group"},"id":{"type":"string","description":"The GUID of the group to query."},"users":{"type":"array","items":{"$ref":"#/components/schemas/UserNameAndIDInput"},"description":"A JSON array of name of users or GUIDs of users or both. When both are given then id is considered"}},"required":["users"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully removed user from the groups"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Group"],"description":"To programmatically remove users from a group, use API endpoint. \n\n The API removes only the user association. It does not delete the users or group from the Thoughtspot system. \n\n At least one of id or name of group is required. When both are given,then user id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/group/addgroup":{"put":{"operationId":"addGroupsToGroup","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the group"},"id":{"type":"string","description":"The GUID of the group"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndIDInput"},"description":"A JSON array of group names or GUIDs or both. When both are given then id is considered"}},"required":["groups"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully added groups to the group"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Group"],"description":"To programmatically add existing groups to a group, use API endpoint. \n\n When you assign groups to a group, the group inherits the privileges assigned to those groups. \n\n At least one of id or name of group is required. When both are given,then user id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/group/removegroup":{"put":{"operationId":"removeGroupsFromGroup","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the group"},"id":{"type":"string","description":"The GUID of the group"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndIDInput"},"description":"A JSON array of group names or GUIDs or both. When both are given then id is considered"}},"required":["groups"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully removed groups from group"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Group"],"description":"To programmatically remove groups from a group, use API endpoint. \n\n The API removes only the group association. It does not delete the group from the Thoughtspot system. \n\n At least one of id or name of group is required. When both are given,then user id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/group/search":{"post":{"operationId":"searchGroups","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"outputFields":{"type":"array","items":{"type":"string"},"description":"Array of field names that need to be included in the response."},"name":{"type":"string","description":"Name of the user group"},"id":{"type":"string","description":"GUID of the group to update"},"displayName":{"type":"string","description":"A unique display name string for the user group, for example, Developer group."},"visibility":{"type":"string","description":"Visibility of the user group. \n\n The visibility attribute is set to DEFAULT. The DEFAULT attribute makes the user group visible for other user groups and allows them to share objects.","title":"searchGroups-visibility","enum":["DEFAULT","NON_SHARABLE","SHARABLE"]},"description":{"type":"string","description":"Description text for the group."},"privileges":{"type":"array","items":{"title":"searchGroups-privileges","type":"string","enum":["ADMINISTRATION","AUTHORING","DEVELOPER","USERDATAUPLOADING","DATADOWNLOADING","DATAMANAGEMENT","SHAREWITHALL","EXPERIMENTALFEATUREPRIVILEGE","JOBSCHEDULING","RANALYSIS","A3ANALYSIS","BYPASSRLS"]},"description":"A JSON array of privileges assigned to the group"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndIDInput"},"description":"A JSON array of group names or GUIDs or both. When both are given then id is considered"},"users":{"type":"array","items":{"$ref":"#/components/schemas/UserNameAndIDInput"},"description":"A JSON array of name of users or GUIDs of users or both. When both are given then id is considered"},"type":{"type":"string","description":"Type of user group. LOCAL_GROUP indicates that the user is created locally in the ThoughtSpot system. ","title":"searchGroups-type","enum":["LOCAL_GROUP","TENANT_GROUP"]}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Array of group details matching the search criteria and the output fields. \n\n If no output fields are specified then the response structure will match that of GET /tspublic/rest/v2/group"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Group"],"description":"To get the details of a specific group account or all groups in the ThoughtSpot system use this end point. \n\n If no inputs are provided, then all groups are included in the response. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/org":{"get":{"operationId":"getOrg","parameters":[{"in":"query","name":"name","required":false,"schema":{"type":"string"},"description":"Name of the organization."},{"in":"query","name":"id","required":false,"schema":{"type":"integer","format":"int32"},"description":"The ID of the organization."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgsResponse"}}},"description":"Details of the organization"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Org"],"description":"This is endpoint is applicable only if organization feature is enabled in the cluster. \n\n To get the details of a specific organization by name or id, use this endpoint. \n\n At least one value needed. When both are given,then id will be considered to fetch organization information. \n\n Requires Administration privilege for tenant."}},"/tspublic/rest/v2/org/create":{"post":{"operationId":"createOrg","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the organization."},"description":{"type":"string","description":"Description text for the organization."}},"required":["name"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgsResponse"}}},"description":"Details of the organization created"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Org"],"description":"This is endpoint is applicable only if organization feature is enabled in the cluster. \n\n To programmatically create an organization in the ThoughtSpot system, use this API endpoint."}},"/tspublic/rest/v2/org/update":{"put":{"operationId":"updateOrg","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the organization."},"id":{"type":"integer","format":"int32","description":"The ID of the organization."},"description":{"type":"string","description":"Description text for the organization."},"active":{"title":"updateOrg-active","type":"string","enum":["true","false"],"description":"Status of the organization."}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgsResponse"}}},"description":"Organization successfully updated"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Org"],"description":"This is endpoint is applicable only if organization feature is enabled in the cluster. \n\n You can use this endpoint to programmatically modify an existing org. \n\n Provide name or id of the organization to update the properties. When both id and name are given, then id will be considered and name of the organization will be updated. \n\n Requires Administration privilege for tenant."}},"/tspublic/rest/v2/org/delete":{"delete":{"operationId":"deleteOrg","parameters":[{"in":"query","name":"name","required":false,"schema":{"type":"string"},"description":"Name of the organization."},{"in":"query","name":"id","required":false,"schema":{"type":"integer","format":"int32"},"description":"The ID of the organization."}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Organization successfully deleted"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Org"],"description":"This is endpoint is applicable only if organization feature is enabled in the cluster. \n\n To remove an organization from the ThoughtSpot system, send a DELETE request to this endpoint. \n\n At least one value is needed. When both id and name are given, then id will be considered. \n\n Requires Administration privilege for tenant."}},"/tspublic/rest/v2/org/search":{"post":{"operationId":"searchOrgs","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the organization."},"id":{"type":"integer","format":"int32","description":"The ID of the organization."},"showDeleted":{"title":"searchOrgs-showDeleted","type":"string","enum":["true","false"],"description":"When set to true, the response will include the details of deleted organization also.","default":"false"}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OrgsResponse"}}}},"description":"Array of organization details matching the search criteria"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Org"],"description":"This is endpoint is applicable only if organization feature is enabled in the cluster. \n\n To get the details of a specific organization or all organizations in the ThoughtSpot system use this end point. \n\n If no input is provided, then all organizations are included in the response. \n\n Requires Administration privilege for tenant."}},"/tspublic/rest/v2/metadata/tag":{"get":{"operationId":"getTag","parameters":[{"in":"query","name":"name","required":false,"schema":{"type":"string"},"description":"Name of the tag"},{"in":"query","name":"id","required":false,"schema":{"type":"string"},"description":"The GUID of the tag"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadataTagResponse"}}},"description":"Details of the tag searched for"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To get details of a specific tag, use this endpoint. \n\n At least one of id or name of tag is required. When both are given, then id will be considered."}},"/tspublic/rest/v2/metadata/tag/create":{"post":{"operationId":"createTag","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the tag"},"color":{"type":"string","description":"Hex color code to be assigned to the tag"}},"required":["name"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadataTagResponse"}}},"description":"Details of the tag created"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To programmatically create tags, use this endpoint \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/metadata/tag/update":{"put":{"operationId":"updateTag","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the tag"},"id":{"type":"string","description":"The GUID of the tag"},"color":{"type":"string","description":"Hex color code to be assigned to the tag"}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully updated the tag"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To programmatically update tags, use this endpoint. \n\n At least one of id or name of tag is required. When both are given, then id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/metadata/tag/delete":{"delete":{"operationId":"deleteTag","parameters":[{"in":"query","name":"name","required":false,"schema":{"type":"string"},"description":"Name of the tag"},{"in":"query","name":"id","required":false,"schema":{"type":"string"},"description":"The GUID of the tag"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully deleted the tag"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To programmatically delete tags, use this endpoint. \n\n At least one of id or name of tag is required. When both are given, then id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/metadata/tag/assign":{"put":{"operationId":"assignTag","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":" Name of the tag"},"id":{"type":"string","description":"The GUID of the tag"},"tsObject":{"type":"array","items":{"$ref":"#/components/schemas/TsObjectInput"},"description":"A JSON Array of GUIDs and type of metadata object."}},"required":["tsObject"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully assigned the tag to the metadata object"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To programmatically assign tags to a metadata object, such as a liveboard, search answer, table, worksheet, or view, use this endpoint. \n\n At least one of id or name of tag is required. When both are given, then id will be considered. \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/metadata/tag/unassign":{"put":{"operationId":"unassignTag","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":" Name of the tag"},"id":{"type":"string","description":"The GUID of the tag"},"tsObject":{"type":"array","items":{"$ref":"#/components/schemas/TsObjectInput"},"description":"A JSON Array of GUIDs and type of metadata object."}},"required":["tsObject"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully unassigned the tag to the metadata object"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To programmatically unassign tags to a metadata object, such as a liveboard, search answer, table, worksheet, or view, use this endpoint. \n\n At least one of id or name of tag is required. When both are given, then id will be considered. \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/metadata/favorite/assign":{"put":{"operationId":"assignFavorite","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"userName":{"type":"string","description":" Name of the user"},"userId":{"type":"string","description":"The GUID of the user"},"tsObject":{"type":"array","items":{"$ref":"#/components/schemas/TsObjectInput"},"description":"A JSON Array of GUIDs and type of metadata object."}},"required":["tsObject"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully assigned the object to favorites of the user"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To programmatically assign objects to favorites for a given user account, use this endpoint. \n\n At least one of user id or username is required. When both are given, then id will be considered. \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/metadata/favorite/unassign":{"put":{"operationId":"unassignFavorite","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"userName":{"type":"string","description":" Name of the user"},"userId":{"type":"string","description":"The GUID of the user"},"tsObject":{"type":"array","items":{"$ref":"#/components/schemas/TsObjectInput"},"description":"A JSON Array of GUIDs and type of metadata object."}},"required":["tsObject"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully unassigned the object from favorites of the user"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To programmatically unassign objects to favorites for a given user account, use this endpoint. \n\n At least one of user id or username is required. When both are given, then id will be considered. Screen reader support enabled. \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/metadata/homeliveboard":{"get":{"operationId":"getHomeLiveboard","parameters":[{"in":"query","name":"userName","required":false,"schema":{"type":"string"}},{"in":"query","name":"userId","required":false,"schema":{"type":"string"},"description":"The GUID of the user"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HomeLiveboardResponse"}}},"description":"The homeliveboard assigned to the user"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To get the name and id of liveboard that is set as a home liveboard for a user, use this endpoint. \n\n At least one of user id or username is required. When both are given, then id will be considered. \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/metadata/homeliveboard/assign":{"put":{"operationId":"assignHomeLiveboard","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"userName":{"type":"string","description":" Name of the user"},"userId":{"type":"string","description":"The GUID of the user"},"liveboardId":{"type":"string","description":"The GUID of the liveboard"}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully assigned the home liveboard to the user"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To assign a specific liveboard as a home liveboard for a user, use this endpoint.\n\n At least one of user id or username is required. When both are given, then id will be considered. \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/metadata/homeliveboard/unassign":{"put":{"operationId":"unassignHomeLiveboard","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"userName":{"type":"string","description":" Name of the user"},"userId":{"type":"string","description":"The GUID of the user"}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully unassigned the home liveboard to the user"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To unassign the home liveboard set for a user, use this endpoint.\n\n At least one of user id or username is required. When both are given, then id will be considered. \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/metadata/incomplete":{"get":{"operationId":"getIncompleteObjects","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"An object representing map of set of incomplete object headers key ed by type"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To get a list of objects with incomplete metadata, use this endpoint"}},"/tspublic/rest/v2/metadata/header":{"get":{"operationId":"getObjectHeader","parameters":[{"in":"query","name":"type","required":true,"schema":{"title":"getObjectHeader-type","type":"string","enum":["ANSWER","LIVEBOARD","DATAOBJECT_ALL","DATAOBJECT_WORKSHEET","DATAOBJECT_TABLE","DATAOBJECT_USER_DEFINED","DATAOBJECT_VIEW","DATAOBJECT_CALENDAR_TABLE","COLUMN_ALL","COLUMN_WORKSHEET","COLUMN_TABLE","COLUMN_USER_DEFINED","COLUMN_VIEW","COLUMN_CALENDAR_TABLE","JOIN","CONNECTION","TAG","USER","USER_GROUP"]},"description":"Type of the metadata object being searched."},{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":"GUID of the metadata object"},{"in":"query","name":"outputFields","required":false,"schema":{"type":"array","items":{"type":"string"}},"description":"Array of header field names that need to be included in the header response"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Header details based on the search criteria and requested output fields"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To get header detail of a metadata object, use this endpoint. You can provide as input selective fields to get the data for. \n\n Permission: Requires administration privilege for USER and USER_GROUP type. Requires datamanagement privilege for CONNECTION type. Requires at least view access for other object types"}},"/tspublic/rest/v2/metadata/detail":{"get":{"operationId":"getObjectDetail","parameters":[{"in":"query","name":"type","required":true,"schema":{"title":"getObjectDetail-type","type":"string","enum":["ANSWER","LIVEBOARD","DATAOBJECT","COLUMN","JOIN","CONNECTION","TAG","USER","USER_GROUP"]},"description":"Type of the metadata object being searched. Valid values"},{"in":"query","name":"id","required":true,"schema":{"type":"array","items":{"type":"string"}},"description":"A JSON array of GUIDs of the objects."}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Full details of metadata objects searched for"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"Use this endpoint to get full details of metadata objects. \n\n Permission: Requires administration privilege for USER and USER_GROUP type. Requires datamanagement privilege for CONNECTION type. Requires at least view access to other object types"}},"/tspublic/rest/v2/metadata/vizheader":{"get":{"operationId":"getObjectVisualizationHeader","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":"The GUID of the liveboard or answer"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}},"description":"Header details of vizualization charts in the liveboard/answer object"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"Use this endpoint to get header details of visualization charts for a given liveboard or answer. \n\n At least one of id or name of liveboard or answer is required. When both are given, then id will be considered. \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/metadata/header/search":{"post":{"operationId":"searchObjectHeader","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"outputFields":{"type":"array","items":{"type":"string"},"description":"Array of header field names that need to be included in the header response"},"offset":{"type":"integer","format":"int32","description":"The offset point, starting from where the records should be included in the response.\n\n If no input is provided then offset starts from 0. \n\n","default":"0"},"batchNumber":{"type":"integer","format":"int32","description":"An alternate way to set offset for the starting point of the response. \n\n The value in offset field will not be considered if batchNumber field has value greater than 0. \n\n Offset value will be calculated as (batchNumber - 1) * batchSize. \n\n It is mandatory to provide a value for batchSize with batchNumber. \n\n Example: \n\n Assume response has 100 records. Now, batchNumber is set as 2 and batchSize as 10, then offset value will be 10. So, 10 records starting from 11th record will be considered."},"batchSize":{"type":"integer","format":"int32","description":"The number of records that should be included in the response starting from offset position. \n\n If no input is provided, then all records starting from the value provided in offset is included in the response."},"sortBy":{"description":"Field based on which the response needs to be ordered. \n\n","title":"searchObjectHeader-sortBy","type":"string","enum":["DEFAULT","NAME","DISPLAY_NAME","AUTHOR","CREATED","MODIFIED","LAST_ACCESSED","SYNCED","VIEWS","NONE","USER_STATE","ROW_COUNT"],"default":"DEFAULT"},"sortOrder":{"description":"Order in which sortBy should be applied. \n\n","title":"searchObjectHeader-sortOrder","type":"string","enum":["DEFAULT","ASC","DESC"],"default":"DEFAULT"},"type":{"description":"Type of the metadata object being searched.","title":"searchObjectHeader-type","type":"string","enum":["ANSWER","LIVEBOARD","DATAOBJECT_ALL","DATAOBJECT_WORKSHEET","DATAOBJECT_TABLE","DATAOBJECT_USER_DEFINED","DATAOBJECT_VIEW","DATAOBJECT_CALENDAR_TABLE","COLUMN_ALL","COLUMN_WORKSHEET","COLUMN_TABLE","COLUMN_USER_DEFINED","COLUMN_VIEW","COLUMN_CALENDAR_TABLE","JOIN","CONNECTION","TAG","USER","USER_GROUP"]},"namePattern":{"type":"string","description":"A pattern to match the name of the metadata object. This parameter supports matching case-insensitive strings. For a wildcard match, use %."},"fetchId":{"type":"array","items":{"type":"string"},"description":"A JSON array containing the GUIDs of the metadata objects that you want to fetch."},"skipId":{"type":"array","items":{"type":"string"},"description":"A JSON array containing the GUIDs of the metadata objects that you want to skip."},"showHidden":{"title":"searchObjectHeader-showHidden","type":"string","enum":["true","false"],"description":"When set to true, returns details of the hidden objects, such as a column in a worksheet or a table. \n\n","default":"false"},"autoCreated":{"title":"searchObjectHeader-autoCreated","type":"string","enum":["true","false"],"description":"A flag to indicate whether to list only the auto created objects. When no value is provided as input then all objects are returned."},"accessLevel":{"type":"array","items":{"$ref":"#/components/schemas/AccessLevelInput"},"description":"A JSON array of objects with user details for which the metadata objects should be considered from the repository If you specify ID or name of user and set the type parameter to USER, the API returns metadata objects associated with the user If you specify ID or name of user group and set the type parameter to USER_GROUP, the API returns metadata objects for all the users mapped to the specified user group. If the id or name parameter is not defined, but the type attribute is set to USER or USER_GROUP, then the API will not return and response. If no input is provided for any field for this object, then the API returns headers for all users. If both name and id is provided, then id will be considered."},"tag":{"type":"array","items":{"$ref":"#/components/schemas/TagNameAndIdInput"},"description":"A JSON array of name or GUID of tags or both. When both are given then id is considered."},"favoriteFor":{"type":"array","items":{"$ref":"#/components/schemas/NameAndIdInput"},"description":"A JSON array of name or GUID of the user or both for whom the object is assigned as favorite. When both are given then id is considered."},"author":{"type":"array","items":{"$ref":"#/components/schemas/NameAndIdInput"},"description":"A JSON array of name or GUID of the user or both who created the object. When both are given then id is considered."},"lastModifiedBy":{"type":"array","items":{"$ref":"#/components/schemas/NameAndIdInput"},"description":"A JSON array of name or GUID of the user or both who last modified the object. When both are given then id is considered."}},"required":["type"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Header details based on the search criteria and requested output fields"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To get header details for metadata objects, use this endpoint. You can provide as input selective fields to get the data for. \n\n Permission: Requires administration privilege for USER and USER_GROUP type. Requires datamanagement privilege for CONNECTION type. Requires at least view access for other object types"}},"/tspublic/rest/v2/metadata/detail/search":{"post":{"operationId":"searchObjectDetail","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"description":"Type of the metadata object being searched. Valid values","title":"searchObjectDetail-type","type":"string","enum":["ANSWER","LIVEBOARD","DATAOBJECT","COLUMN","JOIN","CONNECTION","TAG","USER","USER_GROUP"]},"id":{"type":"array","items":{"type":"string"},"description":"A JSON array of GUIDs of the objects."},"showHidden":{"title":"searchObjectDetail-showHidden","type":"string","enum":["true","false"],"description":"When set to true, returns details of the hidden objects, such as a column in a worksheet or a table.","default":"false"},"dropQuestionDetails":{"title":"searchObjectDetail-dropQuestionDetails","type":"string","enum":["true","false"],"description":" When set to true, the search assist data associated with a worksheet is not included in the API response. This attribute is applicable only for DATAOBJECT data type.","default":"false"},"version":{"type":"string","description":"Specify the version to retrieve the objects from. By default, the API returns metadata for all versions of the object."}},"required":["type","id"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Full details of metadata objects searched for"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"Use this endpoint to get full details of metadata objects. \n\n Permission: Requires administration privilege for USER and USER_GROUP type. Requires datamanagement privilege for CONNECTION type. Requires at least view access for other object types"}},"/tspublic/rest/v2/metadata/delete":{"delete":{"operationId":"deleteObject","parameters":[{"in":"query","name":"type","required":true,"schema":{"title":"deleteObject-type","type":"string","enum":["ANSWER","LIVEBOARD","DATAOBJECT","COLUMN","JOIN","CONNECTION","TAG","USER","USER_GROUP"]},"description":"Type of the metadata object being searched."},{"in":"query","name":"id","required":true,"schema":{"type":"array","items":{"type":"string"}},"description":"A JSON array of GUIDs of the objects."}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully deleted the object"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"Use this endpoint to delete the metadata objects. \n\n Permission: Requires modify access to the object"}},"/tspublic/rest/v2/metadata/dependency":{"post":{"operationId":"getObjectDependency","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"description":"Type of the data object ","title":"getObjectDependency-type","type":"string","enum":["LIVEBOARD","DATAOBJECT","COLUMN","JOIN"]},"id":{"type":"array","items":{"type":"string"},"description":"A JSON array of GUIDs of the objects"},"batchSize":{"type":"integer","format":"int32","description":" The maximum number of batches to fetch in a query. \n\n If this attribute is not defined, then the list of all dependent objects is included in the response"}},"required":["type","id"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"An object with list of dependent objects grouped based on the type"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To query the details of dependent objects and associate objects as dependents, you can use this API.\n\n Dependency is defined as relation between referenced and referencing objects. A referencing object is said to have a dependency on a referenced object, if the referenced object cannot be deleted without first deleting the referencing object. \n\n Example: \n\n Consider a worksheet W1 that has a derived logical column C1 that has a reference to a base logical column C2. This can be shown diagramatically as: W1-->C1-->C2. \n\n W1 has a dependency on C2 i.e. W1 is a referencing object and C2 is a referenced object. It is not possible to delete C2 without first deleting W1 because deletion of C2 will be prevented by the relationship between W1s column C1 and C2. \n\nSimilarly C1 is said to have a dependency on C2 i.e. C1 is a referencing object and C2 is a referenced object. It is not possible to delete C2 without first deleting C1 \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/metadata/tml/export":{"post":{"operationId":"exportObjectTML","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"array","items":{"type":"string"},"description":"A JSON array of GUIDs of the objects."},"formatType":{"description":"The format in which to export the objects \n\n","title":"exportObjectTML-formatType","type":"string","enum":["YAML","JSON"],"default":"YAML"},"exportAssociated":{"title":"exportObjectTML-exportAssociated","type":"string","enum":["true","false"],"description":"Specifies if you would like to export the associated objects. To export the objects associated with the objects specified in id, set the value to true. When set to true, the API exports any underlying worksheets, tables, or views for a given object.\n\n By default, the API does not export these underlying objects \n\n","default":"false"}},"required":["id"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successfully exported the requested object as TML"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To export ThoughtSpot objects represented in ThoughtSpot Modeling Language (TML), use this endpoint. \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/metadata/tml/import":{"post":{"operationId":"importObjectTML","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"objectTML":{"type":"array","items":{"type":"string"},"description":"A string array of TML objects to upload, in YAML or JSON format. \n\n If TML is in YAML format, then use new line characters when there is new line. \n\n Example TML: \n\n guid: 6d2c1c9b-a407-409c-8c0c-819aeb51350f\\ntable:\\n name: TESTINT\\n db: SUPPLYCHAIN_MAIN\\n schema: PUBLIC\\n db_table: TESTINT\\n connection:\\n name: SnowflakeConnection\\n columns:\\n - name: C1\\n db_column_name: C1\\n properties:\\n column_type: MEASURE\\n aggregation: SUM\\n index_type: DONT_INDEX\\n db_column_properties:\\n data_type: INT64\\n \n\n Example TML in JSON format: \n\n {\"guid\": \"6d2c1c9b-a407-409c-8c0c-819aeb51350f\", \"table\": {\"name\": \"TESTINT\", \"db\": \"SUPPLYCHAIN_MAIN\", \"schema\": \"PUBLIC\", \"db_table\": \"TESTINT\",\"connection\": { \"name\": \"SnowflakeConnection\" }, \"columns\": [ { \"name\": \"C1\", \"db_column_name\": \"C1\", \"properties\": { \"column_type\": \"MEASURE\", \"aggregation\": \"SUM\", \"index_type\": \"DONT_INDEX\" }, \"db_column_properties\": { \"data_type\": \"INT64\" } } ] } }"},"importPolicy":{"description":"Policy to follow during import. \n\n PARTIAL - Imports all objects that validate successfully, and ignores objects that do not validate successfully. \n\n ALL_OR_NONE Imports the objects that validate successfully. \n\n VALIDATE_ONLY Validates the objects but does not import them. \n\n","title":"importObjectTML-importPolicy","type":"string","enum":["PARTIAL","ALL_OR_NONE","VALIDATE_ONLY"],"default":"PARTIAL"},"forceCreate":{"title":"importObjectTML-forceCreate","type":"string","enum":["true","false"],"description":"Specifies if you are updating or creating objects. To create new objects, specify true. \n\n By default, ThoughtSpot updates existing objects that have the same GUID as the objects you are importing. When set to true, the GUID property in the imported TML is replaced on the server, and the response headers will include the id_guid property with the GUID of the new object. The new object will be assigned a new GUID, even if the imported TML file included a guid value. Thus, there is no need to include the guid in the TML file if you are using forceCreate=true. \n\n","default":"false"}},"required":["objectTML"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successfully imported the objects in TML"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To import ThoughtSpot objects represented in ThoughtSpot Modeling Language (TML), use this endpoint. \n\n Permission: Requires datamanagement privilge"}},"/tspublic/rest/v2/database":{"get":{"operationId":"getDatabases","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"description":"List of databases in Falcon"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Database"],"description":"Note: This endpoint is applicable only for on-prem deployments \n\n To list all the databases in Falcon, use this endpoint. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/database/schema":{"get":{"operationId":"getSchemas","parameters":[{"in":"query","name":"database","required":true,"schema":{"type":"string"},"description":"Name of the Falcon database"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"description":"List of schemas in Falcon Database provided in the request"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Database"],"description":"Note: This endpoint is applicable only for on-prem deployments \n\n To list all the schemas in a database in Falcon, use this endpoint. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/database/table":{"get":{"operationId":"getTables","parameters":[{"in":"query","name":"database","required":true,"schema":{"type":"string"},"description":"Name of the Falcon database"},{"in":"query","name":"schema","required":true,"schema":{"type":"string"},"description":"Name of the schema in Falcon database"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"description":"List of tables in the schema of Falcon Database provided in the request"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Database"],"description":"Note: This endpoint is applicable only for on-prem deployments. \n\n To list all the tables in a schema of a database in Falcon, use this endpoint. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/database/table/detail":{"get":{"operationId":"getTableDetails","parameters":[{"in":"query","name":"database","required":true,"schema":{"type":"string"},"description":"Name of the Falcon database"},{"in":"query","name":"schema","required":false,"schema":{"type":"string"},"description":"Name of the schema in Falcon database"},{"in":"query","name":"table","required":true,"schema":{"type":"string"},"description":"Name of the table in Falcon database"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Details of a table in the schema of Falcon Database provided in the request"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Database"],"description":"Note: This endpoint is applicable only for on-prem deployments. \n\n To provide details of a table in a schema of a database in Falcon, use this endpoint."}},"/tspublic/rest/v2/database/table/create":{"post":{"operationId":"createTable","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"createDatabase":{"title":"createTable-createDatabase","type":"string","enum":["true","false"],"description":"Flag to indicate if the database and schema should be created if they do not exist in Falcon. (Valid values: True/False) \n\n","default":"true"},"schema":{"type":"string","description":"DDL of the table to be created. \n\n Example: \n\n {\"database\":{\"name\":\"geo\"}, \n\n \"schema\":{\"name\":\"falcon_default_schema\"}, \n\n \"table\":{\"id\":{\"name\":\"test_table\"}, \n\n \"primary_key\":[{\"name\":\"test_pk\"}], \n\n \"column\":[ \n\n {\"id\":{\"name\":\"test_pk\"},\"size\":0,\"data_type\":\"TYPE_INT32\"}, \n\n {\"id\":{\"name\":\"test_col1\"},\"size\":0,\"data_type\":\"TYPE_FLOAT\"}, \n\n {\"id\":{\"name\":\"test_col2\"},\"data_type\":\"TYPE_INT64\",\"datetime\":\"TYPE_DATE\"}, \n\n {\"id\":{\"name\":\"test_col3\"},\"size\":10,\"data_type\":\"TYPE_VAR_CHAR\"} \n\n ] \n\n } \n\n }"}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTableResponse"}}},"description":"Details of the table created"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Database"],"description":"Note: This endpoint is applicable only for on-prem deployments. \n\n To create a table in Falcon, use this endpoint. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/database/table/runquery":{"post":{"operationId":"runQuery","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"statement":{"type":"array","items":{"type":"string"},"description":" A JSON array of TQL statements. \n\n Each TQL statement should end with semi-colon (;). \n\n The TQL operations that can be run through this API are restricted to create database and schema, alter table, delete and update table rows. \n\n If a TQL statement fails, then the subsequent statements in the array are not run. \n\n Example: \n\n alter table test_db.test_schema.test_table drop contraint primary key;"}},"required":["statement"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}},"description":"TQL statements included in the request and the status of each statement"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Database"],"description":"Note: This endpoint is applicable only for on-prem deployments. \n\n To run a TQL statement in Falcon, use this endpoint. \n\n You can run only following type of statements - Table DDL alter and Table rows update and delete. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/connection":{"get":{"operationId":"getConnection","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":"The GUID of the connection to query"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionResponse"}}},"description":"Details of the Connection"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Connection"],"description":"To get the details of a specific connection use this endpoint. \n\n Permission: Requires datamanagement privilege"}},"/tspublic/rest/v2/connection/database":{"get":{"operationId":"getConnectionDatabase","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":"The GUID of the connection"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"description":"List of databases in the data platform corresponding to the connection id provided."},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Connection"],"description":"To get the list of databases for a connection, use this endpoint. \n\n The response will include databases from the data platform corresponding to the connection id provided. \n\n Permission: Requires datamanagement privilege"}},"/tspublic/rest/v2/connection/table":{"post":{"operationId":"getConnectionTables","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the connection"},"configuration":{"type":"string","description":"A JSON object of the connection metadata. If this field is left empty, then the configuration saved in the connection is considered. \n\n To get the tables based on a different configuration, include required attributes in the connection configuration JSON. \n\n Example: \n\n Get tables from Snowflake with a different user account than specified in the connection: {\"user\":\"test_user\",\"password\":\"test_pwd\",\"role\":\"test_role\"} \n\n Get tables from Redshift for different database than specified in the connection: {\"database\":\"test_db\"} \n\n "},"includeColumn":{"title":"getConnectionTables-includeColumn","type":"string","enum":["true","false"],"description":"When set to true, the response will include column level details as well. \n\n","default":"true"}},"required":["id"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionTableResponse"}}},"description":"Table details in the data platform corresponding to the connection id provided."},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Connection"],"description":"To get the details of tables from a connection, use this endpoint. \n\n You can get the details of tables in the data platform for the connection id provided. \n\n Permission: Requires datamanagement privilege"}},"/tspublic/rest/v2/connection/tablecoloumn":{"post":{"operationId":"getConnectionTableColumns","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the connection"},"configuration":{"type":"string","description":"A JSON object of the connection metadata. If this field is left empty, then the configuration saved in the connection is considered. \n\n To get the tables based on a different configuration, include required attributes in the connection configuration JSON. \n\n Example: \n\n Get tables from Snowflake with a different user account than specified in the connection: {\"user\":\"test_user\",\"password\":\"test_pwd\",\"role\":\"test_role\"} \n\n Get tables from Redshift for different database than specified in the connection: {\"database\":\"test_db\"} \n\n "},"table":{"type":"array","items":{"$ref":"#/components/schemas/ConnectionTableColumnsInput"},"description":" A JSON object of database, schema and table combination \n\n","default":"true"}},"required":["id","table"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionTableColumnsResponse"}}},"description":"Column details for the tables provided in the request"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Connection"],"description":"To get the details of columns in a table associated to a connection, use this endpoint. \n\n You can get the columns of any table available in the data platform for the connection id provided. \n\n Permission: Requires datamanagement privilege"}},"/tspublic/rest/v2/connection/create":{"post":{"operationId":"createConnection","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"description":"Type of the data connection.","title":"createConnection-type","type":"string","enum":["SNOWFLAKE","AMAZON_REDSHIFT","GOOGLE_BIGQUERY","AZURE_SYNAPSE","TERADATA","STARBURST","SAP_HANA","ORACLE_ADW","DATABRICKS","DENODO","DREMIO"]},"name":{"type":"string","description":"Name of the connection"},"description":{"type":"string","description":"A short description of the connection."},"configuration":{"type":"string","description":"A JSON object of the connection metadata. The metadata must include configuration attributes required to create the connection. \n\n Example: \n\n Snowflake: {\"accountName\":\"testaccount\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"role\":\"test_role\",\"warehouse\":\"test_wh\",\"database\":\"test_db\"} \n\n Redshift: {\"host\":\"test_host\",\"port\":\"1234\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"database\":\"test_db\"} \n\n Google BigQuery: {\"project_id\":\"test_project\",\"oauth_pvt_key\":\"test_key\"} \n\n Azure Synapse: {\"host\":\"test_host\",\"port\":\"1234\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"database\":\"test_db\"} \n\n Teradata: {\"host\":\"test_host\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"database\":\"test_db\"} \n\n Oracle ADW: {\"user\":\"test_user\",\"password\":\"test_pwd\",\"net_service_name\":\"test_srvc_name\",\"tns_admin\":\"test_tns\",\"schema\":\"test_schema\"} \n\n Starburst: {\"host\":\"test_host\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"database\":\"test_db\"} \n\n Databricks: {\"host\":\"test_host\",\"http_path\":\"https://test \",\"user\":\"test_user\",\"password\":\"test_pwd\"} \n\n SAP HANA: {\"host\":\"test_host\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"database\":\"test_db\"} \n\n Denodo: {\"host\":\"test_host\",\"port\":\"1234\",\"user\":\"test_user\",\"password\":\"test_pwd\"} \n\n "}},"required":["type","name","configuration"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectionResponse"}}},"description":"Details of the connection created"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Connection"],"description":"To programmatically create a connection in the ThoughtSpot system use this API endpoint. \n\n Permission: Requires datamanagement privilege"}},"/tspublic/rest/v2/connection/update":{"put":{"operationId":"updateConnection","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the connection"},"name":{"type":"string","description":" The text to update the name of the connection."},"description":{"type":"string","description":"The text to update the description of the connection."},"configuration":{"type":"string","description":"A JSON object of the connection metadata. The metadata must include configuration attributes required to create the connection. \n\n Example: \n\n Snowflake: {\"accountName\":\"testaccount\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"role\":\"test_role\",\"warehouse\":\"test_wh\",\"database\":\"test_db\"} \n\n Redshift: {\"host\":\"test_host\",\"port\":\"1234\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"database\":\"test_db\"} \n\n Google BigQuery: {\"project_id\":\"test_project\",\"oauth_pvt_key\":\"test_key\"} \n\n Azure Synapse: {\"host\":\"test_host\",\"port\":\"1234\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"database\":\"test_db\"} \n\n Teradata: {\"host\":\"test_host\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"database\":\"test_db\"} \n\n Oracle ADW: {\"user\":\"test_user\",\"password\":\"test_pwd\",\"net_service_name\":\"test_srvc_name\",\"tns_admin\":\"test_tns\",\"schema\":\"test_schema\"} \n\n Starburst: {\"host\":\"test_host\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"database\":\"test_db\"} \n\n Databricks: {\"host\":\"test_host\",\"http_path\":\"https://test \",\"user\":\"test_user\",\"password\":\"test_pwd\"} \n\n SAP HANA: {\"host\":\"test_host\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"database\":\"test_db\"} \n\n Denodo: {\"host\":\"test_host\",\"port\":\"1234\",\"user\":\"test_user\",\"password\":\"test_pwd\"} \n\n "}},"required":["id","configuration"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Connection successfully updated"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Connection"],"description":"You can use this endpoint to programmatically modify an existing connection \n\n Permission: Requires datamanagement privilege"}},"/tspublic/rest/v2/connection/delete":{"delete":{"operationId":"deleteConnection","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"array","items":{"type":"string"}},"description":"A JSON array of GUIDs of the connection"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Connection successfully deleted"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Connection"],"description":"To remove a connection from the ThoughtSpot system, use this endpoint. \n\n Permission: Requires datamanagement privilege"}},"/tspublic/rest/v2/connection/addtable":{"put":{"operationId":"addTableToConnection","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the connection"},"table":{"type":"array","items":{"$ref":"#/components/schemas/AddTableInput"}}},"required":["id","table"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully added table(s) to the connection"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Connection"],"description":"To programmatically add table to an existing connection, use this endpoint \n\n Permission: Requires datamanagement privilege"}},"/tspublic/rest/v2/connection/removetable":{"put":{"operationId":"removeTableFromConnection","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the connection"},"table":{"type":"array","items":{"$ref":"#/components/schemas/TableInput"},"description":"A JSON array of name or GUIDs of the table or both. \n\n At least one input is required. Provide either table name or id. When both are given then id is considered"}},"required":["id","table"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully removed table(s) from the connection"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Connection"],"description":"To programmatically remove a table from a connection, use API endpoint. \n\n Permission: Requires datamanagement privilege"}},"/tspublic/rest/v2/connection/search":{"post":{"operationId":"searchConnection","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"offset":{"type":"integer","format":"int32","description":"The offset point, starting from where the records should be included in the response. \n\n If no input is provided then offset starts from 0. \n\n","default":"0"},"batchNumber":{"type":"integer","format":"int32","description":"An alternate way to set offset for the starting point of the response. \n\n The value in offset field will not be considered if batchNumber field has value greater than 0. \n\n Offset value will be calculated as (batchNumber - 1) * batchSize. \n\n It is mandatory to provide a value for batchSize with batchNumber. \n\n "},"batchSize":{"type":"integer","format":"int32","description":"The number of records that should be included in the response starting from offset position. If no input is provided, then all records starting from the value provided in offset is included in the response."},"sortBy":{"description":"Field based on which the response needs to be ordered. \n\n","title":"searchConnection-sortBy","type":"string","enum":["DEFAULT","NAME","DISPLAY_NAME","AUTHOR","CREATED","MODIFIED","LAST_ACCESSED","SYNCED","VIEWS","NONE","USER_STATE","ROW_COUNT"],"default":"DEFAULT"},"sortOrder":{"description":"Order in which sortBy should be applied. \n\n","title":"searchConnection-sortOrder","type":"string","enum":["DEFAULT","ASC","DESC"],"default":"DEFAULT"},"type":{"description":" Type of the connect being searched. Valid values:","title":"searchConnection-type","type":"string","enum":["SNOWFLAKE","AMAZON_REDSHIFT","GOOGLE_BIGQUERY","AZURE_SYNAPSE","TERADATA","STARBURST","SAP_HANA","ORACLE_ADW","DATABRICKS","DENODO","DREMIO"]},"namePattern":{"type":"string","description":"A pattern to match the name of the connection. This parameter supports matching case-insensitive strings. For a wildcard match, use %."},"fetchId":{"type":"array","items":{"type":"string"},"description":"A JSON array containing the GUIDs of the connections that you want to fetch."},"skipId":{"type":"array","items":{"type":"string"},"description":"A JSON array containing the GUIDs of the connections that you want to skip."},"tag":{"type":"array","items":{"$ref":"#/components/schemas/TagNameAndIdInput"},"description":"A JSON array of name or GUID of tags or both. When both are given then id is considered"}},"required":["type"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConnectionResponse"}}}},"description":"Array of connection details matching the search criteria"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Connection"],"description":"To get the details of a specific connection or all connections in the ThoughtSpot system use this end point. \n\n Permission: Requires datamanagement privilege"}},"/tspublic/rest/v2/data/search":{"post":{"operationId":"searchQueryData","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"offset":{"type":"integer","format":"int32","description":"The offset point, starting from where the records should be included in the response. \n\n If no input is provided then offset starts from 0.","default":"0"},"batchNumber":{"type":"integer","format":"int32","description":"An alternate way to set offset for the starting point of the response. \n\n The value in offset field will not be considered if batchNumber field has value greater than 0. \n\n Offset value will be calculated as (batchNumber - 1) * batchSize. \n\n It is mandatory to provide a value for batchSize with batchNumber. \n\n Example: \n\n Assume response has 100 records. Now, batchNumber is set as 2 and batchSize as 10, then offset value will be 10. So, 10 records starting from 11th record will be considered."},"batchSize":{"type":"integer","format":"int32","description":"The number of records that should be included in the response starting from offset position. \n\n If no input is provided, then all records starting from the value provided in offset is included in the response."},"queryString":{"type":"string","description":"The data search query string. Example: [revenue] > 1000 [ship mode] = air"},"dataObjectId":{"type":"string","description":"The GUID of the data object, either a worksheet, a view, or a table."},"formatType":{"description":"The format of the data in the response. \n\n FULL: The response comes in \"column\":\"value\" format. \n\n COMPACT: The response includes only the value of the columns. \n\n","title":"searchQueryData-formatType","type":"string","enum":["COMPACT","FULL"],"default":"COMPACT"}},"required":["queryString","dataObjectId"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Data for the query string"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Data"],"description":"To programmatically retrieve data from ThoughtSpot using search query string, use this endpoint \n\n Permission: Requires at least view access to the dataobject and datadownloading privilege"}},"/tspublic/rest/v2/data/answer":{"post":{"operationId":"answerData","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"offset":{"type":"integer","format":"int32","description":"The offset point, starting from where the records should be included in the response. \n\n If no input is provided then offset starts from 0. \n\n","default":"0"},"batchNumber":{"type":"integer","format":"int32","description":"An alternate way to set offset for the starting point of the response. \n\n The value in offset field will not be considered if batchNumber field has value greater than 0. \n\n Offset value will be calculated as (batchNumber - 1) * batchSize. \n\n It is mandatory to provide a value for batchSize with batchNumber. \n\n Example: \n\n Assume response has 100 records. Now, batchNumber is set as 2 and batchSize as 10, then offset value will be 10. So, 10 records starting from 11th record will be considered."},"batchSize":{"type":"integer","format":"int32","description":"The number of records that should be included in the response starting from offset position. \n\n If no input is provided, then all records starting from the value provided in offset is included in the response."},"id":{"type":"string","description":"The GUID of the Answer"},"formatType":{"description":"The format of the data in the response. \n\n FULL: The response comes in \"column\":\"value\" format. \n\n COMPACT: The response includes only the value of the columns. \n\n","title":"answerData-formatType","type":"string","enum":["COMPACT","FULL"],"default":"COMPACT"}},"required":["id"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Data from the saved Answer"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Data"],"description":"To retrieve data related to a Answer from the ThoughtSpot system, you can use this endpoint. \n\n Permission: Requires at least view access to the object and datadownloading privilege"}},"/tspublic/rest/v2/data/liveboard":{"post":{"operationId":"liveboardData","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"offset":{"type":"integer","format":"int32","description":"The offset point, starting from where the records should be included in the response. \n\n If no input is provided then offset starts from 0. \n\n","default":"0"},"batchNumber":{"type":"integer","format":"int32","description":"An alternate way to set offset for the starting point of the response. \n\n The value in offset field will not be considered if batchNumber field has value greater than 0. \n\n Offset value will be calculated as (batchNumber - 1) * batchSize. \n\n It is mandatory to provide a value for batchSize with batchNumber. \n\n Example: \n\n Assume response has 100 records. Now, batchNumber is set as 2 and batchSize as 10, then offset value will be 10. So, 10 records starting from 11th record will be considered."},"batchSize":{"type":"integer","format":"int32","description":"The number of records that should be included in the response starting from offset position. \n\n If no input is provided, then all records starting from the value provided in offset is included in the response."},"id":{"type":"string","description":"The GUID of the Liveboard"},"transientContent":{"type":"string","description":" If you have embedded ThoughtSpot in your host application, and you want to download Liveboard data with unsaved changes then, pass the transient content from the browser fetch request, using the getExportRequestForCurrentPinboard method. For more information, see https://developers.thoughtspot.com/docs/?pageid=liveboard-export-api#transient-pinboard . If value for this field is provided, then id will not be considered."},"vizId":{"type":"array","items":{"type":"string"},"description":"A JSON array of GUIDs of the visualizations in the Liveboard. \n\n The vizId field will not be considered when transientContent input is provided."},"runtimeFilter":{"type":"string","description":"JSON object which contains filter condition to filter the data at the time of data retrieval. \n\n Example: {\"col1\":\"region\",\"op1\":\"EQ\",\"val1\":\"northeast\",\"col2\":\"date\",\"op2\":\"BET\",\"val2\":[\"1625126400000\",\"1625126400000\"]} \n\n For more information, see https://developers.thoughtspot.com/docs/?pageid=runtime-filters "},"runtimeSort":{"type":"string","description":"JSON object which provides columns to sort the data at the time of data retrieval. \n\n Example: {\"sortCol1\":\"region\",\"asc1\":true,\"sortCol2\":\"date\"} \n\n For more information, see https://developers.thoughtspot.com/docs/?pageid=runtime-filters "},"formatType":{"description":"The format of the data in the response. \n\n FULL: The response comes in \"column\":\"value\" format. \n\n COMPACT: The response includes only the value of the columns. \n\n","title":"liveboardData-formatType","type":"string","enum":["COMPACT","FULL"],"default":"COMPACT"}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Data from the saved Liveboard"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Data"],"description":"To retrieve data related to a Liveboard or visualization from the ThoughtSpot system, you can use this endpoint \n\n Permission: Requires at least view access to the object and datadownloading privilege"}},"/tspublic/rest/v2/data/answer/querysql":{"get":{"operationId":"answerQuerySql","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":"The GUID of the Answer"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnswerQueryResponse"}}},"description":"Query SQL for a saved Answer "},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Data"],"description":"To retrieve the query SQL related to an Answer that is run on the data platform, you can use this endpoint. \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/data/liveboard/querysql":{"get":{"operationId":"liveboardQuerySql","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":"The GUID of the Liveboard"},{"in":"query","name":"vizId","required":false,"schema":{"type":"array","items":{"type":"string"}},"description":"A JSON array of GUIDs of the visualizations in the Liveboard."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiveboardQueryResponse"}}},"description":"Query SQL for a visualization in a Liveboard"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Data"],"description":"To retrieve the query SQL related to a Visualization in a Liveboard that is run on the data platform, you can use this endpoint. \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/report/answer":{"post":{"operationId":"answerReport","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the Answer to download."},"type":{"description":"Type of file to be generated. \n\n","title":"answerReport-type","type":"string","enum":["CSV","XLSX","PDF","PNG"],"default":"PDF"}},"required":["id","type"]}}},"required":true},"responses":{"200":{"description":"Downloaded file for the Answer data","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["report"],"description":"To programmatically download Answer data as a file, use this endpoint. \n\n The PDF will download data in the tabular format even if Answer is saved as chart. \n\n Permission: Requires at least view access to the object and datadownloading privilege"}},"/tspublic/rest/v2/report/liveboard":{"post":{"operationId":"liveboardReport","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the Liveboard to download. \n\n This field is considered only when no input is provided for transientContent field."},"vizId":{"type":"array","items":{"type":"string"},"description":"JSON Array of GUIDs of the visualizations in the Liveboard to be included in the downloaded file. \n\n For CSV, XLSX and PNG file download, visualization id is mandatory. CSV and XLSX is valid only for visualization of type table and PNG is valid for charts. \n\n Only one value will be accepted for these formats. If multiple values are provided then first value in the array will be considered."},"transientContent":{"type":"string","description":"If you have embedded ThoughtSpot in your host application, and you want to download Liveboards with unsaved changes as a file, pass the transient content from the browser fetch request, using the getExportRequestForCurrentPinboard method. For more information, see https://developers.thoughtspot.com/docs/?pageid=liveboard-export-api#transient-pinboard."},"runtimeFilter":{"type":"string","description":"JSON object which contains filter condition to filter the data at the time of data retrieval. \n\n Example: {\"col1\":\"region\",\"op1\":\"EQ\",\"val1\":\"northeast\",\"col2\":\"date\",\"op2\":\"BET\",\"val2\":[\"1625126400000\",\"1625126400000\"]} \n\n For more information, see https://developers.thoughtspot.com/docs/?pageid=runtime-filters"},"runtimeSort":{"type":"string","description":"JSON object which provides columns to sort the data at the time of data retrieval. \n\n Example: {\"sortCol1\":\"region\",\"asc1\":true,\"sortCol2\":\"date\"} \n\n For more information, see https://developers.thoughtspot.com/docs/?pageid=runtime-filters"},"type":{"description":"Type of file to be generated. \n\n","title":"liveboardReport-type","type":"string","enum":["CSV","XLSX","PDF","PNG"],"default":"PDF"},"pdfOptions":{"$ref":"#/components/schemas/pdfOptionsInput","description":"Additional options that are applicable for PDF type."}},"required":["type"]}}},"required":true},"responses":{"200":{"description":"Downloaded file for the Liveboard data","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["report"],"description":"To programmatically download Liveboard data or specific Visualization data from Liveboard as a file, use this endpoint \n\n Permission: Requires at least view access to the object and datadownloading privilege"}},"/tspublic/rest/v2/admin/configuration":{"get":{"operationId":"getClusterConfig","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Details of cluster configuration settings"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["admin"],"description":"To get details of the current configuration of a Thoughtspot cluster, use this endpoint. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/admin/configuration/overrides":{"get":{"operationId":"getClusterConfigOverrides","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Details of overrides of cluster configuration settings"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["admin"],"description":"To get the details of overrides to the Thoughtspot cluster configuration, use this endpoint. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/admin/configuration/update":{"put":{"operationId":"updateClusterConfig","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"configuration":{"type":"string","description":"A JSON file with the key-value pair of configuration attributes to be updated.\n\n Example: {\"defaultChartDataSize\": 5000}"}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully updated the cluster configuration settings"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["admin"],"description":"To update the Thoughtspot cluster configuration, use this endpoint. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/admin/resetpassword":{"put":{"operationId":"resetUserPassword","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"User name of the user account."},"id":{"type":"string","description":"The GUID of the user account to query."},"newPassword":{"type":"string","description":"A new password for the user."}},"required":["newPassword"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Password reset successful"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["admin"],"description":"To reset the password of a ThoughtSpot user account, use this endpoint. \n\n It is mandatory to use Authorization header with token of a user with admin access to successfully run this endpoint. \n\n At least one of User Id or username is mandatory. When both are given, then user id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/admin/syncprincipal":{"put":{"operationId":"syncPrincipal","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"principalObject":{"type":"array","items":{"type":"object"},"description":"A JSON array of principal objects containing all users and groups present in the external system. \n\n Example: \n\n { \n\n \"name\": \"Customer Success\", \n\n \"displayName\": \"Customer Success\", \n\n \"description\": \"CS\", \n\n \"created\": 1568926267025, \n\n \"modified\": 1568926982242, \n\n \"principalTypeEnum\": \"LOCAL_GROUP\", \n\n \"groupNames\": [], \n\n \"visibility\": \"DEFAULT\" \n\n }, \n\n { \n\n \"name\": \"test\", \n\n \"displayName\": \"test one\", \n\n \"created\": 1587573621279, \n\n \"modified\": 1587573621674, \n\n \"mail\": \"test2@test.com\", \n\n \"principalTypeEnum\": \"LOCAL_USER\", \n\n \"groupNames\": [ \"Administrator\", \"All\" ], \n\n \"visibility\": \"DEFAULT\" \n\n } \n\n You can leave the created and modified dates blank for new users. \n\n You can specify if the principal is a user (LOCAL_USER) or user group (LOCAL_GROUP) in the principalTypeEnum keyword. \n\n Set visibility to NON_SHARABLE, if you do not want the user to be able to share ThoughtSpot objects with other users in this group."},"updateModified":{"title":"syncPrincipal-updateModified","type":"string","enum":["true","false"],"description":"Specifies whether to apply the changes to users and groups already in the cluster based on the principal object list input. \n\n","default":"false"},"deleteRemoved":{"title":"syncPrincipal-deleteRemoved","type":"string","enum":["true","false"],"description":"Specifies whether to delete the users and groups already in the cluster if not present in the principal object list input. \n\n","default":"false"},"newUserPassword":{"type":"string","description":"Assign a password for new users added during the sync operation. \n\n All new users added will have this password. It is mandatory to provide value for this field if new users are included in the input list."}},"required":["principalObject"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminsyncPrincipalResponse"}}},"description":"Successfully synced the principals provided as input with the users and user groups in your Thoughtspot cluster."},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["admin"],"description":"To programmatically synchronize user accounts and user groups from external system with ThoughtSpot, use this endpoint. \n\n The payload takes principals containing all users and groups present in the external system. \n\n The users and user groups in Thoughtspot get updated for any matching inputs. \n\n Any user and user group present in the input, but not present in the cluster, gets created in cluster. \nn You can optionally choose to delete the user and groups from the cluster, that are not present in the input. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/admin/changeauthor":{"put":{"operationId":"changeAuthorOfObjects","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"tsObjectId":{"type":"array","items":{"type":"string"},"description":"A JSON array of GUIDs of the metadata objects. \n\n To change author of all the objects owned by a user, provide single input as ALL. \n\n If multiple object ids along with ALL is provided as input, then ALL will be considered."},"fromUser":{"$ref":"#/components/schemas/FromUserNameAndIDInput","description":"A JSON object of name or GUIDs of the current author of the objects. When both are given then id is considered. \n\n If a list of object ids are provided as input for tsObjectId, then only for those ids that have author as the value provided in fromUser, the author will be changed. \n\n Provide either name or id as input. When both are given user id will be considered."},"toUser":{"$ref":"#/components/schemas/ToUserNameAndIDInput","description":"A JSON object of name or GUIDs of the new author for the objects. When both are given then id is considered."}},"required":["tsObjectId","fromUser","toUser"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully changed the author for the objects provided in the request"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["admin"],"description":"To programmatically change the author of one or several objects from one user account to another, use this endpoint. \n\n You might want to change the author of objects from one user to another active user, when the account is removed from the ThoughtSpot application. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/admin/assignauthor":{"put":{"operationId":"assignAuthorToObjects","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"tsObjectId":{"type":"array","items":{"type":"string"},"description":"A JSON array of GUIDs of the metadata objects."},"name":{"type":"string","description":"User name of the user account."},"id":{"type":"string","description":"The GUID of the user account."}},"required":["tsObjectId"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully assigned the author to the objects provided in the request"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["admin"],"description":"To programmatically assign an author to one or several objects, use this endpoint. \n\n Provide either user name or id as input. When both are given user id will be considered. \n\n Requires administration privilege."}},"/tspublic/rest/v2/admin/forcelogout":{"post":{"operationId":"forceLogoutUsers","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"user":{"type":"array","items":{"$ref":"#/components/schemas/NameAndIdInput"},"description":" A JSON array of name of users or GUIDs of groups or both. When both are given then id is considered."}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully logged out the users included in the request"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["admin"],"description":"To logout one or more users from logged in session, use this endpoint. If no input is provided then all logged in users are force logged out. \n\n Requires administration privilege"}},"/tspublic/rest/v2/security/share/tsobject":{"post":{"operationId":"shareObject","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"description":"Type of metadata object","title":"shareObject-type","type":"string","enum":["LIVEBOARD","ANSWER","DATAOBJECT","COLUMN"]},"id":{"type":"array","items":{"type":"string"},"description":"A JSON array of the GUIDs of the objects to be shared"},"permission":{"type":"string","description":"A JSON object with GUIDs of user and user group, and the type of access privilge. \n\n You can provide READ_ONLY or MODIFY access to the objects. With READ_ONLY access, the user or user group can view the shared object, whereas MODIFY access enables users to modify the object. \n\n To remove access to a shared object, you can set the shareMode in the permission string to NO_ACCESS. Example: \n\n {\"permissions\": {\"e7040a64-7ff1-4ab9-a1b0-f1acac596866\": {\"shareMode\": \"READ_ONLY\"}, \"f7b8f511-317c-485d-8131-26cf084ef47b\": {\"shareMode\": \"MODIFY\"}, \"7a9a6715-e154-431b-baaf-7b58246c13dd\":{\"shareMode\":\"NO_ACCESS\"}}}"},"emailId":{"type":"array","items":{"type":"string"},"description":"The email addresses that should be notified when the objects are shared."},"notify":{"title":"shareObject-notify","type":"string","enum":["true","false"],"description":"When set to true, a notification is sent to the users after an object is shared. \n\n ","default":"true"},"message":{"type":"string","description":"The message text to send in the notification email"},"includeCustomEmbedUrl":{"title":"shareObject-includeCustomEmbedUrl","type":"string","enum":["true","false"],"description":"When set to true, ThoughtSpot sends a link with the host application context to allow users to access the shared object from their ThoughtSpot embedded instance. \n\n","default":"false"}},"required":["type","id","permission"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully shared the objects to the users and user groups as per the request"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Security"],"description":"To programmatically share ThoughtSpot objects with another user or user group, use this endpoint. \n\n When you share an object like a Liveboard or visualization, a notification with a live link is sent to the user. When the users access this object, they can view the last saved version of the object. \n\n Requires privilege to share the object"}},"/tspublic/rest/v2/security/share/visualization":{"post":{"operationId":"shareVisualization","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"The GUID of the Liveboard to be shared"},"vizId":{"type":"string","description":"The GUID of visualization"},"principalId":{"type":"array","items":{"type":"string"},"description":"The GUID of the users and user groups with which you want to share the visualization"},"emailId":{"type":"array","items":{"type":"string"},"description":"The email addresses that should ne notified when the objects are shared."},"notify":{"title":"shareVisualization-notify","type":"string","enum":["true","false"],"description":"When set to true, a notification is sent to the users after an object is shared. \n\n ","default":"true"},"message":{"type":"string","description":"The message text to send in the notification email"},"includeCustomEmbedUrl":{"title":"shareVisualization-includeCustomEmbedUrl","type":"string","enum":["true","false"],"description":"When set to true, ThoughtSpot sends a link with the host application context to allow users to access the shared object from their ThoughtSpot embedded instance. \n\n","default":"false"}},"required":["id","vizId","principalId"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully shared the visualization in the liveboard to the users and user groups as per the request"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Security"],"description":"If you want to share a specific visualization from a Liveboard with another user or user group, then use this endpoint. \n\n When you share a visualization, a notification with a live link is sent to the user. When the users access this Liveboard, they can view the last saved version of the visualization. \n\n Requires privilege to share the visualization"}},"/tspublic/rest/v2/security/permission/tsobject":{"get":{"operationId":"getPermissionOnObject","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":"GUID of the metadata object for which the permission needs to be obtained."},{"in":"query","name":"type","required":true,"schema":{"title":"getPermissionOnObject-type","type":"string","enum":["LIVEBOARD","ANSWER","DATAOBJECT","COLUMN"]},"description":"Type of metadata object"},{"in":"query","name":"includeDependent","required":false,"schema":{"type":"boolean"},"description":"When this field is set to true, the API response includes the permission details for the dependent objects. \n\n"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityPermissionResponse"}}},"description":"List of user and user groups that have VIEW or MODIFY access to the object"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Security"],"description":"To list the permissions for user and user groups on an object, use this endpoint. The response will include only those users and groups with have either VIEW OR MODIFY permission. \n\n You can optionally see the permission on the dependent objects as well by enabling includeDependent field. \n\n Requires administration privilege"}},"/tspublic/rest/v2/security/permission/principal":{"get":{"operationId":"getPermissionForPrincipal","parameters":[{"in":"query","name":"id","required":false,"schema":{"type":"string"},"description":"GUID of the user or user group for which the object permission needs to be obtained"},{"in":"query","name":"name","required":false,"schema":{"type":"string"},"description":" Name of the user or user group for which the object permission needs to be obtained"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrincipalSearchResponse"}}},"description":"List of objects on which the user or user group has VIEW or MODIFY access"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Security"],"description":"Use this endpoint to list the objects on which a user or user group has permission. The response will include only those objects on which the user or user group has either VIEW OR MODIFY permission. \n\n Provide at least one of id or name. When both are given then id is considered.\n\n Requires administration privilege"}},"/tspublic/rest/v2/security/permission/tsobject/search":{"post":{"operationId":"searchPermissionOnObjects","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"tsObject":{"type":"array","items":{"$ref":"#/components/schemas/TsObjectSearchInput"},"description":" A JSON Array of GUIDs and type of metadata object."},"principal":{"type":"array","items":{"$ref":"#/components/schemas/UserNameAndIDInput"},"description":"A JSON array of principal names or GUIDs. When both are given then id is considered."},"includeDependent":{"title":"searchPermissionOnObjects-includeDependent","type":"string","enum":["true","false"],"description":"When this field is set to true, the API response includes the permission details for the dependent objects","default":"false"}},"required":["tsObject"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SecurityPermissionResponse"}}}},"description":"List of user and user groups that have VIEW or MODIFY access to the objects"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Security"],"description":"To list the permissions for user and user groups on a list of objects, use this endpoint. The response will include only those users and groups that has either VIEW OR MODIFY permission. \n\n Provide list of object ids and its type to list the permissions for. \n\n You can optionally provide users or user groups for which the persmission needs to be displayed. \n\n You can optionally see the permission on the dependent objects as well by enabling includeDependent field. \n\n Requires administration privilege"}},"/tspublic/rest/v2/security/permission/principal/search":{"post":{"operationId":"searchPermissionForPrincipals","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"principal":{"type":"array","items":{"$ref":"#/components/schemas/UserNameAndIDInput"},"description":" A JSON array of principal names or GUIDs to be included in the request. When both are given then id is considered."},"tsObject":{"type":"array","items":{"$ref":"#/components/schemas/TsObjectSearchInput"},"description":" A JSON Array of GUIDs and type of metadata object."}},"required":["principal"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PrincipalSearchResponse"}}}},"description":"List of objects on which the users or user groups has VIEW or MODIFY access"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Security"],"description":"Use this endpoint to list the objects on which a user or user group has permission. The response will include only those objects on which the user or user group has either VIEW OR MODIFY permission. \n\n You can optionally provide list of object ids for which the persmission needs to be displayed. \n\n Requires administration privilege"}},"/tspublic/rest/v2/logs/events":{"get":{"operationId":"getLogEvents","parameters":[{"in":"query","name":"topic","required":true,"schema":{"title":"getLogEvents-topic","type":"string","enum":["security_logs"],"default":"security_logs"},"description":"Type of the log. \n\n"},{"in":"query","name":"fromEpoch","required":false,"schema":{"type":"string"},"description":"The EPOCH time in milliseconds to set the start time for streaming logs. \n\n Example: To set the timestamp as June 1, 2021 8 am, specify 1622534400000."},{"in":"query","name":"toEpoch","required":false,"schema":{"type":"string"},"description":"The EPOCH time in milliseconds to set the end time for streaming logs. \n\n Example: To set the timestamp as July 1, 2021, 8 am, specify 1625126400000."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogsResponse"}}},"description":"Events from the topic specified for the time duration provided"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["logs"],"description":"Note: This endpoint is applicable only for SAAS deployments. \n\n The ThoughtSpot log streaming service API allows you to programmatically get a security audit event log from the ThoughtSpot system. \n\n ThoughtSpot cloud deployments allow you to collect security audit events and send them to your Security information and event management (SIEM) application in real-time. \n\n These events can help your security operations personnel to detect potential security threats or compromised user accounts in your organization. \n\n Permission: Requires administration privilege."}},"/tspublic/rest/v2/materialization/refreshview":{"put":{"operationId":"refreshMaterializedView","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"GUID of metadata object"}},"required":["id"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successfully refreshed the data in the materialized view"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["materialization"],"description":"Use this endpoint to refresh data in the materialized view by running the query associated with it"}},"/tspublic/rest/v2/customaction":{"get":{"operationId":"getCustomAction","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":"GUID of the custom action"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON data for the specified custom action ID"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["CustomActions"],"description":"To get details of a specific custom action configured in the ThoughtSpot system, use this endpoint"}},"/tspublic/rest/v2/customaction/create":{"post":{"operationId":"createCustomAction","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"configuration":{"type":"string","description":"A JSON object with the key-value pair of configuration attributes \n\n Example: \n\n {\"id\":\"3f7eac93-cce1-4ffc-b7a8-429353edbc6b\",\"name\":\"unpkg test\",\"version\":\"v2\",\"type\":\"URL\",\"detail\":{\"link\":\"https://unpkg.com \",\"function\":\"unpkg-test\",\"authSelect\":\"BEARER\",\"authToken\":\"asdfasadf3q4534534\",\"encodeUser\":\"\",\"apiKey\":\"X-API-KEY\",\"apiValue\":\"\",\"additionalUrlHeaders\":\"{\\\\\"url_header1\\\\\":{\\\\\"id\\\\\":\\\\\"6a82908c-9328-40ff-b347-65adeda12f57\\\\\",\\\\\"key\\\\\":\\\\\"key1\\\\\",\\\\\"value\\\\\":\\\\\"value1\\\\\"}}\"},\"actionAssociationMap\":{\"ANSWER\":{\"e4079d3f-ae71-4b0a-a70a-f17ecaf157a5\":{\"enabled\":\"true\",\"context\":\"MENU\"}}},\"context\":\"NONE\",\"availability\":[\"GLOBAL\"],\"userGroupList\":[\"d0326b56-ef23-4c8a-8327-a30e99bcc72b\"]}"}},"required":["configuration"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON data of custom action created"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["CustomActions"],"description":"To programmatically create custom actions on ThoughtSpot clusters that support embedding configuration, use this endpoint"}},"/tspublic/rest/v2/customaction/update":{"put":{"operationId":"updateCustomAction","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the custom action"},"configuration":{"type":"string","description":"A JSON object with the key-value pair of configuration attributes \n\n Example: \n\n {\"id\":\"3f7eac93-cce1-4ffc-b7a8-429353edbc6b\",\"name\":\"unpkg test\",\"version\":\"v2\",\"type\":\"URL\",\"detail\":{\"link\":\"https://unpkg.com \",\"function\":\"unpkg-test\",\"authSelect\":\"BEARER\",\"authToken\":\"asdfasadf3q4534534\",\"encodeUser\":\"\",\"apiKey\":\"X-API-KEY\",\"apiValue\":\"\",\"additionalUrlHeaders\":\"{\\\\\"url_header1\\\\\":{\\\\\"id\\\\\":\\\\\"6a82908c-9328-40ff-b347-65adeda12f57\\\\\",\\\\\"key\\\\\":\\\\\"key1\\\\\",\\\\\"value\\\\\":\\\\\"value1\\\\\"}}\"},\"actionAssociationMap\":{\"ANSWER\":{\"e4079d3f-ae71-4b0a-a70a-f17ecaf157a5\":{\"enabled\":\"true\",\"context\":\"MENU\"}}},\"context\":\"NONE\",\"availability\":[\"GLOBAL\"],\"userGroupList\":[\"d0326b56-ef23-4c8a-8327-a30e99bcc72b\"]}"}},"required":["id","configuration"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON data for the specified custom action ID"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["CustomActions"],"description":"To programmatically edit an existing custom action, use this endpoint "}},"/tspublic/rest/v2/customaction/delete":{"delete":{"operationId":"deleteCustomAction","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":"GUID of the custom action"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON response indicating that the specified action ID is no longer available"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["CustomActions"],"description":"To programmatically delete a custom action, use this endpoint"}},"/tspublic/rest/v2/customaction/search":{"post":{"operationId":"searchCustomAction","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"tag":{"type":"array","items":{"type":"string"},"description":" A JSON array of tag GUIDs. \n\n If tags are applied to worksheets, search answers, or Liveboard visualizations, and custom actions are associated to these objects, you can use this parameter to filter the custom action data by tags."}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON data of custom action based on the request"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["CustomActions"],"description":"To search custom actions available on a ThoughtSpot instance, use this endpoint"}},"/tspublic/rest/v2/customaction/association":{"get":{"operationId":"getCustomActionAssociation","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":" GUID of the custom action"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON data with the action association map for the specified custom action ID"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["CustomActions"],"description":"ThoughtSpot supports associating custom actions to Liveboards, answers, and worksheets. To get the details of the ThoughtSpot objects associated with a custom action, use this endpoint."}},"/tspublic/rest/v2/customaction/association/update":{"put":{"operationId":"updateCustomActionAssociation","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the custom action"},"association":{"type":"string","description":"A JSON map of the attributes for associating the action to a ThoughtSpot object ID \n\n Example: \n\n {\"id\":\"0dbd5b3a-84c1-4407-9803-cf07d67e6fcf\",\"name\":\"My worksheet action\",\"version\":\"v2\",\"type\":\"URL\",\"detail\":{\"link\":\"https://unpkg.com \",\"function\":\"my-worksheet-action\",\"authSelect\":\"NONE\",\"authToken\":\"\",\"encodeUser\":\"\",\"apiKey\":\"X-API-KEY\",\"apiValue\":\"\",\"additionalUrlHeaders\":\"{}\"},\"actionAssociationMap\":{\"WORKSHEET\":{\"2b9d083a-275c-4984-9cfe-90b036affa17\":{\"enabled\":\"true\",\"context\":\"PRIMARY\"}}},\"context\":\"NONE\",\"availability\":[ ],\"userGroupList\":[\"d0326b56-ef23-4c8a-8327-a30e99bcc72b\"]}"}},"required":["id","association"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON data with the action association map"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["CustomActions"],"description":"To programmatically associate a custom action to a ThoughtSpot object, use this endpoint"}},"/tspublic/rest/v2/customactions/association/delete":{"delete":{"operationId":"deleteCustomActionAssociation","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":"GUID of the custom action"},{"in":"query","name":"association","required":true,"schema":{"type":"string"},"description":" A JSON map of the attributes with association of the action to ThoughtSpot object ID \n\n Example: \n\n {\"id\":\"0dbd5b3a-84c1-4407-9803-cf07d67e6fcf\",\"name\":\"My worksheet action\",\"version\":\"v2\",\"type\":\"URL\",\"detail\":{\"link\":\"https://unpkg.com \",\"function\":\"my-worksheet-action\",\"authSelect\":\"NONE\",\"authToken\":\"\",\"encodeUser\":\"\",\"apiKey\":\"X-API-KEY\",\"apiValue\":\"\",\"additionalUrlHeaders\":\"{}\"},\"actionAssociationMap\":{\"WORKSHEET\":{\"2b9d083a-275c-4984-9cfe-90b036affa17\":{\"enabled\":\"true\",\"context\":\"PRIMARY\"}}},\"context\":\"NONE\",\"availability\":[ ],\"userGroupList\":[\"d0326b56-ef23-4c8a-8327-a30e99bcc72b\"]}"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON data with the updated JSON map of the custom action"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["CustomActions"],"description":"To remove custom action associations to ThoughtSpot objects, use this endpoint"}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","x-additional-headers":[{"name":"Accept-Language","description":"response format","schema":{"default":"*"}},{"name":"Content-Type","description":"body content type for post request","schema":{"default":"application/json"}}]}},"schemas":{"SessionLoginResponse":{"type":"object","properties":{"userName":{"type":"string","description":"Username of the user account for which token is generated"},"token":{"type":"string","description":"Bearer token generated. This will be blank when token type is Cookie"},"tokenCreatedTime":{"type":"string","description":"Date and time at which the token is generated"},"tokenExpiryDuration":{"type":"string","description":"Duration in seconds after which the token expires"},"tokenType":{"type":"string","description":"Type of token generated"}},"description":"Login response"},"GroupNameAndIDInput":{"type":"object","properties":{"name":{"type":"string","description":"Name of the group"},"id":{"type":"string","description":"GUID of the group"}}},"GroupNameAndID":{"type":"object","properties":{"name":{"type":"string","description":"Name of the group"},"id":{"type":"string","description":"GUID of the group"}}},"UserNameAndID":{"type":"object","properties":{"name":{"type":"string","description":"Username of the user"},"id":{"type":"string","description":"GUID of the user"}}},"UserNameAndIDInput":{"type":"object","properties":{"name":{"type":"string","description":"Username of the user"},"id":{"type":"string","description":"GUID of the user"}}},"UserResponse":{"type":"object","properties":{"name":{"type":"string","description":"Username of the user account"},"displayName":{"type":"string","description":"Display name of the user account"},"id":{"type":"string","description":"GUID of the user account"},"visibility":{"type":"string","description":"Visibility of the user account"},"mail":{"type":"string","description":"Email of the user account"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndID"},"description":"Name of the group to which user account is added"},"privileges":{"type":"array","items":{"type":"string"},"description":"Privileges assigned to user account"},"orgs":{"type":"array","items":{"$ref":"#/components/schemas/OrgType"},"description":"The organizations that user belongs to"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags assigned to the user"},"state":{"type":"string","description":"Indicates if the user account is active or inactive"},"notifyOnShare":{"type":"boolean","description":"Indicates if the email should be sent when object is shared with the user"},"showWalkMe":{"type":"boolean","description":"Indicates if the walk me should be shown when logging in"},"analystOnboardingComplete":{"type":"boolean","description":"Indicates if the onboarding is completed for the user"},"firstLogin":{"type":"integer","format":"int32","description":"Indicates if the use is logging in for the first time"},"welcomeEmailSent":{"type":"boolean","description":"Indicates if the welcome email is sent to email associated with the user account"},"isDeleted":{"type":"boolean","description":"Indicates if the user account is deleted"},"isHidden":{"type":"boolean","description":"Indicates if the user account is hidden"},"isExternal":{"type":"boolean","description":"Indicates if the user account is from external system\nisDeprecated"},"isDeprecated":{"type":"boolean"},"complete":{"type":"boolean","description":"Indicates if the all the properties of user account is provided"},"isSuperUser":{"type":"boolean","description":"Indicates if the user account is super user"},"isSystemPrincipal":{"type":"boolean","description":"Indicates if the user account is system principal"},"type":{"type":"string","description":"Indicates the type of user account"},"parenttype":{"type":"string","description":"Indicates the type of parent object"},"tenantId":{"type":"string","description":"Tenant id associated with the user account"},"indexVersion":{"type":"number","format":"float"},"generationNum":{"type":"number","format":"float"},"created":{"type":"number","format":"float","description":"Date and time when user account was created"},"modified":{"type":"number","format":"float","description":"Date and time of last modification of user account"},"author":{"$ref":"#/components/schemas/UserNameAndID","description":"Author of the user account"},"modifiedBy":{"$ref":"#/components/schemas/UserNameAndID","description":"The user which last modified the user account details"},"owner":{"$ref":"#/components/schemas/UserNameAndID","description":"Owner of the user account"}}},"PinboardDetails":{"type":"object","properties":{"pinboardId":{"type":"string","description":"pinboard id of recently pinned pinboard"},"pinboardName":{"type":"string","description":"pinboard name of recently pinned pinboard"},"tabId":{"type":"string","description":"tab id of recently pinned tab"},"tabName":{"type":"string","description":"tab name of recently pinned tab"}}},"GroupResponse":{"type":"object","properties":{"name":{"type":"string","description":"Name of the group"},"displayName":{"type":"string","description":"A unique display name string for the user group"},"id":{"type":"string","description":"GUID of the group"},"visibility":{"type":"string","description":"Visibility of the group"},"description":{"type":"string","description":"Description of the group"},"privileges":{"type":"array","items":{"type":"string"},"description":"Privileges assigned to the group"},"orgs":{"type":"array","items":{"$ref":"#/components/schemas/OrgType"},"description":"The organizations that user belongs to"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndID"},"description":"Name of the group to which is added"},"users":{"type":"array","items":{"$ref":"#/components/schemas/UserNameAndID"},"description":"User Group Information by Id or Name."},"assignedLiveboards":{"type":"array","items":{"$ref":"#/components/schemas/LiveboardNameAndID"},"description":"Liveboards assigned to the group"},"userGroupContent":{"type":"object"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags assigned to the group"},"isDeleted":{"type":"boolean","description":"Indicates if the group is deleted"},"isHidden":{"type":"boolean","description":"Indicates if the group is hidden"},"isExternal":{"type":"boolean","description":"Indicates if the group is from external system"},"isDeprecated":{"type":"boolean"},"complete":{"type":"boolean","description":"Indicates if the all the properties of group is provided"},"isSystemPrincipal":{"type":"boolean","description":"Indicates if the group is system principal"},"type":{"type":"string","description":"Indicates the type of group"},"parenttype":{"type":"string","description":"Indicates the type of parent object"},"groupIdx":{"type":"integer","format":"int32"},"metadataVersion":{"type":"integer","format":"int32"},"tenantId":{"type":"string","description":"Tenant id associated with the group"},"indexVersion":{"type":"number","format":"float"},"generationNum":{"type":"number","format":"float"},"created":{"type":"number","format":"float","description":"Date and time when group was created"},"modified":{"type":"number","format":"float","description":"Date and time of last modification of the group"},"author":{"$ref":"#/components/schemas/UserNameAndID","description":"Author of user group"},"modifiedBy":{"$ref":"#/components/schemas/UserNameAndID","description":"The user which last modified the user group details"},"owner":{"$ref":"#/components/schemas/UserNameAndID","description":"The owner of the user group"}}},"LiveboardNameAndID":{"type":"object","properties":{"name":{"type":"string","description":"Name of the liveboard"},"id":{"type":"string","description":"GUID of the liveboard"}}},"MetadataTagResponse":{"type":"object","properties":{"name":{"type":"string","description":"Name of the tag"},"id":{"type":"string","description":"GUID of the tag"},"clientState":{"$ref":"#/components/schemas/ClientState","description":"State associated with the tag"},"indexVersion":{"type":"number","format":"float"},"generationNum":{"type":"number","format":"float"},"isDeleted":{"type":"boolean","description":"Indicates if the tag is deleted"},"isHidden":{"type":"boolean","description":"Indicates if the tag is hidden"},"isExternal":{"type":"boolean","description":"Indicates if the tag is from external system"},"isDeprecated":{"type":"boolean"},"created":{"type":"number","format":"float","description":"Date and time when group was created"},"modified":{"type":"number","format":"float","description":"Date and time of last modification of the group"},"modifiedBy":{"$ref":"#/components/schemas/TagNameAndID","description":"The user which last modified the tag details"},"author":{"$ref":"#/components/schemas/TagNameAndID","description":"Author of tag"},"owner":{"$ref":"#/components/schemas/TagNameAndID","description":"The owner of the tag"}}},"ClientState":{"type":"object","properties":{"color":{"type":"string","description":"Color assigned to the tag"}}},"TagNameAndID":{"type":"object","properties":{"name":{"type":"string","description":"Name of the group to which group is added"},"id":{"type":"string","description":"GUID of the group to which group is added"}}},"TsObjectInput":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"GUID of the metadata object"},"type":{"type":"string","enum":["ANSWER","LIVEBOARD","DATAOBJECT","CONNECTION"],"description":"Type of the metadata object","title":"TsObjectInput-type"}}},"HomeLiveboardResponse":{"type":"object","properties":{"userName":{"type":"string","description":"Name of the user"},"userId":{"type":"string","description":"The GUID of the user"},"liveboardName":{"type":"string","description":"Name of the liveboard"},"liveboardId":{"type":"string","description":"The GUID of the liveboard"}}},"AccessLevelInput":{"type":"object","properties":{"name":{"type":"string","description":"Username or name of the user group"},"id":{"type":"string","description":"GUID of the user or user group"},"type":{"type":"string","enum":["USER","USER_GROUP"],"description":"Type of access detail provided","title":"AccessLevelInput-type"},"access":{"type":"string","enum":["READ_ONLY","MODIFY"],"description":"Minimum access level that the specified user or user group has. If no input is provided then minimum access of READ_ONLY will be considered.","title":"AccessLevelInput-access"}}},"TagNameAndIdInput":{"type":"object","properties":{"name":{"type":"string","description":"Name of the tags"},"id":{"type":"string","description":"GUID of the tags"}}},"NameAndIdInput":{"type":"object","properties":{"name":{"type":"string","description":"Name of the user"},"id":{"type":"string","description":"GUID of the user"}}},"ConnectionResponse":{"type":"object","properties":{"name":{"type":"string","description":"Name of the connection"},"description":{"type":"string","description":"Description associated with the connection"},"type":{"type":"string","description":"Type of the connection. The database associated with this type can be obtained from the response returned by the /tspublic/rest/v2/connection/types API endpoint."},"id":{"type":"string","description":"GUID of the connection"},"scheduled":{"type":"boolean","description":"Indicates if the data sync is scheduled for this connection"},"connectionType":{"type":"string"},"configuration":{"type":"string","description":"Configuration properties of the connection"},"isExternal":{"type":"boolean"},"isDeprecated":{"type":"boolean","description":"Indicates if the connection is deprecated"},"isDeleted":{"type":"boolean","description":"Indicates if the connection is deleted"},"isHidden":{"type":"boolean","description":"Indicates if the connection is hideen"},"complete":{"type":"boolean","description":"Indicates if the all the properties of connection is provided"},"indexVersion":{"type":"number","format":"float"},"generationNum":{"type":"number","format":"float"},"created":{"type":"string","description":"Date and time when the connection was created"},"modified":{"type":"string","description":"Date and time of last modification of the connection"},"author":{"$ref":"#/components/schemas/UserNameAndID","description":"Author of the connection"},"modifiedBy":{"$ref":"#/components/schemas/UserNameAndID","description":"The user which last modified the connection details"},"owner":{"$ref":"#/components/schemas/UserNameAndID","description":"The owner of the connection"},"tags":{"type":"array","items":{"type":"string"},"description":"List of tags assigned to the connection"},"tables":{"type":"array","items":{"$ref":"#/components/schemas/tableList"},"description":"List of tables linked to this connection"}}},"CreateConnectionResponse":{"type":"object","properties":{"name":{"type":"string","description":"Name of the connection"},"description":{"type":"string","description":"Description associated with the connection"},"type":{"type":"string","description":"Type of the connection. The database associated with this type can be obtained from the response returned by the /tspublic/rest/v2/connection/types API endpoint."},"id":{"type":"string","description":"GUID of the connection"},"scheduled":{"type":"boolean","description":"Indicates if the data sync is scheduled for this connection"},"connectionType":{"type":"string"},"configuration":{"type":"string","description":"Configuration properties of the connection"},"isExternal":{"type":"boolean"},"isDeprecated":{"type":"boolean","description":"Indicates if the connection is deprecated"},"isDeleted":{"type":"boolean","description":"Indicates if the connection is deleted"},"isHidden":{"type":"boolean","description":"Indicates if the connection is hideen"},"complete":{"type":"boolean","description":"Indicates if the all the properties of connection is provided"},"indexVersion":{"type":"number","format":"float"},"generationNum":{"type":"number","format":"float"},"created":{"type":"string","description":"Date and time when user account was created"},"modified":{"type":"string","description":"Date and time of last modification of user account"},"author":{"$ref":"#/components/schemas/UserNameAndID","description":"Author of user account"},"modifiedBy":{"$ref":"#/components/schemas/UserNameAndID","description":"The user which last modified the user account details"},"owner":{"$ref":"#/components/schemas/UserNameAndID","description":"The owner of the user account"},"tags":{"type":"array","items":{"type":"string"},"description":"List of tags assigned to the connection"},"tables":{"type":"array","items":{"type":"string"},"description":"List of tables linked to this connection and details of the columns in the table"}}},"AddTableInput":{"type":"object","required":["name","dbName","schemaName","columns"],"properties":{"name":{"type":"string","description":"Name of the table"},"dbName":{"type":"string","description":"Name of the database in the data platform"},"schemaName":{"type":"string","description":"Name of the schema in the database"},"columns":{"type":"array","description":"A JSON array of column details","items":{"$ref":"#/components/schemas/ColumnsInput"}}}},"TableInput":{"type":"object","properties":{"name":{"type":"string","description":"Name of the table"},"id":{"type":"string","description":"GUID of the Table"}}},"ConnectionTableResponse":{"type":"object","properties":{"id":{"type":"string","description":"Connection id"},"database":{"type":"array","items":{"$ref":"#/components/schemas/ConnectionDatabaseType"},"description":"List of databases"}}},"ConnectionTableColumnsResponse":{"type":"object","properties":{"id":{"type":"string","description":"Connection id"},"table":{"type":"array","items":{"$ref":"#/components/schemas/ConnectionColumnsShema"},"description":"List of table details"}}},"AnswerQueryResponse":{"type":"object","properties":{"name":{"type":"string","description":"The name of the saved Answer"},"id":{"type":"string","description":"The GUID of the saved Answer"},"querySql":{"type":"string","description":"SQL query associated with the saved Answer"}}},"LiveboardQueryResponse":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Liveboard"},"id":{"type":"string","description":"The GUID of the Liveboard"},"viz":{"type":"array","items":{"$ref":"#/components/schemas/VizType"},"description":"SQL query associated with the saved Answer"}}},"FromUserNameAndIDInput":{"type":"object","properties":{"name":{"type":"string","description":"Username of the user"},"id":{"type":"string","description":"GUID of the user"}},"description":"A JSON object of name or GUIDs of the current owner of the objects. When both are given then id is considered. \n\nIf a list of object ids are provided as input for TsObjectId, then only for those ids that have owner as the value provided in fromUser, the owner will be changed. \n\nProvide either name or id as input. When both are given user id will be considered."},"ToUserNameAndIDInput":{"type":"object","properties":{"name":{"type":"string","description":"Username of the user"},"id":{"type":"string","description":"GUID of the user"}},"description":"A JSON object of name or GUIDs of the new owner for the objects. When both are given then id is considered."},"AdminsyncPrincipalResponse":{"type":"object","properties":{"usersAdded":{"type":"array","items":{"type":"string"},"description":"Username of list of users added"},"usersDeleted":{"type":"array","items":{"type":"string"},"description":"Username of list of users deleted"},"usersUpdated":{"type":"array","items":{"type":"string"},"description":"Username of list of users updated"},"groupsAdded":{"type":"array","items":{"type":"string"},"description":"Group name of list of groups added"},"groupsDeleted":{"type":"array","items":{"type":"string"},"description":"Group name of list of groups deleted"},"groupsUpdated":{"type":"array","items":{"type":"string"},"description":"Group name of list of groups updated"}}},"pdfOptionsInput":{"type":"object","properties":{"orientation":{"type":"string","enum":["PORTRAIT","LANDSCAPE"],"description":"Page orientation for the PDF. Default: PORTRAIT","title":"pdfOptionsInput-orientation","default":"PORTRAIT"},"truncateTables":{"description":"When set to true, only the first page of the tables is displayed in the file. \n\nThis setting is applicable only when generating report for specific visualization ids. Default: false","title":"pdfOptionsInput-truncateTables","type":"string","enum":["true","false"],"default":"false"},"includeLogo":{"description":"Include customized wide logo if available in the footer. Default: true","title":"pdfOptionsInput-includeLogo","type":"string","enum":["true","false"],"default":"true"},"footerText":{"type":"string","description":"Footer text to include in the footer of each page of the PDF."},"includePageNumber":{"description":"When set to true, the page number is included in the footer of each page. Default: true","title":"pdfOptionsInput-includePageNumber","type":"string","enum":["true","false"],"default":"true"},"includeCoverPage":{"description":"When set to true, a cover page with the Liveboard title is added in the PDF. Default: true","title":"pdfOptionsInput-includeCoverPage","type":"string","enum":["true","false"],"default":"true"},"includeFilterPage":{"description":"When set to true, a second page with a list of all applied filters is added in the PDF. Default: true","title":"pdfOptionsInput-includeFilterPage","type":"string","enum":["true","false"],"default":"true"}}},"LogsResponse":{"type":"object","properties":{"date":{"type":"string","description":"Date and time for the event in the log"},"log":{"type":"string","description":"Logged event at the time specified in JSON format. This includes, Event ID, A unique description of the event, for example, User login failed, Timestamp, User ID of the person initiating the event and IP address of the ThoughtSpot instance."}}},"TsObjectSearchInput":{"type":"object","required":["type","id"],"properties":{"type":{"type":"string","enum":["LIVEBOARD","ANSWER","DATAOBJECT","COLUMN"],"description":"Type of the metadata objec","title":"TsObjectSearchInput-type"},"id":{"type":"array","items":{"type":"string"},"description":"A JSON Array of GUIDs of the metadata object"}}},"SecurityPermissionResponse":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the object"},"name":{"type":"string","description":"Name of the object"},"type":{"type":"string","description":"Indicates the type of the object"},"owner":{"type":"string","description":"GUID of the owner of the object"},"author":{"$ref":"#/components/schemas/UserNameAndID","description":"Author of the object"},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/SecurityPermission"},"description":"An array of object with details of permission on users and user groups"},"dependents":{"type":"array","items":{"$ref":"#/components/schemas/SecuirityDependents"},"description":"The objects on which the primary object is dependent on"}}},"PrincipalSearchResponse":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the user or user group"},"name":{"type":"string","description":"Name of the user or user group"},"type":{"type":"string","description":"Indicates the type of principal"},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/PermissionsTypeSearch"},"description":"Indicates the permission which user or user group has on the object"}}},"OrgsResponse":{"type":"object","properties":{"orgId":{"type":"integer","format":"int32","description":"ID of the organization searched for"},"orgName":{"type":"string","description":"Name of the organization searched for"},"description":{"type":"string","description":"Description associated with the organization"},"allGroupUserId":{"type":"string","description":"GUID of the ALL group in the organization"},"defaultAdminUserGroupId":{"type":"string","description":"GUID of the admin group in the organization"},"active":{"type":"boolean","description":"Indicates if the organization is active or not"}}},"CreateTableResponse":{"type":"object","properties":{"logicalTableHeader":{"$ref":"#/components/schemas/LogicalTableHeader"},"physicalTableId":{"type":"string"}}},"ConnectionTableColumnsInput":{"type":"object","required":["dbName","schemaName","name"],"properties":{"dbName":{"type":"string","description":"Name of the database"},"schemaName":{"type":"string","description":"Name of the schema"},"name":{"type":"string","description":"Name of the table"}}},"OrgType":{"type":"object","properties":{"name":{"type":"string","description":"Name of the organization"},"id":{"type":"integer","format":"int32","description":"Id of the organization"}}},"tableList":{"type":"object","properties":{"name":{"type":"string","description":"Name of the table"},"type":{"type":"string","description":"Type of the table"},"id":{"type":"string","description":"GUID of the table"},"databaseStripe":{"type":"string","description":"Name of the database to which the table belongs"},"schemaStripe":{"type":"string","description":"Name of the schema to which the table belongs"},"isExternal":{"title":"tableList-isExternal","type":"string","enum":["true","false"]},"isDeprecated":{"description":"Indicates if the table is deprecated","title":"tableList-isDeprecated","type":"string","enum":["true","false"]},"isDeleted":{"description":"Indicates if the table is deleted","title":"tableList-isDeleted","type":"string","enum":["true","false"]},"isHidden":{"description":"Indicates if the table is hideen","title":"tableList-isHidden","type":"string","enum":["true","false"]},"indexVersion":{"type":"number","format":"float"},"generationNum":{"type":"number","format":"float"},"created":{"type":"string","description":"Date and time when the table was created"},"modified":{"type":"string","description":"Date and time of last modification of the table"},"author":{"$ref":"#/components/schemas/UserNameAndID","description":"Author of the table"},"modifiedBy":{"$ref":"#/components/schemas/UserNameAndID","description":"The user which last modified the table details"},"owner":{"$ref":"#/components/schemas/UserNameAndID","description":"The owner of the tabe"},"tags":{"type":"array","items":{"type":"string"},"description":"List of tags assigned to the table"}}},"ColumnsInput":{"type":"object","required":["name","dataType"],"properties":{"name":{"type":"string","description":"Name of the column"},"dataType":{"type":"string","description":"Datatype of the column"}}},"ConnectionDatabaseType":{"type":"object","properties":{"name":{"type":"string","description":"Name of the database"},"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConnectionTableSchema"},"description":"List of schemas"}}},"ConnectionColumnsShema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the table"},"dbName":{"type":"string","description":"Name of the database"},"schemaName":{"type":"string","description":"Name of the schema"},"columns":{"type":"array","items":{"$ref":"#/components/schemas/TableColumns"},"description":"List of columns in the table"}}},"VizType":{"type":"object","properties":{"name":{"type":"string","description":"The name of the visualization"},"id":{"type":"string","description":"The GUID of the visualization"},"querySql":{"type":"string","description":"SQL query associated with the visualization"}}},"SecurityPermission":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the user or user group"},"name":{"type":"string","description":"Name of the user or user group"},"type":{"type":"string","description":"Indicates the type of principal"},"permission":{"type":"string","description":"Indicates the permission which user or user group has on the object"},"sharedPermission":{"type":"string","description":"Indicates the permission which user or user group has on the object through sharing of the object with this user or user group"},"groupPermission":{"type":"array","items":{"$ref":"#/components/schemas/GroupPermission"},"description":"An array of object with details of permission on the user groups to which the user or user group belongs"}}},"SecuirityDependents":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the object"},"name":{"type":"string","description":"Name of the object"},"type":{"type":"string","description":"Indicates the type of the object"},"owner":{"type":"string","description":"Owner of the object"},"author":{"$ref":"#/components/schemas/UserNameAndID","description":"Author of the object"},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/DependentPermission"}}}},"PermissionsTypeSearch":{"type":"object","properties":{"type":{"type":"string","description":"Indicates the type of the object"},"tsObject":{"type":"array","items":{"$ref":"#/components/schemas/TsObjectTypeSerach"},"description":"An array of objects of type mentioned in type field"}}},"LogicalTableHeader":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"author":{"type":"string"},"authorName":{"type":"string"},"authorDisplayName":{"type":"string"},"created":{"type":"number","format":"float"},"modified":{"type":"number","format":"float"},"modifiedBy":{"type":"string"},"generationNum":{"type":"integer","format":"int32"},"owner":{"type":"string"},"deleted":{"title":"LogicalTableHeader-deleted","type":"string","enum":["true","false"]},"hidden":{"title":"LogicalTableHeader-hidden","type":"string","enum":["true","false"]},"database":{"type":"string"},"schema":{"type":"string"},"type":{"type":"string"},"subType":{"type":"string"}}},"ConnectionTableSchema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the schema"},"table":{"type":"array","items":{"$ref":"#/components/schemas/ConnectionColumn"},"description":"List of table details"}}},"TableColumns":{"type":"object","properties":{"name":{"type":"string","description":"Name of the column"},"dataType":{"type":"string","description":"Datatype of the column"}}},"GroupPermission":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the user group"},"name":{"type":"string","description":"Name of the user group"},"permission":{"type":"string","description":"Indicates the permission which user group has on the object"}}},"DependentPermission":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the object"},"name":{"type":"string","description":"Name of the object"},"type":{"type":"string","description":"Indicates the type of the object"},"permission":{"type":"string","description":"Indicates the permission which user or user group has on the object"},"sharedPermission":{"type":"string","description":"Indicates the permission which user or user group has on the object through sharing of the object with this user or user group"},"groupPermission":{"type":"array","items":{"$ref":"#/components/schemas/GroupPermission"},"description":"An array of object with details of permission on the user groups to which the user or user group belongs"}}},"TsObjectTypeSerach":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the object"},"name":{"type":"string","description":"Name of the object"},"owner":{"type":"string","description":"Owner of the object"},"author":{"$ref":"#/components/schemas/UserNameAndID","description":"Author of the object"},"permission":{"type":"string","description":"Indicates the permission which user or user group has on the object"},"sharedPermission":{"type":"string","description":"Indicates the permission which user or user group has on the object through sharing of the object with the user or user group"},"groupPermission":{"type":"array","items":{"$ref":"#/components/schemas/GroupPermission"},"description":"An array of object with details of permission on the user groups to which the user or user group belongs"}}},"ConnectionColumn":{"type":"object","properties":{"name":{"type":"string","description":"Name of the table"},"type":{"type":"string","description":"Type of the Table"},"column":{"type":"array","items":{"$ref":"#/components/schemas/TableColumns"},"description":"List of columns in the table"}}},"ErrorResponse":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/Error"}},"example":{"error":{"errors":{"message":"Request failed with status code 500","locations":{"line":2,"column":3},"path":["restapiV2__login"],"extension":{"service":"CALLOSUM","code":"UPSTREAM_FAILURE","exception":{"service":"CALLOSUM","upstreamResponse":{"data":{"code":10002,"incident_id_guid":"deb0bc49-8414-4690-bc03-d7e0251d65b4","trace_id_guid":"deb0bc49-8414-4690-bc03-d7e0251d65b4","debug":"Invalid parameter values userName"},"status":400},"stacktrace":["Request failed with status code 400"]}}}}}},"Error":{"type":"object"}}},"security":[{"bearerAuth":[]}],"servers":[{"url":"{base-url}","variables":{"base-url":{"default":"https://localhost:443"}}}]}
\ No newline at end of file