Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[metadata]
name = thoughtspot_rest_api
version = 2.0.2
version = 2.0.3
description = Library implementing ThoughtSpot REST API V2.0 and V1
long_description = file: README.md
long_description_content_type = text/markdown
Expand Down
2 changes: 1 addition & 1 deletion src/thoughtspot_rest_api/_version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = '2.0.2'
__version__ = '2.0.3'
126 changes: 126 additions & 0 deletions src/thoughtspot_rest_api/tsrestapiv2.py
Original file line number Diff line number Diff line change
Expand Up @@ -445,6 +445,14 @@ def system_config_update(self, configuration: Dict):
}
return self.post_request(endpoint=endpoint, request=request)

def system_preferences_communication_channels_configure(self, request: Dict):
endpoint = 'system/preferences/communication-channels/configure'
return self.post_request(endpoint=endpoint, request=request)

def system_preferences_communication_channels_search(self, request: Dict):
endpoint = 'system/preferences/communication-channels/search'
return self.post_request(endpoint=endpoint, request=request)

#
# /orgs/ endpoints
#
Expand Down Expand Up @@ -787,6 +795,15 @@ def security_metadata_unpublish(self, request: Dict):
endpoint = 'security/metadata/unpublish'
return self.post_request(endpoint=endpoint, request=request)

def security_column_rules_fetch(self, request: Dict):
endpoint = 'security/column/rules/fetch'
return self.post_request(endpoint=endpoint, request=request)

def security_column_rules_update(self, request: Dict):
endpoint = 'security/column/rules/update'
return self.post_request(endpoint=endpoint, request=request)


#
# /data/
#
Expand Down Expand Up @@ -902,6 +919,28 @@ def connection_fetch_connection_diff_status(self, connection_identifier: str):
endpoint = 'connections/fetch-connection-diff-status/{}'.format(connection_identifier)
return self.post_request(endpoint=endpoint)

#
# Connection Configurations endpoints
#
def connection_configurations_search(self, request: Dict):
endpoint = 'connection-configurations/search'
return self.post_request(endpoint=endpoint, request=request)

def connection_configurations_create(self, request: Dict):
endpoint = 'connection-configurations/create'
return self.post_request(endpoint=endpoint, request=request)

def connection_configurations_delete(self, request: Dict):
endpoint = 'connection-configurations/delete'
return self.post_request(endpoint=endpoint, request=request)

def connection_configurations_update(self, connection_identifier: str,
request: Dict):
endpoint = f'connection-configurations/{connection_identifier}/update'
return self.post_request(endpoint=endpoint, request=request)



#
# /roles/ endpoints
#
Expand Down Expand Up @@ -944,6 +983,25 @@ def customization_custom_actions_delete(self, custom_action_identifier: str):
# /customization/email
#

def customization_email_create(self, request: Dict):
endpoint = 'customization/email'
return self.post_request(endpoint=endpoint, request=request)

def customization_email_delete(self, request: Dict):
endpoint = 'customization/email/delete'
return self.post_request(endpoint=endpoint, request=request)

def customization_email_search(self, request: Dict):
endpoint = 'customization/email/search'
return self.post_request(endpoint=endpoint, request=request)

def customization_email_update(self, request: Dict):
endpoint = 'customization/email/update'
return self.post_request(endpoint=endpoint, request=request)

def customization_email_validate(self, request: Dict):
endpoint = 'customization/email/validate'
return self.post_request(endpoint=endpoint, request=request)
#
# /schedules/ endpoints
#
Expand Down Expand Up @@ -991,6 +1049,21 @@ def dbt_dbt_connection_update(self, dbt_connection_identifier: str, request: Dic
# /ai/ endpoints
#

def ai_agent_conversation_create(self, request: Dict):
endpoint = 'ai/agent/conversation/create'
return self.post_request(endpoint=endpoint, request=request)

def ai_data_source_suggestions_get(self, query: str):
endpoint = 'ai/data-source-suggestions'
request = {
"query": query
}
return self.post_request(endpoint=endpoint, request=request)

def ai_relevant_questions(self, request: Dict):
endpoint = 'ai/relevant-questions/'
return self.post_request(endpoint=endpoint, request=request)

def ai_conversation_create(self, metadata_identifier: str,
tokens: Optional[List[str]] = None):
endpoint = 'ai/conversation/create'
Expand Down Expand Up @@ -1032,6 +1105,15 @@ def ai_analytical_questions(self, request: Dict):
endpoint = 'ai/analytical-questions'
return self.post_request(endpoint=endpoint, request=request)

def ai_agent_converse(self, conversation_identifier: str, request: Dict):
endpoint = f'ai/agent/{conversation_identifier}/converse'
return self.post_request(endpoint=endpoint, request=request)

# Marked as BETA in 10.15
def ai_agent_converse_sse(self, request: Dict):
endpoint = 'ai/agent/converse/sse'
return self.post_request(endpoint=endpoint, request=request)

#
# /template/variables endpoints
#
Expand All @@ -1058,3 +1140,47 @@ def template_variables_update_values(self, request: Dict):
endpoint = 'template/variables/update-values'
return self.post_request(endpoint=endpoint, request=request)

#
# webhooks endpoints
#

def webhooks_create(self, request: Dict):
endpoint = 'webhooks/create'
return self.post_request(endpoint=endpoint, request=request)

def webhooks_delete(self, request: Dict):
endpoint = 'webhooks/delete'
return self.post_request(endpoint=endpoint, request=request)

def webhooks_search(self, request: Dict):
endpoint = 'webhooks/search'
return self.post_request(endpoint=endpoint, request=request)

def webhooks_update(self, webhook_identifier: str, request: Dict):
endpoint = f'webhooks/{webhook_identifier}/update'
return self.post_request(endpoint=endpoint, request=request)

#
# custom calendars endpoints
#
def calendars_create(self, request: Dict):
endpoint = 'calendars/create'
return self.post_request(endpoint=endpoint, request=request)

def calendars_delete(self, calendar_identifier: str):
endpoint = f'calendars/{calendar_identifier}/delete'
return self.post_request(endpoint=endpoint)

def calendars_generate_csv(self, request: Dict):
endpoint = 'calendars/generate-csv'
return self.post_request(endpoint=endpoint, request=request)

def calendars_search(self, request: Dict):
endpoint = 'calendars/search'
return self.post_request(endpoint=endpoint, request=request)

def calendars_update(self, calendar_identifier: str, request: Dict):
endpoint = f'calendars/{calendar_identifier}/update'
return self.post_request(endpoint=endpoint, request=request)


Loading