forked from thoughtspot/rest-api-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathopenspecapi.json
1 lines (1 loc) · 168 KB
/
openspecapi.json
1
{"openapi":"3.0.0","info":{"title":"RESTAPI SDK","version":"2.0.0"},"paths":{"/tspublic/rest/v2/session":{"get":{"operationId":"getSessionInfo","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Session object information"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Session"],"description":"To get session object information, use this endpoint"}},"/tspublic/rest/v2/session/logout":{"post":{"operationId":"logout","responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully logged out and token invalidated"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Session"],"security":[],"description":"To log a user out of the current session, use this endpoint"}},"/tspublic/rest/v2/session/gettoken":{"post":{"operationId":"getToken","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"userName":{"type":"string","description":"Username of the user account"},"password":{"type":"string","description":"The password of the user account"},"secretKey":{"type":"string","description":"The secret key string provided by the ThoughtSpot application server. ThoughtSpot generates this secret key when you enable trusted authentication."},"accessLevel":{"description":"User access privilege. \n\n FULL - Creates a session with full access. \n\n REPORT_BOOK_VIEW - Allow view access to the specified visualizations.","title":"getToken-accessLevel","type":"string","enum":["FULL","REPORT_BOOK_VIEW"],"default":"FULL"},"tsObjectId":{"type":"string","description":"GUID of the ThoughtSpot object. If you have set the accessLevel attribute to REPORT_BOOK_VIEW, specify the GUID of the Liveboard or visualization object."},"tokenExpiryDuration":{"type":"string","description":"Provide duration in seconds after which the token should expire"},"orgId":{"type":"string","description":"This is applicable only if organization feature is enabled in the cluster. \n\n Id of the organization to be associated with the user login. If no input is provided then last logged in organization will be considered."}},"required":["userName"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionLoginResponse"}}},"description":"Token generated successfully"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Session"],"security":[],"description":"To programmatically create session token for a user in ThoughtSpot, use this endpoint. \n\n You can generate the token for a user by providing password or secret key from the cluster. \n\n You need to enable trusted authentication to generate secret key. To generate secret key, follow below steps. \n\n 1. Click the Develop tab. \n\n 2. Under Customizations, click Settings. \n\n 3. To enable trusted authentication, turn on the toggle. \n\n 4. A secret_key for trusted authentication is generated. \n\n 5. Click the clipboard icon to copy the token. \n\n \n\n Password is given precedence over secretKey input, when both are included in the request."}},"/tspublic/rest/v2/session/revoketoken":{"post":{"operationId":"revokeToken","responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Token revoked successfully"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Session"],"description":"To expire or revoke a token for a user, use this endpoint"}},"/tspublic/rest/v2/user":{"get":{"operationId":"getUser","parameters":[{"in":"query","name":"name","required":false,"schema":{"type":"string"},"description":"Username of the user that you want to query"},{"in":"query","name":"id","required":false,"schema":{"type":"string"},"description":"The GUID of the user account to query"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}},"description":"Details of the user"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["User"],"description":"To get the details of a specific user account by username or user id, use this endpoint. At Least one value is needed. When both are given,then user id will be considered to fetch user information \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/user/create":{"post":{"operationId":"createUser","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the user account. The username string must be unique."},"displayName":{"type":"string","description":"A display name string for the user, usually their first and last name."},"visibility":{"description":"Visibility of the user. The visibility attribute is set to DEFAULT when creating a user. \n\n The DEFAULT attribute makes a user visible to other users and user groups, and thus allows them to share objects. \n\n","title":"createUser-visibility","type":"string","enum":["DEFAULT","NON_SHARABLE","SHARABLE"],"default":"DEFAULT"},"mail":{"type":"string","description":"Email id associated with the user account"},"password":{"type":"string","description":"Password for the user account."},"orgIds":{"type":"array","items":{"type":"integer","format":"int32"},"description":"This is applicable only if organization feature is enabled in the cluster. \n\n Array of org identifiers. If no value is provided, the organization associated with the login session is considered."},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndIDInput"},"description":"A JSON array of group names or GUIDs or both. When both are given then id is considered"},"state":{"description":"Status of user account. acitve or inactive. \n\n","title":"createUser-state","type":"string","enum":["ACTIVE","INACTIVE","EXPIRED","LOCKED","PENDING"],"default":"ACTIVE"},"notifyOnShare":{"title":"createUser-notifyOnShare","type":"string","enum":["true","false"],"description":"User preference for receiving email notifications when another ThoughtSpot user shares answers or pinboards. \n\n","default":"true"},"showWalkMe":{"title":"createUser-showWalkMe","type":"string","enum":["true","false"],"description":"The user preference for revisiting the onboarding experience. \n\n","default":"true"},"analystOnboardingComplete":{"title":"createUser-analystOnboardingComplete","type":"string","enum":["true","false"],"description":"ThoughtSpot provides an interactive guided walkthrough to onboard new users. The onboarding experience leads users through a set of actions to help users get started and accomplish their tasks quickly. \n\n The users can turn off the Onboarding experience and access it again when they need assistance with the ThoughtSpot UI. \n\n","default":"false"},"type":{"description":"Type of user. LOCAL_USER indicates that the user is created locally in the ThoughtSpot system. \n\n","title":"createUser-type","type":"string","enum":["UNKNOWN","LDAP_USER","SAML_USER","OIDC_USER","LOCAL_USER"],"default":"LOCAL_USER"}},"required":["name","displayName","password"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}},"description":"Details of the user created"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["User"],"description":"To programmatically create a user account in the ThoughtSpot system, use this API endpoint. \n\n Using this API, you can create a user and assign groups. To create a user, you require admin user privileges. \n\n All users created in the ThoughtSpot system are added to ALL user group. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/user/update":{"put":{"operationId":"updateUser","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the user account. The username string must be unique."},"id":{"type":"string","description":"The GUID of the user account"},"displayName":{"type":"string","description":"A display name string for the user, usually their first and last name."},"visibility":{"description":"Visibility of the user account. \n\n The visibility attribute is set to DEFAULT when creating a user. The DEFAULT attribute makes a user visible to other users and user groups, and thus allows them to share objects. \n\n","title":"updateUser-visibility","type":"string","enum":["DEFAULT","NON_SHARABLE","SHARABLE"],"default":"DEFAULT"},"mail":{"type":"string","description":"Email id associated with the user account"},"state":{"description":"Status of user account. acitve or inactive. \n\n","title":"updateUser-state","type":"string","enum":["ACTIVE","INACTIVE","EXPIRED","LOCKED","PENDING"],"default":"ACTIVE"},"notifyOnShare":{"title":"updateUser-notifyOnShare","type":"string","enum":["true","false"],"description":"User preference for receiving email notifications when another ThoughtSpot user shares answers or pinboards. \n\n","default":"true"},"showWalkMe":{"title":"updateUser-showWalkMe","type":"string","enum":["true","false"],"description":"The user preference for revisiting the onboarding experience. \n\n","default":"true"},"analystOnboardingComplete":{"title":"updateUser-analystOnboardingComplete","type":"string","enum":["true","false"],"description":"ThoughtSpot provides an interactive guided walkthrough to onboard new users. The onboarding experience leads users through a set of actions to help users get started and accomplish their tasks quickly. \n\n The users can turn off the Onboarding experience and access it again when they need assistance with the ThoughtSpot UI. \n\n","default":"false"},"type":{"description":"Type of user. LOCAL_USER indicates that the user is created locally in the ThoughtSpot system. \n\n","title":"updateUser-type","type":"string","enum":["UNKNOWN","LDAP_USER","SAML_USER","OIDC_USER","LOCAL_USER","LDAP_GROUP","LOCAL_GROUP","TENANT_GROUP"],"default":"LOCAL_USER"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndIDInput"},"description":"A JSON array of group names or GUIDs or both. When both are given then id is considered"}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"User successfully updated"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["User"],"description":"You can use this endpoint to programmatically modify an existing user account. \n\n To modify a user, you require admin user privileges. \n\n At least one of User Id or username is mandatory. When both are given, then user id will be considered and username will be updated \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/user/delete":{"delete":{"operationId":"deleteUser","parameters":[{"in":"query","name":"name","required":false,"schema":{"type":"string"},"description":"Username of the user account"},{"in":"query","name":"id","required":false,"schema":{"type":"string"},"description":"The GUID of the user account"},{"in":"query","name":"orgId","required":false,"schema":{"type":"integer","format":"int32"},"description":"This is applicable only if organization feature is enabled in the cluster. \n\n Unique identifier of the organization from which the user would be deleted. If no value is provided, the organization associated with the login session is considered."}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"User successfully deleted"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["User"],"description":"To remove a user from the ThoughtSpot system, use this endpoint. \n\n At least one value is needed. When both are given, then user id will be considered to delete user. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/user/addgroup":{"put":{"operationId":"addUserToGroups","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Username of the user account"},"id":{"type":"string","description":"The GUID of the user account"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndIDInput"},"description":"A JSON array of group names or GUIDs or both. When both are given then id is considered"}},"required":["groups"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully assigned groups to the user"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["User"],"description":"To programmatically add groups to an existing ThoughtSpot user, use this endpoint. \n\n When you assign groups to a user, the user inherits the privileges assigned to those groups. \n\n At least one of user Id or username is mandatory. When both are given, then user id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/user/removegroup":{"put":{"operationId":"removeUserFromGroups","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"User name of the user account"},"id":{"type":"string","description":"The GUID of the user account"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndIDInput"},"description":"A JSON array of group names or GUIDs or both. When both are given then id is considered"}},"required":["groups"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully removed groups for the user"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["User"],"description":"To programmatically remove groups from an existing ThoughtSpot user, use this API endpoint. \n\n The API removes only the user association. It does not delete the user or group from the Thoughtspot system. \n\n At least one of user id or username is mandatory. When both are given, then user id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/user/addorg":{"put":{"operationId":"addUserToOrgs","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"orgId":{"type":"integer","format":"int32","description":"Unique identifier of the organization."},"users":{"type":"array","items":{"$ref":"#/components/schemas/UserNameAndIDInput"},"description":"Array of objects. A JSON array of name of users or GUIDs of users or both. When both are given then id is considered"}},"required":["users"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully assigned users to org"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["User"],"description":"This is endpoint is applicable only if organization feature is enabled in the cluster. \n\n To programmatically add existing ThoughtSpot users to an organization, use this API endpoint. \n\n Requires Administration access for the organization to which users need to be added."}},"/tspublic/rest/v2/user/changepassword":{"put":{"operationId":"changePasswordOfUser","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"User name of the user account"},"id":{"type":"string","description":"The GUID of the user account to query"},"currentPassword":{"type":"string","description":"The current password of the user."},"newPassword":{"type":"string","description":"A new password for the user."}},"required":["currentPassword","newPassword"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully changed the password for the user"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["User"],"description":"To change the password of a ThoughtSpot user account, use this endpoint. \n\n At least one of id or name of user is required. When both are given user id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/user/search":{"post":{"operationId":"searchUsers","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"outputFields":{"type":"array","items":{"type":"string"},"description":"Array of field names that need to be included in the response."},"name":{"type":"string","description":"Name of the user."},"id":{"type":"string","description":"The GUID of the user account to query"},"displayName":{"type":"string","description":"A unique display name string for the user, usually their first and last name."},"visibility":{"type":"string","description":"Visibility of the user. \n\n The visibility attribute is set to DEFAULT when creating a user. Setting this to DEFAULT makes a user visible to other users and user groups, and thus allows them to share objects","title":"searchUsers-visibility","enum":["DEFAULT","NON_SHARABLE","SHARABLE"]},"mail":{"type":"string","description":"email of the user account"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndIDInput"},"description":"A JSON array of group names or GUIDs or both. When both are given then id is considered"},"privileges":{"type":"array","items":{"title":"searchUsers-privileges","type":"string","enum":["ADMINISTRATION","AUTHORING","DEVELOPER","USERDATAUPLOADING","DATADOWNLOADING","DATAMANAGEMENT","SHAREWITHALL","EXPERIMENTALFEATUREPRIVILEGE","JOBSCHEDULING","RANALYSIS","A3ANALYSIS","BYPASSRLS"]},"description":"A JSON array of privileges assigned to the user"},"state":{"type":"string","description":"Status of user account. acitve or inactive.","title":"searchUsers-state","enum":["ACTIVE","INACTIVE","EXPIRED","LOCKED","PENDING"]},"notifyOnShare":{"title":"searchUsers-notifyOnShare","type":"string","enum":["true","false"],"description":"User preference for receiving email notifications when another ThoughtSpot user shares answers or pinboards."},"showWalkMe":{"title":"searchUsers-showWalkMe","type":"string","enum":["true","false"],"description":"The user preference for revisiting the onboarding experience."},"analystOnboardingComplete":{"title":"searchUsers-analystOnboardingComplete","type":"string","enum":["true","false"],"description":"ThoughtSpot provides an interactive guided walkthrough to onboard new users. The onboarding experience leads users through a set of actions to help users get started and accomplish their tasks quickly. \n\n The users can turn off the Onboarding experience and access it again when they need assistance with the ThoughtSpot UI."},"type":{"type":"string","description":"Type of user. LOCAL_USER indicates that the user is created locally in the ThoughtSpot system.","title":"searchUsers-type","enum":["UNKNOWN","LDAP_USER","SAML_USER","OIDC_USER","LOCAL_USER","LDAP_GROUP","LOCAL_GROUP","TENANT_GROUP"]}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Array of user details matching the search criteria and the output fields. \n\n If no output fields are specified then the response structure will match that of GET /tspublic/rest/v2/user"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["User"],"description":"To get the details of a specific user account or all users in the ThoughtSpot system, use this endpoint. If no input is provided, then all user are included in the response. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/group":{"get":{"operationId":"getGroup","parameters":[{"in":"query","name":"name","required":false,"schema":{"type":"string"},"description":"Name of the group"},{"in":"query","name":"id","required":false,"schema":{"type":"string"},"description":"The GUID of the group"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupResponse"}}},"description":"Details of the group"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Group"],"description":"To get the details of a specific group by name or id, use this endpoint. \n\n At least one value needed. When both are given,then id will be considered to fetch user information. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/group/create":{"post":{"operationId":"createGroup","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the user group. The group name string must be unique."},"displayName":{"type":"string","description":"A unique display name string for the user group, for example, Developer group."},"visibility":{"description":"Visibility of the user group. \n\n The visibility attribute is set to DEFAULT. The DEFAULT attribute makes the user group visible for other user groups and allows them to share objects. \n\n","title":"createGroup-visibility","type":"string","enum":["DEFAULT","NON_SHARABLE","SHARABLE"],"default":"DEFAULT"},"description":{"type":"string","description":"Description text for the group."},"privileges":{"type":"array","items":{"title":"createGroup-privileges","type":"string","enum":["ADMINISTRATION","AUTHORING","DEVELOPER","USERDATAUPLOADING","DATADOWNLOADING","DATAMANAGEMENT","SHAREWITHALL","EXPERIMENTALFEATUREPRIVILEGE","JOBSCHEDULING","RANALYSIS","A3ANALYSIS","BYPASSRLS"]},"description":"A JSON array of privileges assigned to the group"},"orgId":{"type":"integer","format":"int32","description":"This is applicable only if organization feature is enabled in the cluster. \n\n Unique identifier of the organization. If no value is provided, the organization associated with the login session is considered."},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndIDInput"},"description":"A JSON array of group names or GUIDs or both. When both are given then id is considered"},"users":{"type":"array","items":{"$ref":"#/components/schemas/UserNameAndIDInput"},"description":"A JSON array of name of users or GUIDs of users or both. When both are given then id is considered"},"type":{"description":"Type of user group. LOCAL_GROUP indicates that the user is created locally in the ThoughtSpot system. \n\n","title":"createGroup-type","type":"string","enum":["LOCAL_GROUP","TENANT_GROUP"],"default":"LOCAL_GROUP"}},"required":["name","displayName"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupResponse"}}},"description":"Details of the group created"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Group"],"description":"To programmatically create a group in the ThoughtSpot system, use this API endpoint. \n\n Using this API, you can create a group and assign privileges and users. \n\n For ease of user management and access control, ThoughtSpot administrations can create groups and assign privileges to these groups. \n\n The privileges determine the actions that the users belonging to a group are allowed to do. \n\n ThoughtSpot also has a default group called ALL. When you create new group in ThoughtSpot, they are automatically added to ALL user group. You cannot delete the ALL user group or remove members from it. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/group/update":{"put":{"operationId":"updateGroup","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the user group"},"id":{"type":"string","description":"GUID of the group to update"},"displayName":{"type":"string","description":"A unique display name string for the user group, for example, Developer group."},"visibility":{"description":"Visibility of the user group. \n\n The visibility attribute is set to DEFAULT. The DEFAULT attribute makes the user group visible for other user groups and allows them to share objects. \n\n","title":"updateGroup-visibility","type":"string","enum":["DEFAULT","NON_SHARABLE","SHARABLE"],"default":"DEFAULT"},"description":{"type":"string","description":"Description text for the group."},"privileges":{"type":"array","items":{"title":"updateGroup-privileges","type":"string","enum":["ADMINISTRATION","AUTHORING","DEVELOPER","USERDATAUPLOADING","DATADOWNLOADING","DATAMANAGEMENT","SHAREWITHALL","EXPERIMENTALFEATUREPRIVILEGE","JOBSCHEDULING","RANALYSIS","A3ANALYSIS","BYPASSRLS"]},"description":"A JSON array of privileges assigned to the group"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndIDInput"},"description":"A JSON array of group names or GUIDs or both. When both are given then id is considered"},"users":{"type":"array","items":{"$ref":"#/components/schemas/UserNameAndIDInput"},"description":"A JSON array of name of users or GUIDs of users or both. When both are given then id is considered"},"assignedLiveboards":{"type":"array","items":{"type":"string"},"description":"An array of liveboard ids to be assigned to the group."},"type":{"description":"Type of user group. LOCAL_GROUP indicates that the user is created locally in the ThoughtSpot system. \n\n","title":"updateGroup-type","type":"string","enum":["LOCAL_GROUP","TENANT_GROUP"],"default":"LOCAL_GROUP"}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Group successfully updated"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Group"],"description":"You can use this endpoint to programmatically modify an existing group. \n\n To modify a group, you require admin user privileges. \n\n At least one of id or name is required to update the group. When both are given, then id will be considered and group name will be updated. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/group/delete":{"delete":{"operationId":"deleteGroup","parameters":[{"in":"query","name":"name","required":false,"schema":{"type":"string"},"description":"Name of the group."},{"in":"query","name":"id","required":false,"schema":{"type":"string"},"description":"The GUID of the group"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Group successfully deleted"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Group"],"description":"To remove a group from the ThoughtSpot system, send a DELETE request to this endpoint. \n\n At least one value needed. When both are given,then user id will be considered to fetch user information. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/group/addprivilege":{"put":{"operationId":"addPrivilegesToGroup","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":" Name of the group"},"id":{"type":"string","description":"The GUID of the group to query."},"privileges":{"type":"array","items":{"title":"addPrivilegesToGroup-privileges","type":"string","enum":["ADMINISTRATION","AUTHORING","DEVELOPER","USERDATAUPLOADING","DATADOWNLOADING","DATAMANAGEMENT","SHAREWITHALL","EXPERIMENTALFEATUREPRIVILEGE","JOBSCHEDULING","RANALYSIS","A3ANALYSIS","BYPASSRLS"]},"description":"List of privileges"}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully assigned privileges to the group"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Group"],"description":"To programmatically add privileges to an existing group, use API endpoint. \n\n When you assign privileges to a group, all the users under to this group inherits the privileges assigned to that group. \n\n At least one of id or name of group is required. When both are given,then user id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/group/removeprivilege":{"put":{"operationId":"removePrivilegesFromGroup","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":" Name of the group"},"id":{"type":"string","description":"The GUID of the group to query."},"privileges":{"type":"array","items":{"title":"removePrivilegesFromGroup-privileges","type":"string","enum":["ADMINISTRATION","AUTHORING","DEVELOPER","USERDATAUPLOADING","DATADOWNLOADING","DATAMANAGEMENT","SHAREWITHALL","EXPERIMENTALFEATUREPRIVILEGE","JOBSCHEDULING","RANALYSIS","A3ANALYSIS","BYPASSRLS"]},"description":"List of privileges"}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully removed privileges to the group"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Group"],"description":"To programmatically remove privileges from a group, use API endpoint. \n\n The API removes only the privilege association. It does not delete the privilege or group from the Thoughtspot system. \n\n At least one of id or name of group is required. When both are given,then user id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/group/adduser":{"put":{"operationId":"addUsersToGroup","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the group"},"id":{"type":"string","description":"The GUID of the group"},"users":{"type":"array","items":{"$ref":"#/components/schemas/UserNameAndIDInput"},"description":"A JSON array of name of users or GUIDs of users or both. When both are given then id is considered"}},"required":["users"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully added user to the group"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Group"],"description":"To programmatically add existing ThoughtSpot users to a group, use this API endpoint. \n\n hen you assign users to a group, the users inherits the privileges assigned to that group. \n\n At least one of id or name of the group is required. When both are given,then user id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/group/removeuser":{"put":{"operationId":"removeUsersFromGroup","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":" Name of the group"},"id":{"type":"string","description":"The GUID of the group to query."},"users":{"type":"array","items":{"$ref":"#/components/schemas/UserNameAndIDInput"},"description":"A JSON array of name of users or GUIDs of users or both. When both are given then id is considered"}},"required":["users"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully removed user from the groups"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Group"],"description":"To programmatically remove users from a group, use API endpoint. \n\n The API removes only the user association. It does not delete the users or group from the Thoughtspot system. \n\n At least one of id or name of group is required. When both are given,then user id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/group/addgroup":{"put":{"operationId":"addGroupsToGroup","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the group"},"id":{"type":"string","description":"The GUID of the group"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndIDInput"},"description":"A JSON array of group names or GUIDs or both. When both are given then id is considered"}},"required":["groups"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully added groups to the group"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Group"],"description":"To programmatically add existing groups to a group, use API endpoint. \n\n When you assign groups to a group, the group inherits the privileges assigned to those groups. \n\n At least one of id or name of group is required. When both are given,then user id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/group/removegroup":{"put":{"operationId":"removeGroupsFromGroup","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the group"},"id":{"type":"string","description":"The GUID of the group"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndIDInput"},"description":"A JSON array of group names or GUIDs or both. When both are given then id is considered"}},"required":["groups"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully removed groups from group"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Group"],"description":"To programmatically remove groups from a group, use API endpoint. \n\n The API removes only the group association. It does not delete the group from the Thoughtspot system. \n\n At least one of id or name of group is required. When both are given,then user id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/group/search":{"post":{"operationId":"searchGroups","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"outputFields":{"type":"array","items":{"type":"string"},"description":"Array of field names that need to be included in the response."},"name":{"type":"string","description":"Name of the user group"},"id":{"type":"string","description":"GUID of the group to update"},"displayName":{"type":"string","description":"A unique display name string for the user group, for example, Developer group."},"visibility":{"type":"string","description":"Visibility of the user group. \n\n The visibility attribute is set to DEFAULT. The DEFAULT attribute makes the user group visible for other user groups and allows them to share objects.","title":"searchGroups-visibility","enum":["DEFAULT","NON_SHARABLE","SHARABLE"]},"description":{"type":"string","description":"Description text for the group."},"privileges":{"type":"array","items":{"title":"searchGroups-privileges","type":"string","enum":["ADMINISTRATION","AUTHORING","DEVELOPER","USERDATAUPLOADING","DATADOWNLOADING","DATAMANAGEMENT","SHAREWITHALL","EXPERIMENTALFEATUREPRIVILEGE","JOBSCHEDULING","RANALYSIS","A3ANALYSIS","BYPASSRLS"]},"description":"A JSON array of privileges assigned to the group"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndIDInput"},"description":"A JSON array of group names or GUIDs or both. When both are given then id is considered"},"users":{"type":"array","items":{"$ref":"#/components/schemas/UserNameAndIDInput"},"description":"A JSON array of name of users or GUIDs of users or both. When both are given then id is considered"},"type":{"type":"string","description":"Type of user group. LOCAL_GROUP indicates that the user is created locally in the ThoughtSpot system. ","title":"searchGroups-type","enum":["LOCAL_GROUP","TENANT_GROUP"]}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Array of group details matching the search criteria and the output fields. \n\n If no output fields are specified then the response structure will match that of GET /tspublic/rest/v2/group"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Group"],"description":"To get the details of a specific group account or all groups in the ThoughtSpot system use this end point. \n\n If no inputs are provided, then all groups are included in the response. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/org":{"get":{"operationId":"getOrg","parameters":[{"in":"query","name":"name","required":false,"schema":{"type":"string"},"description":"Name of the organization."},{"in":"query","name":"id","required":false,"schema":{"type":"integer","format":"int32"},"description":"The ID of the organization."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgsResponse"}}},"description":"Details of the organization"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Org"],"description":"This is endpoint is applicable only if organization feature is enabled in the cluster. \n\n To get the details of a specific organization by name or id, use this endpoint. \n\n At least one value needed. When both are given,then id will be considered to fetch organization information. \n\n Requires Administration privilege for tenant."}},"/tspublic/rest/v2/org/create":{"post":{"operationId":"createOrg","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the organization."},"description":{"type":"string","description":"Description text for the organization."}},"required":["name"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgsResponse"}}},"description":"Details of the organization created"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Org"],"description":"This is endpoint is applicable only if organization feature is enabled in the cluster. \n\n To programmatically create an organization in the ThoughtSpot system, use this API endpoint."}},"/tspublic/rest/v2/org/update":{"put":{"operationId":"updateOrg","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the organization."},"id":{"type":"integer","format":"int32","description":"The ID of the organization."},"description":{"type":"string","description":"Description text for the organization."},"active":{"title":"updateOrg-active","type":"string","enum":["true","false"],"description":"Status of the organization."}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgsResponse"}}},"description":"Organization successfully updated"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Org"],"description":"This is endpoint is applicable only if organization feature is enabled in the cluster. \n\n You can use this endpoint to programmatically modify an existing org. \n\n Provide name or id of the organization to update the properties. When both id and name are given, then id will be considered and name of the organization will be updated. \n\n Requires Administration privilege for tenant."}},"/tspublic/rest/v2/org/delete":{"delete":{"operationId":"deleteOrg","parameters":[{"in":"query","name":"name","required":false,"schema":{"type":"string"},"description":"Name of the organization."},{"in":"query","name":"id","required":false,"schema":{"type":"integer","format":"int32"},"description":"The ID of the organization."}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Organization successfully deleted"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Org"],"description":"This is endpoint is applicable only if organization feature is enabled in the cluster. \n\n To remove an organization from the ThoughtSpot system, send a DELETE request to this endpoint. \n\n At least one value is needed. When both id and name are given, then id will be considered. \n\n Requires Administration privilege for tenant."}},"/tspublic/rest/v2/org/search":{"post":{"operationId":"searchOrgs","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the organization."},"id":{"type":"integer","format":"int32","description":"The ID of the organization."},"showDeleted":{"title":"searchOrgs-showDeleted","type":"string","enum":["true","false"],"description":"When set to true, the response will include the details of deleted organization also.","default":"false"}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OrgsResponse"}}}},"description":"Array of organization details matching the search criteria"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Org"],"description":"This is endpoint is applicable only if organization feature is enabled in the cluster. \n\n To get the details of a specific organization or all organizations in the ThoughtSpot system use this end point. \n\n If no input is provided, then all organizations are included in the response. \n\n Requires Administration privilege for tenant."}},"/tspublic/rest/v2/metadata/tag":{"get":{"operationId":"getTag","parameters":[{"in":"query","name":"name","required":false,"schema":{"type":"string"},"description":"Name of the tag"},{"in":"query","name":"id","required":false,"schema":{"type":"string"},"description":"The GUID of the tag"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadataTagResponse"}}},"description":"Details of the tag searched for"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To get details of a specific tag, use this endpoint. \n\n At least one of id or name of tag is required. When both are given, then id will be considered."}},"/tspublic/rest/v2/metadata/tag/create":{"post":{"operationId":"createTag","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the tag"},"color":{"type":"string","description":"Hex color code to be assigned to the tag"}},"required":["name"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadataTagResponse"}}},"description":"Details of the tag created"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To programmatically create tags, use this endpoint \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/metadata/tag/update":{"put":{"operationId":"updateTag","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the tag"},"id":{"type":"string","description":"The GUID of the tag"},"color":{"type":"string","description":"Hex color code to be assigned to the tag"}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully updated the tag"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To programmatically update tags, use this endpoint. \n\n At least one of id or name of tag is required. When both are given, then id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/metadata/tag/delete":{"delete":{"operationId":"deleteTag","parameters":[{"in":"query","name":"name","required":false,"schema":{"type":"string"},"description":"Name of the tag"},{"in":"query","name":"id","required":false,"schema":{"type":"string"},"description":"The GUID of the tag"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully deleted the tag"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To programmatically delete tags, use this endpoint. \n\n At least one of id or name of tag is required. When both are given, then id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/metadata/tag/assign":{"put":{"operationId":"assignTag","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":" Name of the tag"},"id":{"type":"string","description":"The GUID of the tag"},"tsObject":{"type":"array","items":{"$ref":"#/components/schemas/TsObjectInput"},"description":"A JSON Array of GUIDs and type of metadata object."}},"required":["tsObject"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully assigned the tag to the metadata object"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To programmatically assign tags to a metadata object, such as a liveboard, search answer, table, worksheet, or view, use this endpoint. \n\n At least one of id or name of tag is required. When both are given, then id will be considered. \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/metadata/tag/unassign":{"put":{"operationId":"unassignTag","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":" Name of the tag"},"id":{"type":"string","description":"The GUID of the tag"},"tsObject":{"type":"array","items":{"$ref":"#/components/schemas/TsObjectInput"},"description":"A JSON Array of GUIDs and type of metadata object."}},"required":["tsObject"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully unassigned the tag to the metadata object"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To programmatically unassign tags to a metadata object, such as a liveboard, search answer, table, worksheet, or view, use this endpoint. \n\n At least one of id or name of tag is required. When both are given, then id will be considered. \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/metadata/favorite/assign":{"put":{"operationId":"assignFavorite","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"userName":{"type":"string","description":" Name of the user"},"userId":{"type":"string","description":"The GUID of the user"},"tsObject":{"type":"array","items":{"$ref":"#/components/schemas/TsObjectInput"},"description":"A JSON Array of GUIDs and type of metadata object."}},"required":["tsObject"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully assigned the object to favorites of the user"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To programmatically assign objects to favorites for a given user account, use this endpoint. \n\n At least one of user id or username is required. When both are given, then id will be considered. \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/metadata/favorite/unassign":{"put":{"operationId":"unassignFavorite","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"userName":{"type":"string","description":" Name of the user"},"userId":{"type":"string","description":"The GUID of the user"},"tsObject":{"type":"array","items":{"$ref":"#/components/schemas/TsObjectInput"},"description":"A JSON Array of GUIDs and type of metadata object."}},"required":["tsObject"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully unassigned the object from favorites of the user"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To programmatically unassign objects to favorites for a given user account, use this endpoint. \n\n At least one of user id or username is required. When both are given, then id will be considered. Screen reader support enabled. \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/metadata/homeliveboard":{"get":{"operationId":"getHomeLiveboard","parameters":[{"in":"query","name":"userName","required":false,"schema":{"type":"string"}},{"in":"query","name":"userId","required":false,"schema":{"type":"string"},"description":"The GUID of the user"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HomeLiveboardResponse"}}},"description":"The homeliveboard assigned to the user"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To get the name and id of liveboard that is set as a home liveboard for a user, use this endpoint. \n\n At least one of user id or username is required. When both are given, then id will be considered. \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/metadata/homeliveboard/assign":{"put":{"operationId":"assignHomeLiveboard","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"userName":{"type":"string","description":" Name of the user"},"userId":{"type":"string","description":"The GUID of the user"},"liveboardId":{"type":"string","description":"The GUID of the liveboard"}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully assigned the home liveboard to the user"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To assign a specific liveboard as a home liveboard for a user, use this endpoint.\n\n At least one of user id or username is required. When both are given, then id will be considered. \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/metadata/homeliveboard/unassign":{"put":{"operationId":"unassignHomeLiveboard","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"userName":{"type":"string","description":" Name of the user"},"userId":{"type":"string","description":"The GUID of the user"}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully unassigned the home liveboard to the user"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To unassign the home liveboard set for a user, use this endpoint.\n\n At least one of user id or username is required. When both are given, then id will be considered. \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/metadata/incomplete":{"get":{"operationId":"getIncompleteObjects","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"An object representing map of set of incomplete object headers key ed by type"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To get a list of objects with incomplete metadata, use this endpoint"}},"/tspublic/rest/v2/metadata/header":{"get":{"operationId":"getObjectHeader","parameters":[{"in":"query","name":"type","required":true,"schema":{"title":"getObjectHeader-type","type":"string","enum":["ANSWER","LIVEBOARD","DATAOBJECT_ALL","DATAOBJECT_WORKSHEET","DATAOBJECT_TABLE","DATAOBJECT_USER_DEFINED","DATAOBJECT_VIEW","DATAOBJECT_CALENDAR_TABLE","COLUMN_ALL","COLUMN_WORKSHEET","COLUMN_TABLE","COLUMN_USER_DEFINED","COLUMN_VIEW","COLUMN_CALENDAR_TABLE","JOIN","CONNECTION","TAG","USER","USER_GROUP"]},"description":"Type of the metadata object being searched."},{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":"GUID of the metadata object"},{"in":"query","name":"outputFields","required":false,"schema":{"type":"array","items":{"type":"string"}},"description":"Array of header field names that need to be included in the header response"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Header details based on the search criteria and requested output fields"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To get header detail of a metadata object, use this endpoint. You can provide as input selective fields to get the data for. \n\n Permission: Requires administration privilege for USER and USER_GROUP type. Requires datamanagement privilege for CONNECTION type. Requires at least view access for other object types"}},"/tspublic/rest/v2/metadata/detail":{"get":{"operationId":"getObjectDetail","parameters":[{"in":"query","name":"type","required":true,"schema":{"title":"getObjectDetail-type","type":"string","enum":["ANSWER","LIVEBOARD","DATAOBJECT","COLUMN","JOIN","CONNECTION","TAG","USER","USER_GROUP"]},"description":"Type of the metadata object being searched. Valid values"},{"in":"query","name":"id","required":true,"schema":{"type":"array","items":{"type":"string"}},"description":"A JSON array of GUIDs of the objects."}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Full details of metadata objects searched for"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"Use this endpoint to get full details of metadata objects. \n\n Permission: Requires administration privilege for USER and USER_GROUP type. Requires datamanagement privilege for CONNECTION type. Requires at least view access to other object types"}},"/tspublic/rest/v2/metadata/vizheader":{"get":{"operationId":"getObjectVisualizationHeader","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":"The GUID of the liveboard or answer"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}},"description":"Header details of vizualization charts in the liveboard/answer object"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"Use this endpoint to get header details of visualization charts for a given liveboard or answer. \n\n At least one of id or name of liveboard or answer is required. When both are given, then id will be considered. \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/metadata/header/search":{"post":{"operationId":"searchObjectHeader","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"outputFields":{"type":"array","items":{"type":"string"},"description":"Array of header field names that need to be included in the header response"},"offset":{"type":"integer","format":"int32","description":"The offset point, starting from where the records should be included in the response.\n\n If no input is provided then offset starts from 0. \n\n","default":"0"},"batchNumber":{"type":"integer","format":"int32","description":"An alternate way to set offset for the starting point of the response. \n\n The value in offset field will not be considered if batchNumber field has value greater than 0. \n\n Offset value will be calculated as (batchNumber - 1) * batchSize. \n\n It is mandatory to provide a value for batchSize with batchNumber. \n\n Example: \n\n Assume response has 100 records. Now, batchNumber is set as 2 and batchSize as 10, then offset value will be 10. So, 10 records starting from 11th record will be considered."},"batchSize":{"type":"integer","format":"int32","description":"The number of records that should be included in the response starting from offset position. \n\n If no input is provided, then all records starting from the value provided in offset is included in the response."},"sortBy":{"description":"Field based on which the response needs to be ordered. \n\n","title":"searchObjectHeader-sortBy","type":"string","enum":["DEFAULT","NAME","DISPLAY_NAME","AUTHOR","CREATED","MODIFIED","LAST_ACCESSED","SYNCED","VIEWS","NONE","USER_STATE","ROW_COUNT"],"default":"DEFAULT"},"sortOrder":{"description":"Order in which sortBy should be applied. \n\n","title":"searchObjectHeader-sortOrder","type":"string","enum":["DEFAULT","ASC","DESC"],"default":"DEFAULT"},"type":{"description":"Type of the metadata object being searched.","title":"searchObjectHeader-type","type":"string","enum":["ANSWER","LIVEBOARD","DATAOBJECT_ALL","DATAOBJECT_WORKSHEET","DATAOBJECT_TABLE","DATAOBJECT_USER_DEFINED","DATAOBJECT_VIEW","DATAOBJECT_CALENDAR_TABLE","COLUMN_ALL","COLUMN_WORKSHEET","COLUMN_TABLE","COLUMN_USER_DEFINED","COLUMN_VIEW","COLUMN_CALENDAR_TABLE","JOIN","CONNECTION","TAG","USER","USER_GROUP"]},"namePattern":{"type":"string","description":"A pattern to match the name of the metadata object. This parameter supports matching case-insensitive strings. For a wildcard match, use %."},"fetchId":{"type":"array","items":{"type":"string"},"description":"A JSON array containing the GUIDs of the metadata objects that you want to fetch."},"skipId":{"type":"array","items":{"type":"string"},"description":"A JSON array containing the GUIDs of the metadata objects that you want to skip."},"showHidden":{"title":"searchObjectHeader-showHidden","type":"string","enum":["true","false"],"description":"When set to true, returns details of the hidden objects, such as a column in a worksheet or a table. \n\n","default":"false"},"autoCreated":{"title":"searchObjectHeader-autoCreated","type":"string","enum":["true","false"],"description":"A flag to indicate whether to list only the auto created objects. When no value is provided as input then all objects are returned."},"accessLevel":{"type":"array","items":{"$ref":"#/components/schemas/AccessLevelInput"},"description":"A JSON array of objects with user details for which the metadata objects should be considered from the repository If you specify ID or name of user and set the type parameter to USER, the API returns metadata objects associated with the user If you specify ID or name of user group and set the type parameter to USER_GROUP, the API returns metadata objects for all the users mapped to the specified user group. If the id or name parameter is not defined, but the type attribute is set to USER or USER_GROUP, then the API will not return and response. If no input is provided for any field for this object, then the API returns headers for all users. If both name and id is provided, then id will be considered."},"tag":{"type":"array","items":{"$ref":"#/components/schemas/TagNameAndIdInput"},"description":"A JSON array of name or GUID of tags or both. When both are given then id is considered."},"favoriteFor":{"type":"array","items":{"$ref":"#/components/schemas/NameAndIdInput"},"description":"A JSON array of name or GUID of the user or both for whom the object is assigned as favorite. When both are given then id is considered."},"author":{"type":"array","items":{"$ref":"#/components/schemas/NameAndIdInput"},"description":"A JSON array of name or GUID of the user or both who created the object. When both are given then id is considered."},"lastModifiedBy":{"type":"array","items":{"$ref":"#/components/schemas/NameAndIdInput"},"description":"A JSON array of name or GUID of the user or both who last modified the object. When both are given then id is considered."}},"required":["type"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Header details based on the search criteria and requested output fields"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To get header details for metadata objects, use this endpoint. You can provide as input selective fields to get the data for. \n\n Permission: Requires administration privilege for USER and USER_GROUP type. Requires datamanagement privilege for CONNECTION type. Requires at least view access for other object types"}},"/tspublic/rest/v2/metadata/detail/search":{"post":{"operationId":"searchObjectDetail","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"description":"Type of the metadata object being searched. Valid values","title":"searchObjectDetail-type","type":"string","enum":["ANSWER","LIVEBOARD","DATAOBJECT","COLUMN","JOIN","CONNECTION","TAG","USER","USER_GROUP"]},"id":{"type":"array","items":{"type":"string"},"description":"A JSON array of GUIDs of the objects."},"showHidden":{"title":"searchObjectDetail-showHidden","type":"string","enum":["true","false"],"description":"When set to true, returns details of the hidden objects, such as a column in a worksheet or a table.","default":"false"},"dropQuestionDetails":{"title":"searchObjectDetail-dropQuestionDetails","type":"string","enum":["true","false"],"description":" When set to true, the search assist data associated with a worksheet is not included in the API response. This attribute is applicable only for DATAOBJECT data type.","default":"false"},"version":{"type":"string","description":"Specify the version to retrieve the objects from. By default, the API returns metadata for all versions of the object."}},"required":["type","id"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Full details of metadata objects searched for"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"Use this endpoint to get full details of metadata objects. \n\n Permission: Requires administration privilege for USER and USER_GROUP type. Requires datamanagement privilege for CONNECTION type. Requires at least view access for other object types"}},"/tspublic/rest/v2/metadata/delete":{"delete":{"operationId":"deleteObject","parameters":[{"in":"query","name":"type","required":true,"schema":{"title":"deleteObject-type","type":"string","enum":["ANSWER","LIVEBOARD","DATAOBJECT","COLUMN","JOIN","CONNECTION","TAG","USER","USER_GROUP"]},"description":"Type of the metadata object being searched."},{"in":"query","name":"id","required":true,"schema":{"type":"array","items":{"type":"string"}},"description":"A JSON array of GUIDs of the objects."}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully deleted the object"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"Use this endpoint to delete the metadata objects. \n\n Permission: Requires modify access to the object"}},"/tspublic/rest/v2/metadata/dependency":{"post":{"operationId":"getObjectDependency","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"description":"Type of the data object ","title":"getObjectDependency-type","type":"string","enum":["LIVEBOARD","DATAOBJECT","COLUMN","JOIN"]},"id":{"type":"array","items":{"type":"string"},"description":"A JSON array of GUIDs of the objects"},"batchSize":{"type":"integer","format":"int32","description":" The maximum number of batches to fetch in a query. \n\n If this attribute is not defined, then the list of all dependent objects is included in the response"}},"required":["type","id"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"An object with list of dependent objects grouped based on the type"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To query the details of dependent objects and associate objects as dependents, you can use this API.\n\n Dependency is defined as relation between referenced and referencing objects. A referencing object is said to have a dependency on a referenced object, if the referenced object cannot be deleted without first deleting the referencing object. \n\n Example: \n\n Consider a worksheet W1 that has a derived logical column C1 that has a reference to a base logical column C2. This can be shown diagramatically as: W1-->C1-->C2. \n\n W1 has a dependency on C2 i.e. W1 is a referencing object and C2 is a referenced object. It is not possible to delete C2 without first deleting W1 because deletion of C2 will be prevented by the relationship between W1s column C1 and C2. \n\nSimilarly C1 is said to have a dependency on C2 i.e. C1 is a referencing object and C2 is a referenced object. It is not possible to delete C2 without first deleting C1 \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/metadata/tml/export":{"post":{"operationId":"exportObjectTML","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"array","items":{"type":"string"},"description":"A JSON array of GUIDs of the objects."},"formatType":{"description":"The format in which to export the objects \n\n","title":"exportObjectTML-formatType","type":"string","enum":["YAML","JSON"],"default":"YAML"},"exportAssociated":{"title":"exportObjectTML-exportAssociated","type":"string","enum":["true","false"],"description":"Specifies if you would like to export the associated objects. To export the objects associated with the objects specified in id, set the value to true. When set to true, the API exports any underlying worksheets, tables, or views for a given object.\n\n By default, the API does not export these underlying objects \n\n","default":"false"}},"required":["id"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successfully exported the requested object as TML"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To export ThoughtSpot objects represented in ThoughtSpot Modeling Language (TML), use this endpoint. \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/metadata/tml/import":{"post":{"operationId":"importObjectTML","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"objectTML":{"type":"array","items":{"type":"string"},"description":"A string array of TML objects to upload, in YAML or JSON format. \n\n If TML is in YAML format, then use new line characters when there is new line. \n\n Example TML: \n\n guid: 6d2c1c9b-a407-409c-8c0c-819aeb51350f\\ntable:\\n name: TESTINT\\n db: SUPPLYCHAIN_MAIN\\n schema: PUBLIC\\n db_table: TESTINT\\n connection:\\n name: SnowflakeConnection\\n columns:\\n - name: C1\\n db_column_name: C1\\n properties:\\n column_type: MEASURE\\n aggregation: SUM\\n index_type: DONT_INDEX\\n db_column_properties:\\n data_type: INT64\\n \n\n Example TML in JSON format: \n\n {\"guid\": \"6d2c1c9b-a407-409c-8c0c-819aeb51350f\", \"table\": {\"name\": \"TESTINT\", \"db\": \"SUPPLYCHAIN_MAIN\", \"schema\": \"PUBLIC\", \"db_table\": \"TESTINT\",\"connection\": { \"name\": \"SnowflakeConnection\" }, \"columns\": [ { \"name\": \"C1\", \"db_column_name\": \"C1\", \"properties\": { \"column_type\": \"MEASURE\", \"aggregation\": \"SUM\", \"index_type\": \"DONT_INDEX\" }, \"db_column_properties\": { \"data_type\": \"INT64\" } } ] } }"},"importPolicy":{"description":"Policy to follow during import. \n\n PARTIAL - Imports all objects that validate successfully, and ignores objects that do not validate successfully. \n\n ALL_OR_NONE Imports the objects that validate successfully. \n\n VALIDATE_ONLY Validates the objects but does not import them. \n\n","title":"importObjectTML-importPolicy","type":"string","enum":["PARTIAL","ALL_OR_NONE","VALIDATE_ONLY"],"default":"PARTIAL"},"forceCreate":{"title":"importObjectTML-forceCreate","type":"string","enum":["true","false"],"description":"Specifies if you are updating or creating objects. To create new objects, specify true. \n\n By default, ThoughtSpot updates existing objects that have the same GUID as the objects you are importing. When set to true, the GUID property in the imported TML is replaced on the server, and the response headers will include the id_guid property with the GUID of the new object. The new object will be assigned a new GUID, even if the imported TML file included a guid value. Thus, there is no need to include the guid in the TML file if you are using forceCreate=true. \n\n","default":"false"}},"required":["objectTML"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successfully imported the objects in TML"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Metadata"],"description":"To import ThoughtSpot objects represented in ThoughtSpot Modeling Language (TML), use this endpoint. \n\n Permission: Requires datamanagement privilge"}},"/tspublic/rest/v2/database":{"get":{"operationId":"getDatabases","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"description":"List of databases in Falcon"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Database"],"description":"Note: This endpoint is applicable only for on-prem deployments \n\n To list all the databases in Falcon, use this endpoint. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/database/schema":{"get":{"operationId":"getSchemas","parameters":[{"in":"query","name":"database","required":true,"schema":{"type":"string"},"description":"Name of the Falcon database"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"description":"List of schemas in Falcon Database provided in the request"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Database"],"description":"Note: This endpoint is applicable only for on-prem deployments \n\n To list all the schemas in a database in Falcon, use this endpoint. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/database/table":{"get":{"operationId":"getTables","parameters":[{"in":"query","name":"database","required":true,"schema":{"type":"string"},"description":"Name of the Falcon database"},{"in":"query","name":"schema","required":true,"schema":{"type":"string"},"description":"Name of the schema in Falcon database"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"description":"List of tables in the schema of Falcon Database provided in the request"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Database"],"description":"Note: This endpoint is applicable only for on-prem deployments. \n\n To list all the tables in a schema of a database in Falcon, use this endpoint. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/database/table/detail":{"get":{"operationId":"getTableDetails","parameters":[{"in":"query","name":"database","required":true,"schema":{"type":"string"},"description":"Name of the Falcon database"},{"in":"query","name":"schema","required":false,"schema":{"type":"string"},"description":"Name of the schema in Falcon database"},{"in":"query","name":"table","required":true,"schema":{"type":"string"},"description":"Name of the table in Falcon database"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Details of a table in the schema of Falcon Database provided in the request"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Database"],"description":"Note: This endpoint is applicable only for on-prem deployments. \n\n To provide details of a table in a schema of a database in Falcon, use this endpoint."}},"/tspublic/rest/v2/database/table/create":{"post":{"operationId":"createTable","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"createDatabase":{"title":"createTable-createDatabase","type":"string","enum":["true","false"],"description":"Flag to indicate if the database and schema should be created if they do not exist in Falcon. (Valid values: True/False) \n\n","default":"true"},"schema":{"type":"string","description":"DDL of the table to be created. \n\n Example: \n\n {\"database\":{\"name\":\"geo\"}, \n\n \"schema\":{\"name\":\"falcon_default_schema\"}, \n\n \"table\":{\"id\":{\"name\":\"test_table\"}, \n\n \"primary_key\":[{\"name\":\"test_pk\"}], \n\n \"column\":[ \n\n {\"id\":{\"name\":\"test_pk\"},\"size\":0,\"data_type\":\"TYPE_INT32\"}, \n\n {\"id\":{\"name\":\"test_col1\"},\"size\":0,\"data_type\":\"TYPE_FLOAT\"}, \n\n {\"id\":{\"name\":\"test_col2\"},\"data_type\":\"TYPE_INT64\",\"datetime\":\"TYPE_DATE\"}, \n\n {\"id\":{\"name\":\"test_col3\"},\"size\":10,\"data_type\":\"TYPE_VAR_CHAR\"} \n\n ] \n\n } \n\n }"}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTableResponse"}}},"description":"Details of the table created"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Database"],"description":"Note: This endpoint is applicable only for on-prem deployments. \n\n To create a table in Falcon, use this endpoint. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/database/table/runquery":{"post":{"operationId":"runQuery","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"statement":{"type":"array","items":{"type":"string"},"description":" A JSON array of TQL statements. \n\n Each TQL statement should end with semi-colon (;). \n\n The TQL operations that can be run through this API are restricted to create database and schema, alter table, delete and update table rows. \n\n If a TQL statement fails, then the subsequent statements in the array are not run. \n\n Example: \n\n alter table test_db.test_schema.test_table drop contraint primary key;"}},"required":["statement"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}},"description":"TQL statements included in the request and the status of each statement"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Database"],"description":"Note: This endpoint is applicable only for on-prem deployments. \n\n To run a TQL statement in Falcon, use this endpoint. \n\n You can run only following type of statements - Table DDL alter and Table rows update and delete. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/connection":{"get":{"operationId":"getConnection","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":"The GUID of the connection to query"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionResponse"}}},"description":"Details of the Connection"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Connection"],"description":"To get the details of a specific connection use this endpoint. \n\n Permission: Requires datamanagement privilege"}},"/tspublic/rest/v2/connection/database":{"get":{"operationId":"getConnectionDatabase","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":"The GUID of the connection"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"description":"List of databases in the data platform corresponding to the connection id provided."},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Connection"],"description":"To get the list of databases for a connection, use this endpoint. \n\n The response will include databases from the data platform corresponding to the connection id provided. \n\n Permission: Requires datamanagement privilege"}},"/tspublic/rest/v2/connection/table":{"post":{"operationId":"getConnectionTables","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the connection"},"configuration":{"type":"string","description":"A JSON object of the connection metadata. If this field is left empty, then the configuration saved in the connection is considered. \n\n To get the tables based on a different configuration, include required attributes in the connection configuration JSON. \n\n Example: \n\n Get tables from Snowflake with a different user account than specified in the connection: {\"user\":\"test_user\",\"password\":\"test_pwd\",\"role\":\"test_role\"} \n\n Get tables from Redshift for different database than specified in the connection: {\"database\":\"test_db\"} \n\n "},"includeColumn":{"title":"getConnectionTables-includeColumn","type":"string","enum":["true","false"],"description":"When set to true, the response will include column level details as well. \n\n","default":"true"}},"required":["id"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionTableResponse"}}},"description":"Table details in the data platform corresponding to the connection id provided."},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Connection"],"description":"To get the details of tables from a connection, use this endpoint. \n\n You can get the details of tables in the data platform for the connection id provided. \n\n Permission: Requires datamanagement privilege"}},"/tspublic/rest/v2/connection/tablecoloumn":{"post":{"operationId":"getConnectionTableColumns","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the connection"},"configuration":{"type":"string","description":"A JSON object of the connection metadata. If this field is left empty, then the configuration saved in the connection is considered. \n\n To get the tables based on a different configuration, include required attributes in the connection configuration JSON. \n\n Example: \n\n Get tables from Snowflake with a different user account than specified in the connection: {\"user\":\"test_user\",\"password\":\"test_pwd\",\"role\":\"test_role\"} \n\n Get tables from Redshift for different database than specified in the connection: {\"database\":\"test_db\"} \n\n "},"table":{"type":"array","items":{"$ref":"#/components/schemas/ConnectionTableColumnsInput"},"description":" A JSON object of database, schema and table combination \n\n","default":"true"}},"required":["id","table"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionTableColumnsResponse"}}},"description":"Column details for the tables provided in the request"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Connection"],"description":"To get the details of columns in a table associated to a connection, use this endpoint. \n\n You can get the columns of any table available in the data platform for the connection id provided. \n\n Permission: Requires datamanagement privilege"}},"/tspublic/rest/v2/connection/create":{"post":{"operationId":"createConnection","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"description":"Type of the data connection.","title":"createConnection-type","type":"string","enum":["SNOWFLAKE","AMAZON_REDSHIFT","GOOGLE_BIGQUERY","AZURE_SYNAPSE","TERADATA","STARBURST","SAP_HANA","ORACLE_ADW","DATABRICKS","DENODO","DREMIO"]},"name":{"type":"string","description":"Name of the connection"},"description":{"type":"string","description":"A short description of the connection."},"configuration":{"type":"string","description":"A JSON object of the connection metadata. The metadata must include configuration attributes required to create the connection. \n\n Example: \n\n Snowflake: {\"accountName\":\"testaccount\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"role\":\"test_role\",\"warehouse\":\"test_wh\",\"database\":\"test_db\"} \n\n Redshift: {\"host\":\"test_host\",\"port\":\"1234\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"database\":\"test_db\"} \n\n Google BigQuery: {\"project_id\":\"test_project\",\"oauth_pvt_key\":\"test_key\"} \n\n Azure Synapse: {\"host\":\"test_host\",\"port\":\"1234\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"database\":\"test_db\"} \n\n Teradata: {\"host\":\"test_host\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"database\":\"test_db\"} \n\n Oracle ADW: {\"user\":\"test_user\",\"password\":\"test_pwd\",\"net_service_name\":\"test_srvc_name\",\"tns_admin\":\"test_tns\",\"schema\":\"test_schema\"} \n\n Starburst: {\"host\":\"test_host\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"database\":\"test_db\"} \n\n Databricks: {\"host\":\"test_host\",\"http_path\":\"https://test \",\"user\":\"test_user\",\"password\":\"test_pwd\"} \n\n SAP HANA: {\"host\":\"test_host\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"database\":\"test_db\"} \n\n Denodo: {\"host\":\"test_host\",\"port\":\"1234\",\"user\":\"test_user\",\"password\":\"test_pwd\"} \n\n "}},"required":["type","name","configuration"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectionResponse"}}},"description":"Details of the connection created"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Connection"],"description":"To programmatically create a connection in the ThoughtSpot system use this API endpoint. \n\n Permission: Requires datamanagement privilege"}},"/tspublic/rest/v2/connection/update":{"put":{"operationId":"updateConnection","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the connection"},"name":{"type":"string","description":" The text to update the name of the connection."},"description":{"type":"string","description":"The text to update the description of the connection."},"configuration":{"type":"string","description":"A JSON object of the connection metadata. The metadata must include configuration attributes required to create the connection. \n\n Example: \n\n Snowflake: {\"accountName\":\"testaccount\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"role\":\"test_role\",\"warehouse\":\"test_wh\",\"database\":\"test_db\"} \n\n Redshift: {\"host\":\"test_host\",\"port\":\"1234\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"database\":\"test_db\"} \n\n Google BigQuery: {\"project_id\":\"test_project\",\"oauth_pvt_key\":\"test_key\"} \n\n Azure Synapse: {\"host\":\"test_host\",\"port\":\"1234\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"database\":\"test_db\"} \n\n Teradata: {\"host\":\"test_host\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"database\":\"test_db\"} \n\n Oracle ADW: {\"user\":\"test_user\",\"password\":\"test_pwd\",\"net_service_name\":\"test_srvc_name\",\"tns_admin\":\"test_tns\",\"schema\":\"test_schema\"} \n\n Starburst: {\"host\":\"test_host\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"database\":\"test_db\"} \n\n Databricks: {\"host\":\"test_host\",\"http_path\":\"https://test \",\"user\":\"test_user\",\"password\":\"test_pwd\"} \n\n SAP HANA: {\"host\":\"test_host\",\"user\":\"test_user\",\"password\":\"test_pwd\",\"database\":\"test_db\"} \n\n Denodo: {\"host\":\"test_host\",\"port\":\"1234\",\"user\":\"test_user\",\"password\":\"test_pwd\"} \n\n "}},"required":["id","configuration"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Connection successfully updated"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Connection"],"description":"You can use this endpoint to programmatically modify an existing connection \n\n Permission: Requires datamanagement privilege"}},"/tspublic/rest/v2/connection/delete":{"delete":{"operationId":"deleteConnection","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"array","items":{"type":"string"}},"description":"A JSON array of GUIDs of the connection"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Connection successfully deleted"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Connection"],"description":"To remove a connection from the ThoughtSpot system, use this endpoint. \n\n Permission: Requires datamanagement privilege"}},"/tspublic/rest/v2/connection/addtable":{"put":{"operationId":"addTableToConnection","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the connection"},"table":{"type":"array","items":{"$ref":"#/components/schemas/AddTableInput"}}},"required":["id","table"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully added table(s) to the connection"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Connection"],"description":"To programmatically add table to an existing connection, use this endpoint \n\n Permission: Requires datamanagement privilege"}},"/tspublic/rest/v2/connection/removetable":{"put":{"operationId":"removeTableFromConnection","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the connection"},"table":{"type":"array","items":{"$ref":"#/components/schemas/TableInput"},"description":"A JSON array of name or GUIDs of the table or both. \n\n At least one input is required. Provide either table name or id. When both are given then id is considered"}},"required":["id","table"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully removed table(s) from the connection"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Connection"],"description":"To programmatically remove a table from a connection, use API endpoint. \n\n Permission: Requires datamanagement privilege"}},"/tspublic/rest/v2/connection/search":{"post":{"operationId":"searchConnection","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"offset":{"type":"integer","format":"int32","description":"The offset point, starting from where the records should be included in the response. \n\n If no input is provided then offset starts from 0. \n\n","default":"0"},"batchNumber":{"type":"integer","format":"int32","description":"An alternate way to set offset for the starting point of the response. \n\n The value in offset field will not be considered if batchNumber field has value greater than 0. \n\n Offset value will be calculated as (batchNumber - 1) * batchSize. \n\n It is mandatory to provide a value for batchSize with batchNumber. \n\n "},"batchSize":{"type":"integer","format":"int32","description":"The number of records that should be included in the response starting from offset position. If no input is provided, then all records starting from the value provided in offset is included in the response."},"sortBy":{"description":"Field based on which the response needs to be ordered. \n\n","title":"searchConnection-sortBy","type":"string","enum":["DEFAULT","NAME","DISPLAY_NAME","AUTHOR","CREATED","MODIFIED","LAST_ACCESSED","SYNCED","VIEWS","NONE","USER_STATE","ROW_COUNT"],"default":"DEFAULT"},"sortOrder":{"description":"Order in which sortBy should be applied. \n\n","title":"searchConnection-sortOrder","type":"string","enum":["DEFAULT","ASC","DESC"],"default":"DEFAULT"},"type":{"description":" Type of the connect being searched. Valid values:","title":"searchConnection-type","type":"string","enum":["SNOWFLAKE","AMAZON_REDSHIFT","GOOGLE_BIGQUERY","AZURE_SYNAPSE","TERADATA","STARBURST","SAP_HANA","ORACLE_ADW","DATABRICKS","DENODO","DREMIO"]},"namePattern":{"type":"string","description":"A pattern to match the name of the connection. This parameter supports matching case-insensitive strings. For a wildcard match, use %."},"fetchId":{"type":"array","items":{"type":"string"},"description":"A JSON array containing the GUIDs of the connections that you want to fetch."},"skipId":{"type":"array","items":{"type":"string"},"description":"A JSON array containing the GUIDs of the connections that you want to skip."},"tag":{"type":"array","items":{"$ref":"#/components/schemas/TagNameAndIdInput"},"description":"A JSON array of name or GUID of tags or both. When both are given then id is considered"}},"required":["type"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConnectionResponse"}}}},"description":"Array of connection details matching the search criteria"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Connection"],"description":"To get the details of a specific connection or all connections in the ThoughtSpot system use this end point. \n\n Permission: Requires datamanagement privilege"}},"/tspublic/rest/v2/data/search":{"post":{"operationId":"searchQueryData","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"offset":{"type":"integer","format":"int32","description":"The offset point, starting from where the records should be included in the response. \n\n If no input is provided then offset starts from 0.","default":"0"},"batchNumber":{"type":"integer","format":"int32","description":"An alternate way to set offset for the starting point of the response. \n\n The value in offset field will not be considered if batchNumber field has value greater than 0. \n\n Offset value will be calculated as (batchNumber - 1) * batchSize. \n\n It is mandatory to provide a value for batchSize with batchNumber. \n\n Example: \n\n Assume response has 100 records. Now, batchNumber is set as 2 and batchSize as 10, then offset value will be 10. So, 10 records starting from 11th record will be considered."},"batchSize":{"type":"integer","format":"int32","description":"The number of records that should be included in the response starting from offset position. \n\n If no input is provided, then all records starting from the value provided in offset is included in the response."},"queryString":{"type":"string","description":"The data search query string. Example: [revenue] > 1000 [ship mode] = air"},"dataObjectId":{"type":"string","description":"The GUID of the data object, either a worksheet, a view, or a table."},"formatType":{"description":"The format of the data in the response. \n\n FULL: The response comes in \"column\":\"value\" format. \n\n COMPACT: The response includes only the value of the columns. \n\n","title":"searchQueryData-formatType","type":"string","enum":["COMPACT","FULL"],"default":"COMPACT"}},"required":["queryString","dataObjectId"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Data for the query string"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Data"],"description":"To programmatically retrieve data from ThoughtSpot using search query string, use this endpoint \n\n Permission: Requires at least view access to the dataobject and datadownloading privilege"}},"/tspublic/rest/v2/data/answer":{"post":{"operationId":"answerData","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"offset":{"type":"integer","format":"int32","description":"The offset point, starting from where the records should be included in the response. \n\n If no input is provided then offset starts from 0. \n\n","default":"0"},"batchNumber":{"type":"integer","format":"int32","description":"An alternate way to set offset for the starting point of the response. \n\n The value in offset field will not be considered if batchNumber field has value greater than 0. \n\n Offset value will be calculated as (batchNumber - 1) * batchSize. \n\n It is mandatory to provide a value for batchSize with batchNumber. \n\n Example: \n\n Assume response has 100 records. Now, batchNumber is set as 2 and batchSize as 10, then offset value will be 10. So, 10 records starting from 11th record will be considered."},"batchSize":{"type":"integer","format":"int32","description":"The number of records that should be included in the response starting from offset position. \n\n If no input is provided, then all records starting from the value provided in offset is included in the response."},"id":{"type":"string","description":"The GUID of the Answer"},"formatType":{"description":"The format of the data in the response. \n\n FULL: The response comes in \"column\":\"value\" format. \n\n COMPACT: The response includes only the value of the columns. \n\n","title":"answerData-formatType","type":"string","enum":["COMPACT","FULL"],"default":"COMPACT"}},"required":["id"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Data from the saved Answer"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Data"],"description":"To retrieve data related to a Answer from the ThoughtSpot system, you can use this endpoint. \n\n Permission: Requires at least view access to the object and datadownloading privilege"}},"/tspublic/rest/v2/data/liveboard":{"post":{"operationId":"liveboardData","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"offset":{"type":"integer","format":"int32","description":"The offset point, starting from where the records should be included in the response. \n\n If no input is provided then offset starts from 0. \n\n","default":"0"},"batchNumber":{"type":"integer","format":"int32","description":"An alternate way to set offset for the starting point of the response. \n\n The value in offset field will not be considered if batchNumber field has value greater than 0. \n\n Offset value will be calculated as (batchNumber - 1) * batchSize. \n\n It is mandatory to provide a value for batchSize with batchNumber. \n\n Example: \n\n Assume response has 100 records. Now, batchNumber is set as 2 and batchSize as 10, then offset value will be 10. So, 10 records starting from 11th record will be considered."},"batchSize":{"type":"integer","format":"int32","description":"The number of records that should be included in the response starting from offset position. \n\n If no input is provided, then all records starting from the value provided in offset is included in the response."},"id":{"type":"string","description":"The GUID of the Liveboard"},"transientContent":{"type":"string","description":" If you have embedded ThoughtSpot in your host application, and you want to download Liveboard data with unsaved changes then, pass the transient content from the browser fetch request, using the getExportRequestForCurrentPinboard method. For more information, see https://developers.thoughtspot.com/docs/?pageid=liveboard-export-api#transient-pinboard . If value for this field is provided, then id will not be considered."},"vizId":{"type":"array","items":{"type":"string"},"description":"A JSON array of GUIDs of the visualizations in the Liveboard. \n\n The vizId field will not be considered when transientContent input is provided."},"runtimeFilter":{"type":"string","description":"JSON object which contains filter condition to filter the data at the time of data retrieval. \n\n Example: {\"col1\":\"region\",\"op1\":\"EQ\",\"val1\":\"northeast\",\"col2\":\"date\",\"op2\":\"BET\",\"val2\":[\"1625126400000\",\"1625126400000\"]} \n\n For more information, see https://developers.thoughtspot.com/docs/?pageid=runtime-filters "},"runtimeSort":{"type":"string","description":"JSON object which provides columns to sort the data at the time of data retrieval. \n\n Example: {\"sortCol1\":\"region\",\"asc1\":true,\"sortCol2\":\"date\"} \n\n For more information, see https://developers.thoughtspot.com/docs/?pageid=runtime-filters "},"formatType":{"description":"The format of the data in the response. \n\n FULL: The response comes in \"column\":\"value\" format. \n\n COMPACT: The response includes only the value of the columns. \n\n","title":"liveboardData-formatType","type":"string","enum":["COMPACT","FULL"],"default":"COMPACT"}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Data from the saved Liveboard"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Data"],"description":"To retrieve data related to a Liveboard or visualization from the ThoughtSpot system, you can use this endpoint \n\n Permission: Requires at least view access to the object and datadownloading privilege"}},"/tspublic/rest/v2/data/answer/querysql":{"get":{"operationId":"answerQuerySql","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":"The GUID of the Answer"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnswerQueryResponse"}}},"description":"Query SQL for a saved Answer "},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Data"],"description":"To retrieve the query SQL related to an Answer that is run on the data platform, you can use this endpoint. \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/data/liveboard/querysql":{"get":{"operationId":"liveboardQuerySql","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":"The GUID of the Liveboard"},{"in":"query","name":"vizId","required":false,"schema":{"type":"array","items":{"type":"string"}},"description":"A JSON array of GUIDs of the visualizations in the Liveboard."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiveboardQueryResponse"}}},"description":"Query SQL for a visualization in a Liveboard"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Data"],"description":"To retrieve the query SQL related to a Visualization in a Liveboard that is run on the data platform, you can use this endpoint. \n\n Permission: Requires at least view access to the object"}},"/tspublic/rest/v2/report/answer":{"post":{"operationId":"answerReport","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the Answer to download."},"type":{"description":"Type of file to be generated. \n\n","title":"answerReport-type","type":"string","enum":["CSV","XLSX","PDF","PNG"],"default":"PDF"}},"required":["id","type"]}}},"required":true},"responses":{"200":{"description":"Downloaded file for the Answer data","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["report"],"description":"To programmatically download Answer data as a file, use this endpoint. \n\n The PDF will download data in the tabular format even if Answer is saved as chart. \n\n Permission: Requires at least view access to the object and datadownloading privilege"}},"/tspublic/rest/v2/report/liveboard":{"post":{"operationId":"liveboardReport","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the Liveboard to download. \n\n This field is considered only when no input is provided for transientContent field."},"vizId":{"type":"array","items":{"type":"string"},"description":"JSON Array of GUIDs of the visualizations in the Liveboard to be included in the downloaded file. \n\n For CSV, XLSX and PNG file download, visualization id is mandatory. CSV and XLSX is valid only for visualization of type table and PNG is valid for charts. \n\n Only one value will be accepted for these formats. If multiple values are provided then first value in the array will be considered."},"transientContent":{"type":"string","description":"If you have embedded ThoughtSpot in your host application, and you want to download Liveboards with unsaved changes as a file, pass the transient content from the browser fetch request, using the getExportRequestForCurrentPinboard method. For more information, see https://developers.thoughtspot.com/docs/?pageid=liveboard-export-api#transient-pinboard."},"runtimeFilter":{"type":"string","description":"JSON object which contains filter condition to filter the data at the time of data retrieval. \n\n Example: {\"col1\":\"region\",\"op1\":\"EQ\",\"val1\":\"northeast\",\"col2\":\"date\",\"op2\":\"BET\",\"val2\":[\"1625126400000\",\"1625126400000\"]} \n\n For more information, see https://developers.thoughtspot.com/docs/?pageid=runtime-filters"},"runtimeSort":{"type":"string","description":"JSON object which provides columns to sort the data at the time of data retrieval. \n\n Example: {\"sortCol1\":\"region\",\"asc1\":true,\"sortCol2\":\"date\"} \n\n For more information, see https://developers.thoughtspot.com/docs/?pageid=runtime-filters"},"type":{"description":"Type of file to be generated. \n\n","title":"liveboardReport-type","type":"string","enum":["CSV","XLSX","PDF","PNG"],"default":"PDF"},"pdfOptions":{"$ref":"#/components/schemas/pdfOptionsInput","description":"Additional options that are applicable for PDF type."}},"required":["type"]}}},"required":true},"responses":{"200":{"description":"Downloaded file for the Liveboard data","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["report"],"description":"To programmatically download Liveboard data or specific Visualization data from Liveboard as a file, use this endpoint \n\n Permission: Requires at least view access to the object and datadownloading privilege"}},"/tspublic/rest/v2/admin/configuration":{"get":{"operationId":"getClusterConfig","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Details of cluster configuration settings"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["admin"],"description":"To get details of the current configuration of a Thoughtspot cluster, use this endpoint. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/admin/configuration/overrides":{"get":{"operationId":"getClusterConfigOverrides","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Details of overrides of cluster configuration settings"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["admin"],"description":"To get the details of overrides to the Thoughtspot cluster configuration, use this endpoint. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/admin/configuration/update":{"put":{"operationId":"updateClusterConfig","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"configuration":{"type":"string","description":"A JSON file with the key-value pair of configuration attributes to be updated.\n\n Example: {\"defaultChartDataSize\": 5000}"}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully updated the cluster configuration settings"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["admin"],"description":"To update the Thoughtspot cluster configuration, use this endpoint. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/admin/resetpassword":{"put":{"operationId":"resetUserPassword","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"User name of the user account."},"id":{"type":"string","description":"The GUID of the user account to query."},"newPassword":{"type":"string","description":"A new password for the user."}},"required":["newPassword"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Password reset successful"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["admin"],"description":"To reset the password of a ThoughtSpot user account, use this endpoint. \n\n It is mandatory to use Authorization header with token of a user with admin access to successfully run this endpoint. \n\n At least one of User Id or username is mandatory. When both are given, then user id will be considered. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/admin/syncprincipal":{"put":{"operationId":"syncPrincipal","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"principalObject":{"type":"array","items":{"type":"object"},"description":"A JSON array of principal objects containing all users and groups present in the external system. \n\n Example: \n\n { \n\n \"name\": \"Customer Success\", \n\n \"displayName\": \"Customer Success\", \n\n \"description\": \"CS\", \n\n \"created\": 1568926267025, \n\n \"modified\": 1568926982242, \n\n \"principalTypeEnum\": \"LOCAL_GROUP\", \n\n \"groupNames\": [], \n\n \"visibility\": \"DEFAULT\" \n\n }, \n\n { \n\n \"name\": \"test\", \n\n \"displayName\": \"test one\", \n\n \"created\": 1587573621279, \n\n \"modified\": 1587573621674, \n\n \"mail\": \"[email protected]\", \n\n \"principalTypeEnum\": \"LOCAL_USER\", \n\n \"groupNames\": [ \"Administrator\", \"All\" ], \n\n \"visibility\": \"DEFAULT\" \n\n } \n\n You can leave the created and modified dates blank for new users. \n\n You can specify if the principal is a user (LOCAL_USER) or user group (LOCAL_GROUP) in the principalTypeEnum keyword. \n\n Set visibility to NON_SHARABLE, if you do not want the user to be able to share ThoughtSpot objects with other users in this group."},"updateModified":{"title":"syncPrincipal-updateModified","type":"string","enum":["true","false"],"description":"Specifies whether to apply the changes to users and groups already in the cluster based on the principal object list input. \n\n","default":"false"},"deleteRemoved":{"title":"syncPrincipal-deleteRemoved","type":"string","enum":["true","false"],"description":"Specifies whether to delete the users and groups already in the cluster if not present in the principal object list input. \n\n","default":"false"},"newUserPassword":{"type":"string","description":"Assign a password for new users added during the sync operation. \n\n All new users added will have this password. It is mandatory to provide value for this field if new users are included in the input list."}},"required":["principalObject"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminsyncPrincipalResponse"}}},"description":"Successfully synced the principals provided as input with the users and user groups in your Thoughtspot cluster."},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["admin"],"description":"To programmatically synchronize user accounts and user groups from external system with ThoughtSpot, use this endpoint. \n\n The payload takes principals containing all users and groups present in the external system. \n\n The users and user groups in Thoughtspot get updated for any matching inputs. \n\n Any user and user group present in the input, but not present in the cluster, gets created in cluster. \nn You can optionally choose to delete the user and groups from the cluster, that are not present in the input. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/admin/changeauthor":{"put":{"operationId":"changeAuthorOfObjects","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"tsObjectId":{"type":"array","items":{"type":"string"},"description":"A JSON array of GUIDs of the metadata objects. \n\n To change author of all the objects owned by a user, provide single input as ALL. \n\n If multiple object ids along with ALL is provided as input, then ALL will be considered."},"fromUser":{"$ref":"#/components/schemas/FromUserNameAndIDInput","description":"A JSON object of name or GUIDs of the current author of the objects. When both are given then id is considered. \n\n If a list of object ids are provided as input for tsObjectId, then only for those ids that have author as the value provided in fromUser, the author will be changed. \n\n Provide either name or id as input. When both are given user id will be considered."},"toUser":{"$ref":"#/components/schemas/ToUserNameAndIDInput","description":"A JSON object of name or GUIDs of the new author for the objects. When both are given then id is considered."}},"required":["tsObjectId","fromUser","toUser"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully changed the author for the objects provided in the request"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["admin"],"description":"To programmatically change the author of one or several objects from one user account to another, use this endpoint. \n\n You might want to change the author of objects from one user to another active user, when the account is removed from the ThoughtSpot application. \n\n Permission: Requires administration privilege"}},"/tspublic/rest/v2/admin/assignauthor":{"put":{"operationId":"assignAuthorToObjects","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"tsObjectId":{"type":"array","items":{"type":"string"},"description":"A JSON array of GUIDs of the metadata objects."},"name":{"type":"string","description":"User name of the user account."},"id":{"type":"string","description":"The GUID of the user account."}},"required":["tsObjectId"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully assigned the author to the objects provided in the request"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["admin"],"description":"To programmatically assign an author to one or several objects, use this endpoint. \n\n Provide either user name or id as input. When both are given user id will be considered. \n\n Requires administration privilege."}},"/tspublic/rest/v2/admin/forcelogout":{"post":{"operationId":"forceLogoutUsers","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"user":{"type":"array","items":{"$ref":"#/components/schemas/NameAndIdInput"},"description":" A JSON array of name of users or GUIDs of groups or both. When both are given then id is considered."}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully logged out the users included in the request"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["admin"],"description":"To logout one or more users from logged in session, use this endpoint. If no input is provided then all logged in users are force logged out. \n\n Requires administration privilege"}},"/tspublic/rest/v2/security/share/tsobject":{"post":{"operationId":"shareObject","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"description":"Type of metadata object","title":"shareObject-type","type":"string","enum":["LIVEBOARD","ANSWER","DATAOBJECT","COLUMN"]},"id":{"type":"array","items":{"type":"string"},"description":"A JSON array of the GUIDs of the objects to be shared"},"permission":{"type":"string","description":"A JSON object with GUIDs of user and user group, and the type of access privilge. \n\n You can provide READ_ONLY or MODIFY access to the objects. With READ_ONLY access, the user or user group can view the shared object, whereas MODIFY access enables users to modify the object. \n\n To remove access to a shared object, you can set the shareMode in the permission string to NO_ACCESS. Example: \n\n {\"permissions\": {\"e7040a64-7ff1-4ab9-a1b0-f1acac596866\": {\"shareMode\": \"READ_ONLY\"}, \"f7b8f511-317c-485d-8131-26cf084ef47b\": {\"shareMode\": \"MODIFY\"}, \"7a9a6715-e154-431b-baaf-7b58246c13dd\":{\"shareMode\":\"NO_ACCESS\"}}}"},"emailId":{"type":"array","items":{"type":"string"},"description":"The email addresses that should be notified when the objects are shared."},"notify":{"title":"shareObject-notify","type":"string","enum":["true","false"],"description":"When set to true, a notification is sent to the users after an object is shared. \n\n ","default":"true"},"message":{"type":"string","description":"The message text to send in the notification email"},"includeCustomEmbedUrl":{"title":"shareObject-includeCustomEmbedUrl","type":"string","enum":["true","false"],"description":"When set to true, ThoughtSpot sends a link with the host application context to allow users to access the shared object from their ThoughtSpot embedded instance. \n\n","default":"false"}},"required":["type","id","permission"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully shared the objects to the users and user groups as per the request"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Security"],"description":"To programmatically share ThoughtSpot objects with another user or user group, use this endpoint. \n\n When you share an object like a Liveboard or visualization, a notification with a live link is sent to the user. When the users access this object, they can view the last saved version of the object. \n\n Requires privilege to share the object"}},"/tspublic/rest/v2/security/share/visualization":{"post":{"operationId":"shareVisualization","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"The GUID of the Liveboard to be shared"},"vizId":{"type":"string","description":"The GUID of visualization"},"principalId":{"type":"array","items":{"type":"string"},"description":"The GUID of the users and user groups with which you want to share the visualization"},"emailId":{"type":"array","items":{"type":"string"},"description":"The email addresses that should ne notified when the objects are shared."},"notify":{"title":"shareVisualization-notify","type":"string","enum":["true","false"],"description":"When set to true, a notification is sent to the users after an object is shared. \n\n ","default":"true"},"message":{"type":"string","description":"The message text to send in the notification email"},"includeCustomEmbedUrl":{"title":"shareVisualization-includeCustomEmbedUrl","type":"string","enum":["true","false"],"description":"When set to true, ThoughtSpot sends a link with the host application context to allow users to access the shared object from their ThoughtSpot embedded instance. \n\n","default":"false"}},"required":["id","vizId","principalId"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"boolean"}}},"description":"Successfully shared the visualization in the liveboard to the users and user groups as per the request"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Security"],"description":"If you want to share a specific visualization from a Liveboard with another user or user group, then use this endpoint. \n\n When you share a visualization, a notification with a live link is sent to the user. When the users access this Liveboard, they can view the last saved version of the visualization. \n\n Requires privilege to share the visualization"}},"/tspublic/rest/v2/security/permission/tsobject":{"get":{"operationId":"getPermissionOnObject","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":"GUID of the metadata object for which the permission needs to be obtained."},{"in":"query","name":"type","required":true,"schema":{"title":"getPermissionOnObject-type","type":"string","enum":["LIVEBOARD","ANSWER","DATAOBJECT","COLUMN"]},"description":"Type of metadata object"},{"in":"query","name":"includeDependent","required":false,"schema":{"type":"boolean"},"description":"When this field is set to true, the API response includes the permission details for the dependent objects. \n\n"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityPermissionResponse"}}},"description":"List of user and user groups that have VIEW or MODIFY access to the object"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Security"],"description":"To list the permissions for user and user groups on an object, use this endpoint. The response will include only those users and groups with have either VIEW OR MODIFY permission. \n\n You can optionally see the permission on the dependent objects as well by enabling includeDependent field. \n\n Requires administration privilege"}},"/tspublic/rest/v2/security/permission/principal":{"get":{"operationId":"getPermissionForPrincipal","parameters":[{"in":"query","name":"id","required":false,"schema":{"type":"string"},"description":"GUID of the user or user group for which the object permission needs to be obtained"},{"in":"query","name":"name","required":false,"schema":{"type":"string"},"description":" Name of the user or user group for which the object permission needs to be obtained"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrincipalSearchResponse"}}},"description":"List of objects on which the user or user group has VIEW or MODIFY access"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Security"],"description":"Use this endpoint to list the objects on which a user or user group has permission. The response will include only those objects on which the user or user group has either VIEW OR MODIFY permission. \n\n Provide at least one of id or name. When both are given then id is considered.\n\n Requires administration privilege"}},"/tspublic/rest/v2/security/permission/tsobject/search":{"post":{"operationId":"searchPermissionOnObjects","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"tsObject":{"type":"array","items":{"$ref":"#/components/schemas/TsObjectSearchInput"},"description":" A JSON Array of GUIDs and type of metadata object."},"principal":{"type":"array","items":{"$ref":"#/components/schemas/UserNameAndIDInput"},"description":"A JSON array of principal names or GUIDs. When both are given then id is considered."},"includeDependent":{"title":"searchPermissionOnObjects-includeDependent","type":"string","enum":["true","false"],"description":"When this field is set to true, the API response includes the permission details for the dependent objects","default":"false"}},"required":["tsObject"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SecurityPermissionResponse"}}}},"description":"List of user and user groups that have VIEW or MODIFY access to the objects"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Security"],"description":"To list the permissions for user and user groups on a list of objects, use this endpoint. The response will include only those users and groups that has either VIEW OR MODIFY permission. \n\n Provide list of object ids and its type to list the permissions for. \n\n You can optionally provide users or user groups for which the persmission needs to be displayed. \n\n You can optionally see the permission on the dependent objects as well by enabling includeDependent field. \n\n Requires administration privilege"}},"/tspublic/rest/v2/security/permission/principal/search":{"post":{"operationId":"searchPermissionForPrincipals","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"principal":{"type":"array","items":{"$ref":"#/components/schemas/UserNameAndIDInput"},"description":" A JSON array of principal names or GUIDs to be included in the request. When both are given then id is considered."},"tsObject":{"type":"array","items":{"$ref":"#/components/schemas/TsObjectSearchInput"},"description":" A JSON Array of GUIDs and type of metadata object."}},"required":["principal"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PrincipalSearchResponse"}}}},"description":"List of objects on which the users or user groups has VIEW or MODIFY access"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Security"],"description":"Use this endpoint to list the objects on which a user or user group has permission. The response will include only those objects on which the user or user group has either VIEW OR MODIFY permission. \n\n You can optionally provide list of object ids for which the persmission needs to be displayed. \n\n Requires administration privilege"}},"/tspublic/rest/v2/logs/events":{"get":{"operationId":"getLogEvents","parameters":[{"in":"query","name":"topic","required":true,"schema":{"title":"getLogEvents-topic","type":"string","enum":["security_logs"],"default":"security_logs"},"description":"Type of the log. \n\n"},{"in":"query","name":"fromEpoch","required":false,"schema":{"type":"string"},"description":"The EPOCH time in milliseconds to set the start time for streaming logs. \n\n Example: To set the timestamp as June 1, 2021 8 am, specify 1622534400000."},{"in":"query","name":"toEpoch","required":false,"schema":{"type":"string"},"description":"The EPOCH time in milliseconds to set the end time for streaming logs. \n\n Example: To set the timestamp as July 1, 2021, 8 am, specify 1625126400000."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogsResponse"}}},"description":"Events from the topic specified for the time duration provided"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["logs"],"description":"Note: This endpoint is applicable only for SAAS deployments. \n\n The ThoughtSpot log streaming service API allows you to programmatically get a security audit event log from the ThoughtSpot system. \n\n ThoughtSpot cloud deployments allow you to collect security audit events and send them to your Security information and event management (SIEM) application in real-time. \n\n These events can help your security operations personnel to detect potential security threats or compromised user accounts in your organization. \n\n Permission: Requires administration privilege."}},"/tspublic/rest/v2/materialization/refreshview":{"put":{"operationId":"refreshMaterializedView","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"GUID of metadata object"}},"required":["id"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successfully refreshed the data in the materialized view"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["materialization"],"description":"Use this endpoint to refresh data in the materialized view by running the query associated with it"}},"/tspublic/rest/v2/customaction":{"get":{"operationId":"getCustomAction","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":"GUID of the custom action"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON data for the specified custom action ID"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["CustomActions"],"description":"To get details of a specific custom action configured in the ThoughtSpot system, use this endpoint"}},"/tspublic/rest/v2/customaction/create":{"post":{"operationId":"createCustomAction","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"configuration":{"type":"string","description":"A JSON object with the key-value pair of configuration attributes \n\n Example: \n\n {\"id\":\"3f7eac93-cce1-4ffc-b7a8-429353edbc6b\",\"name\":\"unpkg test\",\"version\":\"v2\",\"type\":\"URL\",\"detail\":{\"link\":\"https://unpkg.com \",\"function\":\"unpkg-test\",\"authSelect\":\"BEARER\",\"authToken\":\"asdfasadf3q4534534\",\"encodeUser\":\"\",\"apiKey\":\"X-API-KEY\",\"apiValue\":\"\",\"additionalUrlHeaders\":\"{\\\\\"url_header1\\\\\":{\\\\\"id\\\\\":\\\\\"6a82908c-9328-40ff-b347-65adeda12f57\\\\\",\\\\\"key\\\\\":\\\\\"key1\\\\\",\\\\\"value\\\\\":\\\\\"value1\\\\\"}}\"},\"actionAssociationMap\":{\"ANSWER\":{\"e4079d3f-ae71-4b0a-a70a-f17ecaf157a5\":{\"enabled\":\"true\",\"context\":\"MENU\"}}},\"context\":\"NONE\",\"availability\":[\"GLOBAL\"],\"userGroupList\":[\"d0326b56-ef23-4c8a-8327-a30e99bcc72b\"]}"}},"required":["configuration"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON data of custom action created"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["CustomActions"],"description":"To programmatically create custom actions on ThoughtSpot clusters that support embedding configuration, use this endpoint"}},"/tspublic/rest/v2/customaction/update":{"put":{"operationId":"updateCustomAction","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the custom action"},"configuration":{"type":"string","description":"A JSON object with the key-value pair of configuration attributes \n\n Example: \n\n {\"id\":\"3f7eac93-cce1-4ffc-b7a8-429353edbc6b\",\"name\":\"unpkg test\",\"version\":\"v2\",\"type\":\"URL\",\"detail\":{\"link\":\"https://unpkg.com \",\"function\":\"unpkg-test\",\"authSelect\":\"BEARER\",\"authToken\":\"asdfasadf3q4534534\",\"encodeUser\":\"\",\"apiKey\":\"X-API-KEY\",\"apiValue\":\"\",\"additionalUrlHeaders\":\"{\\\\\"url_header1\\\\\":{\\\\\"id\\\\\":\\\\\"6a82908c-9328-40ff-b347-65adeda12f57\\\\\",\\\\\"key\\\\\":\\\\\"key1\\\\\",\\\\\"value\\\\\":\\\\\"value1\\\\\"}}\"},\"actionAssociationMap\":{\"ANSWER\":{\"e4079d3f-ae71-4b0a-a70a-f17ecaf157a5\":{\"enabled\":\"true\",\"context\":\"MENU\"}}},\"context\":\"NONE\",\"availability\":[\"GLOBAL\"],\"userGroupList\":[\"d0326b56-ef23-4c8a-8327-a30e99bcc72b\"]}"}},"required":["id","configuration"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON data for the specified custom action ID"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["CustomActions"],"description":"To programmatically edit an existing custom action, use this endpoint "}},"/tspublic/rest/v2/customaction/delete":{"delete":{"operationId":"deleteCustomAction","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":"GUID of the custom action"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON response indicating that the specified action ID is no longer available"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["CustomActions"],"description":"To programmatically delete a custom action, use this endpoint"}},"/tspublic/rest/v2/customaction/search":{"post":{"operationId":"searchCustomAction","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"tag":{"type":"array","items":{"type":"string"},"description":" A JSON array of tag GUIDs. \n\n If tags are applied to worksheets, search answers, or Liveboard visualizations, and custom actions are associated to these objects, you can use this parameter to filter the custom action data by tags."}}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON data of custom action based on the request"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["CustomActions"],"description":"To search custom actions available on a ThoughtSpot instance, use this endpoint"}},"/tspublic/rest/v2/customaction/association":{"get":{"operationId":"getCustomActionAssociation","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":" GUID of the custom action"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON data with the action association map for the specified custom action ID"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["CustomActions"],"description":"ThoughtSpot supports associating custom actions to Liveboards, answers, and worksheets. To get the details of the ThoughtSpot objects associated with a custom action, use this endpoint."}},"/tspublic/rest/v2/customaction/association/update":{"put":{"operationId":"updateCustomActionAssociation","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the custom action"},"association":{"type":"string","description":"A JSON map of the attributes for associating the action to a ThoughtSpot object ID \n\n Example: \n\n {\"id\":\"0dbd5b3a-84c1-4407-9803-cf07d67e6fcf\",\"name\":\"My worksheet action\",\"version\":\"v2\",\"type\":\"URL\",\"detail\":{\"link\":\"https://unpkg.com \",\"function\":\"my-worksheet-action\",\"authSelect\":\"NONE\",\"authToken\":\"\",\"encodeUser\":\"\",\"apiKey\":\"X-API-KEY\",\"apiValue\":\"\",\"additionalUrlHeaders\":\"{}\"},\"actionAssociationMap\":{\"WORKSHEET\":{\"2b9d083a-275c-4984-9cfe-90b036affa17\":{\"enabled\":\"true\",\"context\":\"PRIMARY\"}}},\"context\":\"NONE\",\"availability\":[ ],\"userGroupList\":[\"d0326b56-ef23-4c8a-8327-a30e99bcc72b\"]}"}},"required":["id","association"]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON data with the action association map"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["CustomActions"],"description":"To programmatically associate a custom action to a ThoughtSpot object, use this endpoint"}},"/tspublic/rest/v2/customactions/association/delete":{"delete":{"operationId":"deleteCustomActionAssociation","parameters":[{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":"GUID of the custom action"},{"in":"query","name":"association","required":true,"schema":{"type":"string"},"description":" A JSON map of the attributes with association of the action to ThoughtSpot object ID \n\n Example: \n\n {\"id\":\"0dbd5b3a-84c1-4407-9803-cf07d67e6fcf\",\"name\":\"My worksheet action\",\"version\":\"v2\",\"type\":\"URL\",\"detail\":{\"link\":\"https://unpkg.com \",\"function\":\"my-worksheet-action\",\"authSelect\":\"NONE\",\"authToken\":\"\",\"encodeUser\":\"\",\"apiKey\":\"X-API-KEY\",\"apiValue\":\"\",\"additionalUrlHeaders\":\"{}\"},\"actionAssociationMap\":{\"WORKSHEET\":{\"2b9d083a-275c-4984-9cfe-90b036affa17\":{\"enabled\":\"true\",\"context\":\"PRIMARY\"}}},\"context\":\"NONE\",\"availability\":[ ],\"userGroupList\":[\"d0326b56-ef23-4c8a-8327-a30e99bcc72b\"]}"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON data with the updated JSON map of the custom action"},"500":{"description":"Operation failed or unauthorized request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["CustomActions"],"description":"To remove custom action associations to ThoughtSpot objects, use this endpoint"}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","x-additional-headers":[{"name":"Accept-Language","description":"response format","schema":{"default":"*"}},{"name":"Content-Type","description":"body content type for post request","schema":{"default":"application/json"}}]}},"schemas":{"SessionLoginResponse":{"type":"object","properties":{"userName":{"type":"string","description":"Username of the user account for which token is generated"},"token":{"type":"string","description":"Bearer token generated. This will be blank when token type is Cookie"},"tokenCreatedTime":{"type":"string","description":"Date and time at which the token is generated"},"tokenExpiryDuration":{"type":"string","description":"Duration in seconds after which the token expires"},"tokenType":{"type":"string","description":"Type of token generated"}},"description":"Login response"},"GroupNameAndIDInput":{"type":"object","properties":{"name":{"type":"string","description":"Name of the group"},"id":{"type":"string","description":"GUID of the group"}}},"GroupNameAndID":{"type":"object","properties":{"name":{"type":"string","description":"Name of the group"},"id":{"type":"string","description":"GUID of the group"}}},"UserNameAndID":{"type":"object","properties":{"name":{"type":"string","description":"Username of the user"},"id":{"type":"string","description":"GUID of the user"}}},"UserNameAndIDInput":{"type":"object","properties":{"name":{"type":"string","description":"Username of the user"},"id":{"type":"string","description":"GUID of the user"}}},"UserResponse":{"type":"object","properties":{"name":{"type":"string","description":"Username of the user account"},"displayName":{"type":"string","description":"Display name of the user account"},"id":{"type":"string","description":"GUID of the user account"},"visibility":{"type":"string","description":"Visibility of the user account"},"mail":{"type":"string","description":"Email of the user account"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndID"},"description":"Name of the group to which user account is added"},"privileges":{"type":"array","items":{"type":"string"},"description":"Privileges assigned to user account"},"orgs":{"type":"array","items":{"$ref":"#/components/schemas/OrgType"},"description":"The organizations that user belongs to"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags assigned to the user"},"state":{"type":"string","description":"Indicates if the user account is active or inactive"},"notifyOnShare":{"type":"boolean","description":"Indicates if the email should be sent when object is shared with the user"},"showWalkMe":{"type":"boolean","description":"Indicates if the walk me should be shown when logging in"},"analystOnboardingComplete":{"type":"boolean","description":"Indicates if the onboarding is completed for the user"},"firstLogin":{"type":"integer","format":"int32","description":"Indicates if the use is logging in for the first time"},"welcomeEmailSent":{"type":"boolean","description":"Indicates if the welcome email is sent to email associated with the user account"},"isDeleted":{"type":"boolean","description":"Indicates if the user account is deleted"},"isHidden":{"type":"boolean","description":"Indicates if the user account is hidden"},"isExternal":{"type":"boolean","description":"Indicates if the user account is from external system\nisDeprecated"},"isDeprecated":{"type":"boolean"},"complete":{"type":"boolean","description":"Indicates if the all the properties of user account is provided"},"isSuperUser":{"type":"boolean","description":"Indicates if the user account is super user"},"isSystemPrincipal":{"type":"boolean","description":"Indicates if the user account is system principal"},"type":{"type":"string","description":"Indicates the type of user account"},"parenttype":{"type":"string","description":"Indicates the type of parent object"},"tenantId":{"type":"string","description":"Tenant id associated with the user account"},"indexVersion":{"type":"number","format":"float"},"generationNum":{"type":"number","format":"float"},"created":{"type":"number","format":"float","description":"Date and time when user account was created"},"modified":{"type":"number","format":"float","description":"Date and time of last modification of user account"},"author":{"$ref":"#/components/schemas/UserNameAndID","description":"Author of the user account"},"modifiedBy":{"$ref":"#/components/schemas/UserNameAndID","description":"The user which last modified the user account details"},"owner":{"$ref":"#/components/schemas/UserNameAndID","description":"Owner of the user account"}}},"PinboardDetails":{"type":"object","properties":{"pinboardId":{"type":"string","description":"pinboard id of recently pinned pinboard"},"pinboardName":{"type":"string","description":"pinboard name of recently pinned pinboard"},"tabId":{"type":"string","description":"tab id of recently pinned tab"},"tabName":{"type":"string","description":"tab name of recently pinned tab"}}},"GroupResponse":{"type":"object","properties":{"name":{"type":"string","description":"Name of the group"},"displayName":{"type":"string","description":"A unique display name string for the user group"},"id":{"type":"string","description":"GUID of the group"},"visibility":{"type":"string","description":"Visibility of the group"},"description":{"type":"string","description":"Description of the group"},"privileges":{"type":"array","items":{"type":"string"},"description":"Privileges assigned to the group"},"orgs":{"type":"array","items":{"$ref":"#/components/schemas/OrgType"},"description":"The organizations that user belongs to"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupNameAndID"},"description":"Name of the group to which is added"},"users":{"type":"array","items":{"$ref":"#/components/schemas/UserNameAndID"},"description":"User Group Information by Id or Name."},"assignedLiveboards":{"type":"array","items":{"$ref":"#/components/schemas/LiveboardNameAndID"},"description":"Liveboards assigned to the group"},"userGroupContent":{"type":"object"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags assigned to the group"},"isDeleted":{"type":"boolean","description":"Indicates if the group is deleted"},"isHidden":{"type":"boolean","description":"Indicates if the group is hidden"},"isExternal":{"type":"boolean","description":"Indicates if the group is from external system"},"isDeprecated":{"type":"boolean"},"complete":{"type":"boolean","description":"Indicates if the all the properties of group is provided"},"isSystemPrincipal":{"type":"boolean","description":"Indicates if the group is system principal"},"type":{"type":"string","description":"Indicates the type of group"},"parenttype":{"type":"string","description":"Indicates the type of parent object"},"groupIdx":{"type":"integer","format":"int32"},"metadataVersion":{"type":"integer","format":"int32"},"tenantId":{"type":"string","description":"Tenant id associated with the group"},"indexVersion":{"type":"number","format":"float"},"generationNum":{"type":"number","format":"float"},"created":{"type":"number","format":"float","description":"Date and time when group was created"},"modified":{"type":"number","format":"float","description":"Date and time of last modification of the group"},"author":{"$ref":"#/components/schemas/UserNameAndID","description":"Author of user group"},"modifiedBy":{"$ref":"#/components/schemas/UserNameAndID","description":"The user which last modified the user group details"},"owner":{"$ref":"#/components/schemas/UserNameAndID","description":"The owner of the user group"}}},"LiveboardNameAndID":{"type":"object","properties":{"name":{"type":"string","description":"Name of the liveboard"},"id":{"type":"string","description":"GUID of the liveboard"}}},"MetadataTagResponse":{"type":"object","properties":{"name":{"type":"string","description":"Name of the tag"},"id":{"type":"string","description":"GUID of the tag"},"clientState":{"$ref":"#/components/schemas/ClientState","description":"State associated with the tag"},"indexVersion":{"type":"number","format":"float"},"generationNum":{"type":"number","format":"float"},"isDeleted":{"type":"boolean","description":"Indicates if the tag is deleted"},"isHidden":{"type":"boolean","description":"Indicates if the tag is hidden"},"isExternal":{"type":"boolean","description":"Indicates if the tag is from external system"},"isDeprecated":{"type":"boolean"},"created":{"type":"number","format":"float","description":"Date and time when group was created"},"modified":{"type":"number","format":"float","description":"Date and time of last modification of the group"},"modifiedBy":{"$ref":"#/components/schemas/TagNameAndID","description":"The user which last modified the tag details"},"author":{"$ref":"#/components/schemas/TagNameAndID","description":"Author of tag"},"owner":{"$ref":"#/components/schemas/TagNameAndID","description":"The owner of the tag"}}},"ClientState":{"type":"object","properties":{"color":{"type":"string","description":"Color assigned to the tag"}}},"TagNameAndID":{"type":"object","properties":{"name":{"type":"string","description":"Name of the group to which group is added"},"id":{"type":"string","description":"GUID of the group to which group is added"}}},"TsObjectInput":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"GUID of the metadata object"},"type":{"type":"string","enum":["ANSWER","LIVEBOARD","DATAOBJECT","CONNECTION"],"description":"Type of the metadata object","title":"TsObjectInput-type"}}},"HomeLiveboardResponse":{"type":"object","properties":{"userName":{"type":"string","description":"Name of the user"},"userId":{"type":"string","description":"The GUID of the user"},"liveboardName":{"type":"string","description":"Name of the liveboard"},"liveboardId":{"type":"string","description":"The GUID of the liveboard"}}},"AccessLevelInput":{"type":"object","properties":{"name":{"type":"string","description":"Username or name of the user group"},"id":{"type":"string","description":"GUID of the user or user group"},"type":{"type":"string","enum":["USER","USER_GROUP"],"description":"Type of access detail provided","title":"AccessLevelInput-type"},"access":{"type":"string","enum":["READ_ONLY","MODIFY"],"description":"Minimum access level that the specified user or user group has. If no input is provided then minimum access of READ_ONLY will be considered.","title":"AccessLevelInput-access"}}},"TagNameAndIdInput":{"type":"object","properties":{"name":{"type":"string","description":"Name of the tags"},"id":{"type":"string","description":"GUID of the tags"}}},"NameAndIdInput":{"type":"object","properties":{"name":{"type":"string","description":"Name of the user"},"id":{"type":"string","description":"GUID of the user"}}},"ConnectionResponse":{"type":"object","properties":{"name":{"type":"string","description":"Name of the connection"},"description":{"type":"string","description":"Description associated with the connection"},"type":{"type":"string","description":"Type of the connection. The database associated with this type can be obtained from the response returned by the /tspublic/rest/v2/connection/types API endpoint."},"id":{"type":"string","description":"GUID of the connection"},"scheduled":{"type":"boolean","description":"Indicates if the data sync is scheduled for this connection"},"connectionType":{"type":"string"},"configuration":{"type":"string","description":"Configuration properties of the connection"},"isExternal":{"type":"boolean"},"isDeprecated":{"type":"boolean","description":"Indicates if the connection is deprecated"},"isDeleted":{"type":"boolean","description":"Indicates if the connection is deleted"},"isHidden":{"type":"boolean","description":"Indicates if the connection is hideen"},"complete":{"type":"boolean","description":"Indicates if the all the properties of connection is provided"},"indexVersion":{"type":"number","format":"float"},"generationNum":{"type":"number","format":"float"},"created":{"type":"string","description":"Date and time when the connection was created"},"modified":{"type":"string","description":"Date and time of last modification of the connection"},"author":{"$ref":"#/components/schemas/UserNameAndID","description":"Author of the connection"},"modifiedBy":{"$ref":"#/components/schemas/UserNameAndID","description":"The user which last modified the connection details"},"owner":{"$ref":"#/components/schemas/UserNameAndID","description":"The owner of the connection"},"tags":{"type":"array","items":{"type":"string"},"description":"List of tags assigned to the connection"},"tables":{"type":"array","items":{"$ref":"#/components/schemas/tableList"},"description":"List of tables linked to this connection"}}},"CreateConnectionResponse":{"type":"object","properties":{"name":{"type":"string","description":"Name of the connection"},"description":{"type":"string","description":"Description associated with the connection"},"type":{"type":"string","description":"Type of the connection. The database associated with this type can be obtained from the response returned by the /tspublic/rest/v2/connection/types API endpoint."},"id":{"type":"string","description":"GUID of the connection"},"scheduled":{"type":"boolean","description":"Indicates if the data sync is scheduled for this connection"},"connectionType":{"type":"string"},"configuration":{"type":"string","description":"Configuration properties of the connection"},"isExternal":{"type":"boolean"},"isDeprecated":{"type":"boolean","description":"Indicates if the connection is deprecated"},"isDeleted":{"type":"boolean","description":"Indicates if the connection is deleted"},"isHidden":{"type":"boolean","description":"Indicates if the connection is hideen"},"complete":{"type":"boolean","description":"Indicates if the all the properties of connection is provided"},"indexVersion":{"type":"number","format":"float"},"generationNum":{"type":"number","format":"float"},"created":{"type":"string","description":"Date and time when user account was created"},"modified":{"type":"string","description":"Date and time of last modification of user account"},"author":{"$ref":"#/components/schemas/UserNameAndID","description":"Author of user account"},"modifiedBy":{"$ref":"#/components/schemas/UserNameAndID","description":"The user which last modified the user account details"},"owner":{"$ref":"#/components/schemas/UserNameAndID","description":"The owner of the user account"},"tags":{"type":"array","items":{"type":"string"},"description":"List of tags assigned to the connection"},"tables":{"type":"array","items":{"type":"string"},"description":"List of tables linked to this connection and details of the columns in the table"}}},"AddTableInput":{"type":"object","required":["name","dbName","schemaName","columns"],"properties":{"name":{"type":"string","description":"Name of the table"},"dbName":{"type":"string","description":"Name of the database in the data platform"},"schemaName":{"type":"string","description":"Name of the schema in the database"},"columns":{"type":"array","description":"A JSON array of column details","items":{"$ref":"#/components/schemas/ColumnsInput"}}}},"TableInput":{"type":"object","properties":{"name":{"type":"string","description":"Name of the table"},"id":{"type":"string","description":"GUID of the Table"}}},"ConnectionTableResponse":{"type":"object","properties":{"id":{"type":"string","description":"Connection id"},"database":{"type":"array","items":{"$ref":"#/components/schemas/ConnectionDatabaseType"},"description":"List of databases"}}},"ConnectionTableColumnsResponse":{"type":"object","properties":{"id":{"type":"string","description":"Connection id"},"table":{"type":"array","items":{"$ref":"#/components/schemas/ConnectionColumnsShema"},"description":"List of table details"}}},"AnswerQueryResponse":{"type":"object","properties":{"name":{"type":"string","description":"The name of the saved Answer"},"id":{"type":"string","description":"The GUID of the saved Answer"},"querySql":{"type":"string","description":"SQL query associated with the saved Answer"}}},"LiveboardQueryResponse":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Liveboard"},"id":{"type":"string","description":"The GUID of the Liveboard"},"viz":{"type":"array","items":{"$ref":"#/components/schemas/VizType"},"description":"SQL query associated with the saved Answer"}}},"FromUserNameAndIDInput":{"type":"object","properties":{"name":{"type":"string","description":"Username of the user"},"id":{"type":"string","description":"GUID of the user"}},"description":"A JSON object of name or GUIDs of the current owner of the objects. When both are given then id is considered. \n\nIf a list of object ids are provided as input for TsObjectId, then only for those ids that have owner as the value provided in fromUser, the owner will be changed. \n\nProvide either name or id as input. When both are given user id will be considered."},"ToUserNameAndIDInput":{"type":"object","properties":{"name":{"type":"string","description":"Username of the user"},"id":{"type":"string","description":"GUID of the user"}},"description":"A JSON object of name or GUIDs of the new owner for the objects. When both are given then id is considered."},"AdminsyncPrincipalResponse":{"type":"object","properties":{"usersAdded":{"type":"array","items":{"type":"string"},"description":"Username of list of users added"},"usersDeleted":{"type":"array","items":{"type":"string"},"description":"Username of list of users deleted"},"usersUpdated":{"type":"array","items":{"type":"string"},"description":"Username of list of users updated"},"groupsAdded":{"type":"array","items":{"type":"string"},"description":"Group name of list of groups added"},"groupsDeleted":{"type":"array","items":{"type":"string"},"description":"Group name of list of groups deleted"},"groupsUpdated":{"type":"array","items":{"type":"string"},"description":"Group name of list of groups updated"}}},"pdfOptionsInput":{"type":"object","properties":{"orientation":{"type":"string","enum":["PORTRAIT","LANDSCAPE"],"description":"Page orientation for the PDF. Default: PORTRAIT","title":"pdfOptionsInput-orientation","default":"PORTRAIT"},"truncateTables":{"description":"When set to true, only the first page of the tables is displayed in the file. \n\nThis setting is applicable only when generating report for specific visualization ids. Default: false","title":"pdfOptionsInput-truncateTables","type":"string","enum":["true","false"],"default":"false"},"includeLogo":{"description":"Include customized wide logo if available in the footer. Default: true","title":"pdfOptionsInput-includeLogo","type":"string","enum":["true","false"],"default":"true"},"footerText":{"type":"string","description":"Footer text to include in the footer of each page of the PDF."},"includePageNumber":{"description":"When set to true, the page number is included in the footer of each page. Default: true","title":"pdfOptionsInput-includePageNumber","type":"string","enum":["true","false"],"default":"true"},"includeCoverPage":{"description":"When set to true, a cover page with the Liveboard title is added in the PDF. Default: true","title":"pdfOptionsInput-includeCoverPage","type":"string","enum":["true","false"],"default":"true"},"includeFilterPage":{"description":"When set to true, a second page with a list of all applied filters is added in the PDF. Default: true","title":"pdfOptionsInput-includeFilterPage","type":"string","enum":["true","false"],"default":"true"}}},"LogsResponse":{"type":"object","properties":{"date":{"type":"string","description":"Date and time for the event in the log"},"log":{"type":"string","description":"Logged event at the time specified in JSON format. This includes, Event ID, A unique description of the event, for example, User login failed, Timestamp, User ID of the person initiating the event and IP address of the ThoughtSpot instance."}}},"TsObjectSearchInput":{"type":"object","required":["type","id"],"properties":{"type":{"type":"string","enum":["LIVEBOARD","ANSWER","DATAOBJECT","COLUMN"],"description":"Type of the metadata objec","title":"TsObjectSearchInput-type"},"id":{"type":"array","items":{"type":"string"},"description":"A JSON Array of GUIDs of the metadata object"}}},"SecurityPermissionResponse":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the object"},"name":{"type":"string","description":"Name of the object"},"type":{"type":"string","description":"Indicates the type of the object"},"owner":{"type":"string","description":"GUID of the owner of the object"},"author":{"$ref":"#/components/schemas/UserNameAndID","description":"Author of the object"},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/SecurityPermission"},"description":"An array of object with details of permission on users and user groups"},"dependents":{"type":"array","items":{"$ref":"#/components/schemas/SecuirityDependents"},"description":"The objects on which the primary object is dependent on"}}},"PrincipalSearchResponse":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the user or user group"},"name":{"type":"string","description":"Name of the user or user group"},"type":{"type":"string","description":"Indicates the type of principal"},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/PermissionsTypeSearch"},"description":"Indicates the permission which user or user group has on the object"}}},"OrgsResponse":{"type":"object","properties":{"orgId":{"type":"integer","format":"int32","description":"ID of the organization searched for"},"orgName":{"type":"string","description":"Name of the organization searched for"},"description":{"type":"string","description":"Description associated with the organization"},"allGroupUserId":{"type":"string","description":"GUID of the ALL group in the organization"},"defaultAdminUserGroupId":{"type":"string","description":"GUID of the admin group in the organization"},"active":{"type":"boolean","description":"Indicates if the organization is active or not"}}},"CreateTableResponse":{"type":"object","properties":{"logicalTableHeader":{"$ref":"#/components/schemas/LogicalTableHeader"},"physicalTableId":{"type":"string"}}},"ConnectionTableColumnsInput":{"type":"object","required":["dbName","schemaName","name"],"properties":{"dbName":{"type":"string","description":"Name of the database"},"schemaName":{"type":"string","description":"Name of the schema"},"name":{"type":"string","description":"Name of the table"}}},"OrgType":{"type":"object","properties":{"name":{"type":"string","description":"Name of the organization"},"id":{"type":"integer","format":"int32","description":"Id of the organization"}}},"tableList":{"type":"object","properties":{"name":{"type":"string","description":"Name of the table"},"type":{"type":"string","description":"Type of the table"},"id":{"type":"string","description":"GUID of the table"},"databaseStripe":{"type":"string","description":"Name of the database to which the table belongs"},"schemaStripe":{"type":"string","description":"Name of the schema to which the table belongs"},"isExternal":{"title":"tableList-isExternal","type":"string","enum":["true","false"]},"isDeprecated":{"description":"Indicates if the table is deprecated","title":"tableList-isDeprecated","type":"string","enum":["true","false"]},"isDeleted":{"description":"Indicates if the table is deleted","title":"tableList-isDeleted","type":"string","enum":["true","false"]},"isHidden":{"description":"Indicates if the table is hideen","title":"tableList-isHidden","type":"string","enum":["true","false"]},"indexVersion":{"type":"number","format":"float"},"generationNum":{"type":"number","format":"float"},"created":{"type":"string","description":"Date and time when the table was created"},"modified":{"type":"string","description":"Date and time of last modification of the table"},"author":{"$ref":"#/components/schemas/UserNameAndID","description":"Author of the table"},"modifiedBy":{"$ref":"#/components/schemas/UserNameAndID","description":"The user which last modified the table details"},"owner":{"$ref":"#/components/schemas/UserNameAndID","description":"The owner of the tabe"},"tags":{"type":"array","items":{"type":"string"},"description":"List of tags assigned to the table"}}},"ColumnsInput":{"type":"object","required":["name","dataType"],"properties":{"name":{"type":"string","description":"Name of the column"},"dataType":{"type":"string","description":"Datatype of the column"}}},"ConnectionDatabaseType":{"type":"object","properties":{"name":{"type":"string","description":"Name of the database"},"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConnectionTableSchema"},"description":"List of schemas"}}},"ConnectionColumnsShema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the table"},"dbName":{"type":"string","description":"Name of the database"},"schemaName":{"type":"string","description":"Name of the schema"},"columns":{"type":"array","items":{"$ref":"#/components/schemas/TableColumns"},"description":"List of columns in the table"}}},"VizType":{"type":"object","properties":{"name":{"type":"string","description":"The name of the visualization"},"id":{"type":"string","description":"The GUID of the visualization"},"querySql":{"type":"string","description":"SQL query associated with the visualization"}}},"SecurityPermission":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the user or user group"},"name":{"type":"string","description":"Name of the user or user group"},"type":{"type":"string","description":"Indicates the type of principal"},"permission":{"type":"string","description":"Indicates the permission which user or user group has on the object"},"sharedPermission":{"type":"string","description":"Indicates the permission which user or user group has on the object through sharing of the object with this user or user group"},"groupPermission":{"type":"array","items":{"$ref":"#/components/schemas/GroupPermission"},"description":"An array of object with details of permission on the user groups to which the user or user group belongs"}}},"SecuirityDependents":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the object"},"name":{"type":"string","description":"Name of the object"},"type":{"type":"string","description":"Indicates the type of the object"},"owner":{"type":"string","description":"Owner of the object"},"author":{"$ref":"#/components/schemas/UserNameAndID","description":"Author of the object"},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/DependentPermission"}}}},"PermissionsTypeSearch":{"type":"object","properties":{"type":{"type":"string","description":"Indicates the type of the object"},"tsObject":{"type":"array","items":{"$ref":"#/components/schemas/TsObjectTypeSerach"},"description":"An array of objects of type mentioned in type field"}}},"LogicalTableHeader":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"author":{"type":"string"},"authorName":{"type":"string"},"authorDisplayName":{"type":"string"},"created":{"type":"number","format":"float"},"modified":{"type":"number","format":"float"},"modifiedBy":{"type":"string"},"generationNum":{"type":"integer","format":"int32"},"owner":{"type":"string"},"deleted":{"title":"LogicalTableHeader-deleted","type":"string","enum":["true","false"]},"hidden":{"title":"LogicalTableHeader-hidden","type":"string","enum":["true","false"]},"database":{"type":"string"},"schema":{"type":"string"},"type":{"type":"string"},"subType":{"type":"string"}}},"ConnectionTableSchema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the schema"},"table":{"type":"array","items":{"$ref":"#/components/schemas/ConnectionColumn"},"description":"List of table details"}}},"TableColumns":{"type":"object","properties":{"name":{"type":"string","description":"Name of the column"},"dataType":{"type":"string","description":"Datatype of the column"}}},"GroupPermission":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the user group"},"name":{"type":"string","description":"Name of the user group"},"permission":{"type":"string","description":"Indicates the permission which user group has on the object"}}},"DependentPermission":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the object"},"name":{"type":"string","description":"Name of the object"},"type":{"type":"string","description":"Indicates the type of the object"},"permission":{"type":"string","description":"Indicates the permission which user or user group has on the object"},"sharedPermission":{"type":"string","description":"Indicates the permission which user or user group has on the object through sharing of the object with this user or user group"},"groupPermission":{"type":"array","items":{"$ref":"#/components/schemas/GroupPermission"},"description":"An array of object with details of permission on the user groups to which the user or user group belongs"}}},"TsObjectTypeSerach":{"type":"object","properties":{"id":{"type":"string","description":"GUID of the object"},"name":{"type":"string","description":"Name of the object"},"owner":{"type":"string","description":"Owner of the object"},"author":{"$ref":"#/components/schemas/UserNameAndID","description":"Author of the object"},"permission":{"type":"string","description":"Indicates the permission which user or user group has on the object"},"sharedPermission":{"type":"string","description":"Indicates the permission which user or user group has on the object through sharing of the object with the user or user group"},"groupPermission":{"type":"array","items":{"$ref":"#/components/schemas/GroupPermission"},"description":"An array of object with details of permission on the user groups to which the user or user group belongs"}}},"ConnectionColumn":{"type":"object","properties":{"name":{"type":"string","description":"Name of the table"},"type":{"type":"string","description":"Type of the Table"},"column":{"type":"array","items":{"$ref":"#/components/schemas/TableColumns"},"description":"List of columns in the table"}}},"ErrorResponse":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/Error"}},"example":{"error":{"errors":{"message":"Request failed with status code 500","locations":{"line":2,"column":3},"path":["restapiV2__login"],"extension":{"service":"CALLOSUM","code":"UPSTREAM_FAILURE","exception":{"service":"CALLOSUM","upstreamResponse":{"data":{"code":10002,"incident_id_guid":"deb0bc49-8414-4690-bc03-d7e0251d65b4","trace_id_guid":"deb0bc49-8414-4690-bc03-d7e0251d65b4","debug":"Invalid parameter values userName"},"status":400},"stacktrace":["Request failed with status code 400"]}}}}}},"Error":{"type":"object"}}},"security":[{"bearerAuth":[]}],"servers":[{"url":"{base-url}","variables":{"base-url":{"default":"https://localhost:443"}}}]}