openapi: 3.0.0
info:
title: ThoughtSpot Public REST 10.1.0.cl Metadata API
version: '2.0'
servers:
- url: '{base-url}'
variables:
base-url:
default: https://localhost:443
security:
- bearerAuth: []
tags:
- name: Metadata
paths:
/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
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ConvertWorksheetToModelRequest'
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: '
Makes a copy of an Answer or Liveboard
Version: 10.3.0.cl or later
Creates a copy of a metadata object.
Requires at least view access to the metadata object being copied.
Upon successful execution, the API creates a copy of the metadata object specified in the API request and returns the ID of the new object.
#### Endpoint URL
'
tags:
- Metadata
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CopyObjectRequest'
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
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteMetadataRequest'
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
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExportMetadataTMLRequest'
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
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExportMetadataTMLBatchedRequest'
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
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FetchAnswerSqlQueryRequest'
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
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FetchAsyncImportTaskStatusRequest'
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
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FetchLiveboardSqlQueryRequest'
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
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ImportMetadataTMLRequest'
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
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ImportMetadataTMLAsyncRequest'
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: '
Parameterize fields in metadata objects.
Beta Version: 10.9.0.cl or later
**Note:** This API endpoint is deprecated and will be removed from ThoughtSpot in a future release. Use [POST /api/rest/2.0/metadata/parameterize-fields](/api/rest/2.0/metadata/parameterize-fields) instead.
Allows parameterizing fields in metadata objects in ThoughtSpot.
Requires appropriate permissions to modify the metadata object.
The API endpoint allows parameterizing the following types of metadata objects:
* Logical Tables
* Connections
* Connection Configs
For a Logical Table the field type must be `ATTRIBUTE` and field name can be one of:
* databaseName
* schemaName
* tableName
For a Connection or Connection Config, the field type is always `CONNECTION_PROPERTY`. In this case, field_name specifies the exact property of the Connection or Connection Config that needs to be parameterized.
For Connection Config, the only supported field name is:
* impersonate_user
#### Endpoint URL
'
deprecated: true
tags:
- Metadata
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ParameterizeMetadataRequest'
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/parameterize-fields:
post:
operationId: parameterizeMetadataFields
description: '
Parameterize multiple fields of metadata objects. For example [schemaName, databaseName] for LOGICAL_TABLE.
Version: 26.5.0.cl or later
Allows parameterizing multiple fields of metadata objects in ThoughtSpot. For example, you can parameterize [schemaName, databaseName] for LOGICAL_TABLE.
Requires appropriate permissions to modify the metadata object.
The API endpoint allows parameterizing the following types of metadata objects:
* Logical Tables
* Connections
* Connection Configs
For a Logical Table, the field type must be `ATTRIBUTE` and field names can include:
* databaseName
* schemaName
* tableName
For a Connection or Connection Config, the field type is always `CONNECTION_PROPERTY`. In this case, field_names specifies the exact properties of the Connection or Connection Config that need to be parameterized.
For Connection Config, supported field names include:
* impersonate_user
You can parameterize multiple fields at once by providing an array of field names.
#### Endpoint URL
'
tags:
- Metadata
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ParameterizeMetadataFieldsRequest'
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**: `obj_identifier` is supported for the following object types: `LIVEBOARD`, `ANSWER`, `LOGICAL_TABLE`, `LOGICAL_COLUMN`, `CONNECTION`, `USER_GROUP`, `COLLECTION`. The response includes the `metadata_obj_id` field for objects that have a Custom object ID set.\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
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SearchMetadataRequest'
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: '
Remove parameterization from fields in metadata objects.
Version: 26.5.0.cl or later
Allows removing parameterization from fields in metadata objects in ThoughtSpot.
Requires appropriate permissions to modify the metadata object.
The API endpoint allows unparameterizing the following types of metadata objects:
* Logical Tables
* Connections
* Connection Configs
For a Logical Table the field type must be `ATTRIBUTE` and field name can be one of:
* databaseName
* schemaName
* tableName
For a Connection or Connection Config, the field type is always `CONNECTION_PROPERTY`. In this case, field_name specifies the exact property of the Connection or Connection Config that needs to be unparameterized.
For Connection Config, the only supported field name is:
* impersonate_user
#### Endpoint URL
'
tags:
- Metadata
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UnparameterizeMetadataRequest'
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
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateMetadataHeaderRequest'
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
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateMetadataObjIdRequest'
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'
components:
schemas:
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
export_with_column_aliases:
type: boolean
default: false
description: 'Boolean flag indicating whether to export column aliases of the model. This will only be respected when the object can have column aliases.
Beta Version: 10.13.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.
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
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.
ParameterizeMetadataRequest:
type: object
properties:
metadata_type:
description: Type of metadata object to parameterize.
type: string
enum:
- LOGICAL_TABLE
- CONNECTION
- CONNECTION_CONFIG
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
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
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.
ResponseCopyObject:
type: object
properties:
metadata_id:
type: string
description: The unique identifier of the object.
nullable: true
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.
UpdateMetadataHeaderRequest:
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
ConvertWorksheetToModelRequest:
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
ParameterizeMetadataFieldsRequest:
type: object
properties:
metadata_type:
description: Type of metadata object to parameterize.
type: string
enum:
- LOGICAL_TABLE
- CONNECTION
- CONNECTION_CONFIG
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_names:
description: 'JSON array of field names to parameterize. Example: [schemaName, databaseName, tableName]'
type: array
items:
type: string
variable_identifier:
description: Unique ID or name of the variable to use for parameterization of these fields.
type: string
required:
- metadata_identifier
- field_type
- field_names
- variable_identifier
ErrorResponse:
type: object
properties:
error:
type: object
nullable: true
ExportMetadataTMLRequest:
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,
the API returns the Liveboard TML data with the FQNs of the referenced worksheet.
If 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.
**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.
This 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
ExportMetadataTypeInput:
type: object
properties:
type:
type: string
enum:
- LIVEBOARD
- ANSWER
- LOGICAL_TABLE
- CONNECTION
- CUSTOM_ACTION
- USER
- USER_GROUP
- ROLE
- FEEDBACK
- COLLECTION
description: " Type of metadata.\n \n\nRequired if the name of the object is set as the identifier. This attribute is optional when the object GUID is specified as the identifier."
nullable: true
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
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.
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.
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.
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
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.
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
- COLLECTION
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.
ResponseSuccessfulEntity:
type: object
required:
- id
- name
properties:
id:
type: string
name:
type: string
description: Name of the worksheet.
description: Unique ID of the worksheet.
CopyObjectRequest:
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
ImportMetadataTMLAsyncRequest:
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: '