---
title: "POST /CreateIndex"
method: POST
path: "/CreateIndex"
---

# POST /CreateIndex

`POST /CreateIndex`

Creates a vector index within a vector bucket. To specify the vector bucket, you must use either the vector bucket name or the vector bucket Amazon Resource Name (ARN).

Permissions

You must have the `s3vectors:CreateIndex` permission to use this operation.

You must have the `s3vectors:TagResource` permission in addition to `s3vectors:CreateIndex` permission to create a vector index with tags.

## Request body

- object
  - `vectorBucketName` string — The name of the vector bucket to create the vector index in.
  - `vectorBucketArn` string — The Amazon Resource Name (ARN) of the vector bucket to create the vector index in.
  - `indexName` string, required — The name of the vector index to create.
  - `dataType` 'float32', required — The data type of the vectors to be inserted into the vector index.
  - `dimension` integer, required — The dimensions of the vectors to be inserted into the vector index.
  - `distanceMetric` 'euclidean' | 'cosine', required — The distance metric to be used for similarity search.
  - `metadataConfiguration` object — The metadata configuration for a vector index.
    - `nonFilterableMetadataKeys` MetadataKey[] — Non-filterable metadata keys allow you to enrich vectors with additional context during storage and retrieval. Unlike default metadata keys, these keys can’t be used as query filters. Non-filterable metadata keys can be retrieved but can’t be searched, queried, or filtered. You can access non-filterable metadata keys of your vectors after finding the vectors. For more information about non-filterable metadata keys, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-vectors.html">Vectors</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-limitations.html">Limitations and restrictions</a> in the <i>Amazon S3 User Guide</i>.
  - `encryptionConfiguration` object — The encryption configuration for a vector bucket or index. By default, if you don't specify, all new vectors in Amazon S3 vector buckets use server-side encryption with Amazon S3 managed keys (SSE-S3), specifically <code>AES256</code>. You can optionally override bucket level encryption settings, and set a specific encryption configuration for a vector index at the time of index creation.
    - `sseType` 'AES256' | 'aws:kms' — The server-side encryption type to use for the encryption configuration of the vector bucket. By default, if you don't specify, all new vectors in Amazon S3 vector buckets use server-side encryption with Amazon S3 managed keys (SSE-S3), specifically <code>AES256</code>.
    - `kmsKeyArn` string — <p>Amazon Web Services Key Management Service (KMS) customer managed key ID to use for the encryption configuration. This parameter is allowed if and only if <code>sseType</code> is set to <code>aws:kms</code>.</p> <p>To specify the KMS key, you must use the format of the KMS key Amazon Resource Name (ARN).</p> <p>For example, specify Key ARN in the following format: <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code> </p>
  - `tags` object — <p>An array of user-defined tags that you would like to apply to the vector index that you are creating. A tag is a key-value pair that you apply to your resources. Tags can help you organize, track costs, and control access to resources. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging.html">Tagging for cost allocation or attribute-based access control (ABAC)</a>.</p> <note> <p>You must have the <code>s3vectors:TagResource</code> permission in addition to <code>s3vectors:CreateIndex</code> permission to create a vector index with tags.</p> </note>

## Response `200`

Success

- CreateIndexOutput
  - `indexArn` string, required — The Amazon Resource Name (ARN) of the newly created vector index.

## Other responses

- `480` — ValidationException
- `481` — ServiceUnavailableException
- `482` — TooManyRequestsException
- `483` — InternalServerException
- `484` — AccessDeniedException
- `485` — RequestTimeoutException
- `486` — ConflictException
- `487` — NotFoundException
- `488` — ServiceQuotaExceededException

---

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