---
title: "Create an S3 Vector Index integration"
method: POST
path: "/v1/integrations/s3-vector-index"
tags: ["S3 Vector Index Integration"]
---

# Create an S3 Vector Index integration

`POST /v1/integrations/s3-vector-index`

## 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-vector-index`
- 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 S3 Vector Index integration and provisions the index in the grepr-managed S3 vector bucket.

## Request body

- WriteS3VectorIndex
  - `name` string, required: Name of the integration.
  - `payload` S3VectorIndex, required: The payload containing integration data.
    - `dimensions` integer, required: Number of dimensions for the embedding vectors.
    - `distanceMetric` string: Distance metric for similarity search.
  - `teamIds` string[]: The team IDs that this integration is associated with.
  - `type` 's3-vector-index', 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`

S3 Vector Index integration created successfully

- ReadS3VectorIndex
  - `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` S3VectorIndex, required: The payload containing integration data.
    - `dimensions` integer, required: Number of dimensions for the embedding vectors.
    - `distanceMetric` string: Distance metric for similarity search.
  - `teamIds` string[]: The team IDs that this integration is associated with.
  - `type` 's3-vector-index', 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)
