@thoughtspot/rest-api-sdk
Advanced tools
| // TODO: better import syntax? | ||
| import {BaseAPIRequestFactory, RequiredError, COLLECTION_FORMATS} from './baseapi'; | ||
| import {Configuration} from '../configuration'; | ||
| import {RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http'; | ||
| import {ObjectSerializer} from '../models/ObjectSerializer'; | ||
| import {ApiException} from './exception'; | ||
| import {canConsumeForm, isCodeInRange} from '../util'; | ||
| import {SecurityAuthentication} from '../auth/auth'; | ||
| import { Collection } from '../models/Collection'; | ||
| import { CollectionDeleteResponse } from '../models/CollectionDeleteResponse'; | ||
| import { CollectionSearchResponse } from '../models/CollectionSearchResponse'; | ||
| import { CreateCollectionRequest } from '../models/CreateCollectionRequest'; | ||
| import { DeleteCollectionRequest } from '../models/DeleteCollectionRequest'; | ||
| import { ErrorResponse } from '../models/ErrorResponse'; | ||
| import { SearchCollectionsRequest } from '../models/SearchCollectionsRequest'; | ||
| import { UpdateCollectionRequest } from '../models/UpdateCollectionRequest'; | ||
| /** | ||
| * no description | ||
| */ | ||
| export class CollectionsApiRequestFactory extends BaseAPIRequestFactory { | ||
| /** | ||
| * Version: 26.4.0.cl or later Creates a new collection in ThoughtSpot. Collections allow you to organize and group related metadata objects such as Liveboards, Answers, worksheets, and other data objects. You can also create nested collections (sub-collections) to build a hierarchical structure. #### Supported operations The API endpoint lets you perform the following operations: * Create a new collection * Add metadata objects (Liveboards, Answers, Logical Tables) to the collection * Create nested collections by adding sub-collections | ||
| * @param createCollectionRequest | ||
| */ | ||
| public async createCollection(createCollectionRequest: CreateCollectionRequest, _options?: Configuration): Promise<RequestContext> { | ||
| let _config = _options || this.configuration; | ||
| // verify required parameter 'createCollectionRequest' is not null or undefined | ||
| if (createCollectionRequest === null || createCollectionRequest === undefined) { | ||
| throw new RequiredError("CollectionsApi", "createCollection", "createCollectionRequest"); | ||
| } | ||
| // Path Params | ||
| const localVarPath = '/api/rest/2.0/collections/create'; | ||
| // Make Request Context | ||
| const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST); | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
| // Body Params | ||
| const contentType = ObjectSerializer.getPreferredMediaType([ | ||
| "application/json" | ||
| ]); | ||
| requestContext.setHeaderParam("Content-Type", contentType); | ||
| const serializedBody = ObjectSerializer.stringify( | ||
| ObjectSerializer.serialize(createCollectionRequest, "CreateCollectionRequest", ""), | ||
| contentType | ||
| ); | ||
| requestContext.setBody(serializedBody); | ||
| let authMethod: SecurityAuthentication | undefined; | ||
| // Apply auth methods | ||
| authMethod = _config.authMethods["bearerAuth"] | ||
| if (authMethod?.applySecurityAuthentication) { | ||
| await authMethod?.applySecurityAuthentication(requestContext); | ||
| } | ||
| const defaultAuth: SecurityAuthentication | undefined = _options?.authMethods?.default || this.configuration?.authMethods?.default | ||
| if (defaultAuth?.applySecurityAuthentication) { | ||
| await defaultAuth?.applySecurityAuthentication(requestContext); | ||
| } | ||
| return requestContext; | ||
| } | ||
| /** | ||
| * Version: 26.4.0.cl or later Deletes one or more collections from ThoughtSpot. #### Delete options * **delete_children**: When set to `true`, deletes the child objects (metadata items) within the collection that the user has access to. Objects that the user does not have permission to delete will be skipped. * **dry_run**: When set to `true`, performs a preview of the deletion operation without actually deleting anything. The response shows what would be deleted, allowing you to review before committing the deletion. #### Response The response includes: * **metadata_deleted**: List of metadata objects that were successfully deleted * **metadata_skipped**: List of metadata objects that were skipped due to lack of permissions or other constraints | ||
| * @param deleteCollectionRequest | ||
| */ | ||
| public async deleteCollection(deleteCollectionRequest: DeleteCollectionRequest, _options?: Configuration): Promise<RequestContext> { | ||
| let _config = _options || this.configuration; | ||
| // verify required parameter 'deleteCollectionRequest' is not null or undefined | ||
| if (deleteCollectionRequest === null || deleteCollectionRequest === undefined) { | ||
| throw new RequiredError("CollectionsApi", "deleteCollection", "deleteCollectionRequest"); | ||
| } | ||
| // Path Params | ||
| const localVarPath = '/api/rest/2.0/collections/delete'; | ||
| // Make Request Context | ||
| const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST); | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
| // Body Params | ||
| const contentType = ObjectSerializer.getPreferredMediaType([ | ||
| "application/json" | ||
| ]); | ||
| requestContext.setHeaderParam("Content-Type", contentType); | ||
| const serializedBody = ObjectSerializer.stringify( | ||
| ObjectSerializer.serialize(deleteCollectionRequest, "DeleteCollectionRequest", ""), | ||
| contentType | ||
| ); | ||
| requestContext.setBody(serializedBody); | ||
| let authMethod: SecurityAuthentication | undefined; | ||
| // Apply auth methods | ||
| authMethod = _config.authMethods["bearerAuth"] | ||
| if (authMethod?.applySecurityAuthentication) { | ||
| await authMethod?.applySecurityAuthentication(requestContext); | ||
| } | ||
| const defaultAuth: SecurityAuthentication | undefined = _options?.authMethods?.default || this.configuration?.authMethods?.default | ||
| if (defaultAuth?.applySecurityAuthentication) { | ||
| await defaultAuth?.applySecurityAuthentication(requestContext); | ||
| } | ||
| return requestContext; | ||
| } | ||
| /** | ||
| * Version: 26.4.0.cl or later Gets a list of collections available in ThoughtSpot. To get details of a specific collection, specify the collection GUID or name. You can also filter the API response based on the collection name pattern, author, and other criteria. #### Search options * **name_pattern**: Use \'%\' as a wildcard character to match collection names * **collection_identifiers**: Search for specific collections by their GUIDs or names * **include_metadata**: When set to `true`, includes the metadata objects within each collection in the response **NOTE**: If the API returns an empty list, consider increasing the value of the `record_size` parameter. To search across all available collections, set `record_size` to `-1`. | ||
| * @param searchCollectionsRequest | ||
| */ | ||
| public async searchCollections(searchCollectionsRequest: SearchCollectionsRequest, _options?: Configuration): Promise<RequestContext> { | ||
| let _config = _options || this.configuration; | ||
| // verify required parameter 'searchCollectionsRequest' is not null or undefined | ||
| if (searchCollectionsRequest === null || searchCollectionsRequest === undefined) { | ||
| throw new RequiredError("CollectionsApi", "searchCollections", "searchCollectionsRequest"); | ||
| } | ||
| // Path Params | ||
| const localVarPath = '/api/rest/2.0/collections/search'; | ||
| // Make Request Context | ||
| const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST); | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
| // Body Params | ||
| const contentType = ObjectSerializer.getPreferredMediaType([ | ||
| "application/json" | ||
| ]); | ||
| requestContext.setHeaderParam("Content-Type", contentType); | ||
| const serializedBody = ObjectSerializer.stringify( | ||
| ObjectSerializer.serialize(searchCollectionsRequest, "SearchCollectionsRequest", ""), | ||
| contentType | ||
| ); | ||
| requestContext.setBody(serializedBody); | ||
| let authMethod: SecurityAuthentication | undefined; | ||
| // Apply auth methods | ||
| authMethod = _config.authMethods["bearerAuth"] | ||
| if (authMethod?.applySecurityAuthentication) { | ||
| await authMethod?.applySecurityAuthentication(requestContext); | ||
| } | ||
| const defaultAuth: SecurityAuthentication | undefined = _options?.authMethods?.default || this.configuration?.authMethods?.default | ||
| if (defaultAuth?.applySecurityAuthentication) { | ||
| await defaultAuth?.applySecurityAuthentication(requestContext); | ||
| } | ||
| return requestContext; | ||
| } | ||
| /** | ||
| * Version: 26.4.0.cl or later Updates an existing collection in ThoughtSpot. #### Supported operations This API endpoint lets you perform the following operations: * Update collection name and description * Change visibility settings * Add metadata objects to the collection (operation: ADD) * Remove metadata objects from the collection (operation: REMOVE) * Replace all metadata objects in the collection (operation: REPLACE) #### Operation types * **ADD**: Adds the specified metadata objects to the existing collection without removing current items * **REMOVE**: Removes only the specified metadata objects from the collection * **REPLACE**: Replaces all existing metadata objects with the specified items (default behavior) | ||
| * @param collectionIdentifier Unique GUID of the collection. Note: Collection names cannot be used as identifiers since duplicate names are allowed. | ||
| * @param updateCollectionRequest | ||
| */ | ||
| public async updateCollection(collectionIdentifier: string, updateCollectionRequest: UpdateCollectionRequest, _options?: Configuration): Promise<RequestContext> { | ||
| let _config = _options || this.configuration; | ||
| // verify required parameter 'collectionIdentifier' is not null or undefined | ||
| if (collectionIdentifier === null || collectionIdentifier === undefined) { | ||
| throw new RequiredError("CollectionsApi", "updateCollection", "collectionIdentifier"); | ||
| } | ||
| // verify required parameter 'updateCollectionRequest' is not null or undefined | ||
| if (updateCollectionRequest === null || updateCollectionRequest === undefined) { | ||
| throw new RequiredError("CollectionsApi", "updateCollection", "updateCollectionRequest"); | ||
| } | ||
| // Path Params | ||
| const localVarPath = '/api/rest/2.0/collections/{collection_identifier}/update' | ||
| .replace('{' + 'collection_identifier' + '}', encodeURIComponent(String(collectionIdentifier))); | ||
| // Make Request Context | ||
| const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST); | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
| // Body Params | ||
| const contentType = ObjectSerializer.getPreferredMediaType([ | ||
| "application/json" | ||
| ]); | ||
| requestContext.setHeaderParam("Content-Type", contentType); | ||
| const serializedBody = ObjectSerializer.stringify( | ||
| ObjectSerializer.serialize(updateCollectionRequest, "UpdateCollectionRequest", ""), | ||
| contentType | ||
| ); | ||
| requestContext.setBody(serializedBody); | ||
| let authMethod: SecurityAuthentication | undefined; | ||
| // Apply auth methods | ||
| authMethod = _config.authMethods["bearerAuth"] | ||
| if (authMethod?.applySecurityAuthentication) { | ||
| await authMethod?.applySecurityAuthentication(requestContext); | ||
| } | ||
| const defaultAuth: SecurityAuthentication | undefined = _options?.authMethods?.default || this.configuration?.authMethods?.default | ||
| if (defaultAuth?.applySecurityAuthentication) { | ||
| await defaultAuth?.applySecurityAuthentication(requestContext); | ||
| } | ||
| return requestContext; | ||
| } | ||
| } | ||
| export class CollectionsApiResponseProcessor { | ||
| /** | ||
| * Unwraps the actual response sent by the server from the response context and deserializes the response content | ||
| * to the expected objects | ||
| * | ||
| * @params response Response returned by the server for a request to createCollection | ||
| * @throws ApiException if the response code was not in [200, 299] | ||
| */ | ||
| public async createCollection(response: ResponseContext): Promise<Collection > { | ||
| const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); | ||
| if (isCodeInRange("200", response.httpStatusCode)) { | ||
| const body: Collection = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "Collection", "" | ||
| ) as Collection; | ||
| return body; | ||
| } | ||
| if (isCodeInRange("400", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Invalid request.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("401", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Unauthorized access.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("403", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Forbidden access.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("500", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Unexpected error", body, response.headers); | ||
| } | ||
| // Work around for missing responses in specification, e.g. for petstore.yaml | ||
| if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { | ||
| const body: Collection = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "Collection", "" | ||
| ) as Collection; | ||
| return body; | ||
| } | ||
| throw new ApiException<string | Blob | undefined>(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); | ||
| } | ||
| /** | ||
| * Unwraps the actual response sent by the server from the response context and deserializes the response content | ||
| * to the expected objects | ||
| * | ||
| * @params response Response returned by the server for a request to deleteCollection | ||
| * @throws ApiException if the response code was not in [200, 299] | ||
| */ | ||
| public async deleteCollection(response: ResponseContext): Promise<CollectionDeleteResponse > { | ||
| const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); | ||
| if (isCodeInRange("200", response.httpStatusCode)) { | ||
| const body: CollectionDeleteResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "CollectionDeleteResponse", "" | ||
| ) as CollectionDeleteResponse; | ||
| return body; | ||
| } | ||
| if (isCodeInRange("400", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Invalid request.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("401", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Unauthorized access.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("403", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Forbidden access.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("404", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Resource not found.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("500", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Unexpected error", body, response.headers); | ||
| } | ||
| // Work around for missing responses in specification, e.g. for petstore.yaml | ||
| if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { | ||
| const body: CollectionDeleteResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "CollectionDeleteResponse", "" | ||
| ) as CollectionDeleteResponse; | ||
| return body; | ||
| } | ||
| throw new ApiException<string | Blob | undefined>(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); | ||
| } | ||
| /** | ||
| * Unwraps the actual response sent by the server from the response context and deserializes the response content | ||
| * to the expected objects | ||
| * | ||
| * @params response Response returned by the server for a request to searchCollections | ||
| * @throws ApiException if the response code was not in [200, 299] | ||
| */ | ||
| public async searchCollections(response: ResponseContext): Promise<CollectionSearchResponse > { | ||
| const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); | ||
| if (isCodeInRange("200", response.httpStatusCode)) { | ||
| const body: CollectionSearchResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "CollectionSearchResponse", "" | ||
| ) as CollectionSearchResponse; | ||
| return body; | ||
| } | ||
| if (isCodeInRange("400", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Invalid request.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("401", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Unauthorized access.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("403", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Forbidden access.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("500", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Unexpected error", body, response.headers); | ||
| } | ||
| // Work around for missing responses in specification, e.g. for petstore.yaml | ||
| if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { | ||
| const body: CollectionSearchResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "CollectionSearchResponse", "" | ||
| ) as CollectionSearchResponse; | ||
| return body; | ||
| } | ||
| throw new ApiException<string | Blob | undefined>(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); | ||
| } | ||
| /** | ||
| * Unwraps the actual response sent by the server from the response context and deserializes the response content | ||
| * to the expected objects | ||
| * | ||
| * @params response Response returned by the server for a request to updateCollection | ||
| * @throws ApiException if the response code was not in [200, 299] | ||
| */ | ||
| public async updateCollection(response: ResponseContext): Promise<void > { | ||
| const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); | ||
| if (isCodeInRange("204", response.httpStatusCode)) { | ||
| return; | ||
| } | ||
| if (isCodeInRange("400", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Invalid request.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("401", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Unauthorized access.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("403", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Forbidden access.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("404", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Resource not found.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("500", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Unexpected error", body, response.headers); | ||
| } | ||
| // Work around for missing responses in specification, e.g. for petstore.yaml | ||
| if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { | ||
| const body: void = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "void", "" | ||
| ) as void; | ||
| return body; | ||
| } | ||
| throw new ApiException<string | Blob | undefined>(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); | ||
| } | ||
| } |
+132
| // TODO: better import syntax? | ||
| import {BaseAPIRequestFactory, RequiredError, COLLECTION_FORMATS} from './baseapi'; | ||
| import {Configuration} from '../configuration'; | ||
| import {RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http'; | ||
| import {ObjectSerializer} from '../models/ObjectSerializer'; | ||
| import {ApiException} from './exception'; | ||
| import {canConsumeForm, isCodeInRange} from '../util'; | ||
| import {SecurityAuthentication} from '../auth/auth'; | ||
| import { ErrorResponse } from '../models/ErrorResponse'; | ||
| import { SearchChannelHistoryRequest } from '../models/SearchChannelHistoryRequest'; | ||
| import { SearchChannelHistoryResponse } from '../models/SearchChannelHistoryResponse'; | ||
| /** | ||
| * no description | ||
| */ | ||
| export class JobsApiRequestFactory extends BaseAPIRequestFactory { | ||
| /** | ||
| * Version: 26.4.0.cl or later Searches delivery history for communication channels such as webhooks. Returns channel-level delivery status for each job execution record. Use this to monitor channel health and delivery success rates across events. Requires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, users with `CAN_MANAGE_WEBHOOKS` (**Can manage webhooks**) privilege are also authorized to perform this action. **NOTE**: When `channel_type` is `WEBHOOK`, the following constraints apply: - `job_ids`, `channel_identifiers`, and `events` each accept at most one element. - When `job_ids` is provided, it is used as the sole lookup key and other filter fields are ignored. - When `job_ids` is not provided, `channel_identifiers` and `events` are both required. Each must contain exactly one element, and the event object must include the `identifier` field. - Records older than the configured retention period are not returned. | ||
| * @param searchChannelHistoryRequest | ||
| */ | ||
| public async searchChannelHistory(searchChannelHistoryRequest: SearchChannelHistoryRequest, _options?: Configuration): Promise<RequestContext> { | ||
| let _config = _options || this.configuration; | ||
| // verify required parameter 'searchChannelHistoryRequest' is not null or undefined | ||
| if (searchChannelHistoryRequest === null || searchChannelHistoryRequest === undefined) { | ||
| throw new RequiredError("JobsApi", "searchChannelHistory", "searchChannelHistoryRequest"); | ||
| } | ||
| // Path Params | ||
| const localVarPath = '/api/rest/2.0/jobs/history/communication-channels/search'; | ||
| // Make Request Context | ||
| const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST); | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
| // Body Params | ||
| const contentType = ObjectSerializer.getPreferredMediaType([ | ||
| "application/json" | ||
| ]); | ||
| requestContext.setHeaderParam("Content-Type", contentType); | ||
| const serializedBody = ObjectSerializer.stringify( | ||
| ObjectSerializer.serialize(searchChannelHistoryRequest, "SearchChannelHistoryRequest", ""), | ||
| contentType | ||
| ); | ||
| requestContext.setBody(serializedBody); | ||
| let authMethod: SecurityAuthentication | undefined; | ||
| // Apply auth methods | ||
| authMethod = _config.authMethods["bearerAuth"] | ||
| if (authMethod?.applySecurityAuthentication) { | ||
| await authMethod?.applySecurityAuthentication(requestContext); | ||
| } | ||
| const defaultAuth: SecurityAuthentication | undefined = _options?.authMethods?.default || this.configuration?.authMethods?.default | ||
| if (defaultAuth?.applySecurityAuthentication) { | ||
| await defaultAuth?.applySecurityAuthentication(requestContext); | ||
| } | ||
| return requestContext; | ||
| } | ||
| } | ||
| export class JobsApiResponseProcessor { | ||
| /** | ||
| * Unwraps the actual response sent by the server from the response context and deserializes the response content | ||
| * to the expected objects | ||
| * | ||
| * @params response Response returned by the server for a request to searchChannelHistory | ||
| * @throws ApiException if the response code was not in [200, 299] | ||
| */ | ||
| public async searchChannelHistory(response: ResponseContext): Promise<SearchChannelHistoryResponse > { | ||
| const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); | ||
| if (isCodeInRange("200", response.httpStatusCode)) { | ||
| const body: SearchChannelHistoryResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "SearchChannelHistoryResponse", "" | ||
| ) as SearchChannelHistoryResponse; | ||
| return body; | ||
| } | ||
| if (isCodeInRange("400", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Invalid request.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("401", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Unauthorized access.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("403", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Forbidden access.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("500", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Unexpected error", body, response.headers); | ||
| } | ||
| // Work around for missing responses in specification, e.g. for petstore.yaml | ||
| if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { | ||
| const body: SearchChannelHistoryResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "SearchChannelHistoryResponse", "" | ||
| ) as SearchChannelHistoryResponse; | ||
| return body; | ||
| } | ||
| throw new ApiException<string | Blob | undefined>(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); | ||
| } | ||
| } |
| # ThoughtSpotRestApiSdk.CollectionsApi | ||
| All URIs are relative to *CLUSTER_URL* | ||
| Method | HTTP request | Description | ||
| ------------- | ------------- | ------------- | ||
| [**createCollection**](CollectionsApi.md#createCollection) | **POST** /api/rest/2.0/collections/create | | ||
| [**deleteCollection**](CollectionsApi.md#deleteCollection) | **POST** /api/rest/2.0/collections/delete | | ||
| [**searchCollections**](CollectionsApi.md#searchCollections) | **POST** /api/rest/2.0/collections/search | | ||
| [**updateCollection**](CollectionsApi.md#updateCollection) | **POST** /api/rest/2.0/collections/{collection_identifier}/update | | ||
| # **createCollection** | ||
| > Collection createCollection(createCollectionRequest) | ||
| Version: 26.4.0.cl or later Creates a new collection in ThoughtSpot. Collections allow you to organize and group related metadata objects such as Liveboards, Answers, worksheets, and other data objects. You can also create nested collections (sub-collections) to build a hierarchical structure. #### Supported operations The API endpoint lets you perform the following operations: * Create a new collection * Add metadata objects (Liveboards, Answers, Logical Tables) to the collection * Create nested collections by adding sub-collections | ||
| ### Example | ||
| ```typescript | ||
| import { createBearerAuthenticationConfig, CollectionsApi, CreateCollectionRequest } from '@thoughtspot/rest-api-sdk'; | ||
| const configuration = createBearerAuthenticationConfig("CLUSTER_SERVER_URL", { | ||
| username: "YOUR_USERNAME", | ||
| password: "YOUR_PASSWORD", | ||
| }); | ||
| const apiInstance = new CollectionsApi(configuration); | ||
| apiInstance.createCollection( | ||
| // CreateCollectionRequest | ||
| { | ||
| name: "name_example", | ||
| description: "description_example", | ||
| metadata: [ | ||
| { | ||
| type: "LIVEBOARD", | ||
| identifiers: [ | ||
| "identifiers_example", | ||
| ], | ||
| }, | ||
| ], | ||
| } | ||
| ).then((data:any) => { | ||
| console.log('API called successfully. Returned data: ' + data); | ||
| }).catch((error:any) => console.error(error)); | ||
| ``` | ||
| ### Parameters | ||
| Name | Type | Description | Notes | ||
| ------------- | ------------- | ------------- | ------------- | ||
| **createCollectionRequest** | **CreateCollectionRequest**| | | ||
| ### Return type | ||
| **Collection** | ||
| ### Authorization | ||
| [bearerAuth](README.md#bearerAuth) | ||
| ### HTTP request headers | ||
| - **Content-Type**: application/json | ||
| - **Accept**: application/json | ||
| ### HTTP response details | ||
| | Status code | Description | Response headers | | ||
| |-------------|-------------|------------------| | ||
| **200** | Collection created successfully | - | | ||
| **400** | Invalid request. | - | | ||
| **401** | Unauthorized access. | - | | ||
| **403** | Forbidden access. | - | | ||
| **500** | Unexpected error | - | | ||
| [[Back to top]](#) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to Model list]](README.md#documentation-for-models) [[Back to README]](README.md) | ||
| # **deleteCollection** | ||
| > CollectionDeleteResponse deleteCollection(deleteCollectionRequest) | ||
| Version: 26.4.0.cl or later Deletes one or more collections from ThoughtSpot. #### Delete options * **delete_children**: When set to `true`, deletes the child objects (metadata items) within the collection that the user has access to. Objects that the user does not have permission to delete will be skipped. * **dry_run**: When set to `true`, performs a preview of the deletion operation without actually deleting anything. The response shows what would be deleted, allowing you to review before committing the deletion. #### Response The response includes: * **metadata_deleted**: List of metadata objects that were successfully deleted * **metadata_skipped**: List of metadata objects that were skipped due to lack of permissions or other constraints | ||
| ### Example | ||
| ```typescript | ||
| import { createBearerAuthenticationConfig, CollectionsApi, DeleteCollectionRequest } from '@thoughtspot/rest-api-sdk'; | ||
| const configuration = createBearerAuthenticationConfig("CLUSTER_SERVER_URL", { | ||
| username: "YOUR_USERNAME", | ||
| password: "YOUR_PASSWORD", | ||
| }); | ||
| const apiInstance = new CollectionsApi(configuration); | ||
| apiInstance.deleteCollection( | ||
| // DeleteCollectionRequest | ||
| { | ||
| collection_identifiers: [ | ||
| "collection_identifiers_example", | ||
| ], | ||
| delete_children: false, | ||
| dry_run: false, | ||
| } | ||
| ).then((data:any) => { | ||
| console.log('API called successfully. Returned data: ' + data); | ||
| }).catch((error:any) => console.error(error)); | ||
| ``` | ||
| ### Parameters | ||
| Name | Type | Description | Notes | ||
| ------------- | ------------- | ------------- | ------------- | ||
| **deleteCollectionRequest** | **DeleteCollectionRequest**| | | ||
| ### Return type | ||
| **CollectionDeleteResponse** | ||
| ### Authorization | ||
| [bearerAuth](README.md#bearerAuth) | ||
| ### HTTP request headers | ||
| - **Content-Type**: application/json | ||
| - **Accept**: application/json | ||
| ### HTTP response details | ||
| | Status code | Description | Response headers | | ||
| |-------------|-------------|------------------| | ||
| **200** | Collections deleted successfully. | - | | ||
| **400** | Invalid request. | - | | ||
| **401** | Unauthorized access. | - | | ||
| **403** | Forbidden access. | - | | ||
| **404** | Resource not found. | - | | ||
| **500** | Unexpected error | - | | ||
| [[Back to top]](#) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to Model list]](README.md#documentation-for-models) [[Back to README]](README.md) | ||
| # **searchCollections** | ||
| > CollectionSearchResponse searchCollections(searchCollectionsRequest) | ||
| Version: 26.4.0.cl or later Gets a list of collections available in ThoughtSpot. To get details of a specific collection, specify the collection GUID or name. You can also filter the API response based on the collection name pattern, author, and other criteria. #### Search options * **name_pattern**: Use \'%\' as a wildcard character to match collection names * **collection_identifiers**: Search for specific collections by their GUIDs or names * **include_metadata**: When set to `true`, includes the metadata objects within each collection in the response **NOTE**: If the API returns an empty list, consider increasing the value of the `record_size` parameter. To search across all available collections, set `record_size` to `-1`. | ||
| ### Example | ||
| ```typescript | ||
| import { createBearerAuthenticationConfig, CollectionsApi, SearchCollectionsRequest } from '@thoughtspot/rest-api-sdk'; | ||
| const configuration = createBearerAuthenticationConfig("CLUSTER_SERVER_URL", { | ||
| username: "YOUR_USERNAME", | ||
| password: "YOUR_PASSWORD", | ||
| }); | ||
| const apiInstance = new CollectionsApi(configuration); | ||
| apiInstance.searchCollections( | ||
| // SearchCollectionsRequest | ||
| { | ||
| name_pattern: "name_pattern_example", | ||
| record_offset: 0, | ||
| record_size: 10, | ||
| collection_identifiers: [ | ||
| "collection_identifiers_example", | ||
| ], | ||
| created_by_user_identifiers: [ | ||
| "created_by_user_identifiers_example", | ||
| ], | ||
| include_metadata: false, | ||
| sort_options: null, | ||
| } | ||
| ).then((data:any) => { | ||
| console.log('API called successfully. Returned data: ' + data); | ||
| }).catch((error:any) => console.error(error)); | ||
| ``` | ||
| ### Parameters | ||
| Name | Type | Description | Notes | ||
| ------------- | ------------- | ------------- | ------------- | ||
| **searchCollectionsRequest** | **SearchCollectionsRequest**| | | ||
| ### Return type | ||
| **CollectionSearchResponse** | ||
| ### Authorization | ||
| [bearerAuth](README.md#bearerAuth) | ||
| ### HTTP request headers | ||
| - **Content-Type**: application/json | ||
| - **Accept**: application/json | ||
| ### HTTP response details | ||
| | Status code | Description | Response headers | | ||
| |-------------|-------------|------------------| | ||
| **200** | Successfully retrieved list of collections | - | | ||
| **400** | Invalid request. | - | | ||
| **401** | Unauthorized access. | - | | ||
| **403** | Forbidden access. | - | | ||
| **500** | Unexpected error | - | | ||
| [[Back to top]](#) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to Model list]](README.md#documentation-for-models) [[Back to README]](README.md) | ||
| # **updateCollection** | ||
| > void updateCollection(updateCollectionRequest) | ||
| Version: 26.4.0.cl or later Updates an existing collection in ThoughtSpot. #### Supported operations This API endpoint lets you perform the following operations: * Update collection name and description * Change visibility settings * Add metadata objects to the collection (operation: ADD) * Remove metadata objects from the collection (operation: REMOVE) * Replace all metadata objects in the collection (operation: REPLACE) #### Operation types * **ADD**: Adds the specified metadata objects to the existing collection without removing current items * **REMOVE**: Removes only the specified metadata objects from the collection * **REPLACE**: Replaces all existing metadata objects with the specified items (default behavior) | ||
| ### Example | ||
| ```typescript | ||
| import { createBearerAuthenticationConfig, CollectionsApi, UpdateCollectionRequest } from '@thoughtspot/rest-api-sdk'; | ||
| const configuration = createBearerAuthenticationConfig("CLUSTER_SERVER_URL", { | ||
| username: "YOUR_USERNAME", | ||
| password: "YOUR_PASSWORD", | ||
| }); | ||
| const apiInstance = new CollectionsApi(configuration); | ||
| apiInstance.updateCollection( | ||
| // string | Unique GUID of the collection. Note: Collection names cannot be used as identifiers since duplicate names are allowed. | ||
| "collection_identifier_example" , | ||
| // UpdateCollectionRequest | ||
| { | ||
| name: "name_example", | ||
| description: "description_example", | ||
| metadata: [ | ||
| { | ||
| type: "LIVEBOARD", | ||
| identifiers: [ | ||
| "identifiers_example", | ||
| ], | ||
| }, | ||
| ], | ||
| operation: "REPLACE", | ||
| } | ||
| ).then((data:any) => { | ||
| console.log('API called successfully. Returned data: ' + data); | ||
| }).catch((error:any) => console.error(error)); | ||
| ``` | ||
| ### Parameters | ||
| Name | Type | Description | Notes | ||
| ------------- | ------------- | ------------- | ------------- | ||
| **updateCollectionRequest** | **UpdateCollectionRequest**| | | ||
| **collectionIdentifier** | [**string**] | Unique GUID of the collection. Note: Collection names cannot be used as identifiers since duplicate names are allowed. | defaults to undefined | ||
| ### Return type | ||
| **void** | ||
| ### Authorization | ||
| [bearerAuth](README.md#bearerAuth) | ||
| ### HTTP request headers | ||
| - **Content-Type**: application/json | ||
| - **Accept**: application/json | ||
| ### HTTP response details | ||
| | Status code | Description | Response headers | | ||
| |-------------|-------------|------------------| | ||
| **204** | Collection updated successfully. No content returned. | - | | ||
| **400** | Invalid request. | - | | ||
| **401** | Unauthorized access. | - | | ||
| **403** | Forbidden access. | - | | ||
| **404** | Resource not found. | - | | ||
| **500** | Unexpected error | - | | ||
| [[Back to top]](#) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to Model list]](README.md#documentation-for-models) [[Back to README]](README.md) | ||
+85
| # ThoughtSpotRestApiSdk.JobsApi | ||
| All URIs are relative to *CLUSTER_URL* | ||
| Method | HTTP request | Description | ||
| ------------- | ------------- | ------------- | ||
| [**searchChannelHistory**](JobsApi.md#searchChannelHistory) | **POST** /api/rest/2.0/jobs/history/communication-channels/search | | ||
| # **searchChannelHistory** | ||
| > SearchChannelHistoryResponse searchChannelHistory(searchChannelHistoryRequest) | ||
| Version: 26.4.0.cl or later Searches delivery history for communication channels such as webhooks. Returns channel-level delivery status for each job execution record. Use this to monitor channel health and delivery success rates across events. Requires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, users with `CAN_MANAGE_WEBHOOKS` (**Can manage webhooks**) privilege are also authorized to perform this action. **NOTE**: When `channel_type` is `WEBHOOK`, the following constraints apply: - `job_ids`, `channel_identifiers`, and `events` each accept at most one element. - When `job_ids` is provided, it is used as the sole lookup key and other filter fields are ignored. - When `job_ids` is not provided, `channel_identifiers` and `events` are both required. Each must contain exactly one element, and the event object must include the `identifier` field. - Records older than the configured retention period are not returned. | ||
| ### Example | ||
| ```typescript | ||
| import { createBearerAuthenticationConfig, JobsApi, SearchChannelHistoryRequest } from '@thoughtspot/rest-api-sdk'; | ||
| const configuration = createBearerAuthenticationConfig("CLUSTER_SERVER_URL", { | ||
| username: "YOUR_USERNAME", | ||
| password: "YOUR_PASSWORD", | ||
| }); | ||
| const apiInstance = new JobsApi(configuration); | ||
| apiInstance.searchChannelHistory( | ||
| // SearchChannelHistoryRequest | ||
| { | ||
| channel_type: "WEBHOOK", | ||
| job_ids: [ | ||
| "job_ids_example", | ||
| ], | ||
| channel_identifiers: [ | ||
| "channel_identifiers_example", | ||
| ], | ||
| channel_status: "PENDING", | ||
| events: [ | ||
| { | ||
| type: "LIVEBOARD_SCHEDULE", | ||
| identifier: "identifier_example", | ||
| }, | ||
| ], | ||
| start_epoch_time_in_millis: 3.14, | ||
| } | ||
| ).then((data:any) => { | ||
| console.log('API called successfully. Returned data: ' + data); | ||
| }).catch((error:any) => console.error(error)); | ||
| ``` | ||
| ### Parameters | ||
| Name | Type | Description | Notes | ||
| ------------- | ------------- | ------------- | ------------- | ||
| **searchChannelHistoryRequest** | **SearchChannelHistoryRequest**| | | ||
| ### Return type | ||
| **SearchChannelHistoryResponse** | ||
| ### Authorization | ||
| [bearerAuth](README.md#bearerAuth) | ||
| ### HTTP request headers | ||
| - **Content-Type**: application/json | ||
| - **Accept**: application/json | ||
| ### HTTP response details | ||
| | Status code | Description | Response headers | | ||
| |-------------|-------------|------------------| | ||
| **200** | Channel status logs retrieved successfully. | - | | ||
| **400** | Invalid request. | - | | ||
| **401** | Unauthorized access. | - | | ||
| **403** | Forbidden access. | - | | ||
| **500** | Unexpected error | - | | ||
| [[Back to top]](#) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to Model list]](README.md#documentation-for-models) [[Back to README]](README.md) | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { HttpFile } from '../http/http'; | ||
| /** | ||
| * Event metadata for the triggering event associated with a job. | ||
| */ | ||
| export class ChannelHistoryEventInfo { | ||
| /** | ||
| * Type of the event. | ||
| */ | ||
| 'type': ChannelHistoryEventInfoTypeEnum; | ||
| /** | ||
| * Unique ID of the event. | ||
| */ | ||
| 'id': string; | ||
| /** | ||
| * Name of the event. | ||
| */ | ||
| 'name'?: string | null; | ||
| /** | ||
| * Unique run ID for this event execution. | ||
| */ | ||
| 'run_id'?: string | null; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "type", | ||
| "baseName": "type", | ||
| "type": "ChannelHistoryEventInfoTypeEnum", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "id", | ||
| "baseName": "id", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "name", | ||
| "baseName": "name", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "run_id", | ||
| "baseName": "run_id", | ||
| "type": "string", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return ChannelHistoryEventInfo.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| export type ChannelHistoryEventInfoTypeEnum = "LIVEBOARD_SCHEDULE" ; | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { HttpFile } from '../http/http'; | ||
| /** | ||
| * Event specification for channel history search. | ||
| */ | ||
| export class ChannelHistoryEventInput { | ||
| /** | ||
| * Type of the event. | ||
| */ | ||
| 'type': ChannelHistoryEventInputTypeEnum; | ||
| /** | ||
| * Unique ID or name of the event. | ||
| */ | ||
| 'identifier'?: string | null; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "type", | ||
| "baseName": "type", | ||
| "type": "ChannelHistoryEventInputTypeEnum", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "identifier", | ||
| "baseName": "identifier", | ||
| "type": "string", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return ChannelHistoryEventInput.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| export type ChannelHistoryEventInputTypeEnum = "LIVEBOARD_SCHEDULE" ; | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { ChannelHistoryEventInfo } from '../models/ChannelHistoryEventInfo'; | ||
| import { JobRecipient } from '../models/JobRecipient'; | ||
| import { HttpFile } from '../http/http'; | ||
| /** | ||
| * A single job execution record for a channel. | ||
| */ | ||
| export class ChannelHistoryJob { | ||
| /** | ||
| * Unique identifier for this job. | ||
| */ | ||
| 'id': string; | ||
| /** | ||
| * Delivery status of this job. | ||
| */ | ||
| 'status': ChannelHistoryJobStatusEnum; | ||
| /** | ||
| * Timestamp when this job was created (epoch milliseconds). | ||
| */ | ||
| 'creation_time_in_millis': number; | ||
| 'event'?: ChannelHistoryEventInfo; | ||
| /** | ||
| * The users, groups or external recipients for this job. | ||
| */ | ||
| 'recipients'?: Array<JobRecipient> | null; | ||
| /** | ||
| * Additional delivery details such as HTTP response code or error message. | ||
| */ | ||
| 'detail'?: string | null; | ||
| /** | ||
| * Number of attempts made. 1 indicates first attempt. | ||
| */ | ||
| 'try_count'?: number | null; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "id", | ||
| "baseName": "id", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "status", | ||
| "baseName": "status", | ||
| "type": "ChannelHistoryJobStatusEnum", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "creation_time_in_millis", | ||
| "baseName": "creation_time_in_millis", | ||
| "type": "number", | ||
| "format": "float" | ||
| }, | ||
| { | ||
| "name": "event", | ||
| "baseName": "event", | ||
| "type": "ChannelHistoryEventInfo", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "recipients", | ||
| "baseName": "recipients", | ||
| "type": "Array<JobRecipient>", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "detail", | ||
| "baseName": "detail", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "try_count", | ||
| "baseName": "try_count", | ||
| "type": "number", | ||
| "format": "int32" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return ChannelHistoryJob.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| export type ChannelHistoryJobStatusEnum = "PENDING" | "RETRY" | "SUCCESS" | "FAILED" ; | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { HttpFile } from '../http/http'; | ||
| /** | ||
| * AWS S3 storage information returned from a validation step. | ||
| */ | ||
| export class ChannelValidationAwsS3Info { | ||
| /** | ||
| * Name of the S3 bucket. | ||
| */ | ||
| 'bucket_name'?: string | null; | ||
| /** | ||
| * Name of the uploaded file. | ||
| */ | ||
| 'file_name'?: string | null; | ||
| /** | ||
| * Key of the object in S3 storage. | ||
| */ | ||
| 'object_key'?: string | null; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "bucket_name", | ||
| "baseName": "bucket_name", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "file_name", | ||
| "baseName": "file_name", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "object_key", | ||
| "baseName": "object_key", | ||
| "type": "string", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return ChannelValidationAwsS3Info.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { ChannelValidationAwsS3Info } from '../models/ChannelValidationAwsS3Info'; | ||
| import { HttpFile } from '../http/http'; | ||
| /** | ||
| * Validation detail result for a sub-step. | ||
| */ | ||
| export class ChannelValidationDetail { | ||
| /** | ||
| * The validation step that was performed. | ||
| */ | ||
| 'validation_step': ChannelValidationDetailValidationStepEnum; | ||
| /** | ||
| * Status of this validation step. | ||
| */ | ||
| 'status': ChannelValidationDetailStatusEnum; | ||
| /** | ||
| * HTTP status code returned by the channel (if applicable). | ||
| */ | ||
| 'http_status'?: number | null; | ||
| /** | ||
| * Error message from the channel or validation process. | ||
| */ | ||
| 'error_message'?: string | null; | ||
| 'aws_s3_info'?: ChannelValidationAwsS3Info; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "validation_step", | ||
| "baseName": "validation_step", | ||
| "type": "ChannelValidationDetailValidationStepEnum", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "status", | ||
| "baseName": "status", | ||
| "type": "ChannelValidationDetailStatusEnum", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "http_status", | ||
| "baseName": "http_status", | ||
| "type": "number", | ||
| "format": "int32" | ||
| }, | ||
| { | ||
| "name": "error_message", | ||
| "baseName": "error_message", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "aws_s3_info", | ||
| "baseName": "aws_s3_info", | ||
| "type": "ChannelValidationAwsS3Info", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return ChannelValidationDetail.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| export type ChannelValidationDetailValidationStepEnum = "HTTP_CONNECTION_CHECK" | "STORAGE_FILE_UPLOAD_CHECK" ; | ||
| export type ChannelValidationDetailStatusEnum = "SUCCESS" | "FAILED" ; | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { CollectionEntityIdentifier } from '../models/CollectionEntityIdentifier'; | ||
| import { CollectionMetadataItem } from '../models/CollectionMetadataItem'; | ||
| import { HttpFile } from '../http/http'; | ||
| /** | ||
| * Response object for a collection. | ||
| */ | ||
| export class Collection { | ||
| /** | ||
| * Unique identifier of the collection. | ||
| */ | ||
| 'id': string; | ||
| /** | ||
| * Name of the collection. | ||
| */ | ||
| 'name': string; | ||
| /** | ||
| * Description of the collection. | ||
| */ | ||
| 'description'?: string | null; | ||
| /** | ||
| * Metadata objects in the collection. | ||
| */ | ||
| 'metadata'?: Array<CollectionMetadataItem> | null; | ||
| /** | ||
| * Creation timestamp in milliseconds. | ||
| */ | ||
| 'created_at'?: string | null; | ||
| /** | ||
| * Last updated timestamp in milliseconds. | ||
| */ | ||
| 'updated_at'?: string | null; | ||
| /** | ||
| * Name of the author who created the collection. | ||
| */ | ||
| 'author_name'?: string | null; | ||
| /** | ||
| * Unique identifier of the author. | ||
| */ | ||
| 'author_id'?: string | null; | ||
| 'org'?: CollectionEntityIdentifier; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "id", | ||
| "baseName": "id", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "name", | ||
| "baseName": "name", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "description", | ||
| "baseName": "description", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "metadata", | ||
| "baseName": "metadata", | ||
| "type": "Array<CollectionMetadataItem>", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "created_at", | ||
| "baseName": "created_at", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "updated_at", | ||
| "baseName": "updated_at", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "author_name", | ||
| "baseName": "author_name", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "author_id", | ||
| "baseName": "author_id", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "org", | ||
| "baseName": "org", | ||
| "type": "CollectionEntityIdentifier", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return Collection.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { CollectionDeleteTypeIdentifiers } from '../models/CollectionDeleteTypeIdentifiers'; | ||
| import { HttpFile } from '../http/http'; | ||
| /** | ||
| * Response object for delete collection operation. | ||
| */ | ||
| export class CollectionDeleteResponse { | ||
| /** | ||
| * List of metadata objects that were successfully deleted. | ||
| */ | ||
| 'metadata_deleted'?: Array<CollectionDeleteTypeIdentifiers> | null; | ||
| /** | ||
| * List of metadata objects that were skipped during deletion. Objects may be skipped due to lack of permissions, dependencies, or other constraints. | ||
| */ | ||
| 'metadata_skipped'?: Array<CollectionDeleteTypeIdentifiers> | null; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "metadata_deleted", | ||
| "baseName": "metadata_deleted", | ||
| "type": "Array<CollectionDeleteTypeIdentifiers>", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "metadata_skipped", | ||
| "baseName": "metadata_skipped", | ||
| "type": "Array<CollectionDeleteTypeIdentifiers>", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return CollectionDeleteResponse.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { GenericInfo } from '../models/GenericInfo'; | ||
| import { HttpFile } from '../http/http'; | ||
| /** | ||
| * Group of metadata objects identified by type. | ||
| */ | ||
| export class CollectionDeleteTypeIdentifiers { | ||
| /** | ||
| * Type of the metadata object (e.g., Collection, Worksheet, Table). | ||
| */ | ||
| 'type'?: string | null; | ||
| /** | ||
| * List of metadata identifiers belonging to the given type. | ||
| */ | ||
| 'identifiers'?: Array<GenericInfo> | null; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "type", | ||
| "baseName": "type", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "identifiers", | ||
| "baseName": "identifiers", | ||
| "type": "Array<GenericInfo>", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return CollectionDeleteTypeIdentifiers.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { HttpFile } from '../http/http'; | ||
| /** | ||
| * Entity identifier with name. | ||
| */ | ||
| export class CollectionEntityIdentifier { | ||
| /** | ||
| * Unique identifier of the entity. | ||
| */ | ||
| 'identifier'?: string | null; | ||
| /** | ||
| * Name of the entity. | ||
| */ | ||
| 'name'?: string | null; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "identifier", | ||
| "baseName": "identifier", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "name", | ||
| "baseName": "name", | ||
| "type": "string", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return CollectionEntityIdentifier.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { HttpFile } from '../http/http'; | ||
| /** | ||
| * Input type for metadata to be added to a collection. | ||
| */ | ||
| export class CollectionMetadataInput { | ||
| /** | ||
| * Type of metadata object. | ||
| */ | ||
| 'type': CollectionMetadataInputTypeEnum; | ||
| /** | ||
| * List of unique IDs or names of metadata objects. | ||
| */ | ||
| 'identifiers': Array<string>; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "type", | ||
| "baseName": "type", | ||
| "type": "CollectionMetadataInputTypeEnum", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "identifiers", | ||
| "baseName": "identifiers", | ||
| "type": "Array<string>", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return CollectionMetadataInput.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| export type CollectionMetadataInputTypeEnum = "LIVEBOARD" | "ANSWER" | "LOGICAL_TABLE" | "COLLECTION" ; | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { CollectionEntityIdentifier } from '../models/CollectionEntityIdentifier'; | ||
| import { HttpFile } from '../http/http'; | ||
| /** | ||
| * Metadata item in a collection response. | ||
| */ | ||
| export class CollectionMetadataItem { | ||
| /** | ||
| * Type of the metadata object. | ||
| */ | ||
| 'type'?: string | null; | ||
| /** | ||
| * List of identifiers for this metadata type. | ||
| */ | ||
| 'identifiers'?: Array<CollectionEntityIdentifier> | null; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "type", | ||
| "baseName": "type", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "identifiers", | ||
| "baseName": "identifiers", | ||
| "type": "Array<CollectionEntityIdentifier>", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return CollectionMetadataItem.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { Collection } from '../models/Collection'; | ||
| import { HttpFile } from '../http/http'; | ||
| /** | ||
| * Response object for search collections operation. | ||
| */ | ||
| export class CollectionSearchResponse { | ||
| /** | ||
| * List of collections matching the search criteria. | ||
| */ | ||
| 'collections': Array<Collection>; | ||
| /** | ||
| * The starting record number from where the records are included. | ||
| */ | ||
| 'record_offset'?: number | null; | ||
| /** | ||
| * The number of records returned. | ||
| */ | ||
| 'record_size'?: number | null; | ||
| /** | ||
| * Indicates if this is the last batch of results. | ||
| */ | ||
| 'is_last_batch'?: boolean | null; | ||
| /** | ||
| * Total count of records returned. | ||
| */ | ||
| 'count'?: number | null; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "collections", | ||
| "baseName": "collections", | ||
| "type": "Array<Collection>", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "record_offset", | ||
| "baseName": "record_offset", | ||
| "type": "number", | ||
| "format": "int32" | ||
| }, | ||
| { | ||
| "name": "record_size", | ||
| "baseName": "record_size", | ||
| "type": "number", | ||
| "format": "int32" | ||
| }, | ||
| { | ||
| "name": "is_last_batch", | ||
| "baseName": "is_last_batch", | ||
| "type": "boolean", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "count", | ||
| "baseName": "count", | ||
| "type": "number", | ||
| "format": "int32" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return CollectionSearchResponse.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { ChannelValidationDetail } from '../models/ChannelValidationDetail'; | ||
| import { HttpFile } from '../http/http'; | ||
| /** | ||
| * Response containing validation results for communication channel configuration. | ||
| */ | ||
| export class CommunicationChannelValidateResponse { | ||
| /** | ||
| * Type of communication channel that was validated. | ||
| */ | ||
| 'channel_type': CommunicationChannelValidateResponseChannelTypeEnum; | ||
| /** | ||
| * ID of the communication channel (e.g., webhook_id). | ||
| */ | ||
| 'channel_id': string; | ||
| /** | ||
| * Name of the communication channel (e.g., webhook name). | ||
| */ | ||
| 'channel_name'?: string | null; | ||
| /** | ||
| * Event type that was validated. | ||
| */ | ||
| 'event_type': CommunicationChannelValidateResponseEventTypeEnum; | ||
| /** | ||
| * Unique Job Id of the validation. | ||
| */ | ||
| 'job_id': string; | ||
| /** | ||
| * Overall result of the validation. | ||
| */ | ||
| 'result_code': CommunicationChannelValidateResponseResultCodeEnum; | ||
| /** | ||
| * Detailed results of various validation sub-steps. | ||
| */ | ||
| 'details'?: Array<ChannelValidationDetail> | null; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "channel_type", | ||
| "baseName": "channel_type", | ||
| "type": "CommunicationChannelValidateResponseChannelTypeEnum", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "channel_id", | ||
| "baseName": "channel_id", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "channel_name", | ||
| "baseName": "channel_name", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "event_type", | ||
| "baseName": "event_type", | ||
| "type": "CommunicationChannelValidateResponseEventTypeEnum", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "job_id", | ||
| "baseName": "job_id", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "result_code", | ||
| "baseName": "result_code", | ||
| "type": "CommunicationChannelValidateResponseResultCodeEnum", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "details", | ||
| "baseName": "details", | ||
| "type": "Array<ChannelValidationDetail>", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return CommunicationChannelValidateResponse.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| export type CommunicationChannelValidateResponseChannelTypeEnum = "WEBHOOK" ; | ||
| export type CommunicationChannelValidateResponseEventTypeEnum = "LIVEBOARD_SCHEDULE" ; | ||
| export type CommunicationChannelValidateResponseResultCodeEnum = "SUCCESS" | "FAILED" | "PARTIAL_SUCCESS" ; | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { CollectionMetadataInput } from '../models/CollectionMetadataInput'; | ||
| import { HttpFile } from '../http/http'; | ||
| export class CreateCollectionRequest { | ||
| /** | ||
| * Name of the collection. | ||
| */ | ||
| 'name': string; | ||
| /** | ||
| * Description of the collection. | ||
| */ | ||
| 'description'?: string; | ||
| /** | ||
| * Metadata objects to add to the collection. | ||
| */ | ||
| 'metadata'?: Array<CollectionMetadataInput>; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "name", | ||
| "baseName": "name", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "description", | ||
| "baseName": "description", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "metadata", | ||
| "baseName": "metadata", | ||
| "type": "Array<CollectionMetadataInput>", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return CreateCollectionRequest.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { HttpFile } from '../http/http'; | ||
| export class DeleteCollectionRequest { | ||
| /** | ||
| * Unique GUIDs of collections to delete. Note: Collection names cannot be used as identifiers since duplicate names are allowed. | ||
| */ | ||
| 'collection_identifiers': Array<string>; | ||
| /** | ||
| * Flag to delete child objects of the collection that the user has access to. | ||
| */ | ||
| 'delete_children'?: boolean | null; | ||
| /** | ||
| * Preview deletion without actually deleting. When set to true, returns what would be deleted without performing the actual deletion. | ||
| */ | ||
| 'dry_run'?: boolean | null; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "collection_identifiers", | ||
| "baseName": "collection_identifiers", | ||
| "type": "Array<string>", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "delete_children", | ||
| "baseName": "delete_children", | ||
| "type": "boolean", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "dry_run", | ||
| "baseName": "dry_run", | ||
| "type": "boolean", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return DeleteCollectionRequest.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { HttpFile } from '../http/http'; | ||
| export class DeleteVariablesRequest { | ||
| /** | ||
| * Unique id(s) or name(s) of the variable(s) to delete | ||
| */ | ||
| 'identifiers': Array<string>; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "identifiers", | ||
| "baseName": "identifiers", | ||
| "type": "Array<string>", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return DeleteVariablesRequest.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { HttpFile } from '../http/http'; | ||
| /** | ||
| * A recipient (user, group, or external) for a job execution. | ||
| */ | ||
| export class JobRecipient { | ||
| /** | ||
| * Type of the recipient. | ||
| */ | ||
| 'type': JobRecipientTypeEnum; | ||
| /** | ||
| * Unique ID of the recipient. | ||
| */ | ||
| 'id'?: string | null; | ||
| /** | ||
| * Name of the recipient. | ||
| */ | ||
| 'name'?: string | null; | ||
| /** | ||
| * Email of the recipient. | ||
| */ | ||
| 'email'?: string | null; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "type", | ||
| "baseName": "type", | ||
| "type": "JobRecipientTypeEnum", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "id", | ||
| "baseName": "id", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "name", | ||
| "baseName": "name", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "email", | ||
| "baseName": "email", | ||
| "type": "string", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return JobRecipient.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| export type JobRecipientTypeEnum = "USER" | "EXTERNAL" ; | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { HttpFile } from '../http/http'; | ||
| export class ParameterizeMetadataFieldsRequest { | ||
| /** | ||
| * Type of metadata object to parameterize. | ||
| */ | ||
| 'metadata_type'?: ParameterizeMetadataFieldsRequestMetadataTypeEnum; | ||
| /** | ||
| * Unique ID or name of the metadata object to parameterize. | ||
| */ | ||
| 'metadata_identifier': string; | ||
| /** | ||
| * Type of field in the metadata to parameterize. | ||
| */ | ||
| 'field_type': ParameterizeMetadataFieldsRequestFieldTypeEnum; | ||
| /** | ||
| * JSON array of field names to parameterize. Example: [schemaName, databaseName, tableName] | ||
| */ | ||
| 'field_names': Array<string>; | ||
| /** | ||
| * Unique ID or name of the variable to use for parameterization of these fields. | ||
| */ | ||
| 'variable_identifier': string; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "metadata_type", | ||
| "baseName": "metadata_type", | ||
| "type": "ParameterizeMetadataFieldsRequestMetadataTypeEnum", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "metadata_identifier", | ||
| "baseName": "metadata_identifier", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "field_type", | ||
| "baseName": "field_type", | ||
| "type": "ParameterizeMetadataFieldsRequestFieldTypeEnum", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "field_names", | ||
| "baseName": "field_names", | ||
| "type": "Array<string>", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "variable_identifier", | ||
| "baseName": "variable_identifier", | ||
| "type": "string", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return ParameterizeMetadataFieldsRequest.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| export type ParameterizeMetadataFieldsRequestMetadataTypeEnum = "LOGICAL_TABLE" | "CONNECTION" | "CONNECTION_CONFIG" ; | ||
| export type ParameterizeMetadataFieldsRequestFieldTypeEnum = "ATTRIBUTE" | "CONNECTION_PROPERTY" ; | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { VariablePutAssignmentInput } from '../models/VariablePutAssignmentInput'; | ||
| import { HttpFile } from '../http/http'; | ||
| export class PutVariableValuesRequest { | ||
| /** | ||
| * Operation to perform | ||
| */ | ||
| 'operation'?: PutVariableValuesRequestOperationEnum; | ||
| /** | ||
| * Variable assignments | ||
| */ | ||
| 'variable_assignment': Array<VariablePutAssignmentInput>; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "operation", | ||
| "baseName": "operation", | ||
| "type": "PutVariableValuesRequestOperationEnum", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "variable_assignment", | ||
| "baseName": "variable_assignment", | ||
| "type": "Array<VariablePutAssignmentInput>", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return PutVariableValuesRequest.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| export type PutVariableValuesRequestOperationEnum = "ADD" | "REMOVE" | "REPLACE" | "RESET" ; | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { ChannelHistoryEventInput } from '../models/ChannelHistoryEventInput'; | ||
| import { HttpFile } from '../http/http'; | ||
| export class SearchChannelHistoryRequest { | ||
| /** | ||
| * Type of communication channel to search history for. | ||
| */ | ||
| 'channel_type': SearchChannelHistoryRequestChannelTypeEnum; | ||
| /** | ||
| * List of job execution record IDs to retrieve. | ||
| */ | ||
| 'job_ids'?: Array<string>; | ||
| /** | ||
| * List of channel IDs or names to filter by. | ||
| */ | ||
| 'channel_identifiers'?: Array<string>; | ||
| /** | ||
| * Filter by channel delivery status. | ||
| */ | ||
| 'channel_status'?: SearchChannelHistoryRequestChannelStatusEnum; | ||
| /** | ||
| * Filter by events that triggered the channel. | ||
| */ | ||
| 'events'?: Array<ChannelHistoryEventInput>; | ||
| /** | ||
| * Filter records created on or after this time (epoch milliseconds). | ||
| */ | ||
| 'start_epoch_time_in_millis'?: number; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "channel_type", | ||
| "baseName": "channel_type", | ||
| "type": "SearchChannelHistoryRequestChannelTypeEnum", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "job_ids", | ||
| "baseName": "job_ids", | ||
| "type": "Array<string>", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "channel_identifiers", | ||
| "baseName": "channel_identifiers", | ||
| "type": "Array<string>", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "channel_status", | ||
| "baseName": "channel_status", | ||
| "type": "SearchChannelHistoryRequestChannelStatusEnum", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "events", | ||
| "baseName": "events", | ||
| "type": "Array<ChannelHistoryEventInput>", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "start_epoch_time_in_millis", | ||
| "baseName": "start_epoch_time_in_millis", | ||
| "type": "number", | ||
| "format": "float" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return SearchChannelHistoryRequest.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| export type SearchChannelHistoryRequestChannelTypeEnum = "WEBHOOK" ; | ||
| export type SearchChannelHistoryRequestChannelStatusEnum = "PENDING" | "RETRY" | "SUCCESS" | "FAILED" ; | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { ChannelHistoryJob } from '../models/ChannelHistoryJob'; | ||
| import { HttpFile } from '../http/http'; | ||
| /** | ||
| * Response wrapper for channel delivery history. | ||
| */ | ||
| export class SearchChannelHistoryResponse { | ||
| /** | ||
| * List of job execution records. | ||
| */ | ||
| 'jobs': Array<ChannelHistoryJob>; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "jobs", | ||
| "baseName": "jobs", | ||
| "type": "Array<ChannelHistoryJob>", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return SearchChannelHistoryResponse.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { SearchCollectionsRequestSortOptions } from '../models/SearchCollectionsRequestSortOptions'; | ||
| import { HttpFile } from '../http/http'; | ||
| export class SearchCollectionsRequest { | ||
| /** | ||
| * A pattern to match case-insensitive name of the Collection object. Use \'%\' for wildcard match. | ||
| */ | ||
| 'name_pattern'?: string; | ||
| /** | ||
| * The starting record number from where the records should be included. | ||
| */ | ||
| 'record_offset'?: number; | ||
| /** | ||
| * The number of records that should be included. -1 implies no pagination. | ||
| */ | ||
| 'record_size'?: number; | ||
| /** | ||
| * Unique GUIDs of collections to search. Note: Collection names cannot be used as identifiers since duplicate names are allowed. | ||
| */ | ||
| 'collection_identifiers'?: Array<string>; | ||
| /** | ||
| * Filter collections by author. Provide unique IDs or names of users who created the collections. | ||
| */ | ||
| 'created_by_user_identifiers'?: Array<string>; | ||
| /** | ||
| * Include collection metadata items in the response. | ||
| */ | ||
| 'include_metadata'?: boolean | null; | ||
| 'sort_options'?: SearchCollectionsRequestSortOptions; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "name_pattern", | ||
| "baseName": "name_pattern", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "record_offset", | ||
| "baseName": "record_offset", | ||
| "type": "number", | ||
| "format": "int32" | ||
| }, | ||
| { | ||
| "name": "record_size", | ||
| "baseName": "record_size", | ||
| "type": "number", | ||
| "format": "int32" | ||
| }, | ||
| { | ||
| "name": "collection_identifiers", | ||
| "baseName": "collection_identifiers", | ||
| "type": "Array<string>", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "created_by_user_identifiers", | ||
| "baseName": "created_by_user_identifiers", | ||
| "type": "Array<string>", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "include_metadata", | ||
| "baseName": "include_metadata", | ||
| "type": "boolean", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "sort_options", | ||
| "baseName": "sort_options", | ||
| "type": "SearchCollectionsRequestSortOptions", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return SearchCollectionsRequest.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { HttpFile } from '../http/http'; | ||
| /** | ||
| * Sort options. | ||
| */ | ||
| export class SearchCollectionsRequestSortOptions { | ||
| /** | ||
| * Name of the field to apply the sort on. | ||
| */ | ||
| 'field_name'?: SearchCollectionsRequestSortOptionsFieldNameEnum | null; | ||
| /** | ||
| * Sort order : ASC(Ascending) or DESC(Descending). | ||
| */ | ||
| 'order'?: SearchCollectionsRequestSortOptionsOrderEnum | null; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "field_name", | ||
| "baseName": "field_name", | ||
| "type": "SearchCollectionsRequestSortOptionsFieldNameEnum", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "order", | ||
| "baseName": "order", | ||
| "type": "SearchCollectionsRequestSortOptionsOrderEnum", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return SearchCollectionsRequestSortOptions.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| export type SearchCollectionsRequestSortOptionsFieldNameEnum = "NAME" | "DISPLAY_NAME" | "AUTHOR" | "CREATED" | "MODIFIED" ; | ||
| export type SearchCollectionsRequestSortOptionsOrderEnum = "ASC" | "DESC" ; | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { CollectionMetadataInput } from '../models/CollectionMetadataInput'; | ||
| import { HttpFile } from '../http/http'; | ||
| export class UpdateCollectionRequest { | ||
| /** | ||
| * Name of the collection. | ||
| */ | ||
| 'name'?: string; | ||
| /** | ||
| * Description of the collection. | ||
| */ | ||
| 'description'?: string; | ||
| /** | ||
| * Metadata objects to add, remove, or replace in the collection. | ||
| */ | ||
| 'metadata'?: Array<CollectionMetadataInput>; | ||
| /** | ||
| * Type of update operation. Default operation type is REPLACE. | ||
| */ | ||
| 'operation'?: UpdateCollectionRequestOperationEnum; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "name", | ||
| "baseName": "name", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "description", | ||
| "baseName": "description", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "metadata", | ||
| "baseName": "metadata", | ||
| "type": "Array<CollectionMetadataInput>", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "operation", | ||
| "baseName": "operation", | ||
| "type": "UpdateCollectionRequestOperationEnum", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return UpdateCollectionRequest.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| export type UpdateCollectionRequestOperationEnum = "ADD" | "REMOVE" | "REPLACE" ; | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { HttpFile } from '../http/http'; | ||
| export class ValidateCommunicationChannelRequest { | ||
| /** | ||
| * Type of communication channel to validate (e.g., WEBHOOK). | ||
| */ | ||
| 'channel_type': ValidateCommunicationChannelRequestChannelTypeEnum; | ||
| /** | ||
| * Unique identifier or name for the communication channel. | ||
| */ | ||
| 'channel_identifier': string; | ||
| /** | ||
| * Event type to validate for this channel. | ||
| */ | ||
| 'event_type': ValidateCommunicationChannelRequestEventTypeEnum; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "channel_type", | ||
| "baseName": "channel_type", | ||
| "type": "ValidateCommunicationChannelRequestChannelTypeEnum", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "channel_identifier", | ||
| "baseName": "channel_identifier", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "event_type", | ||
| "baseName": "event_type", | ||
| "type": "ValidateCommunicationChannelRequestEventTypeEnum", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return ValidateCommunicationChannelRequest.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| export type ValidateCommunicationChannelRequestChannelTypeEnum = "WEBHOOK" ; | ||
| export type ValidateCommunicationChannelRequestEventTypeEnum = "LIVEBOARD_SCHEDULE" ; | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { HttpFile } from '../http/http'; | ||
| /** | ||
| * Input for variable value put operations | ||
| */ | ||
| export class VariablePutAssignmentInput { | ||
| /** | ||
| * Values of the variable | ||
| */ | ||
| 'assigned_values': Array<string>; | ||
| /** | ||
| * The unique name of the org | ||
| */ | ||
| 'org_identifier'?: string | null; | ||
| /** | ||
| * Principal type | ||
| */ | ||
| 'principal_type'?: VariablePutAssignmentInputPrincipalTypeEnum | null; | ||
| /** | ||
| * Unique ID or name of the principal | ||
| */ | ||
| 'principal_identifier'?: string | null; | ||
| /** | ||
| * Unique ID of the model | ||
| */ | ||
| 'model_identifier'?: string | null; | ||
| /** | ||
| * Priority level | ||
| */ | ||
| 'priority'?: number | null; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "assigned_values", | ||
| "baseName": "assigned_values", | ||
| "type": "Array<string>", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "org_identifier", | ||
| "baseName": "org_identifier", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "principal_type", | ||
| "baseName": "principal_type", | ||
| "type": "VariablePutAssignmentInputPrincipalTypeEnum", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "principal_identifier", | ||
| "baseName": "principal_identifier", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "model_identifier", | ||
| "baseName": "model_identifier", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "priority", | ||
| "baseName": "priority", | ||
| "type": "number", | ||
| "format": "int32" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return VariablePutAssignmentInput.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| export type VariablePutAssignmentInputPrincipalTypeEnum = "USER" | "USER_GROUP" ; | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { HttpFile } from '../http/http'; | ||
| /** | ||
| * Key-value pair for additional webhook headers. | ||
| */ | ||
| export class WebhookKeyValuePair { | ||
| /** | ||
| * Header name. | ||
| */ | ||
| 'key': string; | ||
| /** | ||
| * Header value. | ||
| */ | ||
| 'value': string; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "key", | ||
| "baseName": "key", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "value", | ||
| "baseName": "value", | ||
| "type": "string", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return WebhookKeyValuePair.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { HttpFile } from '../http/http'; | ||
| /** | ||
| * Key-value pair input for additional webhook headers. | ||
| */ | ||
| export class WebhookKeyValuePairInput { | ||
| /** | ||
| * Header name. | ||
| */ | ||
| 'key': string; | ||
| /** | ||
| * Header value. | ||
| */ | ||
| 'value': string; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "key", | ||
| "baseName": "key", | ||
| "type": "string", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "value", | ||
| "baseName": "value", | ||
| "type": "string", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return WebhookKeyValuePairInput.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| import chai from "chai"; | ||
| import chaiAsPromised from "chai-as-promised"; | ||
| import { createBearerAuthenticationConfig } from "../utils/config"; | ||
| import { PromiseCollectionsApi } from "../types/PromiseAPI"; | ||
| import requestBodies from "./testDataUpdated.json"; | ||
| chai.use(chaiAsPromised); | ||
| const expect = chai.expect; | ||
| const baseUrlFromCli = process.argv.filter(s => s.startsWith("--baseUrl="))?.[0]?.split("=")?.[1] | ||
| const BASE_URL = baseUrlFromCli || "http://127.0.0.1:4123" | ||
| const config = createBearerAuthenticationConfig(BASE_URL, { | ||
| username: "tsadmin", | ||
| password: "admin", | ||
| }); | ||
| const instance = new PromiseCollectionsApi(config); | ||
| describe('CollectionsApi', function() { | ||
| describe('createCollection', function() { | ||
| const testReqBodies = requestBodies.filter( | ||
| (body: any) => body.Metadata.operationId === "createCollection" | ||
| ); | ||
| testReqBodies.forEach(async (test: any) => { | ||
| it(`${test.Metadata.operationId} - ${test.Metadata.scenario} : Testid - ${test.Metadata.testId}`, async function () { | ||
| if (test.Metadata.scenario === "positive") { | ||
| var data; | ||
| try { | ||
| data = await instance.createCollection( | ||
| // createCollectionRequest CreateCollectionRequest | ||
| test.Body | ||
| ) | ||
| } catch (er) { | ||
| console.error(er, "Response", data) | ||
| expect(er).to.be.undefined | ||
| } | ||
| } else { | ||
| await expect( | ||
| instance.createCollection( | ||
| // createCollectionRequest CreateCollectionRequest | ||
| test.Body | ||
| ) | ||
| ).to.be.rejectedWith(Error); | ||
| } | ||
| }); | ||
| }); | ||
| }); | ||
| describe('deleteCollection', function() { | ||
| const testReqBodies = requestBodies.filter( | ||
| (body: any) => body.Metadata.operationId === "deleteCollection" | ||
| ); | ||
| testReqBodies.forEach(async (test: any) => { | ||
| it(`${test.Metadata.operationId} - ${test.Metadata.scenario} : Testid - ${test.Metadata.testId}`, async function () { | ||
| if (test.Metadata.scenario === "positive") { | ||
| var data; | ||
| try { | ||
| data = await instance.deleteCollection( | ||
| // deleteCollectionRequest DeleteCollectionRequest | ||
| test.Body | ||
| ) | ||
| } catch (er) { | ||
| console.error(er, "Response", data) | ||
| expect(er).to.be.undefined | ||
| } | ||
| } else { | ||
| await expect( | ||
| instance.deleteCollection( | ||
| // deleteCollectionRequest DeleteCollectionRequest | ||
| test.Body | ||
| ) | ||
| ).to.be.rejectedWith(Error); | ||
| } | ||
| }); | ||
| }); | ||
| }); | ||
| describe('searchCollections', function() { | ||
| const testReqBodies = requestBodies.filter( | ||
| (body: any) => body.Metadata.operationId === "searchCollections" | ||
| ); | ||
| testReqBodies.forEach(async (test: any) => { | ||
| it(`${test.Metadata.operationId} - ${test.Metadata.scenario} : Testid - ${test.Metadata.testId}`, async function () { | ||
| if (test.Metadata.scenario === "positive") { | ||
| var data; | ||
| try { | ||
| data = await instance.searchCollections( | ||
| // searchCollectionsRequest SearchCollectionsRequest | ||
| test.Body | ||
| ) | ||
| } catch (er) { | ||
| console.error(er, "Response", data) | ||
| expect(er).to.be.undefined | ||
| } | ||
| } else { | ||
| await expect( | ||
| instance.searchCollections( | ||
| // searchCollectionsRequest SearchCollectionsRequest | ||
| test.Body | ||
| ) | ||
| ).to.be.rejectedWith(Error); | ||
| } | ||
| }); | ||
| }); | ||
| }); | ||
| describe('updateCollection', function() { | ||
| const testReqBodies = requestBodies.filter( | ||
| (body: any) => body.Metadata.operationId === "updateCollection" | ||
| ); | ||
| testReqBodies.forEach(async (test: any) => { | ||
| it(`${test.Metadata.operationId} - ${test.Metadata.scenario} : Testid - ${test.Metadata.testId}`, async function () { | ||
| if (test.Metadata.scenario === "positive") { | ||
| var data; | ||
| try { | ||
| data = await instance.updateCollection( | ||
| // collectionIdentifier collection_identifier | ||
| test.Path_Variables.collection_identifier , | ||
| // updateCollectionRequest UpdateCollectionRequest | ||
| test.Body | ||
| ) | ||
| } catch (er) { | ||
| console.error(er, "Response", data) | ||
| expect(er).to.be.undefined | ||
| } | ||
| } else { | ||
| await expect( | ||
| instance.updateCollection( | ||
| // collectionIdentifier collection_identifier | ||
| test.Path_Variables.collection_identifier , | ||
| // updateCollectionRequest UpdateCollectionRequest | ||
| test.Body | ||
| ) | ||
| ).to.be.rejectedWith(Error); | ||
| } | ||
| }); | ||
| }); | ||
| }); | ||
| }); |
| import chai from "chai"; | ||
| import chaiAsPromised from "chai-as-promised"; | ||
| import { createBearerAuthenticationConfig } from "../utils/config"; | ||
| import { PromiseJobsApi } from "../types/PromiseAPI"; | ||
| import requestBodies from "./testDataUpdated.json"; | ||
| chai.use(chaiAsPromised); | ||
| const expect = chai.expect; | ||
| const baseUrlFromCli = process.argv.filter(s => s.startsWith("--baseUrl="))?.[0]?.split("=")?.[1] | ||
| const BASE_URL = baseUrlFromCli || "http://127.0.0.1:4123" | ||
| const config = createBearerAuthenticationConfig(BASE_URL, { | ||
| username: "tsadmin", | ||
| password: "admin", | ||
| }); | ||
| const instance = new PromiseJobsApi(config); | ||
| describe('JobsApi', function() { | ||
| describe('searchChannelHistory', function() { | ||
| const testReqBodies = requestBodies.filter( | ||
| (body: any) => body.Metadata.operationId === "searchChannelHistory" | ||
| ); | ||
| testReqBodies.forEach(async (test: any) => { | ||
| it(`${test.Metadata.operationId} - ${test.Metadata.scenario} : Testid - ${test.Metadata.testId}`, async function () { | ||
| if (test.Metadata.scenario === "positive") { | ||
| var data; | ||
| try { | ||
| data = await instance.searchChannelHistory( | ||
| // searchChannelHistoryRequest SearchChannelHistoryRequest | ||
| test.Body | ||
| ) | ||
| } catch (er) { | ||
| console.error(er, "Response", data) | ||
| expect(er).to.be.undefined | ||
| } | ||
| } else { | ||
| await expect( | ||
| instance.searchChannelHistory( | ||
| // searchChannelHistoryRequest SearchChannelHistoryRequest | ||
| test.Body | ||
| ) | ||
| ).to.be.rejectedWith(Error); | ||
| } | ||
| }); | ||
| }); | ||
| }); | ||
| }); |
+33
-11
@@ -23,3 +23,3 @@ # ThoughtSpotRestApiSdk.AIApi | ||
| Version: 10.13.0.cl or later | ||
| Version: 26.2.0.cl or later Creates a new Spotter agent conversation based on the provided context and settings. The endpoint was in Beta from 26.2.0.cl through 26.4.0.cl. Requires `CAN_USE_SPOTTER` privilege and at least view access to the metadata object specified in the request. #### Usage guidelines The request must include the `metadata_context` parameter to define the conversation context. The context type can be one of: - `DATA_SOURCE` *(available from 26.5.0.cl)*: targets a specific data source. Provide `data_source_identifier` in `data_source_context` for a single data source, or `data_source_identifiers` for multi-data-source context. The deprecated `guid` field is accepted for backwards compatibility. - `AUTO_MODE` *(available from 26.5.0.cl)*: automatically discovers and selects the most relevant datasets for the user\'s queries. > **Note for callers on versions 26.2.0.cl – 26.4.0.cl (Beta):** use the lowercase `data_source` enum value with the `guid` field instead of the above. Example: `{ \"type\": \"data_source\", \"data_source_context\": { \"guid\": \"<worksheet-id>\" } }`. The `conversation_settings` parameter controls which Spotter capabilities are enabled for the conversation: - `enable_contextual_change_analysis` (default: `true`, **deprecated from 26.2.0.cl**) — always enabled in Spotter 3; setting this to `false` has no effect on versions >= 26.2.0.cl - `enable_natural_language_answer_generation` (default: `true`, **deprecated from 26.2.0.cl**) — always enabled in Spotter 3; setting this to `false` has no effect on versions >= 26.2.0.cl - `enable_reasoning` (default: `true`, **deprecated from 26.2.0.cl**) — always enabled in Spotter 3; setting this to `false` has no effect on versions >= 26.2.0.cl - `enable_save_chat` (default: `false`, *available from 26.5.0.cl*) — enables saving the conversation for later retrieval via conversation history If the request is successful, the response includes a unique `conversation_identifier` that must be passed to `sendAgentConversationMessage` or `sendAgentConversationMessageStreaming` to send messages within this conversation. The response also includes `conversation_id` with the same value for backwards compatibility; use `conversation_identifier` for new integrations. #### Example request ```json { \"metadata_context\": { \"type\": \"DATA_SOURCE\", \"data_source_context\": { \"data_source_identifier\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\" } }, \"conversation_settings\": {} } ``` #### Error responses | Code | Description | | ---- | --------------------------------------------------------------------------------------------------------------------------------------- | | 401 | Unauthorized — authentication token is missing, expired, or invalid. | | 403 | Forbidden — the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks view permission on the specified metadata object. | > ###### Note: > > - This endpoint was in Beta from 26.2.0.cl through 26.4.0.cl and is Generally Available from version 26.5.0.cl. > - This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster. | ||
@@ -79,2 +79,4 @@ ### Example | ||
| **400** | Operation failed | - | | ||
| **401** | Unauthorized access. | - | | ||
| **403** | Forbidden access. | - | | ||
| **500** | Operation failed | - | | ||
@@ -87,3 +89,3 @@ | ||
| Version: 10.4.0.cl or later Creates a Conversation object to start an AI-driven conversation based on a specific data model. Requires at least view access to the metadata object specified in the request. #### Usage guidelines This API requires the `metadata_identifier` parameter to define the context for the conversation. You can also specify the tokens to initiate the conversation as shown in this example: `\"tokens\": \"[tea],[sales],[type]\"` If the API request is successful, ThoughtSpot returns the ID of the conversation. > ###### Note: > * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available. > * This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster. | ||
| Version: 10.4.0.cl or later Creates a new conversation session tied to a specific data model for AI-driven natural language querying. Requires `CAN_USE_SPOTTER` privilege and at least view access to the metadata object specified in the request. #### Usage guidelines The request must include: - `metadata_identifier`: the unique ID of the data source that provides context for the conversation Optionally, you can provide: - `tokens`: a token string to set initial context for the conversation (e.g., `\"[sales],[item type],[state]\"`) If the request is successful, ThoughtSpot returns a unique `conversation_identifier` that must be passed to `sendMessage` to continue the conversation. #### Error responses | Code | Description | |------|-------------| | 401 | Unauthorized — authentication token is missing, expired, or invalid. | | 403 | Forbidden — the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks view permission on the specified metadata object. | > ###### Note: > * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available. > * This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster. | ||
@@ -143,2 +145,4 @@ ### Example | ||
| **400** | Operation failed | - | | ||
| **401** | Unauthorized access. | - | | ||
| **403** | Forbidden access. | - | | ||
| **500** | Operation failed | - | | ||
@@ -151,3 +155,3 @@ | ||
| Version: 10.15.0.cl or later Provides relevant data source recommendations for a user-submitted natural language query. To use this API, the user must have at least view-level access to the underlying metadata entities referenced in the response. #### Usage guidelines The request must include a `query` string via the request body. The returned results include metadata such as: - `confidence`: a float indicating the model\'s confidence in the relevance of each recommendation - `details`: includes `data_source_identifier`, `data_source_name`, and `description` of each recommended data source - `reasoning`: rationale provided by the LLM to explain why each data source was recommended If the API request is successful, ThoughtSpot returns a ranked list of data sources, each annotated with relevant reasoning. > ###### Note: > * This endpoint is currently in Beta. Breaking changes may be introduced before it is made Generally Available. > * This endpoint requires Spotter — please contact ThoughtSpot Support to enable Spotter on your cluster. | ||
| Version: 10.15.0.cl or later Suggests the most relevant data sources for a given natural language query, ranked by confidence with LLM-generated reasoning. Requires `CAN_USE_SPOTTER` privilege and at least view-level access to the underlying metadata entities referenced in the response. #### Usage guidelines The request must include: - `query`: the natural language question to find relevant data sources for If the request is successful, the API returns a ranked list of suggested data sources, each containing: - `confidence`: a float score indicating the model\'s confidence in the relevance of the suggestion - `details`: metadata about the data source - `data_source_identifier`: the unique ID of the data source - `data_source_name`: the display name of the data source - `description`: a description of the data source - `reasoning`: LLM-generated rationale explaining why the data source was recommended #### Error responses | Code | Description | |------|--------------------------------------------------------------------------------------------------------------------------------------------| | 401 | Unauthorized — authentication token is missing, expired, or invalid. | | 403 | Forbidden — the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks view permission on the underlying metadata entities. | > ###### Note: > * This endpoint is currently in Beta. Breaking changes may be introduced before it is made Generally Available. > * This endpoint requires Spotter — please contact ThoughtSpot Support to enable Spotter on your cluster. | ||
@@ -206,2 +210,4 @@ ### Example | ||
| **400** | Operation failed | - | | ||
| **401** | Unauthorized access. | - | | ||
| **403** | Forbidden access. | - | | ||
| **500** | Operation failed | - | | ||
@@ -214,3 +220,3 @@ | ||
| Version: 10.15.0.cl or later This API allows users to retrieve existing natural language (NL) instructions for a specific data-model. These instructions guide the AI system in understanding data context and generating more accurate responses when processing natural language queries. #### Usage guidelines To retrieve NL instructions for a data-model, the request must include: - `data_source_identifier`: The unique ID of the data-model to retrieve NL instructions The API returns a response object with: - `nl_instructions_info`: An array of instruction objects, each containing: - `instructions`: Array of text instructions for natural language processing - `scope`: The scope of the instruction (`GLOBAL`). It can be extended to data-model-user scope in future. #### Instructions Scope - **GLOBAL**: Instructions that apply globally across the system on the given data-model (currently only global instructions are supported) > ###### Note: > * To use this API, the user needs atleast view access on the data-model and they must use corresponding org related bearerToken where the data-model exists. > * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available. > * Available from version 10.15.0.cl and later. > * This endpoint requires Spotter — please contact ThoughtSpot Support to enable Spotter on your cluster. > * Use this API to view currently configured instructions before modifying them with `setNLInstructions`. | ||
| Version: 10.15.0.cl or later Retrieves existing natural language (NL) instructions configured for a specific data model. These instructions guide the AI system in understanding data context and generating more accurate responses. Requires `CAN_USE_SPOTTER` privilege, at least view access on the data model, and a bearer token corresponding to the org where the data model exists. #### Usage guidelines The request must include: - `data_source_identifier`: the unique ID of the data model to retrieve instructions for If the request is successful, the API returns: - `nl_instructions_info`: an array of instruction objects, each containing: - `instructions`: the configured text instructions for AI processing - `scope`: the scope of the instruction — currently only `GLOBAL` is supported #### Instructions scope - **GLOBAL**: Instructions that apply globally across the system on the given data-model (currently only global instructions are supported) #### Error responses | Code | Description | |------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 401 | Unauthorized — authentication token is missing, expired, or invalid. | | 403 | Forbidden — the authenticated user does not have `CAN_USE_SPOTTER` privilege, lacks view access on the data model, or the bearer token does not correspond to the org where the data model exists. | > ###### Note: > > - To use this API, the user needs at least view access on the data model, and must use the bearer token corresponding to the org where the data model exists. > - This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available. > - Available from version 10.15.0.cl and later. > - This endpoint requires Spotter — please contact ThoughtSpot Support to enable Spotter on your cluster. > - Use this API to review currently configured instructions before modifying them with `setNLInstructions`. | ||
@@ -269,2 +275,4 @@ ### Example | ||
| **400** | Operation failed | - | | ||
| **401** | Unauthorized access. | - | | ||
| **403** | Forbidden access. | - | | ||
| **500** | Operation failed | - | | ||
@@ -277,3 +285,3 @@ | ||
| Version: 10.13.0.cl or later Breaks down a user-submitted query into a series of analytical sub-questions using relevant contextual metadata. To use this API, the user must have at least view-level access to the referenced metadata objects. #### Usage guidelines To accurately generate relevant questions, the request must include at least one of the following metadata identifiers within `metadata_context` : `conversation_identifier`, `answer_identifiers`, `liveboard_identifiers`, or `data_source_identifiers`. You can further enhance the quality and precision of breakdown by providing additional `ai_context` such as: - `content`: User provided content like text data, csv data as a string message to provide context & potentially improve the quality of the response. - `instructions`: User specific text instructions sent to AI system for processing the query. Additional optional parameters include: - `limit_relevant_questions`: Controls the maximum number of relevant questions returned. Defaults to 5 if not specified. - `bypass_cache`: If set to true, forces fresh computation instead of returning cached results. If the API request is successful, ThoughtSpot returns a list of relevant analytical queries, each aligned with the user\'s original question. Each returned question includes the query string, along with the identifier and name of the corresponding data source. > ###### Note: > * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available. > * This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster. | ||
| Version: 10.13.0.cl or later Breaks down a natural language query into a series of smaller analytical sub-questions, each mapped to a relevant data source. Requires `CAN_USE_SPOTTER` privilege and at least view-level access to the referenced metadata objects. #### Usage guidelines The request must include: - `query`: the natural language question to decompose into analytical sub-questions - `metadata_context`: at least one of the following context identifiers to guide question generation: - `conversation_identifier` — an existing conversation session ID - `answer_identifiers` — a list of Answer GUIDs - `liveboard_identifiers` — a list of Liveboard GUIDs - `data_source_identifiers` — a list of data source GUIDs Optional parameters for refining the output: - `ai_context`: additional context to improve response quality - `content` — supplementary text or CSV data as string input - `instructions` — custom text instructions for the AI system - `limit_relevant_questions`: maximum number of questions to return (default: `5`) - `bypass_cache`: if `true`, forces fresh computation instead of returning cached results If the request is successful, the API returns a list of relevant analytical questions, each containing: - `query`: the generated sub-question - `data_source_identifier`: the unique ID of the data source the question targets - `data_source_name`: the display name of the corresponding data source #### Error responses | Code | Description | |------|---------------------------------------------------------------------------------------------------------------------------------------| | 401 | Unauthorized — authentication token is missing, expired, or invalid. | | 403 | Forbidden — the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks view access to the referenced metadata objects. | > ###### Note: > * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available. > * This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster. | ||
@@ -336,2 +344,4 @@ ### Example | ||
| **400** | Operation failed | - | | ||
| **401** | Unauthorized access. | - | | ||
| **403** | Forbidden access. | - | | ||
| **500** | Operation failed | - | | ||
@@ -344,3 +354,3 @@ | ||
| Version: 10.7.0.cl or later | ||
| Version: 10.7.0.cl or later **Deprecated** — Use `getRelevantQuestions` instead (available from 10.13.0.cl). Breaks down a topical or goal-oriented natural language question into smaller, actionable analytical sub-questions, each mapped to a relevant data source for independent execution. Requires `CAN_USE_SPOTTER` privilege and at least view-level access to the referenced metadata objects. #### Usage guidelines The request accepts the following parameters: - `nlsRequest`: contains the user `query` to decompose, along with optional `instructions` and `bypassCache` flag - `worksheetIds`: list of data source identifiers to scope the decomposition - `answerIds`: list of Answer GUIDs whose data guides the response - `liveboardIds`: list of Liveboard GUIDs whose data guides the response - `conversationId`: an existing conversation session ID for context continuity - `content`: supplementary text or CSV data to improve response quality - `maxDecomposedQueries`: maximum number of sub-questions to return (default: `5`) If the request is successful, the API returns a `decomposedQueryResponse` containing a list of `decomposedQueries`, each with: - `query`: the generated analytical sub-question - `worksheetId`: the unique ID of the data source the question targets - `worksheetName`: the display name of the corresponding data source #### Error responses | Code | Description | |------|---------------------------------------------------------------------------------------------------------------------------------------| | 401 | Unauthorized — authentication token is missing, expired, or invalid. | | 403 | Forbidden — the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks view access to the referenced metadata objects. | > ###### Note: > * This endpoint is deprecated since 10.13.0.cl. Use `getRelevantQuestions` for new integrations. > * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available. > * This endpoint requires Spotter — please contact ThoughtSpot support to enable Spotter on your cluster. | ||
@@ -413,2 +423,4 @@ ### Example | ||
| **400** | Operation failed | - | | ||
| **401** | Unauthorized access. | - | | ||
| **403** | Forbidden access. | - | | ||
| **500** | Operation failed | - | | ||
@@ -421,3 +433,3 @@ | ||
| Version: 10.15.0.cl or later This API allows users to initiate or continue an agent (Spotter) conversation by submitting one or more natural language messages. To use this API, the user must have access to the relevant conversational session (via conversation_identifier) and submit at least one message. #### Usage guidelines To initiate or continue a conversation, the request must include: - `conversation_identifier`: a unique session ID for continuity and message tracking - `messages`: an array of one or more text messages, each with a value and type The API returns a array of object with a type, message, and metadata. - `type`: Type of the message — text, answer, or error. - `message`: Main content of the response. - `metadata`: Additional info depending on the message type. > ###### Note: > * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available. > * This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster. | ||
| Version: 10.15.0.cl or later **Deprecated** — Use `sendAgentConversationMessage` instead. Send natural language messages to an existing Spotter agent conversation and returns the complete response synchronously. Requires `CAN_USE_SPOTTER` privilege and access to the metadata object associated with the conversation. The user must have access to the conversation session referenced by `conversation_identifier`. A conversation must first be created using the `createAgentConversation` API. #### Usage guidelines The request must include: - `conversation_identifier`: the unique session ID returned by `createAgentConversation`, used for context continuity and message tracking - `messages`: an array of one or more text messages to send to the agent The API returns an array of response objects, each containing: - `type`: the kind of response — `text`, `answer`, or `error` - `message`: the main content of the response - `metadata`: additional information depending on the message type (e.g., answer metadata includes analytics and visualization details) #### Error responses | Code | Description | |------|----------------------------------------------------------------------------------------------------------------------------------| | 401 | Unauthorized — authentication token is missing, expired, or invalid. | | 403 | Forbidden — the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks permission on the referenced conversation. | > ###### Note: > > - This endpoint is deprecated. Use `sendAgentConversationMessage` for new integrations. > - This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available. > - This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster. | ||
@@ -481,2 +493,4 @@ ### Example | ||
| **400** | Operation failed | - | | ||
| **401** | Unauthorized access. | - | | ||
| **403** | Forbidden access. | - | | ||
| **500** | Operation failed | - | | ||
@@ -489,3 +503,3 @@ | ||
| Version: 10.13.0.cl or later This API allows users to initiate or continue an agent (Spotter) conversation by submitting one or more natural language messages. To use this API, the user must have access to the relevant conversational session (via conversation_identifier) and submit at least one message. #### Usage guidelines To initiate or continue a conversation, the request must include: - `conversation_identifier`: a unique session ID for continuity and message tracking - `messages`: an array of one or more text messages, each with a value and type Additionally, user can specify what tool can be included `conversation_settings` parameter, which supports: - `enable_contextual_change_analysis` (default: false) - `enable_natural_language_answer_generation` (default: true) - `enable_reasoning` (default: false) If the request is valid, the API returns a stream of messages in real time, including: - `ack`: confirms receipt of the request - `text / text-chunk`: content chunks, optionally formatted (e.g., markdown) - `answer`: the final structured response with metadata and analytics - `error`: if a failure occurs - `notification`: notification messages for operation being performed > ###### Note: > * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available. > * This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster. > * The streaming protocol uses Server-Sent Events (SSE) | ||
| Version: 10.13.0.cl or later **Deprecated** — Use `sendAgentConversationMessageStreaming` instead. Sends one or more natural language messages to an existing Spotter agent conversation and returns the response as a real-time Server-Sent Events stream. Requires `CAN_USE_SPOTTER` privilege and access to the metadata object associated with the conversation. The user must have access to the conversation session referenced by `conversation_identifier`. A conversation must first be created using the `createAgentConversation` API. #### Usage guidelines The request must include: - `conversation_identifier`: the unique session ID returned by `createAgentConversation`, used for context continuity and message tracking - `messages`: an array of one or more text messages to send to the agent If the request is valid, the API returns a Server-Sent Events (SSE) stream. Each line has the form `data: [{\"type\": \"...\", ...}]` — a JSON array of event objects. Event types include: - `ack`: confirms receipt of the request (`node_id`) - `conv_title`: conversation title (`title`, `conv_id`) - `notification`: status updates on operations (`group_id`, `metadata`, `code` — e.g. `TOOL_CALL_NOTIFICATION`, `nls_start`, `FINAL_RESPONSE_NOTIFICATION`) - `text-chunk`: incremental content chunks (`id`, `group_id`, `metadata` with `format` and `type` such as `thinking` or `text`, `content`) - `text`: full text block with same structure as `text-chunk` - `answer`: structured answer with metadata (`id`, `group_id`, `metadata` with `sage_query`, `session_id`, `title`, etc., `title`) - `error`: if a failure occurs #### Error responses | Code | Description | |------|----------------------------------------------------------------------------------------------------------------------------------| | 401 | Unauthorized — authentication token is missing, expired, or invalid. | | 403 | Forbidden — the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks permission on the referenced conversation. | > ###### Note: > > - This endpoint is deprecated. Use `sendAgentConversationMessageStreaming` for new integrations. > - This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available. > - This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster. > - The streaming protocol uses Server-Sent Events (SSE). | ||
@@ -547,2 +561,4 @@ ### Example | ||
| **400** | Operation failed | - | | ||
| **401** | Unauthorized access. | - | | ||
| **403** | Forbidden access. | - | | ||
| **500** | Operation failed | - | | ||
@@ -555,3 +571,3 @@ | ||
| Version: 10.4.0.cl or later Allows sending a follow-up message to an ongoing conversation within the context of the metadata model. Requires at least view access to the metadata object specified in the request. #### Usage guidelines The API requires you to specify the `conversation_identifier` in the request path, and a `metadata_identifier` and `message` string in the request body. If the API request is successful, ThoughtSpot returns the session ID, tokens used in the conversation, and visualization type. > ###### Note: > * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available. > * This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster. | ||
| Version: 10.4.0.cl or later Sends a follow-up message to an existing conversation within the context of a data model. Requires `CAN_USE_SPOTTER` privilege and at least view access to the metadata object specified in the request. A conversation must first be created using the `createConversation` API. #### Usage guidelines The request must include: - `conversation_identifier`: the unique session ID returned by `createConversation` - `metadata_identifier`: the unique ID of the data source used for the conversation - `message`: a natural language string with the follow-up question If the request is successful, the API returns an array of response messages, each containing: - `session_identifier`: the unique ID of the generated response - `generation_number`: the generation number of the response - `message_type`: the type of the response (e.g., `TSAnswer`) - `visualization_type`: the generated visualization type (`Chart`, `Table`, or `Undefined`) - `tokens` / `display_tokens`: the search tokens and user-friendly display tokens for the response #### Error responses | Code | Description | |------|-----------------------------------------------------------------------------------------------------------------------------------------| | 401 | Unauthorized — authentication token is missing, expired, or invalid. | | 403 | Forbidden — the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks view permission on the specified metadata object. | > ###### Note: > * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available. > * This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster. | ||
@@ -614,2 +630,4 @@ ### Example | ||
| **400** | Operation failed | - | | ||
| **401** | Unauthorized access. | - | | ||
| **403** | Forbidden access. | - | | ||
| **500** | Operation failed | - | | ||
@@ -622,3 +640,3 @@ | ||
| Version: 10.15.0.cl or later This API allows users to set natural language (NL) instructions for a specific data-model to improve AI-generated answers and query processing. These instructions help guide the AI system to better understand the data context and provide more accurate responses. #### Usage guidelines To set NL instructions for a data-model, the request must include: - `data_source_identifier`: The unique ID of the data-model for which to set NL instructions - `nl_instructions_info`: An array of instruction objects, each containing: - `instructions`: Array of text instructions for the LLM - `scope`: The scope of the instruction (`GLOBAL`). Currently only `GLOBAL` is supported. It can be extended to data-model-user scope in future. The API returns a response object with: - `success`: Boolean indicating whether the operation was successful #### Instructions Scope - **GLOBAL**: Instructions that apply globally for that data-model across the system > ###### Note: > * To use this API, the user needs either edit access or SPOTTER_COACHING_PRIVILEGE on the data-model and they must use corresponding org related bearerToken where the data-model exists. > * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available. > * Available from version 10.15.0.cl and later. > * This endpoint requires Spotter — please contact ThoughtSpot Support to enable Spotter on your cluster. > * Instructions help improve the accuracy and relevance of AI-generated responses for the specified data-model. | ||
| Version: 10.15.0.cl or later This API allows users to set natural language (NL) instructions for a specific data-model to improve AI-generated answers and query processing. These instructions help guide the AI system to better understand the data context and provide more accurate responses. Requires `CAN_USE_SPOTTER` privilege, either edit access or `SPOTTER_COACHING_PRIVILEGE` on the data model, and a bearer token corresponding to the org where the data model exists. #### Usage guidelines To set NL instructions for a data-model, the request must include: - `data_source_identifier`: The unique ID of the data-model for which to set NL instructions - `nl_instructions_info`: An array of instruction objects, each containing: - `instructions`: Array of text instructions for the LLM - `scope`: The scope of the instruction (`GLOBAL`). Currently only `GLOBAL` is supported. It can be extended to data-model-user scope in future. #### Instructions scope - **GLOBAL**: instructions that apply to all users querying this data model If the request is successful, the API returns: - `success`: a boolean indicating whether the operation completed successfully #### Error responses | Code | Description | |------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 401 | Unauthorized — authentication token is missing, expired, or invalid. | | 403 | Forbidden — the authenticated user does not have `CAN_USE_SPOTTER` privilege, lacks edit access or `SPOTTER_COACHING_PRIVILEGE` on the data model, or the bearer token does not correspond to the org where the data model exists. | > ###### Note: > > - To use this API, the user needs either edit access or `SPOTTER_COACHING_PRIVILEGE` on the data model, and must use the bearer token corresponding to the org where the data model exists. > - This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available. > - Available from version 10.15.0.cl and later. > - This endpoint requires Spotter — please contact ThoughtSpot Support to enable Spotter on your cluster. > - Instructions help improve the accuracy and relevance of AI-generated responses for the specified data-model. | ||
@@ -685,2 +703,4 @@ ### Example | ||
| **400** | Operation failed | - | | ||
| **401** | Unauthorized access. | - | | ||
| **403** | Forbidden access. | - | | ||
| **500** | Operation failed | - | | ||
@@ -693,3 +713,3 @@ | ||
| Version: 10.4.0.cl or later Processes a natural language query and returns an AI-generated response based on a specified data model. Requires at least view access to the metadata object specified in the request. > ###### Note: > * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available. > * This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster. | ||
| Version: 10.4.0.cl or later Processes a natural language query against a specified data model and returns a single AI-generated answer without requiring a conversation session. Requires `CAN_USE_SPOTTER` privilege and at least view access to the metadata object specified in the request. #### Usage guidelines The request must include: - `query`: a natural language question (e.g., \"What were total sales last quarter?\") - `metadata_identifier`: the unique ID of the data source to query against If the request is successful, the API returns a response message containing: - `session_identifier`: the unique ID of the generated response - `generation_number`: the generation number of the response - `message_type`: the type of the response (e.g., `TSAnswer`) - `visualization_type`: the generated visualization type (`Chart`, `Table`, or `Undefined`) - `tokens` / `display_tokens`: the search tokens and user-friendly display tokens for the response #### Error responses | Code | Description | |------|-----------------------------------------------------------------------------------------------------------------------------------------| | 401 | Unauthorized — authentication token is missing, expired, or invalid. | | 403 | Forbidden — the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks view permission on the specified metadata object. | > ###### Note: > * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available. > * This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster. | ||
@@ -749,2 +769,4 @@ ### Example | ||
| **400** | Operation failed | - | | ||
| **401** | Unauthorized access. | - | | ||
| **403** | Forbidden access. | - | | ||
| **500** | Operation failed | - | | ||
@@ -751,0 +773,0 @@ |
@@ -41,4 +41,4 @@ // TODO: better import syntax? | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -75,4 +75,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -116,4 +116,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -162,4 +162,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -208,4 +208,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -254,4 +254,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -299,4 +299,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -340,4 +340,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -392,4 +392,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -396,0 +396,0 @@ |
@@ -42,4 +42,4 @@ // TODO: better import syntax? | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -94,4 +94,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -146,4 +146,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -206,4 +206,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -210,0 +210,0 @@ |
@@ -41,4 +41,4 @@ // TODO: better import syntax? | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -94,4 +94,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -135,4 +135,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -195,4 +195,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -199,0 +199,0 @@ |
@@ -42,4 +42,4 @@ // TODO: better import syntax? | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -95,4 +95,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -136,4 +136,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -188,4 +188,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -248,4 +248,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -252,0 +252,0 @@ |
+6
-6
@@ -43,4 +43,4 @@ // TODO: better import syntax? | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -95,4 +95,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -147,4 +147,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -151,0 +151,0 @@ |
+12
-12
@@ -61,4 +61,4 @@ // TODO: better import syntax? | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -167,4 +167,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -257,4 +257,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -334,4 +334,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -376,4 +376,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -437,4 +437,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -441,0 +441,0 @@ |
@@ -42,4 +42,4 @@ // TODO: better import syntax? | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -95,4 +95,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -136,4 +136,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -188,4 +188,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -240,4 +240,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -285,4 +285,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -289,0 +289,0 @@ |
+10
-10
@@ -43,4 +43,4 @@ // TODO: better import syntax? | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -96,4 +96,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -137,4 +137,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -189,4 +189,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -249,4 +249,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -253,0 +253,0 @@ |
+2
-2
@@ -39,4 +39,4 @@ // TODO: better import syntax? | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -43,0 +43,0 @@ |
+8
-8
@@ -41,4 +41,4 @@ // TODO: better import syntax? | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -94,4 +94,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -135,4 +135,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -195,4 +195,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -199,0 +199,0 @@ |
@@ -39,4 +39,4 @@ // TODO: better import syntax? | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -91,4 +91,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -95,0 +95,0 @@ |
+8
-8
@@ -42,4 +42,4 @@ // TODO: better import syntax? | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -95,4 +95,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -136,4 +136,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -196,4 +196,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -200,0 +200,0 @@ |
@@ -41,4 +41,4 @@ // TODO: better import syntax? | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -94,4 +94,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -135,4 +135,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -195,4 +195,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -199,0 +199,0 @@ |
+126
-16
@@ -12,2 +12,3 @@ // TODO: better import syntax? | ||
| import { CommunicationChannelPreferencesResponse } from '../models/CommunicationChannelPreferencesResponse'; | ||
| import { CommunicationChannelValidateResponse } from '../models/CommunicationChannelValidateResponse'; | ||
| import { ConfigureCommunicationChannelPreferencesRequest } from '../models/ConfigureCommunicationChannelPreferencesRequest'; | ||
@@ -23,2 +24,3 @@ import { ConfigureSecuritySettingsRequest } from '../models/ConfigureSecuritySettingsRequest'; | ||
| import { UpdateSystemConfigRequest } from '../models/UpdateSystemConfigRequest'; | ||
| import { ValidateCommunicationChannelRequest } from '../models/ValidateCommunicationChannelRequest'; | ||
@@ -49,4 +51,4 @@ /** | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -101,4 +103,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -146,4 +148,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -180,4 +182,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -214,4 +216,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -255,4 +257,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -307,4 +309,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -359,4 +361,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -392,2 +394,53 @@ | ||
| /** | ||
| * Version: 26.4.0.cl or later Validates a communication channel configuration to ensure it is properly set up and can receive events. - Use `channel_type` to specify the type of communication channel to validate (e.g., WEBHOOK). - Use `channel_identifier` to provide the unique identifier or name for the communication channel. - Use `event_type` to specify the event type to validate for this channel. Requires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege. For webhook channels, users with `CAN_MANAGE_WEBHOOKS` (**Can manage webhooks**) privilege are also authorized to perform this action. | ||
| * @param validateCommunicationChannelRequest | ||
| */ | ||
| public async validateCommunicationChannel(validateCommunicationChannelRequest: ValidateCommunicationChannelRequest, _options?: Configuration): Promise<RequestContext> { | ||
| let _config = _options || this.configuration; | ||
| // verify required parameter 'validateCommunicationChannelRequest' is not null or undefined | ||
| if (validateCommunicationChannelRequest === null || validateCommunicationChannelRequest === undefined) { | ||
| throw new RequiredError("SystemApi", "validateCommunicationChannel", "validateCommunicationChannelRequest"); | ||
| } | ||
| // Path Params | ||
| const localVarPath = '/api/rest/2.0/system/communication-channels/validate'; | ||
| // Make Request Context | ||
| const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST); | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
| // Body Params | ||
| const contentType = ObjectSerializer.getPreferredMediaType([ | ||
| "application/json" | ||
| ]); | ||
| requestContext.setHeaderParam("Content-Type", contentType); | ||
| const serializedBody = ObjectSerializer.stringify( | ||
| ObjectSerializer.serialize(validateCommunicationChannelRequest, "ValidateCommunicationChannelRequest", ""), | ||
| contentType | ||
| ); | ||
| requestContext.setBody(serializedBody); | ||
| let authMethod: SecurityAuthentication | undefined; | ||
| // Apply auth methods | ||
| authMethod = _config.authMethods["bearerAuth"] | ||
| if (authMethod?.applySecurityAuthentication) { | ||
| await authMethod?.applySecurityAuthentication(requestContext); | ||
| } | ||
| const defaultAuth: SecurityAuthentication | undefined = _options?.authMethods?.default || this.configuration?.authMethods?.default | ||
| if (defaultAuth?.applySecurityAuthentication) { | ||
| await defaultAuth?.applySecurityAuthentication(requestContext); | ||
| } | ||
| return requestContext; | ||
| } | ||
| } | ||
@@ -841,2 +894,59 @@ | ||
| /** | ||
| * Unwraps the actual response sent by the server from the response context and deserializes the response content | ||
| * to the expected objects | ||
| * | ||
| * @params response Response returned by the server for a request to validateCommunicationChannel | ||
| * @throws ApiException if the response code was not in [200, 299] | ||
| */ | ||
| public async validateCommunicationChannel(response: ResponseContext): Promise<CommunicationChannelValidateResponse > { | ||
| const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); | ||
| if (isCodeInRange("200", response.httpStatusCode)) { | ||
| const body: CommunicationChannelValidateResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "CommunicationChannelValidateResponse", "" | ||
| ) as CommunicationChannelValidateResponse; | ||
| return body; | ||
| } | ||
| if (isCodeInRange("400", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Invalid request.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("401", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Unauthorized access.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("403", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Forbidden access.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("500", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Unexpected error", body, response.headers); | ||
| } | ||
| // Work around for missing responses in specification, e.g. for petstore.yaml | ||
| if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { | ||
| const body: CommunicationChannelValidateResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "CommunicationChannelValidateResponse", "" | ||
| ) as CommunicationChannelValidateResponse; | ||
| return body; | ||
| } | ||
| throw new ApiException<string | Blob | undefined>(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); | ||
| } | ||
| } |
+12
-12
@@ -43,4 +43,4 @@ // TODO: better import syntax? | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -95,4 +95,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -148,4 +148,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -189,4 +189,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -241,4 +241,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -301,4 +301,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -305,0 +305,0 @@ |
+20
-20
@@ -49,4 +49,4 @@ // TODO: better import syntax? | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -101,4 +101,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -153,4 +153,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -205,4 +205,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -258,4 +258,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -299,4 +299,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -351,4 +351,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -403,4 +403,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -455,4 +455,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -515,4 +515,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -519,0 +519,0 @@ |
+230
-12
@@ -12,3 +12,5 @@ // TODO: better import syntax? | ||
| import { CreateVariableRequest } from '../models/CreateVariableRequest'; | ||
| import { DeleteVariablesRequest } from '../models/DeleteVariablesRequest'; | ||
| import { ErrorResponse } from '../models/ErrorResponse'; | ||
| import { PutVariableValuesRequest } from '../models/PutVariableValuesRequest'; | ||
| import { SearchVariablesRequest } from '../models/SearchVariablesRequest'; | ||
@@ -43,4 +45,4 @@ import { UpdateVariableRequest } from '../models/UpdateVariableRequest'; | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -77,3 +79,3 @@ | ||
| /** | ||
| * Delete a variable Version: 10.14.0.cl or later Allows deleting a variable from ThoughtSpot. Requires ADMINISTRATION role and TENANT scope. The CAN_MANAGE_VARIABLES permission allows you to manage Formula Variables in the current organization scope. The API endpoint requires: * The variable identifier (ID or name) The operation will fail if: * The user lacks required permissions * The variable doesn\'t exist * The variable is being used by other objects | ||
| * Delete a variable Version: 10.14.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/template/variables/delete](/api/rest/2.0/template/variables/delete) instead. Allows deleting a variable from ThoughtSpot. Requires ADMINISTRATION role and TENANT scope. The CAN_MANAGE_VARIABLES permission allows you to manage Formula Variables in the current organization scope. The API endpoint requires: * The variable identifier (ID or name) The operation will fail if: * The user lacks required permissions * The variable doesn\'t exist * The variable is being used by other objects | ||
| * @param identifier Unique id or name of the variable | ||
@@ -97,4 +99,4 @@ */ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -120,2 +122,112 @@ | ||
| /** | ||
| * Delete variable(s) Version: 26.4.0.cl or later Allows deleting multiple variables from ThoughtSpot. Requires ADMINISTRATION role and TENANT scope. The CAN_MANAGE_VARIABLES permission allows you to manage Formula Variables in the current organization scope. The API endpoint requires: * The variable identifiers (IDs or names) The operation will fail if: * The user lacks required permissions * Any of the variables don\'t exist * Any of the variables are being used by other objects | ||
| * @param deleteVariablesRequest | ||
| */ | ||
| public async deleteVariables(deleteVariablesRequest: DeleteVariablesRequest, _options?: Configuration): Promise<RequestContext> { | ||
| let _config = _options || this.configuration; | ||
| // verify required parameter 'deleteVariablesRequest' is not null or undefined | ||
| if (deleteVariablesRequest === null || deleteVariablesRequest === undefined) { | ||
| throw new RequiredError("VariableApi", "deleteVariables", "deleteVariablesRequest"); | ||
| } | ||
| // Path Params | ||
| const localVarPath = '/api/rest/2.0/template/variables/delete'; | ||
| // Make Request Context | ||
| const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST); | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
| // Body Params | ||
| const contentType = ObjectSerializer.getPreferredMediaType([ | ||
| "application/json" | ||
| ]); | ||
| requestContext.setHeaderParam("Content-Type", contentType); | ||
| const serializedBody = ObjectSerializer.stringify( | ||
| ObjectSerializer.serialize(deleteVariablesRequest, "DeleteVariablesRequest", ""), | ||
| contentType | ||
| ); | ||
| requestContext.setBody(serializedBody); | ||
| let authMethod: SecurityAuthentication | undefined; | ||
| // Apply auth methods | ||
| authMethod = _config.authMethods["bearerAuth"] | ||
| if (authMethod?.applySecurityAuthentication) { | ||
| await authMethod?.applySecurityAuthentication(requestContext); | ||
| } | ||
| const defaultAuth: SecurityAuthentication | undefined = _options?.authMethods?.default || this.configuration?.authMethods?.default | ||
| if (defaultAuth?.applySecurityAuthentication) { | ||
| await defaultAuth?.applySecurityAuthentication(requestContext); | ||
| } | ||
| return requestContext; | ||
| } | ||
| /** | ||
| * Update values for a variable Version: 26.4.0.cl or later Allows updating values for a specific variable in ThoughtSpot. Requires ADMINISTRATION role. The CAN_MANAGE_VARIABLES permission allows you to manage Formula Variables in the current organization scope. The API endpoint allows: * Adding new values to the variable * Replacing existing values * Deleting values from the variable * Resetting all values When updating variable values, you need to specify: * The variable identifier (ID or name) * The values to add/replace/remove * The operation to perform (ADD, REPLACE, REMOVE, RESET) Behaviour based on operation type: * ADD - Adds values to the variable if this is a list type variable, else same as replace. * REPLACE - Replaces all values of a given set of constraints with the current set of values. * REMOVE - Removes any values which match the set of conditions of the variables if this is a list type variable, else clears value. * RESET - Removes all constraints for the given variable, scope is ignored | ||
| * @param identifier Unique ID or name of the variable | ||
| * @param putVariableValuesRequest | ||
| */ | ||
| public async putVariableValues(identifier: string, putVariableValuesRequest: PutVariableValuesRequest, _options?: Configuration): Promise<RequestContext> { | ||
| let _config = _options || this.configuration; | ||
| // verify required parameter 'identifier' is not null or undefined | ||
| if (identifier === null || identifier === undefined) { | ||
| throw new RequiredError("VariableApi", "putVariableValues", "identifier"); | ||
| } | ||
| // verify required parameter 'putVariableValuesRequest' is not null or undefined | ||
| if (putVariableValuesRequest === null || putVariableValuesRequest === undefined) { | ||
| throw new RequiredError("VariableApi", "putVariableValues", "putVariableValuesRequest"); | ||
| } | ||
| // Path Params | ||
| const localVarPath = '/api/rest/2.0/template/variables/{identifier}/update-values' | ||
| .replace('{' + 'identifier' + '}', encodeURIComponent(String(identifier))); | ||
| // Make Request Context | ||
| const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST); | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
| // Body Params | ||
| const contentType = ObjectSerializer.getPreferredMediaType([ | ||
| "application/json" | ||
| ]); | ||
| requestContext.setHeaderParam("Content-Type", contentType); | ||
| const serializedBody = ObjectSerializer.stringify( | ||
| ObjectSerializer.serialize(putVariableValuesRequest, "PutVariableValuesRequest", ""), | ||
| contentType | ||
| ); | ||
| requestContext.setBody(serializedBody); | ||
| let authMethod: SecurityAuthentication | undefined; | ||
| // Apply auth methods | ||
| authMethod = _config.authMethods["bearerAuth"] | ||
| if (authMethod?.applySecurityAuthentication) { | ||
| await authMethod?.applySecurityAuthentication(requestContext); | ||
| } | ||
| const defaultAuth: SecurityAuthentication | undefined = _options?.authMethods?.default || this.configuration?.authMethods?.default | ||
| if (defaultAuth?.applySecurityAuthentication) { | ||
| await defaultAuth?.applySecurityAuthentication(requestContext); | ||
| } | ||
| return requestContext; | ||
| } | ||
| /** | ||
| * Search variables Version: 10.14.0.cl or later Allows searching for variables in ThoughtSpot. Requires ADMINISTRATION role. The CAN_MANAGE_VARIABLES permission allows you to manage Formula Variables in the current organization scope. The API endpoint supports searching variables by: * Variable identifier (ID or name) * Variable type * Name pattern (case-insensitive, supports % for wildcard) The search results can be formatted in three ways: * METADATA - Returns only variable metadata (default) * METADATA_AND_VALUES - Returns variable metadata and values The values can be filtered by scope: * org_identifier * principal_identifier * model_identifier | ||
@@ -139,4 +251,4 @@ * @param searchVariablesRequest | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -199,4 +311,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -233,3 +345,3 @@ | ||
| /** | ||
| * Update values for multiple variables Version: 10.14.0.cl or later Allows updating values for multiple variables in ThoughtSpot. Requires ADMINISTRATION role. The CAN_MANAGE_VARIABLES permission allows you to manage Formula Variables in the current organization scope. The API endpoint allows: * Adding new values to variables * Replacing existing values * Deleting values from variables When updating variable values, you need to specify: * The variable identifiers * The values to add/replace/remove for each variable * The operation to perform (ADD, REPLACE, REMOVE, RESET) Behaviour based on operation type: * ADD - Adds values to the variable if this is a list type variable, else same as replace. * REPLACE - Replaces all values of a given set of constraints with the current set of values. * REMOVE - Removes any values which match the set of conditions of the variables if this is a list type variable, else clears value. * RESET - Removes all constrains for a given variable, scope is ignored | ||
| * Update values for multiple variables Version: 10.14.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/template/variables/{identifier}/update-values](/api/rest/2.0/template/variables/%7Bidentifier%7D/update-values) instead. Allows updating values for multiple variables in ThoughtSpot. Requires ADMINISTRATION role. The CAN_MANAGE_VARIABLES permission allows you to manage Formula Variables in the current organization scope. The API endpoint allows: * Adding new values to variables * Replacing existing values * Deleting values from variables When updating variable values, you need to specify: * The variable identifiers * The values to add/replace/remove for each variable * The operation to perform (ADD, REPLACE, REMOVE, RESET) Behaviour based on operation type: * ADD - Adds values to the variable if this is a list type variable, else same as replace. * REPLACE - Replaces all values of a given set of constraints with the current set of values. * REMOVE - Removes any values which match the set of conditions of the variables if this is a list type variable, else clears value. * RESET - Removes all constrains for a given variable, scope is ignored | ||
| * @param updateVariableValuesRequest | ||
@@ -252,4 +364,4 @@ */ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -403,2 +515,108 @@ | ||
| * | ||
| * @params response Response returned by the server for a request to deleteVariables | ||
| * @throws ApiException if the response code was not in [200, 299] | ||
| */ | ||
| public async deleteVariables(response: ResponseContext): Promise<void > { | ||
| const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); | ||
| if (isCodeInRange("204", response.httpStatusCode)) { | ||
| return; | ||
| } | ||
| if (isCodeInRange("400", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Invalid request.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("401", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Unauthorized access.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("403", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Forbidden access.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("500", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Unexpected error", body, response.headers); | ||
| } | ||
| // Work around for missing responses in specification, e.g. for petstore.yaml | ||
| if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { | ||
| const body: void = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "void", "" | ||
| ) as void; | ||
| return body; | ||
| } | ||
| throw new ApiException<string | Blob | undefined>(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); | ||
| } | ||
| /** | ||
| * Unwraps the actual response sent by the server from the response context and deserializes the response content | ||
| * to the expected objects | ||
| * | ||
| * @params response Response returned by the server for a request to putVariableValues | ||
| * @throws ApiException if the response code was not in [200, 299] | ||
| */ | ||
| public async putVariableValues(response: ResponseContext): Promise<void > { | ||
| const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); | ||
| if (isCodeInRange("204", response.httpStatusCode)) { | ||
| return; | ||
| } | ||
| if (isCodeInRange("400", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Invalid request.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("401", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Unauthorized access.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("403", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Forbidden access.", body, response.headers); | ||
| } | ||
| if (isCodeInRange("500", response.httpStatusCode)) { | ||
| const body: ErrorResponse = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "ErrorResponse", "" | ||
| ) as ErrorResponse; | ||
| throw new ApiException<ErrorResponse>(response.httpStatusCode, "Unexpected error", body, response.headers); | ||
| } | ||
| // Work around for missing responses in specification, e.g. for petstore.yaml | ||
| if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { | ||
| const body: void = ObjectSerializer.deserialize( | ||
| ObjectSerializer.parse(await response.body.text(), contentType), | ||
| "void", "" | ||
| ) as void; | ||
| return body; | ||
| } | ||
| throw new ApiException<string | Blob | undefined>(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); | ||
| } | ||
| /** | ||
| * Unwraps the actual response sent by the server from the response context and deserializes the response content | ||
| * to the expected objects | ||
| * | ||
| * @params response Response returned by the server for a request to searchVariables | ||
@@ -405,0 +623,0 @@ * @throws ApiException if the response code was not in [200, 299] |
@@ -51,4 +51,4 @@ // TODO: better import syntax? | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -103,4 +103,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -155,4 +155,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -207,4 +207,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -267,4 +267,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -319,4 +319,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -371,4 +371,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -423,4 +423,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -475,4 +475,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -479,0 +479,0 @@ |
@@ -44,4 +44,4 @@ // TODO: better import syntax? | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -96,4 +96,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -148,4 +148,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -208,4 +208,4 @@ | ||
| requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.22.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.22.0") | ||
| requestContext.setHeaderParam("User-Agent", "ThoughtSpot-Client/typescript/2.23.0") | ||
| requestContext.setHeaderParam("X-ThoughtSpot-Client", "ThoughtSpot-ts-client/2.23.0") | ||
@@ -212,0 +212,0 @@ |
@@ -21,3 +21,3 @@ # ThoughtSpotRestApiSdk.ConnectionsApi | ||
| Version: 9.2.0.cl or later Creates a connection to a data warehouse for live query services. Requires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [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. #### Create a connection without tables To create a connection without tables: 1. Pass these parameters in your API request. * Name of the connection. * Type of the data warehouse to connect to. * A JSON map of configuration attributes in `data_warehouse_config`. The following example shows the configuration attributes for a SnowFlake connection: ``` { \"configuration\":{ \"accountName\":\"thoughtspot_partner\", \"user\":\"tsadmin\", \"password\":\"TestConn123\", \"role\":\"sysadmin\", \"warehouse\":\"MEDIUM_WH\" }, \"externalDatabases\":[ ] } ``` 2. Set `validate` to `false`. #### Create a connection with tables To create a connection with tables: 1. Pass these parameters in your API request. * Name of the connection. * Type of the data warehouse to connect to. * A JSON map of configuration attributes, database details, and table properties in `data_warehouse_config` as shown in the following example: ``` { \"configuration\":{ \"accountName\":\"thoughtspot_partner\", \"user\":\"tsadmin\", \"password\":\"TestConn123\", \"role\":\"sysadmin\", \"warehouse\":\"MEDIUM_WH\" }, \"externalDatabases\":[ { \"name\":\"AllDatatypes\", \"isAutoCreated\":false, \"schemas\":[ { \"name\":\"alldatatypes\", \"tables\":[ { \"name\":\"allDatatypes\", \"type\":\"TABLE\", \"description\":\"\", \"selected\":true, \"linked\":true, \"columns\":[ { \"name\":\"CNUMBER\", \"type\":\"INT64\", \"canImport\":true, \"selected\":true, \"isLinkedActive\":true, \"isImported\":false, \"tableName\":\"allDatatypes\", \"schemaName\":\"alldatatypes\", \"dbName\":\"AllDatatypes\" }, { \"name\":\"CDECIMAL\", \"type\":\"INT64\", \"canImport\":true, \"selected\":true, \"isLinkedActive\":true, \"isImported\":false, \"tableName\":\"allDatatypes\", \"schemaName\":\"alldatatypes\", \"dbName\":\"AllDatatypes\" } ] } ] } ] } ] } ``` 2. Set `validate` to `true`. | ||
| Version: 9.2.0.cl or later Creates a connection to a data warehouse for live query services. Requires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [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. #### Create a connection without tables To create a connection without tables: 1. Pass these parameters in your API request. * Name of the connection. * Type of the data warehouse to connect to. * A JSON map of configuration attributes in `data_warehouse_config`. The following example shows the configuration attributes for a SnowFlake connection: ``` { \"configuration\":{ \"accountName\":\"thoughtspot_partner\", \"user\":\"tsadmin\", \"password\":\"TestConn123\", \"role\":\"sysadmin\", \"warehouse\":\"MEDIUM_WH\" }, \"authenticationType\": \"SERVICE_ACCOUNT\", \"externalDatabases\":[ ] } ``` 2. Set `validate` to `false`. **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. #### Create a connection with tables If [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**) and `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**) privilege is required. To create a connection with tables: 1. Pass these parameters in your API request. * Name of the connection. * Type of the data warehouse to connect to. * A JSON map of configuration attributes, database details, and table properties in `data_warehouse_config` as shown in the following example: ``` { \"configuration\":{ \"accountName\":\"thoughtspot_partner\", \"user\":\"tsadmin\", \"password\":\"TestConn123\", \"role\":\"sysadmin\", \"warehouse\":\"MEDIUM_WH\" }, \"authenticationType\": \"SERVICE_ACCOUNT\", \"externalDatabases\":[ { \"name\":\"AllDatatypes\", \"isAutoCreated\":false, \"schemas\":[ { \"name\":\"alldatatypes\", \"tables\":[ { \"name\":\"allDatatypes\", \"type\":\"TABLE\", \"description\":\"\", \"selected\":true, \"linked\":true, \"columns\":[ { \"name\":\"CNUMBER\", \"type\":\"INT64\", \"canImport\":true, \"selected\":true, \"isLinkedActive\":true, \"isImported\":false, \"tableName\":\"allDatatypes\", \"schemaName\":\"alldatatypes\", \"dbName\":\"AllDatatypes\" }, { \"name\":\"CDECIMAL\", \"type\":\"INT64\", \"canImport\":true, \"selected\":true, \"isLinkedActive\":true, \"isImported\":false, \"tableName\":\"allDatatypes\", \"schemaName\":\"alldatatypes\", \"dbName\":\"AllDatatypes\" } ] } ] } ] } ] } ``` 2. Set `validate` to `true`. **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. | ||
@@ -24,0 +24,0 @@ ### Example |
+1
-1
@@ -11,4 +11,4 @@ export * from "./http/http"; | ||
| export { PromiseMiddleware as Middleware } from './middleware'; | ||
| export { PromiseAIApi as AIApi, PromiseAuthenticationApi as AuthenticationApi, PromiseConnectionConfigurationsApi as ConnectionConfigurationsApi, PromiseConnectionsApi as ConnectionsApi, PromiseCustomActionApi as CustomActionApi, PromiseCustomCalendarsApi as CustomCalendarsApi, PromiseDBTApi as DBTApi, PromiseDataApi as DataApi, PromiseEmailCustomizationApi as EmailCustomizationApi, PromiseGroupsApi as GroupsApi, PromiseLogApi as LogApi, PromiseMetadataApi as MetadataApi, PromiseOrgsApi as OrgsApi, PromiseReportsApi as ReportsApi, PromiseRolesApi as RolesApi, PromiseSchedulesApi as SchedulesApi, PromiseSecurityApi as SecurityApi, PromiseSystemApi as SystemApi, PromiseTagsApi as TagsApi, PromiseThoughtSpotRestApi as ThoughtSpotRestApi, PromiseUsersApi as UsersApi, PromiseVariableApi as VariableApi, PromiseVersionControlApi as VersionControlApi, PromiseWebhooksApi as WebhooksApi } from './types/PromiseAPI'; | ||
| export { PromiseAIApi as AIApi, PromiseAuthenticationApi as AuthenticationApi, PromiseCollectionsApi as CollectionsApi, PromiseConnectionConfigurationsApi as ConnectionConfigurationsApi, PromiseConnectionsApi as ConnectionsApi, PromiseCustomActionApi as CustomActionApi, PromiseCustomCalendarsApi as CustomCalendarsApi, PromiseDBTApi as DBTApi, PromiseDataApi as DataApi, PromiseEmailCustomizationApi as EmailCustomizationApi, PromiseGroupsApi as GroupsApi, PromiseJobsApi as JobsApi, PromiseLogApi as LogApi, PromiseMetadataApi as MetadataApi, PromiseOrgsApi as OrgsApi, PromiseReportsApi as ReportsApi, PromiseRolesApi as RolesApi, PromiseSchedulesApi as SchedulesApi, PromiseSecurityApi as SecurityApi, PromiseSystemApi as SystemApi, PromiseTagsApi as TagsApi, PromiseThoughtSpotRestApi as ThoughtSpotRestApi, PromiseUsersApi as UsersApi, PromiseVariableApi as VariableApi, PromiseVersionControlApi as VersionControlApi, PromiseWebhooksApi as WebhooksApi } from './types/PromiseAPI'; | ||
| export { createBearerAuthenticationConfig, createBasicConfig } from "./utils/config"; |
+70
-1
@@ -18,2 +18,3 @@ # ThoughtSpotRestApiSdk.MetadataApi | ||
| [**parameterizeMetadata**](MetadataApi.md#parameterizeMetadata) | **POST** /api/rest/2.0/metadata/parameterize | | ||
| [**parameterizeMetadataFields**](MetadataApi.md#parameterizeMetadataFields) | **POST** /api/rest/2.0/metadata/parameterize-fields | | ||
| [**searchMetadata**](MetadataApi.md#searchMetadata) | **POST** /api/rest/2.0/metadata/search | | ||
@@ -711,3 +712,3 @@ [**unparameterizeMetadata**](MetadataApi.md#unparameterizeMetadata) | **POST** /api/rest/2.0/metadata/unparameterize | | ||
| Parameterize fields in metadata objects. Version: 10.9.0.cl or later 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 | ||
| Parameterize fields in metadata objects. 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 | ||
@@ -775,2 +776,70 @@ ### Example | ||
| # **parameterizeMetadataFields** | ||
| > void parameterizeMetadataFields(parameterizeMetadataFieldsRequest) | ||
| Parameterize multiple fields of metadata objects. For example [schemaName, databaseName] for LOGICAL_TABLE. Version: 26.4.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. | ||
| ### Example | ||
| ```typescript | ||
| import { createBearerAuthenticationConfig, MetadataApi, ParameterizeMetadataFieldsRequest } from '@thoughtspot/rest-api-sdk'; | ||
| const configuration = createBearerAuthenticationConfig("CLUSTER_SERVER_URL", { | ||
| username: "YOUR_USERNAME", | ||
| password: "YOUR_PASSWORD", | ||
| }); | ||
| const apiInstance = new MetadataApi(configuration); | ||
| apiInstance.parameterizeMetadataFields( | ||
| // ParameterizeMetadataFieldsRequest | ||
| { | ||
| metadata_type: "LOGICAL_TABLE", | ||
| metadata_identifier: "metadata_identifier_example", | ||
| field_type: "ATTRIBUTE", | ||
| field_names: [ | ||
| "field_names_example", | ||
| ], | ||
| variable_identifier: "variable_identifier_example", | ||
| } | ||
| ).then((data:any) => { | ||
| console.log('API called successfully. Returned data: ' + data); | ||
| }).catch((error:any) => console.error(error)); | ||
| ``` | ||
| ### Parameters | ||
| Name | Type | Description | Notes | ||
| ------------- | ------------- | ------------- | ------------- | ||
| **parameterizeMetadataFieldsRequest** | **ParameterizeMetadataFieldsRequest**| | | ||
| ### Return type | ||
| **void** | ||
| ### Authorization | ||
| [bearerAuth](README.md#bearerAuth) | ||
| ### HTTP request headers | ||
| - **Content-Type**: application/json | ||
| - **Accept**: application/json | ||
| ### HTTP response details | ||
| | Status code | Description | Response headers | | ||
| |-------------|-------------|------------------| | ||
| **204** | Parameterize successful. | - | | ||
| **400** | Invalid request. | - | | ||
| **401** | Unauthorized access. | - | | ||
| **403** | Forbidden access. | - | | ||
| **500** | Unexpected error | - | | ||
| [[Back to top]](#) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to Model list]](README.md#documentation-for-models) [[Back to README]](README.md) | ||
| # **searchMetadata** | ||
@@ -777,0 +846,0 @@ > Array<MetadataSearchResponse> searchMetadata(searchMetadataRequest) |
+28
-1
@@ -34,4 +34,16 @@ export * from '../models/AIContext' | ||
| export * from '../models/ChangeUserPasswordRequest' | ||
| export * from '../models/ChannelHistoryEventInfo' | ||
| export * from '../models/ChannelHistoryEventInput' | ||
| export * from '../models/ChannelHistoryJob' | ||
| export * from '../models/ChannelValidationAwsS3Info' | ||
| export * from '../models/ChannelValidationDetail' | ||
| export * from '../models/ClusterNonEmbedAccess' | ||
| export * from '../models/ClusterNonEmbedAccessInput' | ||
| export * from '../models/Collection' | ||
| export * from '../models/CollectionDeleteResponse' | ||
| export * from '../models/CollectionDeleteTypeIdentifiers' | ||
| export * from '../models/CollectionEntityIdentifier' | ||
| export * from '../models/CollectionMetadataInput' | ||
| export * from '../models/CollectionMetadataItem' | ||
| export * from '../models/CollectionSearchResponse' | ||
| export * from '../models/Column' | ||
@@ -52,2 +64,3 @@ export * from '../models/ColumnSecurityRule' | ||
| export * from '../models/CommunicationChannelPreferencesResponse' | ||
| export * from '../models/CommunicationChannelValidateResponse' | ||
| export * from '../models/ConfigureCommunicationChannelPreferencesRequest' | ||
@@ -69,2 +82,3 @@ export * from '../models/ConfigureSecuritySettingsRequest' | ||
| export * from '../models/CreateCalendarRequestTableReference' | ||
| export * from '../models/CreateCollectionRequest' | ||
| export * from '../models/CreateConfigRequest' | ||
@@ -113,2 +127,3 @@ export * from '../models/CreateConnectionConfigurationRequest' | ||
| export * from '../models/DefaultActionConfigSearchInput' | ||
| export * from '../models/DeleteCollectionRequest' | ||
| export * from '../models/DeleteConfigRequest' | ||
@@ -120,2 +135,3 @@ export * from '../models/DeleteConnectionConfigurationRequest' | ||
| export * from '../models/DeleteOrgEmailCustomizationRequest' | ||
| export * from '../models/DeleteVariablesRequest' | ||
| export * from '../models/DeleteWebhookConfigurationsRequest' | ||
@@ -198,2 +214,3 @@ export * from '../models/DeployCommitRequest' | ||
| export * from '../models/JWTUserOptionsFull' | ||
| export * from '../models/JobRecipient' | ||
| export * from '../models/LBContextInput' | ||
@@ -232,2 +249,3 @@ export * from '../models/LiveboardContent' | ||
| export * from '../models/ParameterValues' | ||
| export * from '../models/ParameterizeMetadataFieldsRequest' | ||
| export * from '../models/ParameterizeMetadataRequest' | ||
@@ -250,2 +268,3 @@ export * from '../models/ParametersListItem' | ||
| export * from '../models/PublishMetadataRequest' | ||
| export * from '../models/PutVariableValuesRequest' | ||
| export * from '../models/QueryGetDecomposedQueryRequest' | ||
@@ -297,2 +316,6 @@ export * from '../models/QueryGetDecomposedQueryRequestNlsRequest' | ||
| export * from '../models/SearchCalendarsRequestSortOptions' | ||
| export * from '../models/SearchChannelHistoryRequest' | ||
| export * from '../models/SearchChannelHistoryResponse' | ||
| export * from '../models/SearchCollectionsRequest' | ||
| export * from '../models/SearchCollectionsRequestSortOptions' | ||
| export * from '../models/SearchCommitsRequest' | ||
@@ -323,3 +346,2 @@ export * from '../models/SearchCommunicationChannelPreferencesRequest' | ||
| export * from '../models/SearchUsersRequest' | ||
| export * from '../models/SearchUsersRequestSortOptions' | ||
| export * from '../models/SearchVariablesRequest' | ||
@@ -371,2 +393,3 @@ export * from '../models/SearchWebhookConfigurationsRequest' | ||
| export * from '../models/UpdateCalendarRequestTableReference' | ||
| export * from '../models/UpdateCollectionRequest' | ||
| export * from '../models/UpdateColumnSecurityRulesRequest' | ||
@@ -405,2 +428,3 @@ export * from '../models/UpdateConfigRequest' | ||
| export * from '../models/UserPrincipal' | ||
| export * from '../models/ValidateCommunicationChannelRequest' | ||
| export * from '../models/ValidateMergeRequest' | ||
@@ -411,2 +435,3 @@ export * from '../models/ValidateTokenRequest' | ||
| export * from '../models/VariableDetailInput' | ||
| export * from '../models/VariablePutAssignmentInput' | ||
| export * from '../models/VariableUpdateAssignmentInput' | ||
@@ -426,2 +451,4 @@ export * from '../models/VariableUpdateScopeInput' | ||
| export * from '../models/WebhookDeleteResponse' | ||
| export * from '../models/WebhookKeyValuePair' | ||
| export * from '../models/WebhookKeyValuePairInput' | ||
| export * from '../models/WebhookOrg' | ||
@@ -428,0 +455,0 @@ export * from '../models/WebhookPagination' |
@@ -127,2 +127,6 @@ /** | ||
| 'hide_contact_support_url'?: boolean | null; | ||
| /** | ||
| * Whether to hide logo Version: 26.4.0.cl or later | ||
| */ | ||
| 'hide_logo_url'?: boolean | null; | ||
@@ -293,2 +297,8 @@ static readonly discriminator: string | undefined = undefined; | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "hide_logo_url", | ||
| "baseName": "hide_logo_url", | ||
| "type": "boolean", | ||
| "format": "" | ||
| } ]; | ||
@@ -295,0 +305,0 @@ |
@@ -16,2 +16,3 @@ /** | ||
| import { CreateWebhookConfigurationRequestStorageDestination } from '../models/CreateWebhookConfigurationRequestStorageDestination'; | ||
| import { WebhookKeyValuePairInput } from '../models/WebhookKeyValuePairInput'; | ||
| import { HttpFile } from '../http/http'; | ||
@@ -43,2 +44,6 @@ | ||
| 'storage_destination'?: CreateWebhookConfigurationRequestStorageDestination; | ||
| /** | ||
| * Additional headers as an array of key-value pairs. Example: [{\"key\": \"X-Custom-Header\", \"value\": \"custom_value\"}] Version: 26.4.0.cl or later | ||
| */ | ||
| 'additional_headers'?: Array<WebhookKeyValuePairInput>; | ||
@@ -95,2 +100,8 @@ static readonly discriminator: string | undefined = undefined; | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "additional_headers", | ||
| "baseName": "additional_headers", | ||
| "type": "Array<WebhookKeyValuePairInput>", | ||
| "format": "" | ||
| } ]; | ||
@@ -97,0 +108,0 @@ |
@@ -14,3 +14,3 @@ /** | ||
| import { FavoriteMetadataInput } from '../models/FavoriteMetadataInput'; | ||
| import { SearchUsersRequestSortOptions } from '../models/SearchUsersRequestSortOptions'; | ||
| import { SearchCollectionsRequestSortOptions } from '../models/SearchCollectionsRequestSortOptions'; | ||
| import { HttpFile } from '../http/http'; | ||
@@ -87,3 +87,3 @@ | ||
| 'record_size'?: number; | ||
| 'sort_options'?: SearchUsersRequestSortOptions; | ||
| 'sort_options'?: SearchCollectionsRequestSortOptions; | ||
| /** | ||
@@ -210,3 +210,3 @@ * Filters by the role assigned to the user. | ||
| "baseName": "sort_options", | ||
| "type": "SearchUsersRequestSortOptions", | ||
| "type": "SearchCollectionsRequestSortOptions", | ||
| "format": "" | ||
@@ -213,0 +213,0 @@ }, |
@@ -127,2 +127,6 @@ /** | ||
| 'hide_contact_support_url'?: boolean | null; | ||
| /** | ||
| * Whether to hide logo Version: 26.4.0.cl or later | ||
| */ | ||
| 'hide_logo_url'?: boolean | null; | ||
@@ -293,2 +297,8 @@ static readonly discriminator: string | undefined = undefined; | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "hide_logo_url", | ||
| "baseName": "hide_logo_url", | ||
| "type": "boolean", | ||
| "format": "" | ||
| } ]; | ||
@@ -295,0 +305,0 @@ |
@@ -19,7 +19,7 @@ /** | ||
| /** | ||
| * Variables and values to update | ||
| * Array of variable assignment objects specifying the variable identifier, values to assign, and the operation type (ADD, REMOVE, REPLACE, or RESET) to perform on each variable. | ||
| */ | ||
| 'variable_assignment': Array<VariableUpdateAssignmentInput>; | ||
| /** | ||
| * Variables and values to update | ||
| * Array of scope objects defining where the variable values apply, including organization context, optional principal constraints (user or group), model reference for formula variables, and priority for conflict resolution. | ||
| */ | ||
@@ -26,0 +26,0 @@ 'variable_value_scope': Array<VariableUpdateScopeInput>; |
@@ -16,2 +16,3 @@ /** | ||
| import { CreateWebhookConfigurationRequestStorageDestination } from '../models/CreateWebhookConfigurationRequestStorageDestination'; | ||
| import { WebhookKeyValuePairInput } from '../models/WebhookKeyValuePairInput'; | ||
| import { HttpFile } from '../http/http'; | ||
@@ -43,2 +44,6 @@ | ||
| 'storage_destination'?: CreateWebhookConfigurationRequestStorageDestination; | ||
| /** | ||
| * Additional headers as an array of key-value pairs. Example: [{\"key\": \"X-Custom-Header\", \"value\": \"custom_value\"}] Version: 26.4.0.cl or later | ||
| */ | ||
| 'additional_headers'?: Array<WebhookKeyValuePairInput>; | ||
@@ -95,2 +100,8 @@ static readonly discriminator: string | undefined = undefined; | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "additional_headers", | ||
| "baseName": "additional_headers", | ||
| "type": "Array<WebhookKeyValuePairInput>", | ||
| "format": "" | ||
| } ]; | ||
@@ -97,0 +108,0 @@ |
@@ -16,3 +16,3 @@ /** | ||
| /** | ||
| * Input for variable scope in search | ||
| * Input for filtering variable values by scope in search operations | ||
| */ | ||
@@ -25,3 +25,3 @@ export class ValueScopeInput { | ||
| /** | ||
| * Principal type | ||
| * Type of principal to filter by. Use USER to filter values assigned to specific users, or USER_GROUP to filter values assigned to groups. | ||
| */ | ||
@@ -34,3 +34,3 @@ 'principal_type'?: ValueScopeInputPrincipalTypeEnum | null; | ||
| /** | ||
| * Model Identifier | ||
| * Unique ID or name of the model to filter by. Applicable only for FORMULA_VARIABLE type. | ||
| */ | ||
@@ -37,0 +37,0 @@ 'model_identifier'?: string | null; |
@@ -84,3 +84,3 @@ /** | ||
| export type VariableVariableTypeEnum = "CONNECTION_PROPERTY" | "TABLE_MAPPING" | "CONNECTION_PROPERTY_PER_PRINCIPAL" | "FORMULA_VARIABLE" ; | ||
| export type VariableVariableTypeEnum = "CONNECTION_PROPERTY" | "TABLE_MAPPING" | "CONNECTION_PROPERTY_PER_PRINCIPAL" | "FORMULA_VARIABLE" | "USER_PROPERTY" ; | ||
@@ -63,3 +63,3 @@ /** | ||
| export type VariableDetailInputTypeEnum = "CONNECTION_PROPERTY" | "TABLE_MAPPING" | "CONNECTION_PROPERTY_PER_PRINCIPAL" | "FORMULA_VARIABLE" ; | ||
| export type VariableDetailInputTypeEnum = "CONNECTION_PROPERTY" | "TABLE_MAPPING" | "CONNECTION_PROPERTY_PER_PRINCIPAL" | "FORMULA_VARIABLE" | "USER_PROPERTY" ; | ||
@@ -16,3 +16,3 @@ /** | ||
| /** | ||
| * Input for variable value update in batch operations | ||
| * Input for defining the scope of variable value assignments in batch update operations | ||
| */ | ||
@@ -25,3 +25,3 @@ export class VariableUpdateScopeInput { | ||
| /** | ||
| * Principal type | ||
| * Type of principal to which the variable value applies. Use USER to assign values to a specific user, or USER_GROUP to assign values to a group. | ||
| */ | ||
@@ -34,7 +34,7 @@ 'principal_type'?: VariableUpdateScopeInputPrincipalTypeEnum | null; | ||
| /** | ||
| * Unique ID of the model | ||
| * Unique ID or name of the model. Required for FORMULA_VARIABLE type to scope the variable value to a specific worksheet. | ||
| */ | ||
| 'model_identifier'?: string | null; | ||
| /** | ||
| * Priority level | ||
| * The priority level for this scope assignment, used for conflict resolution when multiple values match. Higher priority values (larger numbers) take precedence. | ||
| */ | ||
@@ -41,0 +41,0 @@ 'priority'?: number | null; |
@@ -29,3 +29,3 @@ /** | ||
| /** | ||
| * Principal type | ||
| * Type of principal to which this value applies. Use USER to assign the value to a specific user, or USER_GROUP to assign it to a group. | ||
| */ | ||
@@ -32,0 +32,0 @@ 'principal_type'?: VariableValuePrincipalTypeEnum | null; |
@@ -15,2 +15,3 @@ /** | ||
| import { WebhookAuthentication } from '../models/WebhookAuthentication'; | ||
| import { WebhookKeyValuePair } from '../models/WebhookKeyValuePair'; | ||
| import { WebhookOrg } from '../models/WebhookOrg'; | ||
@@ -50,2 +51,6 @@ import { WebhookSignatureVerification } from '../models/WebhookSignatureVerification'; | ||
| /** | ||
| * Additional headers as an array of key-value pairs. Version: 26.4.0.cl or later | ||
| */ | ||
| 'additional_headers'?: Array<WebhookKeyValuePair> | null; | ||
| /** | ||
| * Creation time of the webhook configuration in milliseconds. | ||
@@ -120,2 +125,8 @@ */ | ||
| { | ||
| "name": "additional_headers", | ||
| "baseName": "additional_headers", | ||
| "type": "Array<WebhookKeyValuePair>", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "creation_time_in_millis", | ||
@@ -122,0 +133,0 @@ "baseName": "creation_time_in_millis", |
+1
-1
| { | ||
| "name": "@thoughtspot/rest-api-sdk", | ||
| "version": "2.22.0", | ||
| "version": "2.23.0", | ||
| "description": "Api sdk for thoughtspot's public v2 rest api", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
+1
-1
@@ -1,2 +0,2 @@ | ||
| ## @thoughtspot/rest-api-sdk@2.22.0 | ||
| ## @thoughtspot/rest-api-sdk@2.23.0 | ||
@@ -3,0 +3,0 @@ TypeScript/JavaScript client for ThoughtSpot's v2 [Rest APIs](https://developers.thoughtspot.com/docs/rest-api-v2). |
+65
-0
@@ -15,2 +15,3 @@ # ThoughtSpotRestApiSdk.SystemApi | ||
| [**updateSystemConfig**](SystemApi.md#updateSystemConfig) | **POST** /api/rest/2.0/system/config-update | | ||
| [**validateCommunicationChannel**](SystemApi.md#validateCommunicationChannel) | **POST** /api/rest/2.0/system/communication-channels/validate | | ||
@@ -538,1 +539,65 @@ | ||
| # **validateCommunicationChannel** | ||
| > CommunicationChannelValidateResponse validateCommunicationChannel(validateCommunicationChannelRequest) | ||
| Version: 26.4.0.cl or later Validates a communication channel configuration to ensure it is properly set up and can receive events. - Use `channel_type` to specify the type of communication channel to validate (e.g., WEBHOOK). - Use `channel_identifier` to provide the unique identifier or name for the communication channel. - Use `event_type` to specify the event type to validate for this channel. Requires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege. For webhook channels, users with `CAN_MANAGE_WEBHOOKS` (**Can manage webhooks**) privilege are also authorized to perform this action. | ||
| ### Example | ||
| ```typescript | ||
| import { createBearerAuthenticationConfig, SystemApi, ValidateCommunicationChannelRequest } from '@thoughtspot/rest-api-sdk'; | ||
| const configuration = createBearerAuthenticationConfig("CLUSTER_SERVER_URL", { | ||
| username: "YOUR_USERNAME", | ||
| password: "YOUR_PASSWORD", | ||
| }); | ||
| const apiInstance = new SystemApi(configuration); | ||
| apiInstance.validateCommunicationChannel( | ||
| // ValidateCommunicationChannelRequest | ||
| { | ||
| channel_type: "WEBHOOK", | ||
| channel_identifier: "channel_identifier_example", | ||
| event_type: "LIVEBOARD_SCHEDULE", | ||
| } | ||
| ).then((data:any) => { | ||
| console.log('API called successfully. Returned data: ' + data); | ||
| }).catch((error:any) => console.error(error)); | ||
| ``` | ||
| ### Parameters | ||
| Name | Type | Description | Notes | ||
| ------------- | ------------- | ------------- | ------------- | ||
| **validateCommunicationChannelRequest** | **ValidateCommunicationChannelRequest**| | | ||
| ### Return type | ||
| **CommunicationChannelValidateResponse** | ||
| ### Authorization | ||
| [bearerAuth](README.md#bearerAuth) | ||
| ### HTTP request headers | ||
| - **Content-Type**: application/json | ||
| - **Accept**: application/json | ||
| ### HTTP response details | ||
| | Status code | Description | Response headers | | ||
| |-------------|-------------|------------------| | ||
| **200** | communication channel configuration validated successfully. | - | | ||
| **400** | Invalid request. | - | | ||
| **401** | Unauthorized access. | - | | ||
| **403** | Forbidden access. | - | | ||
| **500** | Unexpected error | - | | ||
| [[Back to top]](#) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to Model list]](README.md#documentation-for-models) [[Back to README]](README.md) | ||
@@ -377,2 +377,34 @@ import chai from "chai"; | ||
| describe('parameterizeMetadataFields', function() { | ||
| const testReqBodies = requestBodies.filter( | ||
| (body: any) => body.Metadata.operationId === "parameterizeMetadataFields" | ||
| ); | ||
| testReqBodies.forEach(async (test: any) => { | ||
| it(`${test.Metadata.operationId} - ${test.Metadata.scenario} : Testid - ${test.Metadata.testId}`, async function () { | ||
| if (test.Metadata.scenario === "positive") { | ||
| var data; | ||
| try { | ||
| data = await instance.parameterizeMetadataFields( | ||
| // parameterizeMetadataFieldsRequest ParameterizeMetadataFieldsRequest | ||
| test.Body | ||
| ) | ||
| } catch (er) { | ||
| console.error(er, "Response", data) | ||
| expect(er).to.be.undefined | ||
| } | ||
| } else { | ||
| await expect( | ||
| instance.parameterizeMetadataFields( | ||
| // parameterizeMetadataFieldsRequest ParameterizeMetadataFieldsRequest | ||
| test.Body | ||
| ) | ||
| ).to.be.rejectedWith(Error); | ||
| } | ||
| }); | ||
| }); | ||
| }); | ||
| describe('searchMetadata', function() { | ||
@@ -379,0 +411,0 @@ |
@@ -268,2 +268,34 @@ import chai from "chai"; | ||
| }); | ||
| describe('validateCommunicationChannel', function() { | ||
| const testReqBodies = requestBodies.filter( | ||
| (body: any) => body.Metadata.operationId === "validateCommunicationChannel" | ||
| ); | ||
| testReqBodies.forEach(async (test: any) => { | ||
| it(`${test.Metadata.operationId} - ${test.Metadata.scenario} : Testid - ${test.Metadata.testId}`, async function () { | ||
| if (test.Metadata.scenario === "positive") { | ||
| var data; | ||
| try { | ||
| data = await instance.validateCommunicationChannel( | ||
| // validateCommunicationChannelRequest ValidateCommunicationChannelRequest | ||
| test.Body | ||
| ) | ||
| } catch (er) { | ||
| console.error(er, "Response", data) | ||
| expect(er).to.be.undefined | ||
| } | ||
| } else { | ||
| await expect( | ||
| instance.validateCommunicationChannel( | ||
| // validateCommunicationChannelRequest ValidateCommunicationChannelRequest | ||
| test.Body | ||
| ) | ||
| ).to.be.rejectedWith(Error); | ||
| } | ||
| }); | ||
| }); | ||
| }); | ||
| }); |
@@ -89,2 +89,70 @@ import chai from "chai"; | ||
| describe('deleteVariables', function() { | ||
| const testReqBodies = requestBodies.filter( | ||
| (body: any) => body.Metadata.operationId === "deleteVariables" | ||
| ); | ||
| testReqBodies.forEach(async (test: any) => { | ||
| it(`${test.Metadata.operationId} - ${test.Metadata.scenario} : Testid - ${test.Metadata.testId}`, async function () { | ||
| if (test.Metadata.scenario === "positive") { | ||
| var data; | ||
| try { | ||
| data = await instance.deleteVariables( | ||
| // deleteVariablesRequest DeleteVariablesRequest | ||
| test.Body | ||
| ) | ||
| } catch (er) { | ||
| console.error(er, "Response", data) | ||
| expect(er).to.be.undefined | ||
| } | ||
| } else { | ||
| await expect( | ||
| instance.deleteVariables( | ||
| // deleteVariablesRequest DeleteVariablesRequest | ||
| test.Body | ||
| ) | ||
| ).to.be.rejectedWith(Error); | ||
| } | ||
| }); | ||
| }); | ||
| }); | ||
| describe('putVariableValues', function() { | ||
| const testReqBodies = requestBodies.filter( | ||
| (body: any) => body.Metadata.operationId === "putVariableValues" | ||
| ); | ||
| testReqBodies.forEach(async (test: any) => { | ||
| it(`${test.Metadata.operationId} - ${test.Metadata.scenario} : Testid - ${test.Metadata.testId}`, async function () { | ||
| if (test.Metadata.scenario === "positive") { | ||
| var data; | ||
| try { | ||
| data = await instance.putVariableValues( | ||
| // identifier identifier | ||
| test.Path_Variables.identifier , | ||
| // putVariableValuesRequest PutVariableValuesRequest | ||
| test.Body | ||
| ) | ||
| } catch (er) { | ||
| console.error(er, "Response", data) | ||
| expect(er).to.be.undefined | ||
| } | ||
| } else { | ||
| await expect( | ||
| instance.putVariableValues( | ||
| // identifier identifier | ||
| test.Path_Variables.identifier , | ||
| // putVariableValuesRequest PutVariableValuesRequest | ||
| test.Body | ||
| ) | ||
| ).to.be.rejectedWith(Error); | ||
| } | ||
| }); | ||
| }); | ||
| }); | ||
| describe('searchVariables', function() { | ||
@@ -91,0 +159,0 @@ |
+145
-2
@@ -9,2 +9,4 @@ # ThoughtSpotRestApiSdk.VariableApi | ||
| [**deleteVariable**](VariableApi.md#deleteVariable) | **POST** /api/rest/2.0/template/variables/{identifier}/delete | | ||
| [**deleteVariables**](VariableApi.md#deleteVariables) | **POST** /api/rest/2.0/template/variables/delete | | ||
| [**putVariableValues**](VariableApi.md#putVariableValues) | **POST** /api/rest/2.0/template/variables/{identifier}/update-values | | ||
| [**searchVariables**](VariableApi.md#searchVariables) | **POST** /api/rest/2.0/template/variables/search | | ||
@@ -83,3 +85,3 @@ [**updateVariable**](VariableApi.md#updateVariable) | **POST** /api/rest/2.0/template/variables/{identifier}/update | | ||
| Delete a variable Version: 10.14.0.cl or later Allows deleting a variable from ThoughtSpot. Requires ADMINISTRATION role and TENANT scope. The CAN_MANAGE_VARIABLES permission allows you to manage Formula Variables in the current organization scope. The API endpoint requires: * The variable identifier (ID or name) The operation will fail if: * The user lacks required permissions * The variable doesn\'t exist * The variable is being used by other objects | ||
| Delete a variable Version: 10.14.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/template/variables/delete](/api/rest/2.0/template/variables/delete) instead. Allows deleting a variable from ThoughtSpot. Requires ADMINISTRATION role and TENANT scope. The CAN_MANAGE_VARIABLES permission allows you to manage Formula Variables in the current organization scope. The API endpoint requires: * The variable identifier (ID or name) The operation will fail if: * The user lacks required permissions * The variable doesn\'t exist * The variable is being used by other objects | ||
@@ -141,2 +143,143 @@ ### Example | ||
| # **deleteVariables** | ||
| > void deleteVariables(deleteVariablesRequest) | ||
| Delete variable(s) Version: 26.4.0.cl or later Allows deleting multiple variables from ThoughtSpot. Requires ADMINISTRATION role and TENANT scope. The CAN_MANAGE_VARIABLES permission allows you to manage Formula Variables in the current organization scope. The API endpoint requires: * The variable identifiers (IDs or names) The operation will fail if: * The user lacks required permissions * Any of the variables don\'t exist * Any of the variables are being used by other objects | ||
| ### Example | ||
| ```typescript | ||
| import { createBearerAuthenticationConfig, VariableApi, DeleteVariablesRequest } from '@thoughtspot/rest-api-sdk'; | ||
| const configuration = createBearerAuthenticationConfig("CLUSTER_SERVER_URL", { | ||
| username: "YOUR_USERNAME", | ||
| password: "YOUR_PASSWORD", | ||
| }); | ||
| const apiInstance = new VariableApi(configuration); | ||
| apiInstance.deleteVariables( | ||
| // DeleteVariablesRequest | ||
| { | ||
| identifiers: [ | ||
| "identifiers_example", | ||
| ], | ||
| } | ||
| ).then((data:any) => { | ||
| console.log('API called successfully. Returned data: ' + data); | ||
| }).catch((error:any) => console.error(error)); | ||
| ``` | ||
| ### Parameters | ||
| Name | Type | Description | Notes | ||
| ------------- | ------------- | ------------- | ------------- | ||
| **deleteVariablesRequest** | **DeleteVariablesRequest**| | | ||
| ### Return type | ||
| **void** | ||
| ### Authorization | ||
| [bearerAuth](README.md#bearerAuth) | ||
| ### HTTP request headers | ||
| - **Content-Type**: application/json | ||
| - **Accept**: application/json | ||
| ### HTTP response details | ||
| | Status code | Description | Response headers | | ||
| |-------------|-------------|------------------| | ||
| **204** | Deletion of variable(s) is successful. | - | | ||
| **400** | Invalid request. | - | | ||
| **401** | Unauthorized access. | - | | ||
| **403** | Forbidden access. | - | | ||
| **500** | Unexpected error | - | | ||
| [[Back to top]](#) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to Model list]](README.md#documentation-for-models) [[Back to README]](README.md) | ||
| # **putVariableValues** | ||
| > void putVariableValues(putVariableValuesRequest) | ||
| Update values for a variable Version: 26.4.0.cl or later Allows updating values for a specific variable in ThoughtSpot. Requires ADMINISTRATION role. The CAN_MANAGE_VARIABLES permission allows you to manage Formula Variables in the current organization scope. The API endpoint allows: * Adding new values to the variable * Replacing existing values * Deleting values from the variable * Resetting all values When updating variable values, you need to specify: * The variable identifier (ID or name) * The values to add/replace/remove * The operation to perform (ADD, REPLACE, REMOVE, RESET) Behaviour based on operation type: * ADD - Adds values to the variable if this is a list type variable, else same as replace. * REPLACE - Replaces all values of a given set of constraints with the current set of values. * REMOVE - Removes any values which match the set of conditions of the variables if this is a list type variable, else clears value. * RESET - Removes all constraints for the given variable, scope is ignored | ||
| ### Example | ||
| ```typescript | ||
| import { createBearerAuthenticationConfig, VariableApi, PutVariableValuesRequest } from '@thoughtspot/rest-api-sdk'; | ||
| const configuration = createBearerAuthenticationConfig("CLUSTER_SERVER_URL", { | ||
| username: "YOUR_USERNAME", | ||
| password: "YOUR_PASSWORD", | ||
| }); | ||
| const apiInstance = new VariableApi(configuration); | ||
| apiInstance.putVariableValues( | ||
| // string | Unique ID or name of the variable | ||
| "identifier_example" , | ||
| // PutVariableValuesRequest | ||
| { | ||
| operation: "ADD", | ||
| variable_assignment: [ | ||
| { | ||
| assigned_values: [ | ||
| "assigned_values_example", | ||
| ], | ||
| org_identifier: "org_identifier_example", | ||
| principal_type: "USER", | ||
| principal_identifier: "principal_identifier_example", | ||
| model_identifier: "model_identifier_example", | ||
| priority: 1, | ||
| }, | ||
| ], | ||
| } | ||
| ).then((data:any) => { | ||
| console.log('API called successfully. Returned data: ' + data); | ||
| }).catch((error:any) => console.error(error)); | ||
| ``` | ||
| ### Parameters | ||
| Name | Type | Description | Notes | ||
| ------------- | ------------- | ------------- | ------------- | ||
| **putVariableValuesRequest** | **PutVariableValuesRequest**| | | ||
| **identifier** | [**string**] | Unique ID or name of the variable | defaults to undefined | ||
| ### Return type | ||
| **void** | ||
| ### Authorization | ||
| [bearerAuth](README.md#bearerAuth) | ||
| ### HTTP request headers | ||
| - **Content-Type**: application/json | ||
| - **Accept**: application/json | ||
| ### HTTP response details | ||
| | Status code | Description | Response headers | | ||
| |-------------|-------------|------------------| | ||
| **204** | Variable values updated successfully. | - | | ||
| **400** | Invalid request. | - | | ||
| **401** | Unauthorized access. | - | | ||
| **403** | Forbidden access. | - | | ||
| **500** | Unexpected error | - | | ||
| [[Back to top]](#) [[Back to API list]](README.md#documentation-for-api-endpoints) [[Back to Model list]](README.md#documentation-for-models) [[Back to README]](README.md) | ||
| # **searchVariables** | ||
@@ -289,3 +432,3 @@ > Array<Variable> searchVariables(searchVariablesRequest) | ||
| Update values for multiple variables Version: 10.14.0.cl or later Allows updating values for multiple variables in ThoughtSpot. Requires ADMINISTRATION role. The CAN_MANAGE_VARIABLES permission allows you to manage Formula Variables in the current organization scope. The API endpoint allows: * Adding new values to variables * Replacing existing values * Deleting values from variables When updating variable values, you need to specify: * The variable identifiers * The values to add/replace/remove for each variable * The operation to perform (ADD, REPLACE, REMOVE, RESET) Behaviour based on operation type: * ADD - Adds values to the variable if this is a list type variable, else same as replace. * REPLACE - Replaces all values of a given set of constraints with the current set of values. * REMOVE - Removes any values which match the set of conditions of the variables if this is a list type variable, else clears value. * RESET - Removes all constrains for a given variable, scope is ignored | ||
| Update values for multiple variables Version: 10.14.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/template/variables/{identifier}/update-values](/api/rest/2.0/template/variables/%7Bidentifier%7D/update-values) instead. Allows updating values for multiple variables in ThoughtSpot. Requires ADMINISTRATION role. The CAN_MANAGE_VARIABLES permission allows you to manage Formula Variables in the current organization scope. The API endpoint allows: * Adding new values to variables * Replacing existing values * Deleting values from variables When updating variable values, you need to specify: * The variable identifiers * The values to add/replace/remove for each variable * The operation to perform (ADD, REPLACE, REMOVE, RESET) Behaviour based on operation type: * ADD - Adds values to the variable if this is a list type variable, else same as replace. * REPLACE - Replaces all values of a given set of constraints with the current set of values. * REMOVE - Removes any values which match the set of conditions of the variables if this is a list type variable, else clears value. * RESET - Removes all constrains for a given variable, scope is ignored | ||
@@ -292,0 +435,0 @@ ### Example |
+12
-0
@@ -43,2 +43,8 @@ # ThoughtSpotRestApiSdk.WebhooksApi | ||
| storage_destination: null, | ||
| additional_headers: [ | ||
| { | ||
| key: "key_example", | ||
| value: "value_example", | ||
| }, | ||
| ], | ||
| } | ||
@@ -248,2 +254,8 @@ ).then((data:any) => { | ||
| storage_destination: null, | ||
| additional_headers: [ | ||
| { | ||
| key: "key_example", | ||
| value: "value_example", | ||
| }, | ||
| ], | ||
| } | ||
@@ -250,0 +262,0 @@ ).then((data:any) => { |
| /** | ||
| * ThoughtSpot Public REST API | ||
| * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) | ||
| * | ||
| * OpenAPI spec version: 2.0 | ||
| * | ||
| * | ||
| * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| import { HttpFile } from '../http/http'; | ||
| /** | ||
| * Sort options. | ||
| */ | ||
| export class SearchUsersRequestSortOptions { | ||
| /** | ||
| * Name of the field to apply the sort on. | ||
| */ | ||
| 'field_name'?: SearchUsersRequestSortOptionsFieldNameEnum | null; | ||
| /** | ||
| * Sort order : ASC(Ascending) or DESC(Descending). | ||
| */ | ||
| 'order'?: SearchUsersRequestSortOptionsOrderEnum | null; | ||
| static readonly discriminator: string | undefined = undefined; | ||
| static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ | ||
| { | ||
| "name": "field_name", | ||
| "baseName": "field_name", | ||
| "type": "SearchUsersRequestSortOptionsFieldNameEnum", | ||
| "format": "" | ||
| }, | ||
| { | ||
| "name": "order", | ||
| "baseName": "order", | ||
| "type": "SearchUsersRequestSortOptionsOrderEnum", | ||
| "format": "" | ||
| } ]; | ||
| static getAttributeTypeMap() { | ||
| return SearchUsersRequestSortOptions.attributeTypeMap; | ||
| } | ||
| public constructor() { | ||
| } | ||
| } | ||
| export type SearchUsersRequestSortOptionsFieldNameEnum = "NAME" | "DISPLAY_NAME" | "AUTHOR" | "CREATED" | "MODIFIED" ; | ||
| export type SearchUsersRequestSortOptionsOrderEnum = "ASC" | "DESC" ; | ||
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Unidentified License
LicenseSomething that seems like a license was found, but its contents could not be matched with a known license.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Unidentified License
LicenseSomething that seems like a license was found, but its contents could not be matched with a known license.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
17772313
8.44%554
6.33%303419
5.54%561
9.36%