---
title: "Create a Data Warehouse integration"
method: POST
path: "/v1/integrations/data-warehouse"
tags: ["Grepr-hosted Data Warehouse Integration"]
---

# Create a Data Warehouse integration

`POST /v1/integrations/data-warehouse`

## 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/data-warehouse`
- Auth: one of:
  - API key in header `GREPR-API-KEY`
  - OpenID Connect (`https://grepr-prod.us.auth0.com/.well-known/openid-configuration`)

Creates a new Data Warehouse integration for connecting to Grepr S3 bucket.

## Request body

- WriteDataWarehouse
  - `name` string, required: Name of the integration.
  - `payload` DataWarehouse, required: The payload containing integration data.
  - `teamIds` string[]: The team IDs that this integration is associated with.
  - `type` '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 `201`

Data Warehouse integration created successfully

- ReadDataWarehouse
  - `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` DataWarehouse, required: The payload containing integration data.
  - `teamIds` string[]: The team IDs that this integration is associated with.
  - `type` '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

- `401`: Unauthorized
- `409`: Integration already exists

---

[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)
