---
title: "Update a S3 Data Warehouse integration"
method: PUT
path: "/v1/integrations/s3-data-warehouse/{id}"
tags: ["External S3 Data Warehouse Integration"]
---

# Update a S3 Data Warehouse integration

`PUT /v1/integrations/s3-data-warehouse/{id}`

## Request

- Base URL: `https://docs.grepr.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://docs.grepr.ai/v1/integrations/s3-data-warehouse/{id}`
- Auth: one of:
  - API key in header `GREPR-API-KEY`
  - OpenID Connect (`https://grepr-prod.us.auth0.com/.well-known/openid-configuration`)

Updates an external S3 Data Warehouse integration

## Path parameters

- `id` string, required

## Request body

- WriteS3DataWarehouse
  - `name` string, required: Name of the integration.
  - `payload` S3DataWarehouse, required: The payload containing integration data.
    - `assumeRoleArn` string: The ARN of the role Grepr assumes to access the S3 bucket. Leave it empty to use your organization's role, the only one Grepr's hosted sites accept; the bucket's resource policy must let that role in. It can't be changed after the integration is created.
    - `bucketName` string, required: The name of the S3 bucket to use for the data warehouse
    - `prefix` string: The prefix (folder) within the S3 bucket where data warehouse files will be stored
    - `region` string: The region of the S3 bucket
  - `teamIds` string[]: The team IDs that this integration is associated with.
  - `type` 's3-data-warehouse', required: The type of the integration. This is used to determine the payload type.
  - `version` integer, required: Version of the integration. Should be increased by one for every new update in order for the write to succeed. Otherwise, a '409 Conflict' will be returned.

## Response `200`

S3 Data Warehouse integration updated successfully

- ReadS3DataWarehouse
  - `createdAt` string, date-time, required: Timestamp when the integration was created.
  - `id` string, required: The integration id
  - `jobIds` string[], required: List of job IDs associated with the integration.
  - `name` string, required: Name of the integration.
  - `organizationId` string, required: Organization ID of the integration.
  - `payload` S3DataWarehouse, required: The payload containing integration data.
    - `assumeRoleArn` string: The ARN of the role Grepr assumes to access the S3 bucket. Leave it empty to use your organization's role, the only one Grepr's hosted sites accept; the bucket's resource policy must let that role in. It can't be changed after the integration is created.
    - `bucketName` string, required: The name of the S3 bucket to use for the data warehouse
    - `prefix` string: The prefix (folder) within the S3 bucket where data warehouse files will be stored
    - `region` string: The region of the S3 bucket
  - `teamIds` string[]: The team IDs that this integration is associated with.
  - `type` 's3-data-warehouse', required: The type of the integration. This is used to determine the payload type.
  - `updatedAt` string, date-time, required: Timestamp when the integration was last updated.
  - `version` integer, required: Version of the integration. Should be increased by one for every new update in order for the write to succeed. Otherwise, a '409 Conflict' will be returned.

## Other responses

- `400`: Bucket name and ARN cannot be updated
- `401`: Unauthorized
- `404`: S3 Data Warehouse integration not found
- `409`: S3 Data Warehouse integration was updated and modified concurrently

---

[API](https://skmtc.dev/grepr/apis/grepr-api.md) - [All operations](https://skmtc.dev/grepr/apis/grepr-api/llms.txt) - [OpenAPI document](https://skmtc.dev/grepr/apis/grepr-api/revisions/2a5ce03a0bf0?raw)
