---
title: "Create Search Index"
method: POST
path: "/search"
tags: ["search"]
---

# Create Search Index

`POST /search`

## Request

- Base URL: `https://api.upstash.com/v2`
- URL: `https://api.upstash.com/v2/search`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/upstash/apis/developer-api-upstash/docs/search/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates a new search index with the specified configuration

## Request body

- object
  - `name` string, required: Name of the search index
  - `region` 'eu-west-1' | 'us-central1', required: Region of the index
  - `type` 'free' | 'payg' | 'fixed', required: Index payment type. Currently 'free' and 'payg' are available.

## Response `200`

Index created successfully

- SearchIndex
  - `customer_id` string: The associated ID of the owner of the index
  - `id` string, uuid: Unique ID of the index
  - `name` string: Name of the search index
  - `endpoint` string: The REST endpoint of the index
  - `type` 'free' | 'payg' | 'fixed': The payment plan of the index
  - `region` 'eu-west-1' | 'us-central1': The region where the index is currently deployed
  - `vercel_email` string: The email associated with Vercel integration, if any. Empty string otherwise.
  - `token` string: The REST authentication token for the index
  - `read_only_token` string: The REST authentication read only token for the search index
  - `max_vector_count` integer: Maximum number of vectors allowed in the index
  - `max_monthly_reranks` integer: Maximum monthly rerank operations (-1 for unlimited)
  - `max_daily_updates` integer: Maximum daily update operations (-1 for unlimited)
  - `max_daily_queries` integer: Maximum daily query operations (-1 for unlimited)
  - `max_monthly_bandwidth` integer: Maximum monthly bandwidth in bytes (-1 for unlimited)
  - `max_writes_per_second` integer: Maximum write operations per second (rate limit)
  - `max_query_per_second` integer: Maximum query operations per second (rate limit)
  - `max_reads_per_request` integer: Maximum number of reads allowed per request
  - `max_writes_per_request` integer: Maximum number of writes allowed per request
  - `creation_time` integer: Unix timestamp of creation
  - `input_enrichment_enabled` boolean: Whether input enrichment is enabled for this index
  - `throughput_vector` TimeSeriesData[]: Throughput metrics over time
    - `x` string, required: Timestamp when measurement was taken
    - `y` number, required: The measured value

---

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