API overview

Updated at:

This topic describes the APIs provided by Quick BI.

Important
  • APIs are available only to Quick BI users on the public cloud, not the financial or government clouds.
  • Only users of Quick BI Professional Edition or higher can call APIs.
Primary categorySecondary categoryVersionAPIDescriptionQPSTimeout (s)
Organization managementOrganization user management2020-08-01AddUserAdds an organization member.5010
UpdateUserUpdates information for a specified organization member.5010
QueryUserListRetrieves a list of organization members.3010
DeleteUserDeletes a specified organization member.5010
QueryUserInfoByUserIdRetrieves information about an organization member by user ID.3010
QueryUserInfoByAccountRetrieves information about an organization member by Alibaba Cloud account ID or name.3010
User tag management2020-08-02AddUserTagMetaAdds tag metadata for organization members.5010
DeleteUserTagMetaDeletes tag metadata of an organization member.5010
QueryUserTagMetaListRetrieves the tag metadata of members in an organization.3010
UpdateUserTagValueUpdates the tag value for an organization member.5010
QueryUserTagValueListRetrieves the tag values for a specific organization member.3010
UpdateUserTagMetaUpdates the tag metadata of an organization member.5010
User group management2020-07-31AddUserGroupMemberAdds an organization member to a specified user group.5010
AddUserGroupMembersAdds multiple organization members to a specified user group.5010
DeleteUserGroupMemberDeletes a specified member from a user group.5010
CreateUserGroupCreates a user group in a specified organization.5010
DeleteUserGroupDeletes a user group from a specified organization.5010
UpdateUserGroupUpdates the information of a specified user group.5010
QueryUserGroupMemberRetrieves a list of members in a user group.3010
QueryUserGroupListByParentIdRetrieves the child user groups of a specified parent user group.3010
GetUserGroupInfoSearches for a user group by keyword.3010
ListUserGroupsByUserIdLists the user groups to which a specified user belongs.3010
WithdrawAllUserGroupsRemoves a specified user from all user groups.5010
DeleteUserGroupMembersRemoves multiple users from a user group.5010
ListByUserGroupIdRetrieves information about multiple user groups by user group ID.5010
Permission managementReport sharing authorization management2020-08-04QueryShareListRetrieves a list of authorization policies.3010
AddShareReportAdds an authorization policy to a report.5010
QuerySharesToUserListRetrieves a list of reports authorized to a user.3010
CancelReportShareDeletes the authorization policy for a report.5010
Data portal menu authorization management2020-08-08ListPortalMenusRetrieves a list of data portal menus.3010
ListPortalMenuAuthorizationRetrieves the authorization list for a data portal menu.3010
AuthorizeMenuAdds authorizations to data portal menus in bulk.5010
CancelAuthorizationMenuRevokes authorizations from data portal menus in bulk.5010
ChangeVisibilityModelSets a data portal menu to be visible only to authorized users.5010
Row-level permission management2020-11-11QueryDatasetSwitchInfoRetrieves the status of the row-level permission switch for a dataset.3010
UpdateDataLevelPermissionStatusEnables or disables row-level and column-level permissions for a dataset.5010
ListCubeDataLevelPermissionConfigRetrieves the row-level and column-level permission configurations of a dataset.3010
SetDataLevelPermissionRuleConfigSets a single row-level or column-level permission configuration for a dataset.5010
DeleteDataLevelRuleConfigDeletes a single row-level or column-level permission rule configuration for a dataset.5010
AddDataLevelPermissionRuleUsersIncrementally adds users to a single row-level permission rule.5010
DeleteDataLevelPermissionRuleUsersRemoves users from a single row-level permission rule.5010
SetDataLevelPermissionExtraConfigSets extra configurations for row-level or column-level permissions.5010
ListDataLevelPermissionWhiteListRetrieves the whitelist for row-level and column-level permissions of a dataset.3010
SetDataLevelPermissionWhiteListOverwrites the whitelist for row-level and column-level permissions.5010
AddDataLevelPermissionWhiteListIncrementally adds users to the whitelist for row-level and column-level permissions.5010
Resource managementWorkspace management2020-08-03UpdateWorkspaceUserRoleChanges the role of a workspace member.5010
QueryWorkspaceUserListRetrieves a list of members in a specified workspace.3010
DeleteUserFromWorkspaceDeletes a member from a specified workspace.5010
QueryOrganizationWorkspaceListRetrieves a list of workspaces in the current organization.3010
AddUserToWorkspaceAdds a single member to a specified workspace.5010
AddWorkspaceUsersAdds multiple members to a specified workspace.5010
QueryUserRoleInfoInWorkspaceRetrieves the role information of a member in a specified workspace.3010
UpdateWorkspaceUsersRoleUpdates the roles of workspace members in bulk.5010
Report resource management2020-08-07QueryWorksByOrganizationRetrieves a list of reports in the organization.3010
QueryWorksByWorkspaceRetrieves a list of reports in a specified workspace.3010
QueryReadableResourcesListByUserIdRetrieves a list of reports that a specified user has permission to view.3010
CheckReadableChecks if a user can view a specified report.5010
QueryEmbeddedInfoRetrieves the embedding information for a report in an organization.3010
UpdateEmbeddedStatusChanges the embedding status of a report.5010
QueryWorksRetrieves information about a report.3010
QueryWorksBloodRelationshipRetrieves the data lineage of a specified report.3010
Dataset resource management2020-08-06QueryDatasetListRetrieves a list of datasets in a specified workspace.3010
QueryDatasetDetailInfoRetrieves the details of a specified dataset.3010
QueryDatasetInfoRetrieves the details of a dataset.3010
Favorites management2020-08-09ListCollectionsRetrieves the user's list of favorites.3010
SaveFavoritesAdds an item to favorites.5010
CancelCollectionRemoves an item from favorites.5010
Homepage management2020-08-09ListSharedReportsRetrieves a list of shared reports from the my dashboard page for a specified user.3010
ListFavoriteReportsRetrieves a list of favorite reports from the my dashboard page for a specified user.3010
ListRecentViewReportsRetrieves a list of recently or frequently viewed reports from the my dashboard page for a specified user.3010
Data managementData services2020-07-30QueryDataServiceCalls an API that was created in Data Services.1060
Embedded analyticsToken-based mechanism2021-03-25CreateEmbedTokenGenerates a token for report embedding.5010
QueryEmbedTokenInfoRetrieves the details of a token used for report embedding.3010
DelayEmbedTokenExtends the validity period of a token used for report embedding.5010
DeleteEmbedTokenDeletes a specified token.5010
Ticket-based mechanism (enhanced security)2021-03-25CreateTicketGenerates a ticket for third-party report embedding.5010
QueryTicketInfoRetrieves the details of a ticket used for report embedding.3010
DeleteTicketDeletes a ticket used for report embedding.5010
DelayTicketExpireTimeExtends the expiration time of a ticket used for report embedding.5010
UpdateTicketNumUpdates the number of times a ticket can be used for report embedding.5010

API usage

Only users of Quick BI Professional Edition or higher can call APIs.

SDK version

In the pom.xml file, ensure the version is set to the latest version.

Find the latest version at https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-quickbi-public.

Limiting request QPS

Problem Description: For performance and security reasons, the Quick BI open APIs on the public cloud have default throttling configurations. When you use concurrent threads to call these APIs, the requests fail if the actual queries per second (QPS) exceeds the throttling threshold.

Solution: We recommend using the RateLimiter class from the Google Guava toolkit to limit the QPS of API requests.
  1. If you use Maven to manage your Java project, add the following dependency to the pom.xml file.
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${google.guava.version}</version>
    </dependency>
    Note Use the latest version. You can find it at Guava: Google Core Libraries For Java.
  2. Create and use a RateLimiter.
    Use the create() factory method to create a RateLimiter instance. For details, see https://www.baeldung.com/guava-rate-limiter.
    // Create a RateLimiter with a limit of 30 QPS.
    RateLimiter rateLimiter = RateLimiter.create(30);
    // Acquire a permit. This call blocks if the QPS limit is exceeded.
    rateLimiter.acquire();
    // Make the API request only after a permit is acquired.
    doSomeAPIRequest();
Note QPS (Queries Per Second) refers to the number of requests or tasks per second.

Concurrency refers to the number of requests or tasks that the system processes simultaneously.

QPS = concurrency / average response time.