---
title: "POST /accounts/{AwsAccountId}/data-sources"
method: POST
path: "/accounts/{AwsAccountId}/data-sources"
---

# POST /accounts/{AwsAccountId}/data-sources

`POST /accounts/{AwsAccountId}/data-sources`

Creates a data source.

## Path parameters

- `AwsAccountId` string, required

## Request body

- object
  - `DataSourceId` string, required — An ID for the data source. This ID is unique per Amazon Web Services Region for each Amazon Web Services account.
  - `Name` string, required — A display name for the data source.
  - `Type` 'ADOBE_ANALYTICS' | 'AMAZON_ELASTICSEARCH' | 'ATHENA' | 'AURORA' | 'AURORA_POSTGRESQL' | 'AWS_IOT_ANALYTICS' | 'GITHUB' | 'JIRA' | 'MARIADB' | 'MYSQL' | 'ORACLE' | 'POSTGRESQL' | 'PRESTO' | 'REDSHIFT' | 'S3' | 'SALESFORCE' | 'SERVICENOW' | 'SNOWFLAKE' | 'SPARK' | 'SQLSERVER' | 'TERADATA' | 'TWITTER' | 'TIMESTREAM' | 'AMAZON_OPENSEARCH' | 'EXASOL' | 'DATABRICKS', required — <p>The type of the data source. To return a list of all data sources, use <code>ListDataSources</code>.</p> <p>Use <code>AMAZON_ELASTICSEARCH</code> for Amazon OpenSearch Service.</p>
  - `DataSourceParameters` object — The parameters that Amazon QuickSight uses to connect to your underlying data source. This is a variant type structure. For this structure to be valid, only one of the attributes can be non-null.
    - `AmazonElasticsearchParameters` object — The parameters for OpenSearch.
      - `Domain` string, required — The OpenSearch domain.
    - `AthenaParameters` object — The parameters for Amazon Athena.
      - `WorkGroup` string — The workgroup that Amazon Athena uses.
      - `RoleArn` string — Use the <code>RoleArn</code> structure to override an account-wide role for a specific Athena data source. For example, say an account administrator has turned off all Athena access with an account-wide role. The administrator can then use <code>RoleArn</code> to bypass the account-wide role and allow Athena access for the single Athena data source that is specified in the structure, even if the account-wide role forbidding Athena access is still active.
    - `AuroraParameters` object — The parameters for Amazon Aurora MySQL.
      - `Host` string, required — Host.
      - `Port` integer, required — Port.
      - `Database` string, required — Database.
    - `AuroraPostgreSqlParameters` object — The parameters for Amazon Aurora.
      - `Host` string, required — The Amazon Aurora PostgreSQL-Compatible host to connect to.
      - `Port` integer, required — The port that Amazon Aurora PostgreSQL is listening on.
      - `Database` string, required — The Amazon Aurora PostgreSQL database to connect to.
    - `AwsIotAnalyticsParameters` object — The parameters for IoT Analytics.
      - `DataSetName` string, required — Dataset name.
    - `JiraParameters` object — The parameters for Jira.
      - `SiteBaseUrl` string, required — The base URL of the Jira site.
    - `MariaDbParameters` object — The parameters for MariaDB.
      - `Host` string, required — Host.
      - `Port` integer, required — Port.
      - `Database` string, required — Database.
    - `MySqlParameters` object — The parameters for MySQL.
      - `Host` string, required — Host.
      - `Port` integer, required — Port.
      - `Database` string, required — Database.
    - `OracleParameters` object — The parameters for Oracle.
      - `Host` string, required — An Oracle host.
      - `Port` integer, required — Port.
      - `Database` string, required — Database.
    - `PostgreSqlParameters` object — The parameters for PostgreSQL.
      - `Host` string, required — Host.
      - `Port` integer, required — Port.
      - `Database` string, required — Database.
    - `PrestoParameters` object — The parameters for Presto.
      - `Host` string, required — Host.
      - `Port` integer, required — Port.
      - `Catalog` string, required — Catalog.
    - `RdsParameters` object — The parameters for Amazon RDS.
      - `InstanceId` string, required — Instance ID.
      - `Database` string, required — Database.
    - `RedshiftParameters` object — The parameters for Amazon Redshift.
      - `Host` string — Host. This field can be blank if <code>ClusterId</code> is provided.
      - `Port` integer — Port. This field can be blank if the <code>ClusterId</code> is provided.
      - `Database` string, required — Database.
      - `ClusterId` string — Cluster ID. This field can be blank if the <code>Host</code> and <code>Port</code> are provided.
    - `S3Parameters` object — The parameters for S3.
      - `ManifestFileLocation` object, required — Location of the Amazon S3 manifest file. This is NULL if the manifest file was uploaded into Amazon QuickSight.
        - `Bucket` string, required — Amazon S3 bucket.
        - `Key` string, required — Amazon S3 key that identifies an object.
      - `RoleArn` string — Use the <code>RoleArn</code> structure to override an account-wide role for a specific S3 data source. For example, say an account administrator has turned off all S3 access with an account-wide role. The administrator can then use <code>RoleArn</code> to bypass the account-wide role and allow S3 access for the single S3 data source that is specified in the structure, even if the account-wide role forbidding S3 access is still active.
    - `ServiceNowParameters` object — The parameters for ServiceNow.
      - `SiteBaseUrl` string, required — URL of the base site.
    - `SnowflakeParameters` object — The parameters for Snowflake.
      - `Host` string, required — Host.
      - `Database` string, required — Database.
      - `Warehouse` string, required — Warehouse.
    - `SparkParameters` object — The parameters for Spark.
      - `Host` string, required — Host.
      - `Port` integer, required — Port.
    - `SqlServerParameters` object — The parameters for SQL Server.
      - `Host` string, required — Host.
      - `Port` integer, required — Port.
      - `Database` string, required — Database.
    - `TeradataParameters` object — The parameters for Teradata.
      - `Host` string, required — Host.
      - `Port` integer, required — Port.
      - `Database` string, required — Database.
    - `TwitterParameters` object — The parameters for Twitter.
      - `Query` string, required — Twitter query string.
      - `MaxRows` integer, required — Maximum number of rows to query Twitter.
    - `AmazonOpenSearchParameters` object — The parameters for OpenSearch.
      - `Domain` string, required — The OpenSearch domain.
    - `ExasolParameters` object — The parameters for Exasol.
      - `Host` string, required — The hostname or IP address of the Exasol data source.
      - `Port` integer, required — The port for the Exasol data source.
    - `DatabricksParameters` object — The required parameters that are needed to connect to a Databricks data source.
      - `Host` string, required — The host name of the Databricks data source.
      - `Port` integer, required — The port for the Databricks data source.
      - `SqlEndpointPath` string, required — The HTTP path of the Databricks data source.
  - `Credentials` object — Data source credentials. This is a variant type structure. For this structure to be valid, only one of the attributes can be non-null.
    - `CredentialPair` object — Credential pair. For more information, see <code> <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CredentialPair.html">CredentialPair</a> </code>.
      - `Username` string, required — User name.
      - `Password` string, required — Password.
      - `AlternateDataSourceParameters` DataSourceParameters[] — A set of alternate data source parameters that you want to share for these credentials. The credentials are applied in tandem with the data source parameters when you copy a data source by using a create or update request. The API operation compares the <code>DataSourceParameters</code> structure that's in the request with the structures in the <code>AlternateDataSourceParameters</code> allow list. If the structures are an exact match, the request is allowed to use the new data source with the existing credentials. If the <code>AlternateDataSourceParameters</code> list is null, the <code>DataSourceParameters</code> originally used with these <code>Credentials</code> is automatically allowed.
        - `AmazonElasticsearchParameters` object — The parameters for OpenSearch.
          - `Domain` string, required — The OpenSearch domain.
        - `AthenaParameters` object — The parameters for Amazon Athena.
          - `WorkGroup` string — The workgroup that Amazon Athena uses.
          - `RoleArn` string — Use the <code>RoleArn</code> structure to override an account-wide role for a specific Athena data source. For example, say an account administrator has turned off all Athena access with an account-wide role. The administrator can then use <code>RoleArn</code> to bypass the account-wide role and allow Athena access for the single Athena data source that is specified in the structure, even if the account-wide role forbidding Athena access is still active.
        - `AuroraParameters` object — The parameters for Amazon Aurora MySQL.
          - `Host` string, required — Host.
          - `Port` integer, required — Port.
          - `Database` string, required — Database.
        - `AuroraPostgreSqlParameters` object — The parameters for Amazon Aurora.
          - `Host` string, required — The Amazon Aurora PostgreSQL-Compatible host to connect to.
          - `Port` integer, required — The port that Amazon Aurora PostgreSQL is listening on.
          - `Database` string, required — The Amazon Aurora PostgreSQL database to connect to.
        - `AwsIotAnalyticsParameters` object — The parameters for IoT Analytics.
          - `DataSetName` string, required — Dataset name.
        - `JiraParameters` object — The parameters for Jira.
          - `SiteBaseUrl` string, required — The base URL of the Jira site.
        - `MariaDbParameters` object — The parameters for MariaDB.
          - `Host` string, required — Host.
          - `Port` integer, required — Port.
          - `Database` string, required — Database.
        - `MySqlParameters` object — The parameters for MySQL.
          - `Host` string, required — Host.
          - `Port` integer, required — Port.
          - `Database` string, required — Database.
        - `OracleParameters` object — The parameters for Oracle.
          - `Host` string, required — An Oracle host.
          - `Port` integer, required — Port.
          - `Database` string, required — Database.
        - `PostgreSqlParameters` object — The parameters for PostgreSQL.
          - `Host` string, required — Host.
          - `Port` integer, required — Port.
          - `Database` string, required — Database.
        - `PrestoParameters` object — The parameters for Presto.
          - `Host` string, required — Host.
          - `Port` integer, required — Port.
          - `Catalog` string, required — Catalog.
        - `RdsParameters` object — The parameters for Amazon RDS.
          - `InstanceId` string, required — Instance ID.
          - `Database` string, required — Database.
        - `RedshiftParameters` object — The parameters for Amazon Redshift.
          - `Host` string — Host. This field can be blank if <code>ClusterId</code> is provided.
          - `Port` integer — Port. This field can be blank if the <code>ClusterId</code> is provided.
          - `Database` string, required — Database.
          - `ClusterId` string — Cluster ID. This field can be blank if the <code>Host</code> and <code>Port</code> are provided.
        - `S3Parameters` object — The parameters for S3.
          - `ManifestFileLocation` object, required — Location of the Amazon S3 manifest file. This is NULL if the manifest file was uploaded into Amazon QuickSight.
            - `Bucket` string, required — Amazon S3 bucket.
            - `Key` string, required — Amazon S3 key that identifies an object.
          - `RoleArn` string — Use the <code>RoleArn</code> structure to override an account-wide role for a specific S3 data source. For example, say an account administrator has turned off all S3 access with an account-wide role. The administrator can then use <code>RoleArn</code> to bypass the account-wide role and allow S3 access for the single S3 data source that is specified in the structure, even if the account-wide role forbidding S3 access is still active.
        - `ServiceNowParameters` object — The parameters for ServiceNow.
          - `SiteBaseUrl` string, required — URL of the base site.
        - `SnowflakeParameters` object — The parameters for Snowflake.
          - `Host` string, required — Host.
          - `Database` string, required — Database.
          - `Warehouse` string, required — Warehouse.
        - `SparkParameters` object — The parameters for Spark.
          - `Host` string, required — Host.
          - `Port` integer, required — Port.
        - `SqlServerParameters` object — The parameters for SQL Server.
          - `Host` string, required — Host.
          - `Port` integer, required — Port.
          - `Database` string, required — Database.
        - `TeradataParameters` object — The parameters for Teradata.
          - `Host` string, required — Host.
          - `Port` integer, required — Port.
          - `Database` string, required — Database.
        - `TwitterParameters` object — The parameters for Twitter.
          - `Query` string, required — Twitter query string.
          - `MaxRows` integer, required — Maximum number of rows to query Twitter.
        - `AmazonOpenSearchParameters` object — The parameters for OpenSearch.
          - `Domain` string, required — The OpenSearch domain.
        - `ExasolParameters` object — The parameters for Exasol.
          - `Host` string, required — The hostname or IP address of the Exasol data source.
          - `Port` integer, required — The port for the Exasol data source.
        - `DatabricksParameters` object — The required parameters that are needed to connect to a Databricks data source.
          - `Host` string, required — The host name of the Databricks data source.
          - `Port` integer, required — The port for the Databricks data source.
          - `SqlEndpointPath` string, required — The HTTP path of the Databricks data source.
    - `CopySourceArn` string — The Amazon Resource Name (ARN) of a data source that has the credential pair that you want to use. When <code>CopySourceArn</code> is not null, the credential pair from the data source in the ARN is used as the credentials for the <code>DataSourceCredentials</code> structure.
    - `SecretArn` string — The Amazon Resource Name (ARN) of the secret associated with the data source in Amazon Secrets Manager.
  - `Permissions` ResourcePermission[] — A list of resource permissions on the data source.
    - `Principal` string, required — <p>The Amazon Resource Name (ARN) of the principal. This can be one of the following:</p> <ul> <li> <p>The ARN of an Amazon QuickSight user or group associated with a data source or dataset. (This is common.)</p> </li> <li> <p>The ARN of an Amazon QuickSight user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)</p> </li> <li> <p>The ARN of an Amazon Web Services account root: This is an IAM ARN rather than a QuickSight ARN. Use this option only to share resources (templates) across Amazon Web Services accounts. (This is less common.) </p> </li> </ul>
    - `Actions` String[], required — The IAM action to grant or revoke permissions on.
  - `VpcConnectionProperties` object — VPC connection properties.
    - `VpcConnectionArn` string — The Amazon Resource Name (ARN) for the VPC connection.
  - `SslProperties` object — Secure Socket Layer (SSL) properties that apply when Amazon QuickSight connects to your underlying data source.
    - `DisableSsl` boolean — A Boolean option to control whether SSL should be disabled.
  - `Tags` Tag[] — Contains a map of the key-value pairs for the resource tag or tags assigned to the data source.
    - `Key` string, required — Tag key.
    - `Value` string, required — Tag value.

## Response `200`

Success

- CreateDataSourceResponse
  - `Arn` string — The Amazon Resource Name (ARN) of the data source.
  - `DataSourceId` string — The ID of the data source. This ID is unique per Amazon Web Services Region for each Amazon Web Services account.
  - `CreationStatus` 'CREATION_IN_PROGRESS' | 'CREATION_SUCCESSFUL' | 'CREATION_FAILED' | 'UPDATE_IN_PROGRESS' | 'UPDATE_SUCCESSFUL' | 'UPDATE_FAILED' | 'DELETED' — The status of creating the data source.
  - `RequestId` string — The Amazon Web Services request ID for this operation.
  - `Status` integer — The HTTP status of the request.

## Other responses

- `480` — AccessDeniedException
- `481` — ConflictException
- `482` — InvalidParameterValueException
- `483` — LimitExceededException
- `484` — ResourceNotFoundException
- `485` — ResourceExistsException
- `486` — ThrottlingException
- `487` — InternalFailureException

---

[API](https://skmtc.net/aws/apis/quicksight.md) · [All operations](https://skmtc.net/aws/apis/quicksight/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aws/quicksight/versions/2f2bbd7e70ca/schema)
