{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/CreateIndexRequest",
  "title": "CreateIndexRequest",
  "description": "The configuration needed to create a Pinecone index.",
  "type": "object",
  "properties": {
    "name": {
      "example": "example-index",
      "description": "The name of the index. Resource name must be 1-45 characters long, start and end with an alphanumeric character, and consist only of lower case alphanumeric characters or '-'.\n",
      "type": "string",
      "minLength": 1,
      "maxLength": 45
    },
    "dimension": {
      "example": 1536,
      "description": "The dimensions of the vectors to be inserted in the index.",
      "type": "integer",
      "format": "int32",
      "minimum": 1,
      "maximum": 20000
    },
    "metric": {
      "description": "The distance metric to be used for similarity search. You can use 'euclidean', 'cosine', or 'dotproduct'. If the 'vector_type' is 'sparse', the metric must be 'dotproduct'. If the `vector_type` is `dense`, the metric defaults to 'cosine'.\nPossible values: `cosine`, `euclidean`, or `dotproduct`.",
      "x-enum": [
        "cosine",
        "euclidean",
        "dotproduct"
      ],
      "type": "string"
    },
    "deletion_protection": {
      "$ref": "#/components/schemas/DeletionProtection"
    },
    "tags": {
      "$ref": "#/components/schemas/IndexTags"
    },
    "spec": {
      "$ref": "#/components/schemas/IndexSpec"
    },
    "vector_type": {
      "description": "The index vector type. You can use 'dense' or 'sparse'. If 'dense', the vector dimension must be specified.  If 'sparse', the vector dimension should not be specified.",
      "default": "dense",
      "type": "string"
    }
  },
  "required": [
    "name",
    "spec"
  ]
}