---
title: "Create a storage integration"
method: POST
path: "/v2/organizations/settings/storageIntegrations"
tags: ["Organizations"]
---

# Create a storage integration

`POST /v2/organizations/settings/storageIntegrations`

## Request

- Base URL: `https://api.sigmacomputing.com`
- URL: `https://api.sigmacomputing.com/v2/organizations/settings/storageIntegrations`
- Auth: HTTP bearer

Configure a storage integration that uses a customer-owned cloud storage bucket. 
### Usage notes
- To perform this operation, you must use API credentials owned by a user assigned the Admin account type.
- To read or update storage integrations for a tenant organization, use [impersonation](/docs/impersonate-users) to obtain a token for that tenant, then call this endpoint with that token.

## Request body

- union
  - OrganizationsCreateStorageIntegrationRequest0: AWS S3 storage integration.
    - `provider` 's3', required: Cloud storage provider to store data in an AWS S3 bucket.
    - `bucketName` string, required: Name of the S3 bucket.
    - `pathPrefix` string, required: Folder path prefix within the bucket.
    - `storageAwsRoleArn` string, required: AWS IAM role ARN Sigma assumes to access the bucket.
    - `name` string: Display name of the storage integration.
    - `kmsKeyName` string: KMS key Sigma uses to encrypt objects written to the bucket. Relevant only when `provider` is `s3`.
  - OrganizationsCreateStorageIntegrationRequest1: Google Cloud Storage storage integration.
    - `provider` 'gcs', required: Cloud storage provider to store data in a Google Cloud Storage bucket.
    - `bucketName` string, required: Name of the GCS bucket.
    - `pathPrefix` string, required: Folder path prefix within the bucket.
    - `gcpServiceAccount` string, required: GCP service account email Sigma impersonates to access the bucket.
    - `warehouseStorageIntegrationName` string: Name of the warehouse-side storage integration used for Snowflake or Databricks connections.
    - `name` string: Display name of the storage integration.
  - OrganizationsCreateStorageIntegrationRequest2: Azure Blob Storage storage integration.
    - `provider` 'azure', required: Cloud storage provider to store data in an Azure Blob Storage container.
    - `bucketName` string, required: Name of the target storage container.
    - `pathPrefix` string, required: Folder path prefix within the container.
    - `storageAccount` string, required: Azure storage account name.
    - `tenantId` string, required: Azure AD tenant ID that owns the storage account.
    - `name` string: Display name of the storage integration.

## Response `200`

The response body.

- OrganizationsCreateStorageIntegrationResponse200
  - `provider` 's3' | 'gcs' | 'azure', required: Cloud storage provider for the storage integration.
  - `storageIntegrationId` string, required: Unique identifier of the storage integration.
  - `allowedLocation` string, required: Cloud storage URI Sigma writes to for the storage integration.
  - `name` string: Display name of the storage integration.
  - `kmsKeyName` string: KMS key Sigma uses to encrypt objects written to the bucket. Relevant only when `provider` is `s3`.
  - `storageAwsRoleArn` string: AWS IAM role ARN Sigma assumes to access the bucket. Relevant only when `provider` is `s3`.
  - `externalId` string: External ID Sigma includes in the AWS role trust policy request. Relevant only when `provider` is `s3`.
  - `tenantId` string: Azure AD tenant ID that owns the storage account. Relevant only when `provider` is `azure`.

---

[API](https://skmtc.dev/sigmacomputing/apis/sigma-rest-api.md) - [All operations](https://skmtc.dev/sigmacomputing/apis/sigma-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sigmacomputing/apis/sigma-rest-api/revisions/fb6036208c49?raw)
