> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pinecone.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Create an index with integrated embedding

> Create an index with integrated embedding.

With this type of index, you provide source text, and Pinecone uses a [hosted embedding model](https://docs.pinecone.io/guides/index-data/create-an-index#embedding-models) to convert the text automatically during [upsert](https://docs.pinecone.io/reference/api/2025-01/data-plane/upsert_records) and [search](https://docs.pinecone.io/reference/api/2025-01/data-plane/search_records).

For guidance and examples, see [Create an index](https://docs.pinecone.io/guides/index-data/create-an-index#integrated-embedding).

<RequestExample>
  ```python Python theme={null}
  # pip install --upgrade pinecone
  from pinecone import Pinecone

  pc = Pinecone(api_key="YOUR_API_KEY")

  index_name = "integrated-dense-py"

  index_model = pc.create_index_for_model(
      name=index_name,
      cloud="aws",
      region="us-east-1",
      embed={
          "model":"llama-text-embed-v2",
          "field_map":{"text": "chunk_text"}
      }
  )

  # Import specific classes to get type hints and autocompletions
  from pinecone import CloudProvider, AwsRegion, IndexEmbed, EmbedModel

  index_model = pc.create_index_for_model(
      name=index_name,
      cloud=CloudProvider.AWS,
      region=AwsRegion.US_EAST_1,
      embed=IndexEmbed(
          model=EmbedModel.Multilingual_E5_Large,
          field_map={"text": "chunk_text"},
          metric='cosine'
      )
  )
  ```

  ```javascript JavaScript theme={null}
  // npm install @pinecone-database/pinecone
  import { Pinecone } from '@pinecone-database/pinecone'

  const pc = new Pinecone({ apiKey: 'YOUR_API_KEY' });

  await pc.createIndexForModel({
    name: 'integrated-dense-js',
    cloud: 'aws',
    region: 'us-east-1',
    embed: {
      model: 'llama-text-embed-v2',
      fieldMap: { text: 'chunk_text' },
    },
    waitUntilReady: true,
  });
  ```

  ```java Java theme={null}
  import io.pinecone.clients.Pinecone;
  import org.openapitools.db_control.client.ApiException;
  import org.openapitools.db_control.client.model.CreateIndexForModelRequest;
  import org.openapitools.db_control.client.model.CreateIndexForModelRequestEmbed;
  import org.openapitools.db_control.client.model.DeletionProtection;
  import org.openapitools.db_control.client.model.IndexModel;

  import java.util.HashMap;
  import java.util.Map;

  public class CreateIntegratedIndex {
      public static void main(String[] args) throws ApiException {
          Pinecone pc = new Pinecone.Builder("YOUR_API_KEY").build();
          String indexName = "integrated-dense-java";
          String region = "us-east-1";
          HashMap<String, String> fieldMap = new HashMap<>();
          fieldMap.put("text", "chunk_text");
          CreateIndexForModelRequestEmbed embed = new CreateIndexForModelRequestEmbed()
                  .model("llama-text-embed-v2")
                  .fieldMap(fieldMap);
          Map<String, String> tags = new HashMap<>();
          tags.put("environment", "development");
          IndexModel index = pc.createIndexForModel(
                  indexName,
                  CreateIndexForModelRequest.CloudEnum.AWS,
                  region,
                  embed,
                  DeletionProtection.DISABLED,
                  tags
          );
          System.out.println(index);
      }
  }
  ```

  ```go Go theme={null}
  package main

  import (
      "context"
      "fmt"
      "log"

      "github.com/pinecone-io/go-pinecone/v4/pinecone"
  )

  func main() {
      ctx := context.Background()

      pc, err := pinecone.NewClient(pinecone.NewClientParams{
          ApiKey: "YOUR_API_KEY",
      })
      if err != nil {
          log.Fatalf("Failed to create Client: %v", err)
      }

    	indexName := "integrated-dense-go"
      DeletionProtection: &deletionProtection,

      index, err := pc.CreateIndexForModel(ctx, &pinecone.CreateIndexForModelRequest{
  		Name:   indexName,
  		Cloud:  pinecone.Aws,
  		Region: "us-east-1",
  		Embed: pinecone.CreateIndexForModelEmbed{
  			Model:    "llama-text-embed-v2",
  			FieldMap: map[string]interface{}{"text": "chunk_text"},
  		},
      DeletionProtection: &deletionProtection,
      Tags:   &pinecone.IndexTags{ "environment": "development" },
  	})
      if err != nil {
          log.Fatalf("Failed to create serverless integrated index: %v", idx.Name)
      } else {
          fmt.Printf("Successfully created serverless integrated index: %v", idx.Name)
      }
  }
  ```

  ```csharp C# theme={null}
  using Pinecone;

  var pinecone = new PineconeClient("YOUR_API_KEY");

  var createIndexRequest = await pinecone.CreateIndexForModelAsync(
      new CreateIndexForModelRequest
      {
          Name = "integrated-dense-dotnet",
          Cloud = CreateIndexForModelRequestCloud.Aws,
          Region = "us-east-1",
          Embed = new CreateIndexForModelRequestEmbed
          {
              Model = "llama-text-embed-v2",
              FieldMap = new Dictionary<string, object?>() { { "text", "chunk_text" } },
          },
          DeletionProtection = DeletionProtection.Disabled,
          Tags = new Dictionary<string, string> 
          { 
              { "environment", "development" }
          }
      }
  );
  ```

  ```shell curl theme={null}
  PINECONE_API_KEY="YOUR_API_KEY"

  curl -X POST https://api.pinecone.io/indexes/create-for-model \
       -H "Content-Type: application/json" \
       -H "Api-Key: $PINECONE_API_KEY" \
       -H "X-Pinecone-Api-Version: 2025-04" \
       -d '{
             "name": "integrated-dense-curl",
             "cloud": "aws",
             "region": "us-east-1",
             "embed": {
               "model": "llama-text-embed-v2",
               "metric": "cosine",
               "field_map": {
                 "text": "chunk_text"
               },
               "write_parameters": {
                 "input_type": "passage",
                 "truncate": "END"
               },
               "read_parameters": {
                 "input_type": "query",
                 "truncate": "END"
               }
             }
           }'
  ```

  ```bash CLI theme={null}
  # Target the project where you want to create the index.
  pc target -o "example-org" -p "example-project"
  # Create the index.
  pc index create \
    --name "integrated-dense-cli" \
    --dimension 1024 \
    --metric "cosine" \
    --cloud "aws" \
    --region "us-east-1" \
    --model "llama-text-embed-v2" \
    --field_map "text=chunk_text"
  ```
</RequestExample>

<ResponseExample>
  ```python Python theme={null}
  {'deletion_protection': 'disabled',
   'dimension': 1024,
   'embed': {'dimension': 1024,
             'field_map': {'text': 'chunk_text'},
             'metric': 'cosine',
             'model': 'llama-text-embed-v2',
             'read_parameters': {'input_type': 'query', 'truncate': 'END'},
             'write_parameters': {'input_type': 'passage', 'truncate': 'END'}},
   'host': 'integrated-dense-py-govk0nt.svc.aped-4627-b74a.pinecone.io',
   'id': '9dabb7cb-ec0a-4e2e-b79e-c7c997e592ce',
   'metric': 'cosine',
   'name': 'integrated-dense-py',
   'spec': {'serverless': {'cloud': 'aws', 'region': 'us-east-1'}},
   'status': {'ready': True, 'state': 'Ready'},
   'tags': None}
  ```

  ```javascript JavaScript theme={null}
  {
    "name": "integrated-dense-js",
    "dimension": 1024,
    "metric": "cosine",
    "host": "integrated-dense-js-govk0nt.svc.aped-4627-b74a.pinecone.io",
    "deletionProtection": "disabled",
    "tags": undefined,
    "embed": {
      "model": "llama-text-embed-v2",
      metric: 'cosine',
      dimension: 1024,
      vectorType: 'dense',
      fieldMap: { text: 'chunk_text' },
      readParameters: { input_type: 'query', truncate: 'END' },
      writeParameters: { input_type: 'passage', truncate: 'END' }
    },
    spec: { pod: undefined, serverless: { cloud: 'aws', region: 'us-east-1' } },
    status: { ready: true, state: 'Ready' },
    vectorType: 'dense'
  }
  ```

  ```java Java theme={null}
  class IndexModel {
      name: integrated-dense-java
      dimension: 1024
      metric: cosine
      host: integrated-dense-java-govk0nt.svc.aped-4627-b74a.pinecone.io
      deletionProtection: disabled
      tags: {environment=development}
      embed: class ModelIndexEmbed {
          model: llama-text-embed-v2
          metric: cosine
          dimension: 1024
          vectorType: dense
          fieldMap: {text=chunk_text}
          readParameters: {dimension=1024.0, input_type=query, truncate=END}
          writeParameters: {dimension=1024.0, input_type=passage, truncate=END}
          additionalProperties: null
      }
      spec: class IndexModelSpec {
          byoc: null
          pod: null
          serverless: class ServerlessSpec {
              cloud: aws
              region: us-east-1
              additionalProperties: null
          }
          additionalProperties: null
      }
      status: class IndexModelStatus {
          ready: false
          state: Initializing
          additionalProperties: null
      }
      vectorType: dense
      additionalProperties: null
  }
  ```

  ```go Go theme={null}
  {
    "name": "integrated-dense-go",
    "host": "integrated-dense-go-govk0nt.svc.aped-4627-b74a.pinecone.io",
    "metric": "cosine",
    "vector_type": "dense",
    "deletion_protection": "disabled",
    "dimension": 1024,
    "spec": {
      "serverless": {
        "cloud": "aws",
        "region": "us-east-1"
      }
    },
    "status": {
      "ready": true,
      "state": "Ready"
    },
    "embed": {
      "model": "llama-text-embed-v2",
      "dimension": 1024,
      "metric": "cosine",
      "vector_type": "dense",
      "field_map": {
        "text": "chunk_text"
      },
      "read_parameters": {
        "input_type": "query",
        "truncate": "END"
      },
      "write_parameters": {
        "input_type": "passage",
        "truncate": "END"
      }
    }
  }
  ```

  ```csharp C# theme={null}
  {
    "name": "integrated-dense-dotnet",
    "dimension": 1024,
    "metric": "cosine",
    "host": "integrated-dense-dotnet-govk0nt.svc.aped-4627-b74a.pinecone.io",
    "deletion_protection": "disabled",
    "tags": {
      "environment": "development"
    },
    "embed": {
      "model": "llama-text-embed-v2",
      "metric": "cosine",
      "dimension": 1024,
      "vector_type": "dense",
      "field_map": {
        "text": "chunk_text"
      },
      "read_parameters": {
        "dimension": 1024,
        "input_type": "query",
        "truncate": "END"
      },
      "write_parameters": {
        "dimension": 1024,
        "input_type": "passage",
        "truncate": "END"
      }
    },
    "spec": {
      "serverless": {
        "cloud": "aws",
        "region": "us-east-1"
      }
    },
    "status": {
      "ready": true,
      "state": "Ready"
    },
    "vector_type": "dense"
  }
  ```

  ```json curl theme={null}
  {
    "id": "9dabb7cb-ec0a-4e2e-b79e-c7c997e592ce",
    "name": "integrated-dense-curl",
    "metric": "cosine",
    "dimension": 1024,
    "status": {
      "ready": false,
      "state": "Initializing"
    },
    "host": "integrated-dense-curl-govk0nt.svc.aped-4627-b74a.pinecone.io",
    "spec": {
      "serverless": {
        "region": "us-east-1",
        "cloud": "aws"
      }
    },
    "deletion_protection": "disabled",
    "tags": null,
    "embed": {
      "model": "llama-text-embed-v2",
      "field_map": {
        "text": "chunk_text"
      },
      "dimension": 1024,
      "metric": "cosine",
      "write_parameters": {
        "input_type": "passage",
        "truncate": "END"
      },
      "read_parameters": {
        "input_type": "query",
        "truncate": "END"
      }
    }
  }
  ```

  ```text CLI theme={null}
  [SUCCESS] Index integrated-dense-cli created successfully. Run pc index describe --name integrated-dense-cli to check status.


  ATTRIBUTE              VALUE
  Name                   integrated-dense-cli
  Dimension              1024
  Metric                 cosine
  Deletion Protection    disabled
  Vector Type            dense

  State                  Initializing
  Ready                  false
  Host                   integrated-dense-cli-1c6ab6aa.svc.aped-4627-b74a.pinecone.io
  Private Host           <none>

  Spec                   serverless
  Cloud                  aws
  Region                 us-east-1
  Source Collection      <none>

  Model                  llama-text-embed-v2
  Field Map              {"text":"chunk_text"}
  Read Parameters        {"dimension":1024,"input_type":"query","truncate":"END"}
  Write Parameters       {"dimension":1024,"input_type":"passage","truncate":"END"}
  ```
</ResponseExample>


## OpenAPI

````yaml https://raw.githubusercontent.com/pinecone-io/pinecone-api/refs/heads/main/2025-04/db_control_2025-04.oas.yaml post /indexes/create-for-model
openapi: 3.0.3
info:
  title: Pinecone Control Plane API
  description: >-
    Pinecone is a vector database that makes it easy to search and retrieve
    billions of high-dimensional vectors.
  contact:
    name: Pinecone Support
    url: https://support.pinecone.io
    email: support@pinecone.io
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  version: 2025-04
servers:
  - url: https://api.pinecone.io
    description: Production API endpoints
security:
  - ApiKeyAuth: []
tags:
  - name: Manage Indexes
    description: Actions that manage indexes
externalDocs:
  description: More Pinecone.io API docs
  url: https://docs.pinecone.io/introduction
paths:
  /indexes/create-for-model:
    post:
      tags:
        - Manage Indexes
      summary: Create an index with integrated embedding
      description: >-
        Create an index with integrated embedding.


        With this type of index, you provide source text, and Pinecone uses a
        [hosted embedding
        model](https://docs.pinecone.io/guides/index-data/create-an-index#embedding-models)
        to convert the text automatically during
        [upsert](https://docs.pinecone.io/reference/api/2025-01/data-plane/upsert_records)
        and
        [search](https://docs.pinecone.io/reference/api/2025-01/data-plane/search_records).


        For guidance and examples, see [Create an
        index](https://docs.pinecone.io/guides/index-data/create-an-index#integrated-embedding).
      operationId: create_index_for_model
      requestBody:
        description: >-
          The desired configuration for the index and associated embedding
          model.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateIndexForModelRequest'
            examples:
              index-for-model:
                summary: Creating a serverless index for the specified model
                value:
                  cloud: gcp
                  deletion_protection: enabled
                  embed:
                    field_map:
                      text: your-text-field
                    metric: cosine
                    model: multilingual-e5-large
                  name: multilingual-e5-large-index
                  region: us-east1
        required: true
      responses:
        '201':
          description: The index has successfully been created for the embedding model.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IndexModel'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                index-metric-validation-error:
                  summary: Validation error
                  value:
                    error:
                      code: INVALID_ARGUMENT
                      message: >-
                        Bad request. The request body included invalid request
                        parameters.
                    status: 400
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Unknown cloud or region when creating a serverless index.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                serverless-spec-cloud-not-found:
                  summary: Cannot create serverless index with invalid spec.
                  value:
                    error:
                      code: NOT_FOUND
                      message: 'Resource cloud: aws region: us-west1 not found.'
                    status: 404
        '409':
          description: Index of given name already exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                index-name-already-exists:
                  summary: Index name needs to be unique
                  value:
                    error:
                      code: ALREADY_EXISTS
                      message: Resource already exists.
                    status: 409
        '422':
          description: Unprocessable entity. The request body could not be deserialized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                missing-field:
                  summary: Unprocessable entity
                  value:
                    error:
                      code: UNPROCESSABLE_ENTITY
                      message: >-
                        Failed to deserialize the JSON body into the target
                        type: missing field `metric` at line 1 column 16
                    status: 422
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
components:
  schemas:
    CreateIndexForModelRequest:
      description: The desired configuration for the index and associated embedding model.
      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 '-'.
          type: string
          minLength: 1
          maxLength: 45
        cloud:
          example: aws
          description: The public cloud where you would like your index hosted.
          type: string
          enum:
            - gcp
            - aws
            - azure
        region:
          example: us-east-1
          description: The region where you would like your index to be created.
          type: string
        deletion_protection:
          $ref: '#/components/schemas/DeletionProtection'
        tags:
          $ref: '#/components/schemas/IndexTags'
        embed:
          example:
            field_map:
              text: your-text-field
            metric: cosine
            model: multilingual-e5-large
            read_parameters:
              input_type: query
              truncate: NONE
            write_parameters:
              input_type: passage
          description: >-
            Specify the integrated inference embedding configuration for the
            index.


            Once set the model cannot be changed, but you can later update the
            embedding configuration for an integrated inference index including
            field map, read parameters, or write parameters.


            Refer to the [model
            guide](https://docs.pinecone.io/guides/index-data/create-an-index#embedding-models)
            for available models and model details.
          type: object
          properties:
            model:
              example: multilingual-e5-large
              description: The name of the embedding model to use for the index.
              type: string
            metric:
              description: >-
                The distance metric to be used for similarity search. You can
                use 'euclidean', 'cosine', or 'dotproduct'. If not specified,
                the metric will be defaulted according to the model. Cannot be
                updated once set.
              type: string
              enum:
                - cosine
                - euclidean
                - dotproduct
            field_map:
              example:
                text: your-text-field
              description: >-
                Identifies the name of the text field from your document model
                that will be embedded.
              type: object
            dimension:
              description: The dimension of embedding vectors produced for the index.
              type: integer
            read_parameters:
              description: The read parameters for the embedding model.
              type: object
            write_parameters:
              description: The write parameters for the embedding model.
              type: object
          required:
            - model
            - field_map
      required:
        - name
        - cloud
        - region
        - embed
    IndexModel:
      description: >-
        The IndexModel describes the configuration and status of 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 '-'.
          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'.
          type: string
          enum:
            - cosine
            - euclidean
            - dotproduct
        host:
          example: semantic-search-c01b5b5.svc.us-west1-gcp.pinecone.io
          description: The URL address where the index is hosted.
          type: string
        private_host:
          example: semantic-search-c01b5b5.svc.private.us-west1-gcp.pinecone.io
          description: The private endpoint URL of an index.
          type: string
        deletion_protection:
          $ref: '#/components/schemas/DeletionProtection'
        tags:
          $ref: '#/components/schemas/IndexTags'
        embed:
          $ref: '#/components/schemas/ModelIndexEmbed'
        spec:
          example:
            pod:
              environment: us-east-1-aws
              metadata_config:
                indexed:
                  - genre
                  - title
                  - imdb_rating
              pod_type: p1.x1
              pods: 1
              replicas: 1
              shards: 1
          type: object
          properties:
            byoc:
              $ref: '#/components/schemas/ByocSpec'
            pod:
              $ref: '#/components/schemas/PodSpec'
            serverless:
              $ref: '#/components/schemas/ServerlessSpec'
        status:
          example:
            ready: true
            state: ScalingUpPodSize
          type: object
          properties:
            ready:
              type: boolean
            state:
              type: string
              enum:
                - Initializing
                - InitializationFailed
                - ScalingUp
                - ScalingDown
                - ScalingUpPodSize
                - ScalingDownPodSize
                - Terminating
                - Ready
                - Disabled
          required:
            - ready
            - state
        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
        - metric
        - status
        - spec
        - host
        - vector_type
    ErrorResponse:
      example:
        error:
          code: QUOTA_EXCEEDED
          message: >-
            The index exceeds the project quota of 5 pods by 2 pods. Upgrade
            your account or change the project settings to increase the quota.
        status: 429
      description: The response shape used for all error responses.
      type: object
      properties:
        status:
          example: 500
          description: The HTTP status code of the error.
          type: integer
        error:
          example:
            code: INVALID_ARGUMENT
            message: >-
              Index name must contain only lowercase alphanumeric characters or
              hyphens, and must not begin or end with a hyphen.
          description: Detailed information about the error that occurred.
          type: object
          properties:
            code:
              type: string
              enum:
                - OK
                - UNKNOWN
                - INVALID_ARGUMENT
                - DEADLINE_EXCEEDED
                - QUOTA_EXCEEDED
                - NOT_FOUND
                - ALREADY_EXISTS
                - PERMISSION_DENIED
                - UNAUTHENTICATED
                - RESOURCE_EXHAUSTED
                - FAILED_PRECONDITION
                - ABORTED
                - OUT_OF_RANGE
                - UNIMPLEMENTED
                - INTERNAL
                - UNAVAILABLE
                - DATA_LOSS
                - FORBIDDEN
                - UNPROCESSABLE_ENTITY
                - PAYMENT_REQUIRED
            message:
              example: >-
                Index name must contain only lowercase alphanumeric characters
                or hyphens, and must not begin or end with a hyphen.
              type: string
            details:
              description: >-
                Additional information about the error. This field is not
                guaranteed to be present.
              type: object
          required:
            - code
            - message
      required:
        - status
        - error
    DeletionProtection:
      description: >
        Whether [deletion
        protection](http://docs.pinecone.io/guides/manage-data/manage-indexes#configure-deletion-protection)
        is enabled/disabled for the index.
      default: disabled
      type: string
      enum:
        - disabled
        - enabled
    IndexTags:
      example:
        tag0: val0
        tag1: val1
      description: >-
        Custom user tags added to an index. Keys must be 80 characters or less.
        Values must be 120 characters or less. Keys must be alphanumeric, '_',
        or '-'.  Values must be alphanumeric, ';', '@', '_', '-', '.', '+', or '
        '. To unset a key, set the value to be an empty string.
      type: object
      additionalProperties:
        type: string
    ModelIndexEmbed:
      example:
        field_map:
          text: your-text-field
        metric: cosine
        model: multilingual-e5-large
        read_parameters:
          input_type: query
          truncate: NONE
        write_parameters:
          input_type: passage
      description: The embedding model and document fields mapped to embedding inputs.
      type: object
      properties:
        model:
          example: multilingual-e5-large
          description: The name of the embedding model used to create the index.
          type: string
        metric:
          description: >-
            The distance metric to be used for similarity search. You can use
            'euclidean', 'cosine', or 'dotproduct'. If not specified, the metric
            will be defaulted according to the model. Cannot be updated once
            set.
          type: string
          enum:
            - cosine
            - euclidean
            - dotproduct
        dimension:
          example: 1536
          description: The dimensions of the vectors to be inserted in the index.
          type: integer
          format: int32
          minimum: 1
          maximum: 20000
        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
        field_map:
          example:
            text: your-text-field
          description: >-
            Identifies the name of the text field from your document model that
            is embedded.
          type: object
        read_parameters:
          description: The read parameters for the embedding model.
          type: object
        write_parameters:
          description: The write parameters for the embedding model.
          type: object
      required:
        - model
    ByocSpec:
      example:
        environment: aws-us-east-1-b921
      description: Configuration needed to deploy an index in a BYOC environment.
      type: object
      properties:
        environment:
          example: aws-us-east-1-b921
          description: The environment where the index is hosted.
          type: string
      required:
        - environment
    PodSpec:
      example:
        environment: us-east1-gcp
        metadata_config:
          indexed:
            - genre
            - title
            - imdb_rating
        pod_type: p1.x1
        pods: 1
        replicas: 1
        shards: 1
        source_collection: movie-embeddings
      description: Configuration needed to deploy a pod-based index.
      type: object
      properties:
        environment:
          example: us-east1-gcp
          description: The environment where the index is hosted.
          type: string
        replicas:
          description: >-
            The number of replicas. Replicas duplicate your index. They provide
            higher availability and throughput. Replicas can be scaled up or
            down as your needs change.
          default: 1
          type: integer
          format: int32
          minimum: 1
        shards:
          description: >-
            The number of shards. Shards split your data across multiple pods so
            you can fit more data into an index.
          default: 1
          type: integer
          format: int32
          minimum: 1
        pod_type:
          description: >-
            The type of pod to use. One of `s1`, `p1`, or `p2` appended with `.`
            and one of `x1`, `x2`, `x4`, or `x8`.
          default: p1.x1
          type: string
        pods:
          example: 1
          description: >-
            The number of pods to be used in the index. This should be equal to
            `shards` x `replicas`.'
          default: 1
          type: integer
          minimum: 1
        metadata_config:
          example:
            indexed:
              - genre
              - title
              - imdb_rating
          description: >-
            Configuration for the behavior of Pinecone's internal metadata
            index. By default, all metadata is indexed; when `metadata_config`
            is present, only specified metadata fields are indexed. These
            configurations are only valid for use with pod-based indexes.
          type: object
          properties:
            indexed:
              description: >-
                By default, all metadata is indexed; to change this behavior,
                use this property to specify an array of metadata fields that
                should be indexed.
              type: array
              items:
                type: string
        source_collection:
          example: movie-embeddings
          description: The name of the collection to be used as the source for the index.
          type: string
      required:
        - environment
        - pod_type
    ServerlessSpec:
      description: Configuration needed to deploy a serverless index.
      type: object
      properties:
        cloud:
          example: aws
          description: The public cloud where you would like your index hosted.
          type: string
          enum:
            - gcp
            - aws
            - azure
        region:
          example: us-east-1
          description: The region where you would like your index to be created.
          type: string
        source_collection:
          type: string
          description: The name of the collection to be used as the source for the index.
      required:
        - cloud
        - region
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Api-Key
      description: >-
        An API Key is required to call Pinecone APIs. Get yours from the
        [console](https://app.pinecone.io/).

````