

# Operations


To find Quick Sight API operations by category, use the following list.

**Topics**
+ [

# Account customization operations
](account-customization-operations.md)
+ [

# Analysis operations
](analysis-operations.md)
+ [

# Asset bundle operations
](asset-bundle-ops.md)
+ [

# Dashboard operations
](dashboard-operations.md)
+ [

# Data source operations
](data-source-operations.md)
+ [

# Dataset operations
](data-set-operations.md)
+ [

# Folder operations
](folder-operations.md)
+ [

# Group operations
](group-operations.md)
+ [

# IAM policy assignment operations
](iam-policy-assignment-operations.md)
+ [

# Ingestion operations
](ingestion-operations.md)
+ [

# IP and VPC endpoint restriction operations
](ip-restrictions-operations.md)
+ [

# Key management operations
](cmk-operations.md)
+ [

# Namespace operations
](namespace-operations.md)
+ [

# Tag operations
](tag-operations.md)
+ [

# Template alias operations
](template-alias-operations.md)
+ [

# Template operations
](template-operations.md)
+ [

# Theme operations
](theme-operations.md)
+ [

# Theme alias operations
](theme-alias-operations.md)
+ [

# User operations
](user-operations.md)

# Account customization operations


With account customization API operations, you can update and customize Amazon Quick Sight account settings. For more information, see the following API operations.

**Topics**
+ [

# Account settings
](account-settings.md)
+ [

# CreateAccountCustomization
](create-account-customization.md)
+ [

# DeleteAccountCustomization
](delete-account-customization.md)
+ [

# DescribeAccountCustomization
](describe-account-customization.md)
+ [

# UpdateAccountCustomization
](update-account-customization.md)

# Account settings


With account settings operations, you can perform actions on Quick Sight account settings. For more information, see the following API operations.

**Topics**
+ [

# DescribeAccountSettings
](describe-account-settings.md)
+ [

# UpdateAccountSettings
](update-account-settings.md)

# DescribeAccountSettings


Use the `DescribeAccountSettings` API operation to describe the settings that were used when your Amazon Quick Sight subscription was first created in this AWS account. Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-account-settings 
    --aws-account-id 555555555555
```

------

For more information about the `DescribeAccountSettings` API operation, see [DescribeAccountSettings](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeAccountSettings.html) in the *Amazon Quick Sight API Reference*.

# UpdateAccountSettings


Use the `UpdateAccountSettings` API operation to update the Amazon Quick Sight settings in your AWS account. Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight update-account-settings 
    --aws-account-id 555555555555 
    --default-namespace NAMESPACE 
    --notification-email EMAIL
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-account-settings
    --cli-input-json file://updateaccountsettings.json
```

------

For more information about the `UpdateAccountSettings` API operation, see [UpdateAccountSettings](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateAccountSettings.html) in the *Amazon Quick Sight API Reference*.

# CreateAccountCustomization


Use the `CreateAccountCustomization` API operation to create Amazon Quick Sight customizations in the current AWS Region. Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight create-account-customization 
    --aws-account-id 555555555555 
    --account-customization DEFAULTTHEME
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight create-account-customization
    --cli-input-json file://createaccountcustomization.json
```

------

For more information about the `CreateAccountCustomization` API operation, see [CreateAccountCustomization](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateAccountCustomization.html) in the *Amazon Quick Sight API Reference*.

# DeleteAccountCustomization


Use the `DeleteAccountCustomization` API operation to delete all Amazon Quick Sight customizations in this AWS Region for the specified AWS account and Quick Sight namespace. Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight delete-account-customization 
    --aws-account-id 555555555555
```

------

For more information about the `DeleteAccountCustomization` API operation, see [DeleteAccountCustomization](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteAccountCustomization.html) in the *Amazon Quick Sight API Reference*.

# DescribeAccountCustomization


Use the `DescribeAccountCustomization` API operation to describe the customizations associated with the provided AWS account and Amazon Quick Sight namespace in an AWS Region. Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
 quicksight describe-account-customization 
    --aws-account-id 555555555555
```

------

For more information about the `DescribeAccountCustomization` API operation, see [DescribeAccountCustomization](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeAccountCustomization.html) in the *Amazon Quick Sight API Reference*.

# UpdateAccountCustomization


Use the `UpdateAccountCustomization` API operation to update Amazon Quick Sight customizations in the current AWS Region. Currently, the only customization that you can use is a theme.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight update-account-customization 
    --aws-account-id 555555555555 
    --namespace NAMESPACE 
    --account-customization DEFAULTTHEME
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-account-customization
    --cli-input-json file://updateaccountcustomization.json
```

------

For more information about the `UpdateAccountCustomization` API operation, see [UpdateAccountCustomization](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateAccountCustomization.html) in the *Amazon Quick Sight API Reference*.

# Analysis operations


With analysis API operations, you can perform actions on Amazon Quick Sight analyses. For more information, see the following API operations.

**Topics**
+ [

# Analysis permissions operations
](analysis-permissions.md)
+ [

# CreateAnalysis
](create-analysis.md)
+ [

# DeleteAnalysis
](delete-analysis.md)
+ [

# DescribeAnalysis
](describe-analysis.md)
+ [

# ListAnalyses
](list-analyses.md)
+ [

# RestoreAnalysis
](restore-analysis.md)
+ [

# SearchAnalyses
](search-analyses.md)
+ [

# UpdateAnalysis
](update-analysis.md)

# Analysis permissions operations


With analysis permissions API operations, you can view and update permissions for analyses. For more information, see the following API operations.

**Topics**
+ [

# DescribeAnalysisPermissions
](describe-analysis-permissions.md)
+ [

# UpdateAnalysisPermissions
](update-analysis-permissions.md)

# DescribeAnalysisPermissions


Use the `DescribeAnalysisPermissions` API operation to view the read and write permissions for an analysis. To use this operation, you need the ID of the analysis whose permissions you want to view. The analysis ID is part of the analysis URL in Quick Sight. You can also use the `ListAnalyses` API operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-analysis-permissions 
    --aws-account-id 555555555555 
    --analysis-id ANALYSISID
```

------

For more information about the `DescribeAnalysisPermissions` API operation, see [DescribeAnalysisPermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeAnalysisPermissions.html) in the *Amazon Quick Sight API Reference*.

# UpdateAnalysisPermissions


Use the `UpdateAnalysisPermissions` API operation to update the read and write permissions for an analysis. You can grant or revoke permissions in the same command. To use this operation, you need the ID of the analysis whose permissions you want to update. The analysis ID is part of the analysis URL in Quick Sight. You can also use the `ListAnalyses` API operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight update-analysis-permissions 
    --aws-account-id 555555555555 
    --analysis-id ANALYSISID
    --grant-permissions Principal=arn:aws:quicksight:us-east-1:AWSACCOUNTID:user/default/USERNAME,Actions=quicksight:RestoreAnalysis,quicksight:UpdateAnalysisPermissions,quicksight:DeleteAnalysis,quicksight:QueryAnalysis,quicksight:DescribeAnalysisPermissions,quicksight:DescribeAnalysis,quicksight:UpdateAnalysis 
    --revoke-permissions Principal=arn:aws:quicksight:us-east-1:555555555555:user/default/USERNAME,Actions=quicksight:RestoreAnalysis,quicksight:UpdateAnalysisPermissions,quicksight:DeleteAnalysis,quicksight:QueryAnalysis,quicksight:DescribeAnalysisPermissions,quicksight:DescribeAnalysis,quicksight:UpdateAnalysis
```

If your `region` has already been configured within the CLI, it doesn't need to be included as an argument.

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-analysis-permissions
    --cli-input-json file://updateanalysispermissions.json
```

------

If your region has already been configured with the CLI, it does not need to be included in an argument.

For more information about the `UpdateAnalysisPermissions` API operation, see [UpdateAnalysisPermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateAnalysisPermissions.html) in the *Amazon Quick Sight API Reference*.

# CreateAnalysis


Use the `CreateAnalysis` API operation to create an analysis in Amazon Quick Sight for a specified user. Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight create-analysis
    --aws-account-id AWSACCOUNTID
    --analysis-id ANALYSISID
    --name NAME
    --source-entity SOURCEENTITY
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight create-analysis
    --cli-input-json file://createanalysis.json
```

------

For more information about the `CreateAnalysis` API operation, see [CreateAnalysis](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateAnalysis.html) in the *Amazon Quick Sight API Reference*.

# DeleteAnalysis


Use the `DeleteAnalysis` API operation to delete an analysis from Amazon Quick Sight for a specified user. To use this operation, you need the ID of the analysis that you want to delete. The analysis ID is part of the analysis URL in Quick Sight. You can also use the `ListAnalyses` API operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight delete-analysis 
    --aws-account-id 555555555555 
    --analysis-id ANALYSISID
```

------

For more information about the `DeleteAnalysis` API operation, see [DeleteAnalysis](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteAnalysis.html) in the *Amazon Quick Sight API Reference*.

# DescribeAnalysis


Use the `DescribeAnalysis` API operation to view a summary of the metadata for an analysis for a specified user. To use this operation, you need the ID of the analysis that you want to describe. The analysis ID is part of the analysis URL in Quick Sight. You can also use the `ListAnalyses` API operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-analysis 
    --analysis-id ANALYSISID 
    --aws-account-id 555555555555
```

------

For more information about the `DescribeAnalysis` API operation, see [DescribeAnalysis](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeAnalysis.html) in the *Amazon Quick Sight API Reference*.

# ListAnalyses


Use the `ListAnalyses` API operation to list Amazon Quick Sight analyses that exist in the specified AWS account. Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight list-analyses 
    --aws-account-id 555555555555 
    --page-size 10 
    --max-items 10
```

------

For more information about the `ListAnalyses` API operation, see [ListAnalyses](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListAnalyses.html) in the *Amazon Quick Sight API Reference*.

# RestoreAnalysis


Use the `RestoreAnalysis` API operation to restore an analysis for a specified user. To use this operation, you need the ID of the analysis that you want to restore. The analysis ID is part of the analysis URL in Quick Sight. You can also use the `ListAnalyses` API operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight restore-analysis 
    --analysis-id ANALYSISID 
    --aws-account-id 555555555555
```

------

For more information about the `RestoreAnalysis` API operation, see [RestoreAnalysis](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RestoreAnalysis.html) in the *Amazon Quick Sight API Reference*.

# SearchAnalyses


Use the `SearchAnalyses` API operation to search for analyses that belong to the specified user. Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight search-analyses 
    --aws-account-id 555555555555 
    --filters Operator=StringEquals,Name=QUICKSIGHT_USER,Value=arn:aws:quicksight:us-east-1:555555555555:user/default/USERNAME 
    --page-size 10 
    --max-items 100
```

If your `region` has already been configured within the CLI, it doesn't need to be included as an argument.

------

If your region has already been configured with the CLI, it does not need to be included in an argument.

For more information about the `SearchAnalyses` API operation, see [SearchAnalyses](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_SearchAnalyses.html) in the *Amazon Quick Sight API Reference*.

# UpdateAnalysis


Use the `UpdateAnalysis` API operation to update an analysis in Amazon Quick Sight. To use this operation, you need the ID of the analysis that you want to update. The analysis ID is part of the analysis URL in Quick Sight. You can also use the `ListAnalyses` API operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight update-analysis 
    --aws-account-id 555555555555 
    --analysis-id ANALYSISID 
    --name NAME 
    --source-entity '{"SourceTemplate":{"DataSetReferences":[{"DataSetPlaceholder":"PLACEHOLDER","DataSetArn":"arn:aws:quicksight:us-west-2:555555555555:dataset/DATASETID"}],"Arn":"arn:aws:quicksight:us-west-2:555555555555:template/TEMPLATEID"}}' 
    --theme-arn THEMEARN
```

If your `region` has already been configured within the CLI, it doesn't need to be included as an argument.

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-analysis
    --cli-input-json file://updateanalysis.json
```

------

If your region has already been configured with the CLI, it does not need to be included in an argument.

For more information about the `UpdateAnalysis` API operation, see [UpdateAnalysis](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateAnalysis.html) in the *Amazon Quick Sight API Reference*.

# Asset bundle operations


Use Quick Sight asset bundle API operations to export Quick Sight assets from one account to another. Asset bundle operations can be used to back up or restore deleted work, promote new work into a production account, or to duplicate assets within an account or across multiple accounts.

Asset bundle import and export operations support the following asset types:
+ Analyses
+ Dashboards
+ Data sources
+ Datasets
+ Shared folders
+ Restricted folders
+ Refresh schedules
+ Themes
+ VPC connections

The following data sources and dataset types aren't supported by the asset bundle APIs.
+ Adobe Analytics
+ File
+ GitHub
+ JIRA
+ Salesforce
+ ServiceNow
+ Twitter

**Topics**
+ [

# Permissions
](assetbundle-permissions.md)
+ [

# Asset bundle export operations
](assetbundle-export.md)
+ [

# Asset bundle import operations
](assetbundle-import.md)

# Permissions


Before you begin, verify that you have an AWS Identity and Access Management role that grants the CLI user access to call the Quick Sight asset bundle API operations.

Quick Sight recommends that you use the `AWSQuickSightAssetBundleExportPolicy` and `AWSQuickSightAssetBundleImportPolicy` IAM managed policies to streamline your API usage. You can also choose to explicitly define your oen IAM policy to fit your use case. For more information about IAM managed policies in Quick Sight, see [AWS managed policies for Quick Sight](https://docs.aws.amazon.com/quicksight/latest/user/security-iam-quicksight.html).

The following example shows an IAM policy that you can add to an existing IAM role to use the `StartAssetBundleExportJob` operation.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "quicksight:DescribeAssetBundleExportJob",
        "quicksight:ListAssetBundleExportJobs",
        "quicksight:StartAssetBundleExportJob",
        "quicksight:DescribeAnalysis",
        "quicksight:DescribeDashboard",
        "quicksight:DescribeDataSet",
        "quicksight:DescribeDataSetRefreshProperties",
        "quicksight:DescribeDataSource",
        "quicksight:DescribeRefreshSchedule",
        "quicksight:DescribeTheme",
        "quicksight:DescribeVPCConnection",
        "quicksight:ListRefreshSchedules",
        "quicksight:DescribeAnalysisPermissions",
        "quicksight:DescribeDashboardPermissions",
        "quicksight:DescribeDataSetPermissions",
        "quicksight:DescribeDataSourcePermissions",
        "quicksight:DescribeThemePermissions",
        "quicksight:ListTagsForResource"
      ],
      "Resource": "*"
    }
  ]
}
```

------

The following example shows an IAM policy that you can add to an existing IAM role to use the `StartAssetBundleImportJob` operation.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
      {
        "Effect": "Allow",
        "Action": [
            "quicksight:DescribeAssetBundleImportJob",
            "quicksight:ListAssetBundleImportJobs",
            "quicksight:StartAssetBundleImportJob",
            "quicksight:CreateAnalysis",
            "quicksight:DeleteAnalysis",
            "quicksight:DescribeAnalysis",
            "quicksight:UpdateAnalysis",
            "quicksight:CreateDashboard",
            "quicksight:DeleteDashboard",
            "quicksight:DescribeDashboard",
            "quicksight:UpdateDashboard",
            "quicksight:UpdateDashboardLinks",
            "quicksight:UpdateDashboardPublishedVersion",
            "quicksight:CreateDataSet",
            "quicksight:DeleteDataSet",
            "quicksight:DescribeDataSet",
            "quicksight:PassDataSet",
            "quicksight:UpdateDataSet",
            "quicksight:DeleteDataSetRefreshProperties",
            "quicksight:DescribeDataSetRefreshProperties",
            "quicksight:PutDataSetRefreshProperties",
            "quicksight:CreateRefreshSchedule",
            "quicksight:DescribeRefreshSchedule",
            "quicksight:DeleteRefreshSchedule",
            "quicksight:ListRefreshSchedules",
            "quicksight:UpdateRefreshSchedule",
            "quicksight:CreateDataSource",
            "quicksight:DescribeDataSource",
            "quicksight:DeleteDataSource",
            "quicksight:PassDataSource",
            "quicksight:UpdateDataSource",
            "quicksight:CreateTheme",
            "quicksight:DeleteTheme",
            "quicksight:DescribeTheme",
            "quicksight:UpdateTheme",
            "quicksight:CreateVPCConnection",
            "quicksight:DescribeVPCConnection",
            "quicksight:DeleteVPCConnection",
            "quicksight:UpdateVPCConnection",
            "quicksight:DescribeAnalysisPermissions",
            "quicksight:DescribeDashboardPermissions",
            "quicksight:DescribeDataSetPermissions",
            "quicksight:DescribeDataSourcePermissions",
            "quicksight:DescribeThemePermissions",
            "quicksight:UpdateAnalysisPermissions",
            "quicksight:UpdateDashboardPermissions",
            "quicksight:UpdateDataSetPermissions",
            "quicksight:UpdateDataSourcePermissions",
            "quicksight:UpdateThemePermissions",
            "quicksight:ListTagsForResource",
            "quicksight:TagResource",
            "quicksight:UntagResource",
            "s3:GetObject",
            "iam:PassRole"
        ],
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "iam:PassedToService": "quicksight.amazonaws.com"
            }
        }
      }
  ]
}
```

------

# Asset bundle export operations


Quick Sight developers can use asset bundle export operations to export existing Quick Sight assets and download their definitions to be saved in your own storage. Quick Sight doesn't export data contained within the asset. These exported assets can be imported back into Quick Sight whenever you want. To export Quick Sight assets, start a named asynchronous export job. Then, poll for the job's completion, and then download the asset bundle with the download URL that's provided by the Quick Sight API.

Assets that are exported with the Quick Sight asset bundle APIs can be exported as a Quick Sight JSON bundle or a CloudFormation JSON file.

When you run an export job that generates a Quick Sight JSON file, the job returns a `.qs` zip file. The file can be unzipped to access the exported asset definitions.

Use the following sections to learn more about the asset bundle export API operations.

## StartAssetBundleExportJob


Export jobs are configured with the `StartAssetBundleExportJobRequest` object.

Export jobs are identified by an `AssetBundleExportJobId` that you provide when you create the new export job. This ID is unique while the job is running. After the job is completed, you can reuse this ID for another job.

Export jobs include a list of Quick Sight asset ARNs to be exported. You can choose to have all dependencies of the specified asset ARNs to be exported automatically with the rest of the job. For example, if you're creating a job to export a Quick Sight dashboard, you can also choose to export the dashboard's theme, dataset, and data source.

Developers can also choose to have all assets in a folder and its subfolders exported automatically to preserve folder hierarchy and folder memberships. Parent folders are considered to be dependencies of subfolders and are included in the export if the `IncludeAllDependencies` parameter is set to `True`. Assets in a folder are considered folder members and are included in the export if the `IncludeFolderMembers` parameter is set to `ONE_LEVEL/RECURSE`. When assets are exported directly, folder membership information can be preserved when the `IncludeFolderMemberships` parameter is set to `True`. To include the folder in the direct export, set `IncludeAllDependencies` to `True`.

All export jobs run asynchronously after they are started. Poll the status of an export job with a `DescribeAssetBundleExportJob` call to know is the current status of the job. Callers must have read-only permissions for all of the resource types that are exported, including the optional dependencies that are included in the export job.

In some cases, certain Quick Sight assets contain anomalies that don't impact the end user's experience. By default, the `StartAssetBundleExportJob` API operates in `Lenient` mode, which ignores these anomalies. Callers can choose to enforce stricter validations with `Strict` mode during export. To do so, set the value of the optional `StrictModeForAllResources` parameter to `"True”`. The `StartAssetBundleImportJob` API operation follows the validation strategy that is defined in the exported bundle. To import an existing bundle with `Lenient` mode, run a new export job with the optional `StrictModeForAllResources` parameter set to `"False"`.

For more information about the `StartAssetBundleExportJob` operation, see [StartAssetBundleExportJob](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_StartAssetBundleExportJob.html) in the *Quick Sight API Reference*.

## DescribeAssetBundleExportJob


Use the `DescribeAssetBundleExportJob` operation to obtain the current status of an existing export job that's up to 14 days old. You can also use this operation to review a specified job's configuration.

Export jobs that have succeeded return a download URL for the asset bundle file in their description. Failed export jobs return error information in their description. Poll this operation until the export job that you want the status of has succeeded or failed.

For more information about the `DescribeAssetBundleExportJob` operation, see [DescribeAssetBundleExportJob](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeAssetBundleExportJob.html) in the *Quick Sight API Reference*.

## ListAssetBundleExportJobs


Use the `ListAssetBundleExportJobs` operation to retrieve a list of all export jobs that were created in the last 14 days. Export jobs are listed in the order that they were started, starting with the most recently started job. To have multiple lists by this operation, you can choose to specify a maximum page size to be returned and use a pagination token.

For more information about the `ListAssetBundleImportJobs` operation, see [ListAssetBundleExportJobs](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListAssetBundleExportJobs.html) in the *Quick Sight API Reference*.

## Examples


The following example uses a `StartAssetBundleExportJob` API call to create a CloudFormation JSON file with override parameters.

```
# configure and start the export job
aws quicksight start-asset-bundle-export-job
--aws-account-id AWSACCOUNTID \
--asset-bundle-export-job-id JOBID \
--resource-arns '["arn:aws:quicksight:REGION:AWSACCOUNTID:dashboard/RESOURCEID","arn:aws:quicksight:REGION:AWSACCOUNTID:analysis/RESOURCEID"]' \
--cloud-formation-override-property-configuration '{"Dashboards": [{"Arn": "arn:aws:quicksight:REGION:AWSACCOUNTID:dashboard/RESOURCEID","Properties": ["Name"]}]}' \
--include-all-dependencies \
--export-format CLOUDFORMATION_JSON

# poll job description until status is success
aws quicksight describe-asset-bundle-export-job
--aws-account-id AWSACCOUNTID \
--asset-bundle-export-job-id JOBID

# download the provided bundle (wget used here - any tool or browser works as well)
wget -O ~/qs-bundle.qs 'https://the-long-url-from-your-job-description...'
```

The following example uses a `StartAssetBundleExportJob` API call to create a Quick Sight asset bundle file.

```
# configure and start the export job
aws quicksight start-asset-bundle-export-job
--aws-account-id AWSACCOUNTID \
--asset-bundle-export-job-id JOBID \
--resource-arns '["arn:aws:quicksight:REGION:AWSACCOUNTID:dashboard/RESOURCEID","arn:aws:quicksight:REGION:AWSACCOUNTID:analysis/RESOURCEID"]' \
--include-all-dependencies \
--export-format QUICKSIGHT_JSON

# poll job description until status is success
aws quicksight describe-asset-bundle-export-job
--aws-account-id AWSACCOUNTID \
--asset-bundle-export-job-id JOBID

# download the provided bundle (wget used here - any tool or browser works as well)
wget -O ~/qs-bundle.qs 'https://the-long-url-from-your-job-description...'
```

The following example uses a `StartAssetBundleExportJob` API call to include information for tags. By default, tag information is not exported.

```
# Export in QuickSight format
aws quicksight start-asset-bundle-export-job
--aws-account-id AWSACCOUNTID \
--asset-bundle-export-job-id JOBID \
--resource-arns '["arn:aws:quicksight:REGION:AWSACCOUNTID:dashboard/RESOURCEID","arn:aws:quicksight:REGION:AWSACCOUNTID:analysis/RESOURCEID"]' \
--include-all-dependencies \
--include-tags \
--export-format QUICKSIGHT_JSON

# Export in CloudFormation format, with optional tags overrides
aws quicksight start-asset-bundle-export-job
--aws-account-id AWSACCOUNTID \
--asset-bundle-export-job-id JOBID \
--resource-arns '["arn:aws:quicksight:REGION:AWSACCOUNTID:dashboard/RESOURCEID","arn:aws:quicksight:REGION:AWSACCOUNTID:analysis/RESOURCEID"]' \
--include-all-dependencies \
--include-tags \
--export-format CLOUDFORMATION_JSON
```

The following example uses a `StartAssetBundleExportJob` API call to include permissions information. By default, permission information is not exported. Permission overrides are not supported for the CloudFormation format. To import permissions for a CloudFormation format file, make sure that the source and target accounts are the same or have the same principal names for users, groups, and namespaces.

```
# Export in QuickSight format
aws quicksight start-asset-bundle-export-job
--aws-account-id AWSACCOUNTID \
--asset-bundle-export-job-id JOBID \
--resource-arns '["arn:aws:quicksight:REGION:AWSACCOUNTID:dashboard/RESOURCEID","arn:aws:quicksight:REGION:AWSACCOUNTID:analysis/RESOURCEID"]' \
--include-all-dependencies \
--include-permissions \
--export-format QUICKSIGHT_JSON


# Export in CloudFormation format
aws quicksight start-asset-bundle-export-job
--aws-account-id AWSACCOUNTID \
--asset-bundle-export-job-id JOBID \
--resource-arns '["arn:aws:quicksight:REGION:AWSACCOUNTID:dashboard/RESOURCEID","arn:aws:quicksight:REGION:AWSACCOUNTID:analysis/RESOURCEID"]' \
--include-all-dependencies \
--include-permissions \
--export-format CLOUDFORMATION_JSON
```

The following example recusrively exports a folder along with all subfolders and the parent folder tree.

```
aws quicksight start-asset-bundle-export-job
--aws-account-id AWSACCOUNTID \
--asset-bundle-export-job-id JOBID \
--resource-arns '["arn:aws:quicksight:REGION:AWSACCOUNTID:folder/RESOURCEID"]' \
--include-all-dependencies \
--include-folder-members RECURSE \
--export-format QUICKSIGHT_JSON"
```

The following example runs a dashboard export job that preserves the dashboard's folder memberships.

```
aws quicksight start-asset-bundle-export-job
--aws-account-id AWSACCOUNTID \
--asset-bundle-export-job-id JOBID \
--resource-arns '["arn:aws:quicksight:REGION:AWSACCOUNTID:dashboard/RESOURCEID"]' \
--include-folder-memberships \
--export-format QUICKSIGHT_JSON
```

The following example calls the `StartAssetBundleExportJob` API with `Strict` mode.

```
aws quicksight start-asset-bundle-export-job
--aws-account-id AWSACCOUNTID \
--asset-bundle-export-job-id JOBID \
--resource-arns '["arn:aws:quicksight:REGION:AWSACCOUNTID:dashboard/RESOURCEID","arn:aws:quicksight:REGION:AWSACCOUNTID:analysis/RESOURCEID"]' \
--include-all-dependencies \
--export-format QUICKSIGHT_JSON
```

# Asset bundle import operations


Use asset bundle import operations to import Quick Sight assets from an Quick Sight bundle file that's generated by an earlier export job. The following statements apply to asset bundle import operations.
+ You can only import Quick Sight JSON bundles with the Quick Sight asset bundle APIs. CloudFormation JSON files can only be imported using the CloudFormation console or APIs. Both Quick Sight JSON and CloudFormation JSON files support property value overrides. If you want to generate a Quick Sight JSON file, property overrides are specified when you use an import API call. If you want to generate a CloudFormation JSON file, property overrides are configured with the `cloud-formation-override-property-configuration` parameter when you create or update the CloudFormation stack. You can import files that were created from your account, or you can import asset bundle files that were generated from other Quick Sight accounts. When you create a new import job, you can choose to provide overrides when you configure the import job.
+ The asset bundle import operations only support `.qs` format zip files. The `.qs` format file that contains the asset bundle that you want to import is in an Amazon S3 bucket or in a BASE64 encoded file that you can add to the import job directly. The S3 bucket exists in the same AWS account as your QuickSight account.
+ All import jobs run asynchronously after they are started. Poll the status of an import job with a `DescribeAssetBundleImportJob` API call to know the current status of the job. If an asset bundle import job fails, you can choose to have all assets that were successfully imported during the failed job rollback. Information about the error that caused the job to fail is returned in the job description of a `DescribeAssetBundleImportJob` API call.
+ All of an imported assets' dependencies must be present for an asset import job to succeed. You can include all dependencies of the asset when you export it. Alternatively, you can configure all dependencies in the QuickSight account that you want to move the asset into. For example, to import a dashboard, the dataset, data source, and theme that the dashboard uses must exist in the account that you're importing the asset into. The caller must have permissions to describe, create, and update all Quick Sight resources located in the asset that you want to import.
+ After an import job succeeds, grant permissions to all users or user groups that need to access the newly created resource. If you want to override the properties of the `QUICKSIGHT JSON` format export, provide the new values when you start an import job. If you want to override properties in a `CLOUDFORMATION JSON` format export, provide the property names to override when you start an export job. Then and add the new values when the stack is created in the CloudFormation console or with the CloudFormation APIs.

Permissions are not propagated through the asset bundles. You can update asset permissions with an `UpdateDashboardPermissions` API call.

Use the following sections to learn more about the asset bundle import API operations.

## StartAssetBundleImportJob


Import jobs are configured with the `StartAssetBundleImportJobRequest` object.

Import jobs are identified by an `AssetBundleImportJobId` that you provide when you create the new import job. This ID is unique while the job is running. After the job is completed, you can reuse this ID for another job.

Provide an Amazon S3 uri or a base64-encoded ZIP file to the request. If you use an Amazon S3 uri, the caller must have `GetObject` permissions. All assets contained in the file are imported into the target account.

You can choose to configure override values to be applied to specific assets when they are imported. All imported data sources must have credential overrides. You can store asset credentials in AWS Secrets Manager or you can set a username and password directly into an override. If you use Secrets Manager, provide the secret ARN in the data source override. The caller must have `GetSecretValue` and `DescribeSecret` permissions to configure the Secrets Manager secret to the override.

All import jobs run asynchronously after they are started. Poll the status of an export job with a `DescribeAssetBundleImportJob` call to know the current status of the job. Callers must have read and write permissions for all of the resource types that are exported, including the optional dependencies that are included in the export job.

When an asset import job fails, you can choose to have all assets that were successfully imported during the failed job roll back automatically. If you don't choose to roll back the assets, successfully imported assets will still exist in the account that they are imported to. Information about the error that caused the job to fail is returned in the job description of a `DescribeAssetBundleImportJob` API call.

For more information about the `StartAssetBundleImportJob` operation, see [StartAssetBundleImportJob](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_StartAssetBundleImportJob.html) in the *Quick Sight API Reference*.

### VPC overrides


When you make a `StartAssetBundleImportJob` API call, provide an override parameter for the VPC connection that's configured to your Quick Sight account. You can find the `OverrideParameters` value in the asset bundle file that was created when the asset was exported. The following example shows an `OverrideParameters` structure that uses the `PrefixForAllResources` value.

```
"OverrideParameters": {
  "VPCConnections": [
    {
        "VPCConnectionId": "<PrefixForAllResources<VPCConnectionId in asset bundle file" 
        "DnsResolvers": [ "string" ],
        "Name": "string", 
        "RoleArn": "string", 
        "SecurityGroupIds": [ "string" ], 
        "SubnetIds": [ "string" ]

     }
  ]
 }
```

For more information about setting up a VPC connection in Quick Sight, see [Configuring the VPC connection with the Quick Sight CLI](https://docs.aws.amazon.com/quicksight/latest/user/vpc-creating-a-connection-in-quicksight-cli.html).

### Permissions


The following statements apply to asset bundle import permissions.
+ Asset bundle import operations support up to 64 principals.
+ The final state of an asset bundle's permissions are determined by the following.
  + If the `OverridePermissions` parameter is provided in the input, all existing permissions are replaced by the permissions that are specified in the `OverridePermissions` parameter.
  + If the asset bundle was exported with permissions, all existing permissions are replaced by the permissions that are in the exported asset bundle's file.
  + If neither of the above conditions are met, no changes are made to the asset's permissions.
+ If the caller executes an asset bundle import job from a different account than the account that the asset bundle was exported from, there are differences in the the user, group, and namespace principal ARNs. When this happens, provide the correct ARN values in the `OverridePermissions` parameter.

### Tags


The final state of an asset's tags are determined by the following.
+ If the `OverrideTags` parameter is provided in the API input, all existing tags are replaced by the tags that are specified in the `OverrideTags` parameter.
+ If the asset bundle file is exported with tags, all existing tags are replaced by the tags that are in the asset bundle's file.
+ If neither of the above statements aren't met, no changes are made to the asset's tags.

## DescribeAssetBundleImportJob


Use the `DescribeAssetBundleImportJob` operation to obtain the current status of an existing export job that's up to 14 days old. You can also use this operation to review a specified job's configuration.

Failed import jobs return error information in their description. Poll this operation until the import job that you want the status of has succeeded or failed.

For more information about the `DescribeAssetBundleImportJob` operation, see [DescribeAssetBundleImportJob](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeAssetBundleImportJob.html) in the *Quick Sight API Reference*.

## ListAssetBundleImportJobs


Use the `ListAssetBundleImportJobs` operation to retrieve a list of all import jobs that were created in the last 14 days. Import jobs are listed in the order that they were started, starting with the most recently started job. If you expect to have multiple lists by this operation, you can choose to specify a maximum page size to be returned and use a pagination token.

For more information about the `ListAssetBundleImportJobs` operation, see [ListAssetBundleImportJobs](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListAssetBundleImportJobs.html) in the *Quick Sight API Reference*.

## Examples


The following example creates an asset bundle import job for a file that is located in the caller's Amazon S3 bucket.

```
# upload your bundle to an S3 bucket in your account
aws s3 cp ~/qs-bundle.qs s3://bucket/key/qs-bundle.qs

aws quicksight start-asset-bundle-import-job
  --aws-account-id AWSACCOUNTID \
  --asset-bundle-import-job-id JOBID \
  --asset-bundle-import-source '{"S3Uri": "s3://bucket/key/qs-bundle.qs"}' \
  --failure-action ROLLBACK

# poll job description until status is success (or failed)
aws quicksight describe-asset-bundle-import-job
  --aws-account-id AWSACCOUNTID \
  --asset-bundle-import-job-id JOBID

# grant yourself or others permissions to view/modify the imported resources (for more information, see [UpdateDashboardPermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateDashboardPermissions.html) in the Amazon Quick Sight API Reference)

# open your Quick Sight site in your browser and confirm the imported resources (important)
```

The following example creates an asset bundle import job with a bundle file that's uploaded directly. This example also uses data source credential overrides.

```
aws quicksight start-asset-bundle-import-job
  --aws-account-id AWSACCOUNTID \
  --asset-bundle-import-job-id JOBID \
  --asset-bundle-import-source-bytes fileb://~/qs-bundle.qs \
  --asset-bundle-import-source-bytes fileb://~/qs-bundle.qs \
  --override-parameters '{"DataSources": [{"DataSourceId": "some-data-source-id", "Credentials": {"CredentialPair": {"Username": "some-username", "Password": "some-password"}}}]}' \
  --failure-action ROLLBACK

# poll job description until status is success (or failed)
aws quicksight describe-asset-bundle-import-job
  --aws-account-id AWSACCOUNTID \
  --asset-bundle-import-job-id JOBID

# grant yourself or others permissions to view/modify the imported resources (for more information, see [UpdateDashboardPermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateDashboardPermissions.html) in the Amazon Quick Sight API Reference)

# open your Quick Sight site in your browser and confirm the imported resources (important)
```

The `Override` parameters also accept local files, as shown in the example below.

```
--override-parameters file://import-override-parameter-prod.json \
--override-permissions file://import-override-permission-prod.json \
--override-tags file://import-override-tags-prod.json \
```

If callers want to assign different permissions to exported assets, they can provide an override object at import. There are two ways that this can be done.
+ Explicitly specify the resource IDs. If a prefix ID is specified, include the prefix in the resource ID.
+ Use the wildcard `"*"` to represent all resources of a specific type in the asset bundle files.

In the example below, all dashboards that are included in the asset bundle file are imported with specified permissions.

```
// import-override-permission-prod.json
{
    "DataSources": [
        {
            "DataSourceIds": ["DATASOURCEID"],
            "Permissions": {
                "Principals": ["arn:aws:quicksight:REGION:AWSACCOUNTID:user/default/USERIR"],
                "Actions": [
                    "quicksight:UpdateDataSourcePermissions",
                    "quicksight:DescribeDataSourcePermissions",
                    "quicksight:PassDataSource",
                    "quicksight:DescribeDataSource",
                    "quicksight:DeleteDataSource",
                    "quicksight:UpdateDataSource"
                ]
            }
        }
    ],
    "DataSets": [
        {
            "DataSetIds": ["DATASETID"],
            "Permissions": {
                "Principals": ["arn:aws:quicksight:REGION:AWSACCOUNTID:user/default/USERIR"],
                "Actions": [
                    "quicksight:DeleteDataSet",
                    "quicksight:UpdateDataSetPermissions",
                    "quicksight:PutDataSetRefreshProperties",
                    "quicksight:CreateRefreshSchedule",
                    "quicksight:CancelIngestion",
                    "quicksight:PassDataSet",
                    "quicksight:ListRefreshSchedules",
                    "quicksight:UpdateRefreshSchedule",
                    "quicksight:DeleteRefreshSchedule",
                    "quicksight:DescribeDataSetRefreshProperties",
                    "quicksight:DescribeDataSet",
                    "quicksight:CreateIngestion",
                    "quicksight:DescribeRefreshSchedule",
                    "quicksight:ListIngestions",
                    "quicksight:DescribeDataSetPermissions",
                    "quicksight:UpdateDataSet",
                    "quicksight:DeleteDataSetRefreshProperties",
                    "quicksight:DescribeIngestion"
                ]
            }
        }
    ],
    "Themes": [
        {
            "ThemeIds": ["THEMEID"],
            "Permissions": {
                "Principals": ["arn:aws:quicksight:REGION:AWSACCOUNTID:user/default/USERIR"],
                "Actions": [
                    "quicksight:ListThemeVersions",
                    "quicksight:UpdateThemeAlias",
                    "quicksight:DescribeThemeAlias",
                    "quicksight:UpdateThemePermissions",
                    "quicksight:DeleteThemeAlias",
                    "quicksight:DeleteTheme",
                    "quicksight:ListThemeAliases",
                    "quicksight:DescribeTheme",
                    "quicksight:CreateThemeAlias",
                    "quicksight:UpdateTheme",
                    "quicksight:DescribeThemePermissions"
                ]
            }
        }
    ],
    "Analyses": [
        {
            "AnalysisIds": ["ANALYSISIDS"],
            "Permissions": {
                "Principals": ["arn:aws:quicksight:REGION:AWSACCOUNTID:user/default/USERIR"],
                "Actions": [
                    "quicksight:RestoreAnalysis",
                    "quicksight:UpdateAnalysisPermissions",
                    "quicksight:DeleteAnalysis",
                    "quicksight:DescribeAnalysisPermissions",
                    "quicksight:QueryAnalysis",
                    "quicksight:DescribeAnalysis",
                    "quicksight:UpdateAnalysis"
                ]
            }
        }
    ],
    "Dashboards": [
        {
            "DashboardIds": ["*"],
            "Permissions": {
                "Principals": ["arn:aws:quicksight:REGION:AWSACCOUNTID:user/default/USERIR"],
                "Actions": [
                    "quicksight:DescribeDashboard",
                    "quicksight:ListDashboardVersions",
                    "quicksight:UpdateDashboardPermissions",
                    "quicksight:QueryDashboard",
                    "quicksight:UpdateDashboard",
                    "quicksight:DeleteDashboard",
                    "quicksight:DescribeDashboardPermissions",
                    "quicksight:UpdateDashboardPublishedVersion"
                ]
            }
        }
    ]
}
```

If callers want to assign different tags to imported assets, they can provide an override object at import. There are two ways that this can be done.
+ Explicitly specify the resource IDs. If a prefix ID is specified, include the prefix in the resource ID.
+ Use the wildcard `"*"` to represent all resources of a specific type in the asset bundle files.

In the example below, all dashboards that are included in the asset bundle file are imported with specified tags.

```
// import-override-tags-prod.json

{
    "DataSources": [
        {
            "DataSourceIds": ["DATASOURCEID"],
            "Tags": [
                {
                    "Key": "tagkey_datasource",
                    "Value": "tagvalue_datasource"
                },
                {
                    "Key": "tagkey2_datasource",
                    "Value": "tagvalue2_datasource"
                }
            ]
        }
    ],
    "DataSets": [
        {
            "DataSetIds": ["*"],
            "Tags": [
                {
                    "Key": "tagkey_dataset",
                    "Value": "tagvalue_dataset"
                },
                {
                    "Key": "tagkey2_dataset",
                    "Value": "tagvalue2_dataset"
                }
            ]
        }
    ],
    "Themes": [
        {
            "ThemeIds": ["*"],
            "Tags": [
                {
                    "Key": "tagkey_theme",
                    "Value": "tagvalue_theme"
                },
                {
                    "Key": "tagkey2_theme",
                    "Value": "tagvalue2_theme"
                }
            ]
        }
    ],
    "Analyses": [
        {
            "AnalysisIds": ["*"],
            "Tags": [
                {
                    "Key": "tagkey_analysis",
                    "Value": "tagvalue_analysis"
                },
                {
                    "Key": "tagkey2_analysis",
                    "Value": "tagvalue2_analysis"
                }
            ]
        }
    ],
    "Dashboards": [
        {
            "DashboardIds": ["*"],
            "Tags": [
                {
                    "Key": "tagkey_dashboard",
                    "Value": "tagvalue_dashboard"
                },
                {
                    "Key": "tagkey2_dashboard",
                    "Value": "tagvalue2_dashboard"
                }
            ]
        }
    ]
}
```

If you want to import an asset bundle file with `Strict` mode, use the `OverrideValidationStrategy` parameter and set `StrictModeForAllResources` to `True`. The following example calls the `StartAssetBundleImportJob` API with `Strict` mode.

```
aws quicksight start-asset-bundle-import-job
--aws-account-id AWSACCOUNTID \
--asset-bundle-import-job-id JOBID \
--asset-bundle-import-source-bytes fileb://~/qs-bundle.qs \
--override-validation-strategy '{"StrictModeForAllResources":true}'
```

# Dashboard operations


With dashboard API operations, you can perform actions on Amazon Quick Sight dashboards. For more information, see the following API operations.

**Topics**
+ [

# Dashboard permissions
](dashboard-permissions.md)
+ [

# CreateDashboard
](create-dashboard.md)
+ [

# DeleteDashboard
](delete-dashboard.md)
+ [

# DescribeDashboard
](describe-dashboard.md)
+ [

# ListDashboards
](list-dashboards.md)
+ [

# ListDashboardVersions
](list-dashboard-versions.md)
+ [

# SearchDashboards
](search-dashboards.md)
+ [

# UpdateDashboard
](update-dashboard.md)
+ [

# UpdateDashboardPublishedVersion
](update-dashboard-published-version.md)

# Dashboard permissions


With dashboard permissions API operations, you can view and update permissions for dashboards. For more information, see the following API operations.

**Topics**
+ [

# DescribeDashboardPermissions
](describe-dashboard-permissions.md)
+ [

# UpdateDashboardPermissions
](update-dashboard-permissions.md)

# DescribeDashboardPermissions


Use the `DescribeDashboardPermissions` API operation to view the read and write permissions for a dashboard. To use this operation, you need the ID of the dashboard whose permissions you want to view. The dashboard ID is part of the dashboard URL in Quick Sight. You can also use the `ListDashboards` API operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-dashboard-permissions
    --aws-account-id 555555555555
    --dashboard-id 111122223333
```

------

For more information about the `DescribeDashboardPermissions` API operation, see [DescribeDashboardPermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeDashboardPermissions.html) in the *Amazon Quick Sight API Reference*.

# UpdateDashboardPermissions


Use the `UpdateDashboardPermissions` API operation to update read and write permissions for a dashboard. You can grant or revoke permissions in the same command. To use this operation, you need the ID of the dashboard whose permissions you want to update. The dashboard ID is part of the dashboard URL in Quick Sight. You can also use the `ListDashboards` API operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight update-dashboard-permissions 
    --aws-account-id 555555555555 
    --dashboard-id DASHBOARDID 
    --grant-permissions Principal=arn:aws:quicksight:us-east-1:555555555555:user/default/USERNAME,Actions=quicksight:DescribeDashboard,quicksight:QueryDashboard,quicksight:ListDashboardVersions
    --revoke-permissions Principal=arn:aws:quicksight:us-east-1:555555555555:user/default/USERNAME,Actions=quicksight:DescribeDashboard,quicksight:QueryDashboard,quicksight:ListDashboardVersions
```

If your `region` has already been configured within the CLI, it doesn't need to be included as an argument.

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-dashboard-permisisons
    --cli-input-json file://updatedashboardpermissions.json
```

------

If your region has already been configured with the CLI, it does not need to be included in an argument.

For more information about the `UpdateDashboardPermissions` API operation, see [UpdateDashboardPermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateDashboardPermissions.html) in the *Amazon Quick Sight API Reference*.

# CreateDashboard


Use the `CreateDashboard` API operation to create a dashboard. Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight create-dashboard 
    --aws-account-id 555555555555 
    --dashboard-id newDash 
    --name Dashboard1 
    --source-entity '{"SourceTemplate":{"DataSetReferences":[{"DataSetPlaceholder":"PLACEHOLDER","DataSetArn":"arn:aws:quicksight:REGION:555555555555:dataset/DATASETID"}],"Arn":"arn:aws:quicksight:REGION:555555555555:template/TEMPLATEID"}}'
```

If your `region` has already been configured within the CLI, it doesn't need to be included as an argument.

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight create-dashbord
    --cli-input-json file://createdashboard.json
```

------

If your region has already been configured with the CLI, it does not need to be included in an argument.

For more information about the `CreateDashboard` API operation, see [CreateDashboard](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateDashboard.html) in the *Amazon Quick Sight API Reference*.

# DeleteDashboard


Use the `DeleteDashboard` API operation to delete a dashboard. To use this operation, you need the ID of the dashboard that you want to delete. The dashboard ID is part of the dashboard URL in Quick Sight. You can also use the `ListDashboards` API operation to get the ID.

You can add a `VersionNumber` parameter to this operation to only delete the specified version of the dashboard.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight delete-dashboard 
    --aws-account-id 555555555555 
    --dashboard-id DASHBOARDID
```

------

For more information about the `DeleteDashboard` API operation, see [DeleteDashboard](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteDashboard.html) in the *Amazon Quick Sight API Reference*.

# DescribeDashboard


Use the `DescribeDashboard` API operation to view the summary of a dashboard. To use this operation, you need the ID of the dashboard that you want to view. The dashboard ID is part of the dashboard URL in Quick Sight. You can also use the `ListDashboards` API operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-dashboard 
    --aws-account-id 555555555555 
    --dashboard-id DASHBOARDID
```

------

For more information about the `DescribeDashboard` API operation, see [DescribeDashboard](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeDashboard.html) in the *Amazon Quick Sight API Reference*.

# ListDashboards


Use the `ListDashboards` API operation to list dashboards in an AWS account. Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight list-dashboards 
    --aws-account-id 555555555555 
    --page-size 10 
    --max-items 100
```

------

For more information about the `ListDashboards` API operation, see [ListDashboards](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListDashboards.html) in the *Amazon Quick Sight API Reference*.

# ListDashboardVersions


Use the `ListDashboardVersions` API operation to list all the versions of a dashboard in an AWS account. To use this operation, you need the ID of the dashboard that you want to update. The dashboard ID is part of the dashboard URL in Quick Sight. You can also use the `ListDashboards` API operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight list-dashboard-versions 
    --aws-account-id AWSACCOUNTID 
    --dashboard-id DASHBOARD  
    --page-size 10 
    --max-items 100
```

------

For more information about the `ListDashboardVersions` API operation, see [ListDashboardVersions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListDashboardVersions.html) in the *Amazon Quick Sight API Reference*.

# SearchDashboards


Use the `SearchDashboards` API operation to search for dashboards in an AWS account. Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight search-dashboards 
    --aws-account-id 555555555555 
    --filters Operator=StringEquals,Name=QUICKSIGHT_USER,Value=arn:aws:quicksight:us-east-1:555555555555:user/default/USERNAME 
    --page-size 10 
    --max-items 100
```

If your `region` has already been configured within the CLI, it doesn't need to be included as an argument.

------

If your region has already been configured with the CLI, it does not need to be included in an argument.

For more information about the `SearchDashboards` API operation, see [SearchDashboards](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_SearchDashboards.html) in the *Amazon Quick Sight API Reference*.

# UpdateDashboard


Use the `UpdateDashboard` API operation to update a dashboard in an AWS account. To use this operation, you need the ID of the dashboard that you want to update. The dashboard ID is part of the dashboard URL in Quick Sight. You can also use the `ListDashboards` API operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight update-dashboard 
    --aws-account-id 555555555555 
    --dashboard-id DASHBOARDID 
    --name Dashboard
    --source-entity '{"SourceTemplate":{"DataSetReferences":[{"DataSetPlaceholder": "PLACEHOLDER","DataSetArn": "arn:aws:quicksight:<region>:<awsaccountid>:dataset/<datasetid>"}],"Arn": "arn:aws:quicksight:<region>:<awsaccountid>:template/<templateid>"}}' 
    --version-description VERSION 
    --dashboard-publish-options AdHocFilteringOption={AvailabilityStatus=ENABLED},ExportToCSVOption={AvailabilityStatus=ENABLED},SheetControlsOption={VisibilityState=EXPANDED} /
    --theme-arn THEMEARN
```

If your `region` has already been configured within the CLI, it doesn't need to be included as an argument.

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-dashboard
    --cli-input-json file://updatedashboard.json
```

------

If your region has already been configured with the CLI, it does not need to be included in an argument.

For more information about the `UpdateDashboard` API operation, see [UpdateDashboard](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateDashboard.html) in the *Amazon Quick Sight API Reference*.

# UpdateDashboardPublishedVersion


Use the `UpdateDashboardPublishedVersion` API operation to update the published version of a dashboard. To use this operation, you need the ID of the published dashboard that you want to update. The dashboard ID is part of the dashboard URL in Quick Sight. You can also use the `ListDashboards` API operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight update-dashboard-published-version 
    --aws-account-id 555555555555 
    --dashboard-id DASHBOARDID 
    --dashboard-version-number VERSION
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-dashboard-published-version
    --cli-input-json file://updatedashboardpublishedversion.json
```

------

For more information about the `UpdateDashboardPublishedVersion` API operation, see [UpdateDashboardPublishedVersion](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateDashboardPublishedVersion.html) in the *Amazon Quick Sight API Reference*.

# Data source operations


With data source operations, you can perform actions on data sources. For more information, see the following API operations.

**Topics**
+ [

# Data source permissions
](data-source-permissions.md)
+ [

# CreateDataSource
](create-data-source.md)
+ [

# DeleteDataSource
](delete-data-source.md)
+ [

# DescribeDataSource
](describe-data-source.md)
+ [

# ListDataSources
](list-data-sources.md)
+ [

# UpdateDataSource
](update-data-source.md)

# Data source permissions


With data source permissions API operations, you can view and update permissions for a data source. For more information, see the following API operations.

**Topics**
+ [

# DescribeDataSourcePermissions
](describe-data-source-operation.md)
+ [

# UpdateDataSourcePermissions
](update-data-source-permissions.md)

# DescribeDataSourcePermissions


Use the `DescribeDataSourcePermissions` API operation to describe the resource permissions for a data source. To use this operation, you need the ID of the data source whose permissions you want to view. The data source ID is part of the data source URL in Quick Sight. You can also use the `ListDataSources` API operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-data-source-permissions 
    --aws-account-id AWSACCOUNTID 
    --data-source-id DATASOURCEID
```

------

For more information about the `DescribeDataSourcePermissions` API operation, see [DescribeDataSourcePermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeDataSourcePermissions.html) in the *Amazon Quick Sight API Reference*.

# UpdateDataSourcePermissions


Use the `UpdateDataSourcePermissions` API operation to update the resource permissions for a data source. You can grant or revoke permissions in the same command. To use this operation, you need the ID of the data source whose permissions you want to update. The data source ID is part of the data source URL in Quick Sight. You can also use the `ListDataSources` API operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight update-data-source-permissions
    --aws-account-id AWSACCOUNTID 
    --data-source-id DATASOURCEID 
    --grant-permissions Principal=arn:aws:quicksight:us-east-1:AWSACCOUNTID:user/default/USERNAME,Actions=quicksight:DescribeDataSource,quicksight:DescribeDataSourcePermissions,quicksight:PassDataSource
    --revoke-permissions Principal=arn:aws:quicksight:us-east-1:AWSACCOUNTID:user/default/USERNAME,Actions=quicksight:DescribeDataSource,quicksight:DescribeDataSourcePermissions,quicksight:PassDataSource
```

If your `region` has already been configured within the CLI, it doesn't need to be included as an argument.

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-data-source-permissions
    --cli-input-json file://updatedatasourcepermissions.json
```

------

If your region has already been configured with the CLI, it does not need to be included in an argument.

For more information about the `UpdateDataSourcePermissions` API operation, see [UpdateDataSourcePermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateDataSourcePermissions.html) in the *Amazon Quick Sight API Reference*.

# CreateDataSource


Use the `CreateDataSource` API operation to create a data source. Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight create-data-source 
    --aws-account-id AWSACCOUNTID 
    --data-source-id DATASOURCEID 
    --name NAME 
    --type ATHENA
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight create-data-source
    --cli-input-json file://createdatasource.json
```

------

For more information about the `CreateDataSource` API operation, see [CreateDataSource](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateDataSource.html) in the *Amazon Quick Sight API Reference*.

# DeleteDataSource


Use the `DeleteDataSource` API operation to permanently delete a data source from Amazon Quick Sight. To use this operation, you need the ID of the data source that you want to delete. The data source ID is part of the data source URL in Quick Sight. You can also use the `ListDataSources` API operation to get the ID.

**Note**  
Deleting a data source breaks all datasets that reference it.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight delete-data-source 
    --aws-account-id AWSACCOUNTID 
    --data-source-id DATASOURCEID
```

------

For more information about the `DeleteDataSource` API operation, see [DeleteDataSource](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteDataSource.html) in the *Amazon Quick Sight API Reference*.

# DescribeDataSource


Use the `DescribeDataSource` API operation to describe a data source. To use this operation, you need the ID of the data source that you want to view. The data source ID is part of the data source URL in Quick Sight. You can also use the `ListDataSources` API operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-data-source 
    --aws-account-id AWSACCOUNTID 
    --data-source-id DATASOURCEID
```

------

For more information about the `DescribeDataSource` API operation, see [DescribeDataSource](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeDataSource.html) in the *Amazon Quick Sight API Reference*.

# ListDataSources


Use the `ListDataSources` API operation to list all data sources in the current AWS Region that belong to a particular AWS account. Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight list-data-sources 
    --aws-account-id AWSACCOUNTID 
    --page-size 10 
    --max-items 100
```

------

For more information about the `ListDataSources` API operation, see [ListDataSources](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListDataSources.html) in the *Amazon Quick Sight API Reference*.

# UpdateDataSource


Use the `UpdateDataSource` API operation to update a data source. To use this operation, you need the ID of the data source that you want to update. The data source ID is part of the data source URL in Quick Sight. You can also use the `ListDataSources` API operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight update-data-source 
    --aws-account-id AWSACCOUNTID 
    --data-source-id DATASOURCEID
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-data-source 
    --cli-input-json file://updatedatasource.json
```

------

For more information about the `UpdateDataSource` API operation, see [UpdateDataSource](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateDataSource.html) in the *Amazon Quick Sight API Reference*.

# Dataset operations


With dataset operations, you can perform actions on Amazon Quick Sight datasets. For more information, see the following API operations.

**Topics**
+ [

# Dataset permissions operations
](data-set-permissions.md)
+ [

# CreateDataSet
](create-data-set.md)
+ [

# DeleteDataSet
](delete-data-set.md)
+ [

# DescribeDataSet
](describe-data-set.md)
+ [

# ListDataSets
](list-data-sets.md)
+ [

# UpdateDataSet
](update-data-set.md)

# Dataset permissions operations


With dataset permissions API operations, you can view and update permissions on a dataset. For more information, see the following API operations.

**Topics**
+ [

# DescribeDataSetPermissions
](describe-data-set-permissions.md)
+ [

# UpdateDataSetPermissions
](update-data-set-permissions.md)

# DescribeDataSetPermissions


Use the `DescribeDataSetPermissions` API operation to describe the permissions on a dataset. To use this operation, you need the ID of the dataset whose permissions that you want to view. The dataset ID is part of the dataset URL in Quick Sight. You can also use the `ListDataSets` API operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-data-set-permissions 
    --aws-account-id AWSACCOUNTID 
    --data-set-id DATASETID
```

------

For more information about the `DescribeDataSetPermissions` API operation, see [DescribeDataSetPermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeDataSetPermissions.html) in the *Amazon Quick Sight API Reference*.

# UpdateDataSetPermissions


Use the `UpdateDataSetPermissions` API operation to update the permissions on a dataset. You can grant or revoke permissions in the same command. To use this operation, you need the ID of the dataset whose permissions that you want to update. The dataset ID is part of the dataset URL in Quick Sight. You can also use the `ListDataSets` API operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight update-data-set-permissions 
    --aws-account-id AWSACCOUNTID 
    --data-set-id DATASETID 
    --grant-permissions Principal=arn:aws:quicksight:us-east-1:AWSACCOUNTID:user/default/USERNAME,Actions=quicksight:DescribeDataSet,quicksight:DescribeDataSetPermissions,quicksight:PassDataSet,quicksight:DescribeIngestion,quicksight:ListIngestions
    --revoke-permissions Principal=arn:aws:quicksight:us-east-1:AWSACCOUNTID:user/default/USERNAME,Actions=quicksight:DescribeDataSet,quicksight:DescribeDataSetPermissions,quicksight:PassDataSet,quicksight:DescribeIngestion,quicksight:ListIngestions
```

If your `region` has already been configured with the CLI, it doesn't need to be included as an argument.

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-data-set-permissions
    --cli-input-json file://updatedatasetpermissions.json
```

------

If your region has already been configured with the CLI, it does not need to be included in an argument.

For more information about the `UpdateDataSetPermissions` API operation, see [UpdateDataSetPermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateDataSetPermissions.html) in the *Amazon Quick Sight API Reference*.

# CreateDataSet


Use the `CreateDataSet` API operation to create a dataset. Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight create-data-set 
    --aws-account-id AWSACCOUNTID 
    --data-set-id DATASETID 
    --name NAME 
    --physical-table-map '{"PhysicalTableMap":{"string":{"CustomSql":{"Columns":[{"Name":"string","Type":"string"}],"DataSourceArn":"string","Name":"string","SqlQuery":"string"},"RelationalTable":{"Catalog":"string","DataSourceArn":"string","InputColumns":[{"Name":"string","Type":"string"}],"Name":"string","Schema":"string"},"S3Source":{"DataSourceArn":"string","InputColumns":[{"Name":"string","Type":"string"}],"UploadSettings":{"ContainsHeader":boolean,"Delimiter":"string","Format":"string","StartFromRow":number,"TextQualifier":"string"}}}}' 
    --import-mode DIRECT_QUERY
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight create-data-set
    --cli-input-json file://createdataset.json
```

------

For more information about the `CreateDataSet` API operation, see [CreateDataSet](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateDataSet.html) in the *Amazon Quick Sight API Reference*.

# DeleteDataSet


Use the `DeleteDataSet` API operation to delete a dataset. To use this operation, you need the ID of the dataset that you want to delete. The dataset ID is part of the dataset URL in Quick Sight. You can also use the `ListDataSets` API operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight delete-data-set 
    --aws-account-id AWSACCOUNTID 
    --data-set-id DATASETID
```

------

For more information about the `DeleteDataSet` API operation, see [DeleteDataSet](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteDataSet.html) in the *Amazon Quick Sight API Reference*.

# DescribeDataSet


Use the `DescribeDataSet` API operation to describe a dataset. To use this operation, you need the ID of the dataset that you want to describe. The dataset ID is part of the dataset URL in Quick Sight. You can also use the `ListDataSets` API operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-data-set 
    --aws-account-id AWSACCOUNTID 
    --data-set-id DATASETID
```

------

For more information about the `DescribeDataSet` API operation, see [DescribeDataSet](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeDataSet.html) in the *Amazon Quick Sight API Reference*.

# ListDataSets


Use the `ListDataSets` API operation to list all of the datasets that belong to a particular AWS account in an AWS Region. Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight list-data-sets 
    --aws-account-id AWSACCOUNTID 
    --page-size 10 
    --max-items 100
```

------

For more information about the `ListDataSets` API operation, see [ListDataSets](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListDataSets.html) in the *Amazon Quick Sight API Reference*.

# UpdateDataSet


Use the `UpdateDataSet` API operation to update a dataset. To use this operation, you need the ID of the dataset that you want to update. The dataset ID is part of the dataset URL in Quick Sight. You can also use the `ListDataSets` API operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
 aws quicksight update-data-set
    --aws-account-id AWSACCOUNTID
    --data-set-id DATASETID
    --name NAME
    --physical-table-map PHYSICALTABLEMAP
    --import-mode IMPORTMODE
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-data-set
    --cli-input-json file://updatedataset.json
```

------

For more information about the `UpdateDataSet` API operation, see [UpdateDataSet](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateDataSet.html) in the *Amazon Quick Sight API Reference*.

# Folder operations


In Quick Sight Enterprise Edition, you can create personal and shared folders to add hierarchical structure to Quick Sight asset management. Using folders, people can more easily organize, navigate through, and discover dashboards, analyses, and datasets. Within a folder, you can still use your usual tools to search for assets or to add assets to your favorites list.

For more information about folders, see [Organizing Assets into Folders for Quick Sight](https://docs.aws.amazon.com/quicksight/latest/user/folders.html) in the *Amazon Quick Sight User Guide*.

Using the AWS CLI, you can use the following operations to create, search, update, and delete folders in your Quick Sight account:

**Topics**
+ [

# Folder membership operations
](folder-membership.md)
+ [

# Folder permissions operations
](folder-permissions.md)
+ [

# CreateFolder
](create-folder.md)
+ [

# DeleteFolder
](delete-folder.md)
+ [

# DescribeFolder
](describe-folder.md)
+ [

# ListFolders
](list-folders.md)
+ [

# SearchFolders
](search-folders.md)
+ [

# UpdateFolder
](update-folder.md)

# Folder membership operations


With folder membership API operations, you can view and update assets, such as a dashboard, analysis, or dataset, to a folder. For more information, see the following API operations:
+ [CreateFolderMembership](create-folder-membership.md)
+ [DeleteFolderMembership](delete-folder-membership.md)
+ [ListFolderMembers](list-folder-members.md)

# CreateFolderMembership


Use the `CreateFolderMembership` to add an asset, such as a dashboard, analysis, or dataset, to a folder. To use this operation, you need the member ID of the asset that you want to add to a folder. The member ID is either the dashboard, analysis, or dataset ID of the analysis, dashboard, or dataset that you want to add to a folder. The member ID is part of the analysis, dashboard, or dataset URL in Quick Sight. You can also use the `ListAnalyses`, `ListDashboards`, or `ListDataSets` operations to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight create-folder-membership 
    --aws-account-id AWSACCOUNTID 
    --folder-id FOLDERID 
    --member-id 444455556666 
    --member-type DASHBOARD
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight create-folder-membership 
    --cli-input-json file://createfoldermembership.json
```

------

For more information about the `CreateFolderMembership` operation, see [CreateFolderMembership](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateFolderMembership.html) in the *Quick Sight API Reference*.

# DeleteFolderMembership


Use the `DeleteFolderMembership` to delete an asset, such as a dashboard, analysis, or dataset, from a folder. To use this operation, you need the member ID of the asset that you want to add to a folder. The member ID is either the dashboard, analysis, or dataset ID of the analysis, dashboard, or dataset that you want to add to a folder. The member ID is part of the analysis, dashboard, or dataset URL in Quick Sight. You can also use the `ListAnalyses`, `ListDashboards`, or `ListDataSets` operations to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight delete-folder-membership 
    --aws-account-id AWSACCOUNTID 
    --folder-id FOLDERID 
    --member-id 444455556666
    --member-type DASHBOARD
```

------

For more information about the `DeleteFolderMembership` operation, see [DeleteFolderMembership](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteFolderMembership.html) in the *Quick Sight API Reference*.

# ListFolderMembers


Use the `ListFolderMembers` operation to list all assets (`DASHBOARD`, `ANALYSIS`, and `DATASET`) that are in a folder. To use this operation, you need the ID of the folder whose permissions you want to view. The folder ID is part of the folder URL in Quick Sight. You can also use the `ListFolders` operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight list-folder-members 
    --aws-account-id AWSACCOUNTID 
    --folder-id FOLDERID
    --page-size 10 
    --max-items 100
```

------

For more information about the `ListFolderMembers` operation, see [ListFolderMembers](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListFolderMembers.html) in the *Quick Sight API Reference*.

# Folder permissions operations


With folder permission API operations, you can view and update permissions for folders. For more information, see the following API operations:
+ [UpdateFolderPermissions](update-folder-permissions.md)
+ [DescribeFolderPermissions](describe-folder-permissions.md)
+ [DescribeFolderResolvedPermissions](describe-folder-resolved-permissions.md)

# DescribeFolderPermissions


Use the `DescribeFolderPermissions` operation to describe the permissions of a folder. To use this operation, you need the ID of the folder whose permissions you want to view. The folder ID is part of the folder URL in Quick Sight. You can also use the `ListFolders` operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-folder-permissions 
    --aws-account-id AWSACCOUNTID 
    --folder-id FOLDERID
```

------

You can find the folder ID by using a `ListFolders` operation or through the URL in the Quick Sight user interface.

For more information about the `DescribeFolderPermissions` operation, see [DescribeFolderPermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeFolderPermissions.html) in the *Quick Sight API Reference*.

# DescribeFolderResolvedPermissions


Use the `DescribeFolderResolvedPermissions` operation to describe the resolved permissions of a folder. Permissions consist of both folder direct permissions and the inherited permissions from the ancestor folders. To use this operation, you need the ID of the folder whose permissions you want to view. The folder ID is part of the folder URL in Quick Sight. You can also use the `ListFolders` operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-folder-resolved-permissions 
    --aws-account-id AWSACCOUNTID 
    --folder-id FOLDERID
```

------

For more information about the `DescribeFolderResolvedPermissions` operation, see [DescribeFolderResolvedPermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeFolderResolvedPermissions.html) in the *Quick Sight API Reference*.

# UpdateFolderPermissions


Use the `UpdateFolderPermissions` operation to update the permissions of a folder. You can grant or revoke permissions in the same command. To use this operation, you need the ID of the folder whose permissions you want to view. The folder ID is part of the folder URL in Quick Sight. You can also use the `ListFolders` operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight update-folder-permissions --aws-account-id AWSACCOUNTID 
    --folder-id FOLDERID 
    --grant-permissions Principal=arn:aws:quicksight:us-east-1:AWSACCOUNTID:user/default/USERNAME,Actions=quicksight:CreateFolder,quicksight:DescribeFolder,quicksight:UpdateFolder,quicksight:DeleteFolder,quicksight:CreateFolderMembership,quicksight:DeleteFolderMembership,quicksight:DescribeFolderPermissions,quicksight:UpdateFolderPermissions
    --revoke-permissions Principal=arn:aws:quicksight:us-east-1:AWSACCOUNTID:user/default/USERNAME,Actions=quicksight:CreateFolder,quicksight:DescribeFolder,quicksight:UpdateFolder,quicksight:DeleteFolder,quicksight:CreateFolderMembership,quicksight:DeleteFolderMembership,quicksight:DescribeFolderPermissions,quicksight:UpdateFolderPermissions
```

If your `region` has already been configured within the CLI, it doesn't need to be included as an argument.

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-folder-permissions 
    --cli-input-json file://updatefolderpermissions.json
```

------

If your region has already been configured with the CLI, it does not need to be included in an argument.

For more information on the `UpdateFolderPermissions` operation, see [UpdateFolderPermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateFolderPermissions.html) in the * Quick Sight API Reference*.

# CreateFolder


The `CreateFolder` operation creates an empty shared folder. To use this operation, you need the ID of the folder whose permissions you want to view. The folder ID is part of the folder URL in Quick Sight. You can also use the `ListFolders` operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight create-folder 
    --aws-account-id AWSACCOUNTID 
    --folder-id FOLDERID
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight create-folder 
    --cli-input-json file://createfolder.json
```

------

For more information about the `CreateFolder` operation, see [CreateFolder](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateFolder.html) in the *Quick Sight API Reference*.

# DeleteFolder


Use the `DeleteFolder` operation to delete an empty folder. To use this operation, you need the ID of the folder whose permissions you want to view. The folder ID is part of the folder URL in Quick Sight. You can also use the `ListFolders` operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight delete-folder 
    --aws-account-id AWSACCOUNTID 
    --folder-id FOLDERID
```

------

For more information about the `DeleteFolder` operation, see [DeleteFolder](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteFolder.html) in the *Quick Sight API Reference*.

# DescribeFolder


Use the `DescribeFolder` operation to describe a folder. To use this operation, you need the ID of the folder whose permissions you want to view. The folder ID is part of the folder URL in Quick Sight. You can also use the `ListFolders` operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-folder 
    --aws-account-id AWSACCOUNTID 
    --folder-id FOLDERID
```

------

For more information about the `DescribeFolder` operation, see [DescribeFolder](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeFolder.html) in the *Quick Sight API Reference*.

# ListFolders


Use the `ListFolders` operation to list all folders in an Quick Sight account. 

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight list-folders 
    --aws-account-id AWSACCOUNTID 
    --page-size 10 
    --max-items 100
```

------

For more information about the `ListFolders` operation, see [ListFolders](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListFolders.html) in the *Quick Sight API Reference*.

# SearchFolders


Use the `SearchFolders` operation to search the subfolders of a folder. 

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight search-folders 
    --aws-account-id AWSACCOUNTID 
    --filters Operator=StringEquals,Name=QUICKSIGHT_USER,Value=arn:aws:quicksight:us-east-1:AWSACCOUNTID:user/default/USERNAME 
    --max-results 100
```

If your `region` has already been configured within the CLI, it doesn't need to be included as an argument.

------

If your region has already been configured with the CLI, it does not need to be included in an argument.

For more information on the SearchFolders operation, see [SearchFolders](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_SearchFolders.html) in the * Quick Sight API Reference*.

# UpdateFolder


Use the `UpdateFolder` operation to update the name of a folder. To use this operation, you need the ID of the folder whose permissions you want to view. The folder ID is part of the folder URL in Quick Sight. You can also use the `ListFolders` operation to get the ID.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight update-folder 
    --aws-account-id AWSACCOUNTID 
    --folder-id FOLDERID 
    --name NAME
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-folder 
    --cli-input-json file://updatefolder.json
```

------

For more information about the `UpdateFolder` operation, see [UpdateFolder](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateFolder.html) in the *Quick Sight API Reference*.

# Group operations


With group API operations, you can perform actions on groups. For more information, see the following API operations.

**Topics**
+ [

# Group membership operations
](group-membership.md)
+ [

# CreateGroup
](create-group.md)
+ [

# DeleteGroup
](delete-group.md)
+ [

# DescribeGroup
](describe-group.md)
+ [

# ListGroups
](list-groups.md)
+ [

# SearchGroups
](search-groups.md)
+ [

# UpdateGroup
](update-group.md)

# Group membership operations


With group membership API operations, you can view and update permissions for members in a group. For more information, see the following API operations.

**Topics**
+ [

# CreateGroupMembership
](create-group-membership.md)
+ [

# DeleteGroupMembership
](delete-group-membership.md)
+ [

# DescribeGroupMembership
](describe-group-membership.md)
+ [

# ListGroupMemberships
](list-group-memberships.md)

# CreateGroupMembership


Use the `CreateGroupMembership` API operation to add an Amazon Quick Sight user to a Quick Sight group. You can find users in a certain group by calling the `ListGroups` API operation, and then the `ListGroupMemberships` API operation on the group of your choice.

Following is an example AWS CLI command for this operation. In the following examples, the member *`USERNAME`* is added to the group *`GROUPNAME`*.

------
#### [ AWS CLI ]

```
aws quicksight create-group-membership 
    --namespace default 
    --aws-account-id AWSACCOUNTID 
    --group-name GROUPNAME 
    --member-name USERNAME
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight create-group-membership 
    --cli-input-json file://creategroupmembership.json
```

------

For more information about the `CreateGroupMembership` API operation, see [CreateGroupMembership](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateGroupMembership.html) in the *Amazon Quick Sight API Reference*.

# DeleteGroupMembership


Use the `DeleteGroupMembership` API operation to remove a user from a group so that the user is no longer a member of the group. You can find users in a certain group by calling the `ListGroups` API operation, and then the `ListGroupMemberships` operation on the group that you choose.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight delete-group-membership 
    --member-name USERNAME 
    --group-name GROUPNAME 
    --aws-account-id AWSACCOUNTID 
    --namespace NAMESPACE
```

------

For more information about the `DeleteGroupMembership` API operation, see [DeleteGroupMembership](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteGroupMembership.html) in the *Amazon Quick Sight API Reference*.

# DescribeGroupMembership


Use the `DescribeGroupMembership` API operation to determine if a user is a member of the specified group. If the user exists and is a member of the specified group, an associated `GroupMember` object is returned.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

CLI Input:

```
aws quicksight describe-group-membership 
    --region us-west-2 
    --aws-account-id AWSACCOUNTID 
    --namespace NAMESPACE 
    --group-name Marketing-East 
    --member-name MEMBERNAME
```

------

For more information about the `ListGroups` API operation, see [DescribeGroupMembership](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeGroupMembership.html) in the *Amazon Quick Sight API Reference*.

# ListGroupMemberships


Use the `ListGroupMemberships` API operation to list member users in a group. To view a list of user groups in Amazon Quick Sight, call the `ListGroups` API operation.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight list-group-memberships 
    --group-name GROUPNAME 
    --max-results 100 
    --aws-account-id AWSACCOUNTID 
    --namespace NAMESPACE
```

------

For more information about the `ListGroupMemberships` API operation, see [ListGroupMemberships](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListGroupMemberships.html) in the *Amazon Quick Sight API Reference*.

# CreateGroup


Use the `CreateGroup` API operation to create a user group in Amazon Quick Sight. Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight create-group 
    --namespace NAMESPACE 
    --aws-account-id AWSACCOUNTID 
    --group-name GROUPNAME
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight create-group 
    --cli-input-json file://creategroup.json
```

------

For more information about the `CreateGroup` API operation, see [CreateGroup](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateGroup.html) in the *Amazon Quick Sight API Reference*.

# DeleteGroup


Use the `DeleteGroup` API operation to remove a user group from Amazon Quick Sight. You can find a group name by calling the `ListGroups` API operation.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight delete-group 
    --group-name GROUPNAME 
    --aws-account-id AWSACCOUNTID 
    --namespace default
```

------

For more information about the `DeleteGroup` API operation, see [DeleteGroup](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteGroup.html) in the *Amazon Quick Sight API Reference*.

# DescribeGroup


Use the `DescribeGroup` API operation to view an Amazon Quick Sight group's description and Amazon Resource Name (ARN). You can find a group name by calling the `ListGroups` API operation.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-group 
    --group-name GROUPNAME 
    --aws-account-id AWSACCOUNTID 
    --namespace default
```

------

For more information about the `DescribeGroup` API operation, see [DescribeGroup](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeGroup.html) in the *Amazon Quick Sight API Reference*.

# ListGroups


Use the `ListGroups` API operation to list all user groups in Amazon Quick Sight. Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight list-groups 
    --aws-account-id AWSACCOUNTID 
    --max-results 100 
    --namespace default
```

------

For more information about the `ListGroups` API operation, see [ListGroups](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListGroups.html) in the *Amazon Quick Sight API Reference*.

# SearchGroups


Use the `SearchGroups` operation to search groups in a specified Quick Sight namespace using the supplied filters.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

CLI Input:

```
aws quicksight search-groups 
    --region us-west-2 
    --aws-account-id AWSACCOUNTID 
    --namespace default 
    --filters "[{\"Operator\": \"StringLike\", \"Name\": \"GROUP_NAME\", \"Value\": \"Mar\"}]"
```

------

For more information about the `SearchGroups` API operation, see [SearchGroups](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_SearchGroups.html) in the *Amazon Quick Sight API Reference*.

# UpdateGroup


Use the `UpdateGroup` API operation to change a group description. You can find a group name by calling the `ListGroups` API operation.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight update-group 
    --group-name GROUPNAME 
    --description "NEW DESCRIPTION" 
    --aws-account-id AWSACCOUNTID 
    --namespace default
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-group
    --cli-input-json file://updategroup.json
```

------

For more information about the `UpdateGroup` API operation, see [UpdateGroup](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateGroup.html) in the *Amazon Quick Sight API Reference*.

# IAM policy assignment operations


AWS Identity and Access Management (IAM) is an AWS service that helps an administrator to securely control access to AWS resources. Administrators control who can be authenticated (signed in) and authorized (have permissions) to use Amazon Quick Sight resources. For more information about using Quick Sight with IAM, see [Using AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/quicksight/latest/user/security-iam.html) in the *Amazon Quick Sight User Guide*.

With IAM policy assignment operations, you can create, update, and delete IAM policy assignments. For more information, see the following API operations.

**Topics**
+ [

# CreateIAMPolicyAssignment
](create-iam-policy-assignment.md)
+ [

# DeleteIAMPolicyAssignment
](delete-iam-policy-assignment.md)
+ [

# DescribeIAMPolicyAssignment
](describe-iam-policy-assignment.md)
+ [

# ListIAMPolicyAssignments
](list-iam-policy-assignments.md)
+ [

# ListIAMPolicyAssignmentsForUser
](list-iam-policy-assignments-for-user.md)
+ [

# UpdateIAMPolicyAssignment
](update-iam-policy-assignment.md)

# CreateIAMPolicyAssignment


Use the `CreateIAMPolicyAssignment` API operation to create an assignment with one specified IAM policy, identified by its Amazon Resource Name (ARN). This policy assignment is attached to the specified groups or users of Amazon Quick Sight. Assignment names are unique for each AWS account. To avoid overwriting rules in other namespaces, use assignment names that are unique.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight create-iam-policy-assignment
    --aws-account-id AWSACCOUNTID 
    --assignment-name ASSIGNMENT 
    --assignment-status ENABLED
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight create-iam-policy-assignment 
    --cli-input-json file://createiampolicyassignment.json
```

------

For more information about the `CreateIAMPolicyAssignment` API operation, see [CreateIAMPolicyAssignment](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateIAMPolicyAssignment.html) in the *Amazon Quick Sight API Reference*.

# DeleteIAMPolicyAssignment


Use the `DeleteIAMPolicyAssignment` API operation to delete an existing IAM policy assignment.

To find a policy assignment name, call the `ListIAMPolicyAssignments` or `ListIAMPolicyAssignmentsForUser` API operation.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight delete-iam-policy-assignment
    --aws-account-id AWSACCOUNTID 
    --assignment-name ASSIGNMENT 
    --namespace default
```

------

For more information about the `DeleteIAMPolicyAssignment` API operation, see [DeleteIAMPolicyAssignment](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteIAMPolicyAssignment.html) in the *Amazon Quick Sight API Reference*.

# DescribeIAMPolicyAssignment


Use the `DescribeIAMPolicyAssignment` API operation to describe an existing IAM policy assignment.

To find a policy assignment name, call the `ListIAMPolicyAssignments` or `ListIAMPolicyAssignmentsForUser` API operation.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-iam-policy-assignment
    --aws-account-id AWSACCOUNTID 
    --assignment-name ASSIGNMENT 
    --namespace default
```

------

For more information about the `DescribeIAMPolicyAssignment` API operation, see [DescribeIAMPolicyAssignment](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeIAMPolicyAssignment.html) in the *Amazon Quick Sight API Reference*.

# ListIAMPolicyAssignments


Use the `ListIAMPolicyAssignments` API operation to list IAM policy assignments in the current Amazon Quick Sight account. Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight list-iam-policy-assignments
    --aws-account-id AWSACCOUNTID 
    --assignment-status ENABLED 
    --namespace default 
    --max-results 100
```

------

For more information about the `ListIAMPolicyAssignments` API operation, see [ListIAMPolicyAssignments](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListIAMPolicyAssignments.html) in the *Amazon Quick Sight API Reference*.

# ListIAMPolicyAssignmentsForUser


Use the `ListIAMPolicyAssignmentsForUser` API operation to list all the IAM policy assignments, including the Amazon Resource Names (ARNs), for the IAM policies assigned to the specified user and the groups that the user belongs to.

To find a user name, call the `ListUsers` API operation.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight list-iam-policy-assignments-for-user 
    --aws-account-id AWSACCOUNTID 
    --user-name USER 
    --max-results 100 
    --namespace default
```

------

For more information about the `ListIAMPolicyAssignmentsForUser` API operation, see [ListIAMPolicyAssignmentsForUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListIAMPolicyAssignmentsForUser.html) in the *Amazon Quick Sight API Reference*.

# UpdateIAMPolicyAssignment


Use the `UpdateIAMPolicyAssignment` API operation to update an existing IAM policy assignment. This operation updates only the optional parameters that are specified in the request. It overwrites all of the users included in `Identities`.

To find a policy assignment name, call the `ListIAMPolicyAssignments` or `ListIAMPolicyAssignmentsForUser` API operations.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight update-iam-policy-assignment
    --aws-account-id AWSACCOUNTID 
    --assignment-name NAME 
    --namespace default
    --assignment-status ENABLED 
    --policy-arn 222244446666 
    --identities KEY=VALUE,VALUE,KEY=VALUE,VALUE
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-iam-policy-assignment 
    --cli-input-json file://updateiampolicyassignment.json
```

------

For more information about the `UpdateIAMPolicyAssignment` API operation, see [UpdateIAMPolicyAssignment](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateIAMPolicyAssignment.html) in the *Amazon Quick Sight API Reference*.

# Ingestion operations


With ingestion API operations, you can perform actions on Quick Sight ingestions. For more information, see the following API operations.

**Topics**
+ [

# CancelIngestion
](cancel-ingestion.md)
+ [

# CreateIngestion
](create-ingestion.md)
+ [

# DescribeIngestion
](describe-ingestion.md)
+ [

# ListIngestions
](list-ingestions.md)

# CancelIngestion


Use the `CancelIngestion` operation to cancel an ongoing ingestion of data into SPICE. 

To use this operation, you need the ID of the dataset that is undergoing the ingestion that you want to cancel and the ID of the ingestion you want to cancel. You can use the `ListDataSets` operation to list all datasets and their corresponding dataset IDs. You can use the `ListIngestions` operation to list all ingestion IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight cancel-ingestion 
    --aws-account-id AWSACCOUNTID 
    --data-set-id DATASETID 
    --ingestion-id INGESTIONID
```

------

For more information about the `CancelIngestion` operation, see [CancelIngestion](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CancelIngestion) in the *Quick Sight API Reference*.

# CreateIngestion


Use the `CreateIngestion` to create and start a new SPICE ingestion on a dataset.

Any ingestions operating on tagged datasets inherit the same tags automatically for use in access control. For an example, see [How do I create an IAM policy to control access to Amazon EC2 resources using tags?](https://aws.amazon.com/premiumsupport/knowledge-center/iam-ec2-resource-tags/) in the AWS Knowledge Center. Tags are visible on the tagged dataset, but not on the ingestion resource.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight create-ingestion 
    --data-set-id DATASETID 
    --ingestionid INGESTIONID 
    --aws-account-id AWSACCOUNTID
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight create-ingestion
    --cli-input-json file://createingestion.json
```

------

For more information about the `CreateIngestion` operation, see [CreateIngestion](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateIngestion) in the *Quick Sight API Reference*.

# DescribeIngestion


Use the `DescribeIngestion` operation to describe a SPICE ingestion.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-ingestion 
    --aws-account-id AWSACCOUNTID 
    --data-set-id DATASETID 
    --ingestion-id INGESTIONID
```

------

For more information about the `DescribeIngestion` operation, see [DescribeIngestion](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeIngestion) in the *Quick Sight API Reference*.

# ListIngestions


Use the `ListIngestions` operation to list the history of SPICE ingestioned for a dataset.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight list-ingestions 
    --data-set-id DATASETID 
    --aws-account-id AWSACCOUNTID 
    --page-size 10
    --max-items 100
```

------

For more information about the `ListIngestions` operation, see [ListIngestions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListIngestions) in the *Quick Sight API Reference*.

# IP and VPC endpoint restriction operations


With IP and VPC endpoint restriction API operations, you can perform actions on Quick Sight IP and VPC endpoint restrictions. For more information, see the following API operations.

**Topics**
+ [

# DescribeIpRestriction
](describe-ip-restriction.md)
+ [

# UpdateIpRestriction
](update-ip-restriction.md)
+ [

# Quick and interface VPC endpoints (AWS PrivateLink)
](vpc-interface-endpoints.md)

# DescribeIpRestriction


Use the `DescribeIpRestriction` operation to get a summary and status of IP rules.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-ip-restriction \
    --aws-account-id AWSACCOUNTID
```

------

For more information about the `DescribeIpRestriction` operation, see [DescribeIpRestriction](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeIpRestriction) in the *Quick Sight API Reference*.

# UpdateIpRestriction


Use the `UpdateIpRestriction` operation to update the content and status of IP rules. To use this operation, provide the entire map of rules. You can use the `DescribeIpRestriction` operation to get the current rule map.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight update-ip-restriction \
    --aws-account-id AWSACCOUNTID
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-ip-restriction \
    --cli-input-json file://updateiprestriction.json
```

------

For more information about the `UpdateIpRestriction` operation, see [UpdateIpRestriction](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateIpRestriction) in the *Quick Sight API Reference*.

# Quick and interface VPC endpoints (AWS PrivateLink)
VPC endpoints (AWS PrivateLink)

You can establish a private connection between your VPC and Quick by creating an *interface VPC endpoint*. Interface endpoints are powered by [AWS PrivateLink](https://aws.amazon.com/privatelink), a technology that enables you to privately access the Quick website and APIs without leaving the Amazon network. Instances in your VPC don't need public IP addresses to communicate with Quick website and APIs, but still need access to certain domains other than Quick so that static assets, reports, and other files can be downloaded. For a list of domains that Quick needs to access, see [Domains accessed by Quick](#vpc-interface-endpoints-supported-domains).

Each interface endpoint is represented by one or more [Elastic Network Interfaces](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in your subnets. 

For more information, see [Interface VPC endpoints (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html) in the *Amazon VPC User Guide*. 

## Considerations for Quick VPC endpoints


Before you set up an interface VPC endpoint for Quick, ensure that you review [Interface endpoint properties and limitations](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#vpce-interface-limitations) in the *Amazon VPC User Guide*. 

The following considerations apply to VPC endpoint restrictions in Quick:
+ Quick supports data sources from AWS services including Amazon S3, Amazon Redshift, and Athena. Quick needs access to the resources from your AWS accounts to retrieve this data. If you want traffic to other AWS services to be routed through the VPC endpoint, you need to create VPC endpoint connections for each service that your Quick account is configured to. For more information about connecting to a VPC connection with Quick, see [Connecting to a VPC with Quick](https://docs.aws.amazon.com/quicksight/latest/user/working-with-aws-vpc.html).
+ IP and VPC endpoint rules precede all other rules in Quick. If you have embedded dashboards or visuals that are visible to the public (anyone on the internet) and restrict traffic to the Quick website through a VPC endpoint, public dashboards can only be shared through the VPC endpoint. For more information on public embedding, see [Turning on public access to visuals and dashboards with a 1-click embed code](https://docs.aws.amazon.com/quicksight/latest/user/embedded-analytics-1-click-public.html).
+ Quick Website VPC endpoints are not available in China regions & Govcloud.

## Creating an interface VPC endpoint for Quick Website


You can create a VPC endpoint for the Quick website using either the Amazon VPC console or the AWS Command Line Interface (AWS CLI). For more information, see [Creating an interface endpoint](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint) in the *Amazon VPC User Guide*.

Create VPC endpoints for Quick using the following service names: 
+ `com.amazonaws.region.quicksight-website` - For Quick website access

The private DNS names for the Quick website are not same as the public URL for Quick. To reach Quick through the public URL, create an A record for the website in the format `<region>.quicksight.aws.amazon.com` and point it to the VPC endpoint. For more information about routing to a VPC endpoint, see [Routing traffic to an Amazon Virtual Private Cloud interface endpoint by using your domain name](https://docs.aws.amazon.com//Route53/latest/DeveloperGuide/routing-to-vpc-interface-endpoint.html).

The management of certain administrator features require that an administrator sign in to Quick as an IAM user. If you sign in through the VPC endpoint, you need to create the following VPC endpoints for the AWS Management Console.
+ `com.amazonaws.region.console`
+ `com.amazonaws.region.signin`

For more information about VPC endpoints for the AWS Management Console, see [Required VPC endpoints and DNS configuration](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/required-endpoints-dns-configuration.html).

## Creating a VPC endpoint policy for Quick Website


You can attach an endpoint policy to your VPC endpoint to restrict usage of the endpoint to specific Quick accounts or to accounts under specific AWS organizations. The AWS account IDs that are allow–listed or deny–listed are the AWS accounts in which the Quick account is created. In most cases, this is the same account ID in which the VPC endpoint is created. The policy specifies the following information:
+ The principal that can perform actions.
+ The actions that can be performed.
+ The resources on which actions can be performed.

For more information, see [Controlling access to services with VPC endpoints](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) in the *Amazon VPC User Guide*. 

**Example: VPC endpoint policy for Quick Website actions**  
The following is an example of an endpoint policy for Quick. When attached to an endpoint, this policy grants access to all Quick actions for all principals on all resources.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:PrincipalAccount": [
                        "012345678901"
                    ]
                }
            }
        }
    ]
}
```

------

Policies for the Quick website must have the values of the `Principal`, `Action`, and `Resource` fields set to `"*"`. A condition may be specified only against the `aws:PrincipalAccount` or the `aws:OrgId attributes`. These conditions are evaluated on all requests to the Quick website and API calls after the user signs in.

## Creating an interface VPC endpoint for Quick APIs


You can create a VPC endpoint for the Quick APIs using either the Amazon VPC console or the AWS Command Line Interface (AWS CLI). For more information, see [Creating an interface endpoint](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint) in the *Amazon VPC User Guide*.

Create VPC endpoints for Quick using the following service names: 
+ `com.amazonaws.region.quicksight`
+ For Quick API access through FIPS endpoint- `com.amazonaws.region.quicksight-fips`

When you create a VPC endpoint for Quick APIs, the private DNS resolution automatically routes API calls to the VPC endpoint. No additional DNS configuration is required - your existing API calls to `quicksight.<region>.amazonaws.com` will automatically use the VPC endpoint when private DNS is enabled.

For more information about VPC endpoints for the AWS Management Console, see [Required VPC endpoints and DNS configuration](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/required-endpoints-dns-configuration.html).

**Following APIs are not supported via interface VPC endpoint Quick API:**  



| API Name | 
| --- | 
| CreateActionConnector | 
| DeleteActionConnector | 
| DescribeActionConnector | 
| DescribeActionConnectorPermissions | 
| ListActionConnectors | 
| SearchActionConnectors | 
| UpdateActionConnector | 
| UpdateActionConnectorPermissions | 
| GetFlowMetadata | 
| GetFlowPermissions | 
| ListFlows | 
| SearchFlows | 
| UpdateFlowPermissions | 

## Creating a VPC endpoint policy for Quick APIs


You can attach an endpoint policy to your VPC endpoint to restrict usage of the endpoint to specific Quick accounts or to accounts under specific AWS organizations. The AWS account IDs that are allow–listed or deny–listed are the AWS accounts in which the Quick account is created. In most cases, this is the same account ID in which the VPC endpoint is created. The policy specifies the following information:
+ The principal that can perform actions.
+ The actions that can be performed.
+ The resources on which actions can be performed.

For more information, see [Controlling access to services with VPC endpoints](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) in the *Amazon VPC User Guide*. 

**Example: VPC endpoint policy for Quick API actions**  
The following is an example of an endpoint policy for Quick APIs. When attached to an endpoint, this policy grants access to all Quick actions for specific Quick actions and conditions.

```
{  
    "Version":"2012-10-17",		 	 	   
    "Statement": [  
        {  
            "Effect": "Allow",  
            "Principal": "*",  
            "Action": [  
                "quicksight:DescribeUser",  
                "quicksight:ListUsers"
            ],  
            "Resource": "*",  
            "Condition": {  
                "StringEquals": {  
                    "aws:PrincipalAccount": [  
                        "012345678901"  
                    ]  
                }  
            }  
        }  
    ]  
}
```

## Restricting access to the Quick website


You can choose to restrict access to your Quick account to only allow traffic from an approved VPC endpoint. This prevents general internet users from accessing your Quick account. Before you can make this change, make sure that you're an IAM user with the `UpdateIpRestriction` permission. For more information on the permissions that are required to restrict access with a VPC endpoint, see [Turning on IP and VPC endpoint restrictions in Quick](https://docs.aws.amazon.com/quicksight/latest/user/enabling-ip-restrictions.html).

Use the following procedure to restrict access with a VPC endpoint in Quick.

1. Open the [Quick console](https://quicksight.aws.amazon.com/).

1. Choose **Manage Quick**, and then choose **Security & permissions**.

1. On the **Security & permissions** page that opens, navigate to **IP and VPC endpoint restrictions** and choose **Manage**.

1. Turn on the **Enforce restrictions** switch to turn on your VPC endpoint restrictions.

You can also perform this action with the Quick APIs. The following example turns on the enforcement of a VPC endpoint restriction.

```
aws quicksight update-ip-restriction \
--aws-account-id AWSACCOUNTID \
--region REGION \
--enabled \
--vpc-endpoint-id-restriction-rule-map vpce-001122def=MyVpcEndpointAllowed
```

## Domains accessed by Quick


The table below lists all URLs that are accessed by Quick from your browser. Make sure that you have established connectivity for all of domains listed in the table.


| URL | Reason | Has VPC endpoint support? | 
| --- | --- | --- | 
|  region.quicksight.aws.amazon.com  |  The bulk of traffic to Quick flows through this domain.  |  Yes  | 
|  quicksight.region.amazonaws.com  |  Quick public API calls.  |  Yes  | 
|  signin.aws.amazon.com  |  To sign in to the AWS console if the account uses IAM identities.  |  Yes  | 
|  region.signin.aws  |  To sign in to the AWS console if the account uses or Quick native users for identity management.  |  No  | 
|  \$1.cloudfront.net  |  To download static assets, for example CSS or JS.  |  No  | 
|  \$1.s3.region.amazonaws.com  |  To download reports and thumbnails.  |  Yes  | 
|  \$1.execute-api.region.amazonaws.com  |  To access client-side metrics.  |  No  | 
|  https://\$1.kinesisvideo.amazonaws.com  |  To allow live streaming of automation workflows  |  No  | 
|  https://apis.google.com/js/api.js  |  To allow google drive file picker  |  NA  | 
|  https://\$1.officeapps.live.com  |  To allow Quick side panel extenstion  |  NA  | 
|  https://outlook.cloud.microsoft  |  To allow Quick side panel extenstion  |  NA  | 
|  https://\$1.sharepoint.com  |  To allow Quick side panel extenstion  |  NA  | 
|  https://\$1.office.com  |  To allow Quick side panel extenstion  |  NA  | 
|  https://\$1.office365.com  |  To allow Quick side panel extenstion  |  NA  | 

# Key management operations


Use Quick Sight key management APIs to list and update customer managed keys (CMKs) that are registered to a Quick Sight account. For more information about key management in Quick Sight, see [Key management](https://docs.aws.amazon.com/quicksight/latest/user/key-management.html) in the Quick Sight User Guide.

**Permissons**

Before you begin, create or update an IAM role that contains a user permission to access and use all CMKs that are registered to your Quick Sight account. At minimum, the IAM policy must contain the `kms:CreateGrant`, `quicksight:UpdateKeyRegistration`, and `quicksight:DescribeKeyRegistration` permissions. To see a list of IAM policy examples that can be used to grant different degrees of access to the CMKs in a account, see [IAM identity-based policies for Amazon Quick Sight: using the admin key management console](https://docs.aws.amazon.com/quicksight/latest/user/iam-policy-examples.html#security_iam_id-based-policy-examples-admin-key-management-console).

## CMK API Examples
Examples

The example below lists all customer managed keys that are registered to a Quick Sight account.

```
aws quicksight describe-key-registration \
--aws-account-id AWSACCOUNTID \
--region REGION
```

The example below updates a CMK registration and designates a default key.

```
aws quicksight update-key-registration \
--aws-account-id AWSACCOUNTID \
--key-registration '[{"KeyArn": "KEYARN", "DefaultKey": true}]'
--region REGION
```

The example below updates the registration of two CMKs in a Quick Sight account and designates one of the two updated keys as the new default key.

```
aws quicksight update-key-registration \
--aws-account-id AWSACCOUNTID \
--key-registration '[{"KeyArn": "KEYARN", "DefaultKey": true}, {"KeyArn": "KEYARN", "DefaultKey": false}]'
--region REGION
```

The example below clears all CMK registrations from a Quick Sight account. Instead, Quick Sight uses AWS owned keys to encrypt your resources.

```
aws quicksight update-key-registration \
--aws-account-id AWSACCOUNTID \
--key-registration '[]'
--region REGION
```

# Namespace operations


An Amazon Quick Sight *namespace* is a logical container that you can use to organize clients, subsidiaries, teams, and so on. By using a namespace, you can isolate the Amazon Quick Sight users and groups that are registered for that namespace. Users that access the namespace can share assets only with other users or groups in the same namespace. They can't see users and groups in other namespaces. For more information about namespaces, see [Supporting multitenancy with isolated namespaces](https://docs.aws.amazon.com/quicksight/latest/user/namespaces.html) in the *Quick Sight User guide*.

To implement namespaces, you use the following Quick Sight API operations.

**Topics**
+ [

# CreateNamespace
](create-namespace.md)
+ [

# DeleteNamespace
](delete-namespace.md)
+ [

# DescribeNamespace
](describe-namespace.md)
+ [

# ListNamespaces
](list-namespaces.md)

# CreateNamespace


Use the `CreateNamespace` API operation to create a new namespace for you to use with Amazon Quick Sight.

You can create a namespace after your AWS account is subscribed to Amazon Quick Sight. The namespace must be unique within the AWS account. By default, there is a limit of 100 namespaces per AWS account. To increase your limit, create a ticket with AWS Support.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight create-namespace 
    --aws-account-id AWSACCOUNTID 
    --namespace NAMESPACE \
    --identity-store QUICKSIGHT
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight create-namespace 
    --cli-input-json file://createnamespace.json
```

------

For more information about the `CreateNamespace` API operation, see [CreateNamespace](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateNamespace.html) in the *Amazon Quick Sight API Reference*.

# DeleteNamespace


Use the `DeleteNamespace` API operation to delete a namespace and the users and groups that are associated with the namespace. This is an asynchronous process. Assets including dashboards, analyses, datasets, and data sources are not deleted. To delete these assets, you use the relevant API operations for each asset, such as `DeleteDashboard` or `DeleteDataSet`.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight delete-namespace 
    --aws-account-id AWSACCOUNTID 
    --namespace NAMESPACE
```

Find a namespace by running the `ListNamespaces` operation.

------

For more information about the `DeleteNamespace` API operation, see [DeleteNamespace](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteNamespace.html) in the *Amazon Quick Sight API Reference*.

# DescribeNamespace


Use the `DescribeNamespace` API operation to describe a specified namespace. Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-namespace 
    --aws-account-id AWSACCOUNTID 
    --namespace NAMESPACE
```

------

For more information about the `DescribeNamespace` API operation, see [DescribeNamespace](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeNamespace.html) in the *Amazon Quick Sight API Reference*.

# ListNamespaces


Use the `ListNamespaces` API operation to list namespaces for a specified AWS account. Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight list-namespaces 
    --aws-account-id AWSACCOUNTID 
    --page-size 10
    --max-items 100
```

------

For more information about the `ListNamespaces` API operation, see [ListNamespaces](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListNamespaces.html) in the *Amazon Quick Sight API Reference*.

# Tag operations


Tags can help you categorize and allocate costs incurred by your Quick Sight resources. For more information about tags, see [User-defined cost allocation tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/custom-tags.html). You can visualize costs of tagged resources that have consumption-based pricing in AWS cost and usage reports. For more information on cost and usage reports, see [What are AWS Cost and Usage Reports](https://docs.aws.amazon.com//cur/latest/userguide/what-is-cur.html).

You can also use tags to scope user permissions by granting a user permission to access or change only resources with certain tag values. You can use the [TagResource](tag-resource.md) API operation with a resource that already has tags. If you specify a new tag key for the resource, this tag is appended to the list of tags associated with the resource. If you specify a tag key that is already associated with the resource, the new tag value that you specify replaces the previous value for that tag. You can tag a new Quick Sight managed user or IAM user at creation with a [RegisterUser](register-user.md) API call.

You can associate as many as 50 tags with a resource. Amazon Quick Sight supports tagging for a data sets, data sources, dashboards, users, and templates.

Tagging for Quick Sight works in a similar way to tagging for other AWS services. Quick Sight doesn't currently support the tag editor for AWS Resource Groups.

Tags that are used for Admin Pro, Author Pro, or Reader Pro users can't be used as cost allocation tags.

For more information about the Tag API operations, see the following topics.

**Topics**
+ [

# ListTagsForResource
](list-tags-for-resource.md)
+ [

# TagResource
](tag-resource.md)
+ [

# UntagResource
](untag-resource.md)
+ [RegisterUser](register-user.md)

# ListTagsForResource


Use the `ListTagsForResource` API operation to list tags assigned to a resource. 

Following is an example AWS CLI command for this operation. To find a resource’s Amazon Resource Name (ARN), use the `List` operation for the resource. For example, `ListDashboards`.

------
#### [ AWS CLI ]

```
aws quicksight list-tags-for-resource 
    --resource-arn 444455556666
```

------

For more information about the `ListTagsForResource` API operation, see [ListTagsForResource](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListTagsForResource.html) in the *Amazon Quick Sight API Reference*.

# TagResource


Use the `TagResource` API operation to assign one or more tags (key-value pairs) to the specified Amazon Quick Sight resource. 

Following is an example AWS CLI command for this operation. To find a resource's Amazon Resource Name (ARN), use the `List` operation for the resource, for example `ListDashboards`.

------
#### [ AWS CLI ]

```
aws quicksight tag-resource 
    --resource-arn 777788889999 
    --tags Key=NewDashboard,Value=True
```

------

For more information about the `TagResource` API operation, see [TagResource](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_TagResource.html) in the *Amazon Quick Sight API Reference*.

# UntagResource


Use the `UntagResource` API operation to remove a tag from a resource. Before you do so, you can call the `ListTagsForResource` API operation to list the tags assigned to a resource.

Following is an example AWS CLI command for this operation. To find a resource’s Amazon Resource Name (ARN), use the `List` operation for the resource, for example `ListDashboards`.

------
#### [ AWS CLI ]

```
aws quicksight untag-resource 
    --resource-arn 777788889999 
    --tag-keys NewDashboard,ExampleDashboard
```

------

For more information about the `UntagResource` API operation, see [UntagResource](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UntagResource.html) in the *Amazon Quick Sight API Reference*.

# Template alias operations


A *template alias* is a reference to a version of a template. For example, suppose that you create the template alias `exampleAlias` for version 1 of the template `exampleTemp`. You can use the template alias `exampleAlias` to reference version 1 of template `exampleTemp` in a `DescribeTemplate` API operation, as in the following example.

```
aws quicksight describe-template 
    --aws-account-id AWSACCOUNTID 
    --template-id exampleTempID 
    --alias-name exampleAlias
```

With template alias API operations, you can perform actions on Quick Sight template aliases. For more information, see the following API operations.

**Topics**
+ [

# CreateTemplateAlias
](create-template-alias.md)
+ [

# DeleteTemplateAlias
](delete-template-alais.md)
+ [

# DescribeTemplateAlias
](describe-template-alias.md)
+ [

# ListTemplateAliases
](list-template-aliases.md)
+ [

# UpdateTemplateAlias
](update-template-alias.md)

# CreateTemplateAlias


Use the `CreateTemplateAlias` operation to create a template alias for a template. To use this operation, you need the ID of the template that you want to create an alias for. You can use the `ListTemplates` operation to list all templates and their corresponding template IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight create-template-alias 
    --aws-account-id AWSACCOUNTID 
    --template-id TEMPLATEID 
    --alias-name ALIAS 
    --template-version-number VERSION
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight create-template-alias 
    --cli-input-json file://createtemplatealias.json
```

------

For more information about the `CreateTemplateAlias` operation, see [CreateTemplateAlias](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateTemplateAlias) in the *Quick Sight API Reference*.

# DeleteTemplateAlias


Use the `DeleteTemplateAlias` operation to delete the item that the specified template alias points to. If you provide a specific alias, you delete the version of the template that the alias points to. To use this operation, you need the ID of the template that is using the alias you want to delete. You can use the `ListTemplates` operation to list all templates and their corresponding template IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight delete-template-alias 
    --aws-account-id AWSACCOUNTID 
    --template-id TEMPLATEID 
    --alias-name ALIAS
```

------

For more information about the `DeleteTemplateAlias` operation, see [DeleteTemplateAlias](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteTemplateAlias) in the *Quick Sight API Reference*.

# DescribeTemplateAlias


Use the `DescribeTemplateAlias` operation to describe the template alias for a template. To use this operation, you need the ID of the template that is using the alias that you want to describe. You can use the `ListTemplates` operation to list all templates and their corresponding template IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-template-alias
    --aws-account-id AWSACCOUNTID 
    --template-id 222244446666 
    --alias-name ALIAS
```

------

The parameter value for `alias-name` can be `$LATEST`.

For more information about the `DescribeTemplateAlias` operation, see [DescribeTemplateAlias](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeTemplateAlias) in the *Quick Sight API Reference*.

# ListTemplateAliases


Use the `ListTemplateAliases` operation to list all the aliases of a template. To use this operation, you need the ID of the template that is using the aliases that you want to list. You can use the `ListTemplates` operation to list all templates and their corresponding template IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight list-template-aliases 
    --aws-account-id AWSACCOUNTID 
    --template-id TEMPLATEID 
    --page-size 10
    --max-items 100
```

------

For more information about the `ListTemplateAliases` operation, see [ListTemplateAliases](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListTemplateAliases) in the *Quick Sight API Reference*.

# UpdateTemplateAlias


Use the `UpdateTemplateAlias` operation to update the template alias of a template. To use this operation, you need the ID of the template that is using the alias that you want to update. You can use the `ListTemplates` operation to list all templates and their corresponding template IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight update-template-alias 
    --aws-account-id AWSACCOUNTID 
    --template-id TEMPLATEID 
    --alias-name ALIAS 
    --template-version-number VERSION
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-template-alias 
    --cli-input-json file://updatetemplatealias.json
```

------

The parameter value for `alias-name` can be `$LATEST`.

For more information about the `UpdateTemplateAlias` operation, see [UpdateTemplateAlias](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateTemplateAlias) in the *Quick Sight API Reference*.

# Template operations


A *template* is a resource in Quick Sight that holds the information necessary to create an analysis or dashboard. You can use templates to migrate dashboards and analyses across accounts.

With template API operations, you can perform actions on Quick Sight templates. For more information, see the following API operations.

**Topics**
+ [

# Template permissions
](template-permissions.md)
+ [

# CreateTemplate
](create-template.md)
+ [

# DeleteTemplate
](delete-template.md)
+ [

# DescribeTemplate
](describe-template.md)
+ [

# ListTemplates
](list-templates.md)
+ [

# ListTemplateVersions
](list-template-versions.md)
+ [

# UpdateTemplate
](update-template.md)

# Template permissions


With template permissions API operations, you can view and update permissions for templates. For more information, see the following API operations.
+ [DescribeTemplatePermissions](describe-template-permissions.md)
+ [UpdateTemplatePermissions](update-template-permissions.md)

# DescribeTemplatePermissions


Use the `DescribeTemplatePermission`s operation to describe read and write permissions for a template. To use this operation, you need the ID of the template that you want to describe the permissions of. You can use the `ListTemplates` operation to list all templates and their corresponding template IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-template-permissions
    --aws-account-id AWSACCOUNTID 
    --template-id 222244446666
```

------

For more information about the `DescribeTemplatePermissions` operation, see [DescribeTemplatePermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeTemplatePermissions.html) in the *Quick Sight API Reference*.

# UpdateTemplatePermissions


Use the `UpdateTemplatePermissions` operation updates the resource permissions for a template. You can grant or revoke permissions in the same command. To use this operation, you need the ID of the template that you want to update the permissions of. You can use the `ListTemplates` operation to list all templates and their corresponding template IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight update-template-permissions
    --aws-account-id AWSACCOUNTID 
    --template-id TEMPLATEID 
    --grant-permissions Principal=arn:aws:quicksight:us-east-1:AWSACCOUNTID:user/default/USERNAME,Actions=DescribeTemplate
    --revoke-permissions Principal=arn:aws:quicksight:us-east-1:AWSACCOUNTID:user/default/USERNAME,Actions=DescribeTemplate
```

If your `region` has already been configured within the CLI, it doesn't need to be included as an argument.

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-template-permissions 
    --cli-input-json file://updatetemplatepermissions.json
```

------

If your region has already been configured with the CLI, it does not need to be included in an argument.

For more information on the `UpdateTemplatePermissions` operation, see [UpdateTemplatePermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateTemplatePermissions.html) in the * Quick Sight API Reference*.

# CreateTemplate


Use the `CreateTemplate` operation to create a template from an existing Quick Sight analysis or template. You can use the resulting template to create a dashboard.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight create-template 
    --aws-account-id 555555555555
    --template-id TEMPLATEID
    --source-entity SOURCEENTITY
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight create-template
    --cli-input-json file://createtemplate.json
```

------

You can to get the ID the dataset ID by using a `DescribeAnalysis`operation. The `ANALYSISID`is part of the analysis URL in Quick Sight. You can also use the `ListAnalyses` operation to get the ID.

For more information about the `CreateTemplate` operation, see [CreateTemplate](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateTemplate.html) in the *Quick Sight API Reference*.

# DeleteTemplate


Use the `DeleteTemplate` operation to delete a template. To use this operation, you need the ID of the template that you want to delete. You can use the `ListTemplates` operation to list all templates and their corresponding template IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight delete-template 
    --aws-account-id AWSACCOUNTID 
    --template-id TEMPLATEID
```

------

For more information about the `DeleteTemplate` operation, see [DeleteTemplate](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteTemplate.html) in the *Quick Sight API Reference*.

# DescribeTemplate


Use the `DescribeTemplate` operation to describe a template's metadata. To use this operation, you need the ID of the template that you want to describe. You can use the `ListTemplates` operation to list all templates and their corresponding template IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-template 
    --aws-account-id AWSACCOUNTID 
    --template-id TEMPLATEID 
    --version-number VERSION 
    --alias-name ALIAS
```

------

The parameter value for `alias-name` can be `$LATEST`.

For more information about the `DescribeTemplate` operation, see [DescribeTemplate](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeTemplate.html) in the *Quick Sight API Reference*.

# ListTemplates


Use the `ListTemplates` operation to list all the templates in the current Quick Sight account.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight list-templates 
    --aws-account-id AWSACCOUNTID
    --page-size 10
    --max-items 100
```

------

For more information about the `ListTemplates` operation, see [ListTemplates](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListTemplates.html) in the *Quick Sight API Reference*.

# ListTemplateVersions


Use the `ListTemplateVersions` operation to list all the versions of the templates in the current Quick Sight account. To use this operation to list the versions of a template, you need that template's ID. You can use the `ListTemplates` operation to list all templates and their corresponding template IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight list-template-versions 
    --aws-account-id AWSACCOUNTID 
    --template-id TEMPLATEID 
    --page-size 10 
    --max-items 100
```

------

For more information about the `ListTemplateVersions` operation, see [ListTemplateVersions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListTemplateVersions.html) in the *Quick Sight API Reference*.

# UpdateTemplate


Use the `UpdateTemplate` operation to update a template from an existing Quick Sight analysis or another template.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight update-template
    --aws-account-id 555555555555
    --template-id TEMPLATEID
    --source-entity SOURCEENTITY
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-template
    --cli-input-json file://updatetemplate.json
```

------

For more information about the `UpdateTemplate` operation, see [UpdateTemplate](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateTemplate.html) in the *Quick Sight API Reference*.

# Theme operations


A *theme* is a collection of settings that you can apply to analyses and dashboards in Amazon Quick Sight. You can apply themes to modify the appearance of dashboards and analyses.

With theme operations, you can perform actions on Quick Sight themes. For more information, see the following API operations.

**Topics**
+ [

# Theme permissions
](theme-permissions.md)
+ [

# CreateTheme
](create-theme.md)
+ [

# DeleteTheme
](delete-theme.md)
+ [

# DescribeTheme
](describe-theme.md)
+ [

# ListThemes
](list-themes.md)
+ [

# ListThemeVersions
](list-theme-versions.md)
+ [

# UpdateTheme
](update-theme.md)

# Theme permissions


With theme permissions API operations, you can view and update permissions for themes. For more information, see the following API operations.
+ [DescribeThemePermissions](describe-theme-permissions.md)
+ [UpdateThemePermissions](update-theme-permissions.md)

# DescribeThemePermissions


Use the `DescribeThemePermissions` operation to describe the read and write permissions for a theme. To use this operation, you need the ID of the theme that you want to describe. You can use the `ListThemes` operation to list all themes and their corresponding theme IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-theme-permissions
    --aws-account-id AWSACCOUNTID 
    --theme-id THEMEID
```

------

For more information about the `UpdateThemePermissions` operation, see [UpdateThemePermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateThemePermissions.html) in the*Quick Sight API Reference*.

# UpdateThemePermissions


Use the `UpdateThemePermissions` operation to update the resource permissions for a template. You can grant or revoke permissions in the same command. To use this operation, you need the ID of the theme that you want to update. You can use the `ListThemes` operation to list all themes and their corresponding theme IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight update-theme-permissions
    --aws-account-id 555555555555
    --theme-id 111122223333
    --grant-permissions Principal=arn:aws:quicksight:us-east-1:AWSACCOUNTID:user/default/USERNAME,Actions=quicksight:ListThemeVersions, quicksight:UpdateThemeAlias, quicksight: DescribeThemeAlias, quicksight:UpdateThemePermissions, quicksight:DeleteThemeAlias, quicksight: DeleteTheme, quicksight:ListThemeAliases, quicksight:DescribeTheme, quicksight: CreateThemeAlias, quicksight:UpdateTheme, quicksight: DescribeThemePermissions
    --revoke-permissions Principal=arn:aws:quicksight:us-east-1:AWSACCOUNTID:user/default/USERNAME,Actions=quicksight:ListThemeVersions, quicksight:UpdateThemeAlias, quicksight: DescribeThemeAlias, quicksight:UpdateThemePermissions, quicksight:DeleteThemeAlias, quicksight: DeleteTheme, quicksight:ListThemeAliases, quicksight:DescribeTheme, quicksight: CreateThemeAlias, quicksight:UpdateTheme, quicksight: DescribeThemePermissions
```

If your `region` has already been configured within the CLI, it doesn't need to be included as an argument.

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-theme-permissions 
    --cli-input-json file//:updatethemepermissions.json
```

------

If your region has already been configured with the CLI, it does not need to be included in an argument.

For more information on the `UpdateThemePermissions` operation, see [UpdateThemePermissions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateThemePermissions.html) in the * Quick Sight API Reference*.

# CreateTheme


Use the `CreateTheme` operation to create a theme. The `base-theme-id` is the ID of the theme that you want to base the new theme off of. You can use the `ListThemes` operation to list all themes and their corresponding theme IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight create-theme 
    --aws-account-id AWSACCOUNTID  
    --theme-id THEMEID 
    --name NAME
    --base-theme-id THEMEID 
    --configuration '{"Configuration":{"DataColorPalette":{"Colors":[""],"MinMaxGradient":[""],"EmptyFillColor":""},"UIColorPalette":{"PrimaryForeground":"","PrimaryBackground": "","SecondaryForeground":"","SecondaryBackground":"","Accent":"","AccentForeground":"","Danger":"","DangerForeground":"","Warning":"","WarningForeground":"","Success":"","SuccessForeground":"","Dimension":"","DimensionForeground":"","Measure":"","MeasureForeground":""},"Sheet":{"Tile":{"Border":{"Show":true}},"TileLayout":{"Gutter":{"Show":true},"Margin":{"Show":true}}}}'
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight create-theme 
    --cli-input-json file//:createtheme.json
```

------

For more information about the `CreateTheme` operation, see [CreateTheme](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateTheme.html) in the*Quick Sight API Reference*.

# DeleteTheme


Use the `DeleteTheme` operation to delete a theme. To use this operation, you need the ID of the theme that you want to delete. You can use the `ListThemes` operation to list all themes and their corresponding theme IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight delete-theme 
    --aws-account-id AWSACCOUNTID 
    --theme-id THEMEID
```

------

For more information about the `DeleteTheme` operation, see [DeleteTheme](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteTheme.html) in the *Quick Sight API Reference*.

# DescribeTheme


Use the `DescribeTheme` operation to describe a theme. To use this operation, you need the ID of the theme that you want to describe. You can use the `ListThemes` operation to list all themes and their corresponding theme IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-theme 
    --aws-account-id AWSACCOUNTID 
    --theme-id THEMEID 
    --version-number 1 
    --alias-name ALIAS
```

------

The parameter value for `alias-name` can be `$LATEST`.

For more information about the `DescribeTheme` operation, see [DescribeTheme](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeTheme.html) in the *Quick Sight API Reference*.

# ListThemes


Use the `ListThemes` operation to list all the themes in the current AWS account.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight list-themes 
    --aws-account-id AWSACCOUNTID 
    --type QUICKSIGHT 
    --page-size 10 
    --max-items 100
```

------

For more information about the `ListThemes` operation, see [ListThemes](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListThemes.html) in the *Quick Sight API Reference*.

# ListThemeVersions


Use the `ListThemeVersions` operation to list all the versions of the themes in the current AWS account. To use this operation to list the versions of a theme, you need that theme's ID. You can use the `ListThemes` operation to list all themes and their corresponding theme IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight list-theme-version 
    --aws-account-id AWSACCOUNTID 
    --theme-id THEMEID 
    --page-size 10 
    --max-items 100
```

------

To list all themes and their theme IDs, call the `ListThemes` operation.

For more information about the `ListThemeVersions` operation, see [ListThemeVersions](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListThemeVersions.html) in the *Quick Sight API Reference*.

# UpdateTheme


Use the `UpdateTheme` operation to update a theme.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight update-theme
    --aws-account-id 555555555555
    --theme-id THEMEID
    --base-theme-id BASETHEMEID
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-theme 
    --cli-input-json file//:updatetheme.json
```

------

For more information about the `UpdateTheme` operation, see [UpdateTheme](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateTheme.html) in the*Quick Sight API Reference*.

# Theme alias operations


A *theme alias* is a reference to a version of a theme. For example, suppose that you create the theme alias `exampleAlias` for version 1 of the theme `exampleTheme`. You can use the theme alias *`exampleAlias`* to reference version 1 of theme exampleTheme in a `DescribeTheme` API operation, as in the following example.

**Example**  

```
aws quicksight describe-theme 
    --aws-account-id AWSACCOUNTID 
    --theme-id exampleThemeID 
    --alias-name exampleAlias
```

With theme alias operations, you can perform actions on Quick Sight theme aliases. For more information, see the following API operations.

**Topics**
+ [

# CreateThemeAlias
](create-theme-alias.md)
+ [

# DeleteThemeAlias
](delete-theme-alias.md)
+ [

# DescribeThemeAlias
](describe-theme-alias.md)
+ [

# ListThemeAliases
](list-theme-aliases.md)
+ [

# UpdateThemeAlias
](update-theme-alias.md)

# CreateThemeAlias


The `CreateThemeAlias` operation creates a theme alias for a theme. To use this operation, you need the ID of the theme that you want to create an alias for. You can use the `ListThemes` operation to list all themes and their corresponding theme IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight 
    --aws-account-id AWSACCOUNTID 
    --theme-id THEMEID 
    --alias-name ALIAS 
    --theme-version-number VERSION
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight create-theme-alias
    --cli-input-json file://create-theme-alias.json
```

------

For more information about the `CreateThemeAlias` operation, see [CreateThemeAlias](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateThemeAlias) in the *Quick Sight API Reference*.

# DeleteThemeAlias


Use the `DeleteThemeAlias` operation to delete the version of the theme that the specified theme alias points to. If you provide a specific alias, you delete the version of the theme that the alias points to. To use this operation, you need the ID of the theme that is using the alias that you want to delete. You can use the `ListThemes` operation to list all themes and their corresponding theme IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight delete-theme-alias 
    --aws-account-id AWSACCOUNTID 
    --theme-id THEMEID 
    --alias-name ALIAS
```

------

For more information about the `DeleteThemeAlias` operation, see [DeleteThemeAlias](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteThemeAlias) in the *Quick Sight API Reference*.

# DescribeThemeAlias


Use the `DescribeThemeAlias` operation to describe the alias for a theme. To use this operation, you need the ID of the theme that is using the alias that you want to describe. You can use the `ListThemes` operation to list all themes and their corresponding theme IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-theme-alias 
    --aws-account-id AWSACCOUNTID 
    --theme-id THEMEID 
    --alias-name ALIAS
```

------

For more information about the `DescribeThemeAlias` operation, see [DescribeThemeAlias](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeThemeAlias) in the *Quick Sight API Reference*.

# ListThemeAliases


Use the `ListThemeAliases` operation to list all the aliases of a theme. To use this operation, you need the ID of the theme that is using the aliases that you want described. You can use the `ListThemes` operation to list all themes and their corresponding theme IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight list-theme-aliases 
    --aws-account-id AWSACCOUNTID 
    --theme-id THEMEID 
    --max-results 100
```

------

For more information about the `ListThemeAliases` operation, see [ListThemeAliases](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListThemeAliases) in the *Quick Sight API Reference*.

# UpdateThemeAlias


Use the `UpdateThemeAlias` operation to update an alias of a theme. To use this operation, you need the ID of the theme that is using the alias that you want to update. You can use the `ListThemes` operation to list all themes and their corresponding theme IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight update-theme-alias 
    --aws-account-id AWSACCOUNTID 
    --theme-id THEMEID 
    --alias-name ALIAS 
    --theme-version-number VERSION
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-theme-alias 
    --cli-input-json file://updatethemealias.json
```

------

For more information about the `UpdateThemeAlias` operation, see [UpdateThemeAlias](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateThemeAlias) in the *Quick Sight API Reference*.

# User operations


With user API operations, you can perform actions on Amazon Quick Sight account users. For more information, see the following API operations.

**Topics**
+ [

# DeleteUser
](delete-user.md)
+ [

# DeleteUserByPrincipalTitle
](delete-user-by-principal-title.md)
+ [

# DescribeUser
](describe-user.md)
+ [

# ListUserGroups
](list-user-groups.md)
+ [

# ListUsers
](list-users.md)
+ [

# RegisterUser
](register-user.md)
+ [

# UpdateUser
](update-user.md)

# DeleteUser


Use the `DeleteUser` operation to delete the Quick Sight user that is associated with the identity of the IAM user or role that's making the call. The IAM user isn't deleted as a result of this call. To use this operation, you need the ID of the user that you want to delete. You can also use the `ListUsers` operation to list all users and their corresponding user IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight delete-user 
    --user-name USERNAME 
    --aws-account-id AWSACCOUNTID 
    --namespace default
```

------

For more information about the `DeleteUser` operation, see [DeleteUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteUser.html) in the *Quick Sight API Reference*.

# DeleteUserByPrincipalTitle


The `DeleteUserByPrincipalTitle` operation deletes a user identified by a principal ID. Following is an example AWS CLI command for this operation. To use this operation, you need the ID of the user that you want to delete. You can also use the `ListUsers` operation to list all users and their corresponding user IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight delete-user-by-principal-id 
    --principal-id PRINCIPALID 
    --aws-account-id AWSACCOUNTID 
    --namespace default
```

------

For more information about the `DeleteUserByPrincipalTitle` operation, see [DeleteUserByPrincipalTitle](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteUserByPrincipalTitle.html) in the *Quick Sight API Reference*.

# DescribeUser


Use the `DescribeUser` operation to return information about a user, given the user name. Following is an example AWS CLI command for this operation. To use this operation, you need the ID of the user that you want to describe. You can also use the `ListUsers` operation to list all users and their corresponding user IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight describe-user 
    --aws-account-id AWSACCOUNTID 
    --namespace default
```

------

For more information about the `DescribeUser` operation, see [DescribeUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeUser.html) in the *Quick Sight API Reference*.

# ListUserGroups


Use the `ListUserGroups` operation to list the Quick Sight groups that an Quick Sight user is a member of. To use this operation, you need the ID of the user whose group memberships you want to know. You can use the `ListUsers` operation to list all users and their corresponding user IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight list-user-groups 
    --user-name USERNAME 
    --aws-account-id AWSACCOUNTID 
    --namespace default 
    --max-results 100
```

------

For more information about `ListUserGroups` operation, see [ListUserGroups](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListUserGroups.html)in the *Quick Sight API Reference*.

# ListUsers


Use the `ListUsers` operation to return a list of all of the Quick Sight users belonging to this account.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight list-users 
    --aws-account-id AWSACCOUNTID 
    --max-results 100 
    --namespace default
```

------

For more information about `ListUsers` operation, see [ListUsers](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListUsers.html) in the *Quick Sight API Reference*.

# RegisterUser


Use the `RegisterUser` operation to create an Quick Sight user whose identity is associated with the IAM identity or role specified in the request. When you register a new user from the Amazon Quick Sight API, Amazon Quick Sight generates a registration URL. The user accesses this registration URL to create their account. Amazon Quick Sight does not send a registration email to users who are registered from the Amazon Quick Sight API.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight register-user 
    --identity-type QUICKSIGHT 
    --email EMAIL 
    --user-role AUTHOR 
    --iam-arn 222233334444 
    --session-name SESSION 
    --aws-account-id AWSACCOUNTID 
    --namespace default 
    --user-name USERNAME 
    --external-login-federation-provider-type CUSTOM_OIDC 
    --custom-federation-provider-url www.example.com/ 
    --external-login-id EXTERNALLOGINID
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight register-user 
    --cli-input-json file://registeruser.json
```

------

After using this operation, you get a response that includes a link labeled **Invitation URL**. Click the **Invitation URL** to set up a password and activate the new account. The new user then appear in the Quick Sight UI. You can use the `ListUsers` operation to list all users and their corresponding user IDs.

For more information about `RegisterUser` operation, see [RegisterUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RegisterUser.html)in the *Quick Sight API Reference*.

# UpdateUser


Use the `UpdateUser` operation to update an Quick Sight user. To use this operation, you need the ID of the user that you want to delete. You can use the `ListUsers` operation to list all users and their corresponding user IDs.

Following is an example AWS CLI command for this operation.

------
#### [ AWS CLI ]

```
aws quicksight update-user
    --aws-account-id 555555555555
    --username USERNAME
    --namespace NAMESPACE
    --email johndoe@example.com
    --role ROLE
```

You can also make this command using a CLI skeleton file with the following command. For more information about CLI skeleton files, see [Use CLI skeleton files](cli-skeletons.md).

```
aws quicksight update-user 
    --cli-input-json file://updateuser.json
```

------

For more information about `UpdateUser` operation, see [UpdateUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateUser.html)in the *Quick Sight API Reference*.