# New Amazon Quick Sight API Capabilities to Accelerate Your BI Transformation

**URL:** <https://community.amazonquick.com/t/new-amazon-quicksight-api-capabilities-to-accelerate-your-bi-transformation/11099>\
**Category:** Blogs\
**Tags:** api, developer\
**Created:** [March 15, 2023, 3:09pm UTC](https://community.amazonquick.com/t/new-amazon-quicksight-api-capabilities-to-accelerate-your-bi-transformation/11099 "2023-03-15T15:09:09Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kristin](https://d2orw1595917va.cloudfront.net/user_avatar/community.amazonquick.com/kristin/32/2470_2.png) [@Kristin](https://community.amazonquick.com/u/Kristin)\
**Post date:** [March 15, 2023, 3:09pm UTC](https://community.amazonquick.com/t/new-amazon-quicksight-api-capabilities-to-accelerate-your-bi-transformation/11099/1 "2023-03-15T15:09:09Z")

</div>

# New Amazon Quick Sight API Capabilities to Accelerate Your BI Transformation

by [Sébastien Stormacq](https://aws.amazon.com/blogs/aws/author/stormacq/) | on 28 NOV 2022 | in [Amazon Quick Sight](https://aws.amazon.com/blogs/aws/category/analytics/amazon-quicksight/), [Announcements](https://aws.amazon.com/blogs/aws/category/post-types/announcements/), [AWS re:Invent](https://aws.amazon.com/blogs/aws/category/events/reinvent/), [Launch](https://aws.amazon.com/blogs/aws/category/news/launch/), [News](https://aws.amazon.com/blogs/aws/category/news/) | [Permalink](https://aws.amazon.com/blogs/aws/new-amazon-quicksight-api-capabilities-to-accelerate-your-bi-transformation/) | [Comments](https://aws.amazon.com/blogs/aws/new-amazon-quicksight-api-capabilities-to-accelerate-your-bi-transformation/#Comments) | [Share](https://aws.amazon.com/blogs/aws/new-amazon-quicksight-api-capabilities-to-accelerate-your-bi-transformation/#)

Regular readers of this blog, and AWS customers alike, know the benefits of infrastructure as code (IaC). It allows you to describe your infrastructure using a programming language to consistently deploy your infrastructure to multiple environments or AWS Regions. Other benefits are the possibility to version-control your infrastructure using the same development tools and workflow you use to manage your application source code. IaC also offers the ability to programmatically validate part of the infrastructure before it is deployed.

Today, we are expanding the capabilities of Quick Sight APIs to allow programmatic creation and management of dashboards, analysis, and templates. These capabilities allow BI teams to manage their BI assets as code, similar to IaC. It brings greater agility to BI teams, and it allows them to accelerate BI migrations from legacy products through programmatic migration options.

Business intelligence and IT operations (BIOps) are inspired by best practices learned over decades from DevOps. BIOps enable faster innovation for your customers, bringing them data insights quickly. Dashboards are usually developed and deployed manually due to the UI-driven nature of BI authoring. This presents a challenge for BIOps, as changes to dashboards during deployments might not be fully validated, leading to errors and downtime when changes are inadvertently moved to production. The new Quick Sight APIs enable you to programmatically create and modify your Quick Sight analyses and dashboards, enable version control on these assets in your code repository, and help to accelerate your migration to the AWS Cloud.

Programmatic creation and management of analysis, templates, and dashboards also helps you to migrate assets from older BI solutions. Among all of the data and analytics workloads moving to the cloud, business intelligence tends to be among the last pieces to be migrated from the legacy, on-premises solutions. BI teams often have thousands of custom reports and dashboards, built over decades, that are tedious to migrate. Migrating these reports is time-consuming as BI teams need to spend months of work migrating each of these assets manually one by one.

**Terminology**  
With this launch, Quick Sight adds a new `describe` set of APIs. We are also updating existing `create`, `update`, and `list` API verbs. Altogether, these new and updated APIs allow you to work with the data model of _analyses_, _templates_, and _dashboards_ for fine grain control via APIs.

- A Quick Sight **analysis** is the easy-to-use workspace for creating data visualizations, which are graphical representations of your data. Each analysis contains a collection of visualizations that you arrange and customize.
- A Quick Sight **dashboard** lets you share interactive visualizations or static reports from an analysis with other users.
- A Quick Sight **template** is an entity that encapsulates the metadata required to create an analysis or a dashboard. It abstracts the dataset associated with the analysis by replacing it with placeholders.

The new APIs (`DescribeAnalysisDefinition`, `DescribeTemplateDefinition`, `DescribeDashboardDefinition`) now allow developers to manage all supported charts and visual components.

**Let’s See It in Action**  
Let’s imagine I want to programmatically create a Quick Sight analysis.

Programmatically creating a new business intelligence analysis is a three-step process: create the data source that provides data for analyses, create a dataset based on the data source, and create the Quick Sight analysis.

The first step when using Quick Sight programmatically or through the user interface is to define your data sources. Data sources define the properties of the databases that have the data you want to analyze. Creating and managing data sources programmatically is not new. You can refer to the [Quick Sight API Operations to Control Data Sources page](https://docs.aws.amazon.com/quicksight/latest/APIReference/qs-data.html).

The second step is [to create the dataset to link one or multiple data sources](https://docs.aws.amazon.com/quicksight/latest/user/create-a-data-set-existing.html). Again, [programmatically managing datasets](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateDataSet.html) is not new.

When using the new `describe` API, analysis, dashboards, and templates are defined as JSON objects fully modeled in the AWS SDK. In this demo, I am using the [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/) that uses JSON objects. When you use Java or another AWS SDK, you can programmatically manipulate all elements.

The easiest way to get started to programmatically create a new analysis or dashboard is to start with the definition of an existing one that you created in the console.

The third step is to create the analysis. I first call the `describe-analysis-definition` API to describe an existing analysis. I receive a JSON ﬁle that is the full response of the API call. I can inspect and modify the `Definition` in the `describe-analysis-definition` response to create a new analysis.

```auto
aws quicksight describe-analysis-definition \
        --aws-account-id 0123456789 \
        --analysis-id linechart-kpi-donut-pivot
> ./AWS\ Blog\ Sample\ Code/linechart-kpi-donut-pivot.json

```

Bash

Note: This JSON file cannot be used directly without several modifications as input to the `create` API.

When I am ready to create a new analysis, I generate a JSON file using the `--generate-cli-skeleton` argument. Then, I copy the original or modified `Definition` object from my earlier call to `describe-analysis-definition` into `create-sales-analysis.json`.

```auto
aws quicksight create-analysis \ 
      --generate-cli-skeleton > create-sales-analysis.json

aws quicksight create-analysis \
      --cli-input-json file://./AWS\ Blog\ Sample\ Code/create-sales-analysis.json

```

Bash

The `Definition` field shares the same shape across dashboards, templates, and analyses, so the `Definition` used to create our analysis can also be re-used to create a new dashboard if desired with the `create-dashboard` API.

```auto
aws quicksight create-dashboard \
      --generate-cli-skeleton > create-dashboard.json

```

Bash

I can then modify `create-dashboard.json` to include the `Definition` from my `create-sales-analysis.json` file, as well as update other parameters, then make a call to `create-dashboard`.

```auto
aws quicksight create-dashboard \
       --cli-input-json file://./AWS\ Blog\ Sample\ Code/create-dashboard.json

```

Bash

Here is an extract of the JSON file I used.

[![Quick Sight API - Create Dashboard](https://d1wl4jav5dp96l.cloudfront.net/original/2X/2/249f299757e9221f74ebf6a88310d368c65a10c9.png)](https://d2908q01vomqb2.cloudfront.net/da4b9237bacccdf19c0760cab7aec4a8359010b0/2022/10/26/2022-10-26_10-04-04.png)

Obviously, developing a dashboard using the API is an iterative process. Here is the result after several iterations.

[![Quick Sight API - new dashboard](https://d1wl4jav5dp96l.cloudfront.net/original/2X/8/8972eaa55f9dd7b8a74ee209143426fe5034d81a.jpeg)](https://d2908q01vomqb2.cloudfront.net/da4b9237bacccdf19c0760cab7aec4a8359010b0/2022/11/21/AaC-final-dashboard-screenshot-copy.png)

I can apply the same technique to programmatically migrate assets from older BI solutions.

**Pricing and Availability**  
[The new API allows you to define your business intelligence dashboard as programmable objects](https://docs.aws.amazon.com/quicksight/latest/APIReference/qs-assets.html). It will speed up migration from older BI tools. [Quick Sight’s API documentation page](https://docs.aws.amazon.com/quicksight/latest/APIReference/qs-assets.html) has all the details.

The API is available at no additional charge to all [Quick Sight Enterprise Edition customers](https://aws.amazon.com/quicksight/pricing/) in all AWS Regions where [Quick Sight is available](https://docs.aws.amazon.com/general/latest/gr/quicksight.html). [AWS CloudFormation](https://aws.amazon.com/cloudformation/) support for the newly supported data models on these APIs is coming soon.

**Go [build your first dashboard programmatically today](https://docs.aws.amazon.com/quicksight/latest/APIReference/qs-assets.html)!**

[– seb](https://twitter.com/sebsto)

 ![Screenshot 2023-03-15 at 8.15.57 AM](https://d1wl4jav5dp96l.cloudfront.net/original/2X/f/f3bcea63a43520361f4a02b1baeceb5e100056e2.png)

### [Sébastien Stormacq](https://aws.amazon.com/blogs/aws/author/stormacq/)

Seb has been writing code since he first touched a Commodore 64 in the mid-eighties. He inspires builders to unlock the value of the AWS cloud, using his secret blend of passion, enthusiasm, customer advocacy, curiosity and creativity. His interests are software architecture, developer tools and mobile computing. If you want to sell him something, be sure it has an API. Follow him on Twitter @sebsto.

* * *

This is a companion discussion topic for the original entry at [[New Amazon QuickSight API Capabilities to Accelerate Your BI Transformation | AWS News Blog](https://aws.amazon.com/blogs/aws/new-amazon-quicksight-api-capabilities-to-accelerate-your-bi-transformation/))
