openapi: 3.0.3
info:
  title: Pinecone API
  description: >-
    Combined OpenAPI specification for Pinecone's public APIs (control plane, data plane, inference, assistant, admin,
    and OAuth). Source of truth: https://github.com/pinecone-io/pinecone-api. Reference docs:
    https://docs.pinecone.io/reference/api/introduction.
  version: 2026-04
  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
servers:
  - url: https://api.pinecone.io
    description: >-
      Pinecone control plane — default server. Some paths override with their own `servers` block (data plane, assistant
      data plane, OAuth).
tags:
  - name: Manage Indexes
    description: Actions that manage indexes
  - name: Vector Operations
  - name: Bulk Operations
  - name: Namespace Operations
  - name: Inference
    description: Model inference
  - name: Manage Assistants
    description: Actions that manage Assistants
  - name: Metrics
    description: Operations related to evaluation metrics calculation
  - name: API Keys
    description: Actions that manage API Keys.
  - name: Organizations
    description: Actions that manage organizations.
  - name: Projects
    description: Actions that manage projects.
  - name: OAuth
    description: Authentication using the OAuth2 protocol.
paths:
  /indexes:
    servers:
      - url: https://api.pinecone.io
        description: Production API endpoints
    get:
      tags:
        - Manage Indexes
      summary: List indexes
      description: List all indexes in a project.
      operationId: list_indexes
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
      responses:
        '200':
          description: >-
            This operation returns a list of all the indexes that you have previously created, and which are associated
            with the given project
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_IndexList'
              examples:
                multiple-indexes:
                  summary: A list containing one serverless index and one pod-based index.
                  value:
                    indexes:
                      - dimension: 384
                        host: semantic-search-c01b5b5.svc.us-west1-gcp.pinecone.io
                        metric: cosine
                        name: semantic-search
                        spec:
                          pod:
                            environment: us-west1-gcp
                            pod_type: p1.x1
                            pods: 4
                            replicas: 2
                            shards: 2
                        status:
                          ready: true
                          state: Ready
                        vector_type: dense
                      - dimension: 200
                        host: image-search-a31f9c1.svc.us-east1-gcp.pinecone.io
                        metric: dotproduct
                        name: image-search
                        spec:
                          serverless:
                            cloud: aws
                            read_capacity:
                              mode: OnDemand
                              status:
                                state: Ready
                            region: us-east-1
                        status:
                          ready: false
                          state: Initializing
                        vector_type: dense
                      - host: sparse-index-1a2b3c4d.svc.us-east1-gcp.pinecone.io
                        metric: dotproduct
                        name: sparse-index
                        spec:
                          serverless:
                            cloud: aws
                            read_capacity:
                              mode: OnDemand
                              status:
                                state: Ready
                            region: us-east-1
                        status:
                          ready: true
                          state: Ready
                        vector_type: sparse
                one-index:
                  summary: A list containing one serverless index.
                  value:
                    indexes:
                      - dimension: 1536
                        host: movie-embeddings-c01b5b5.svc.us-east1-gcp.pinecone.io
                        metric: cosine
                        name: movie-embeddings
                        spec:
                          serverless:
                            cloud: aws
                            read_capacity:
                              mode: OnDemand
                              status:
                                state: Ready
                            region: us-east-1
                        status:
                          ready: false
                          state: Initializing
                        vector_type: dense
                no-indexes:
                  summary: No indexes created yet.
                  value:
                    indexes: []
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
    post:
      tags:
        - Manage Indexes
      summary: Create an index
      description: >
        Create a Pinecone index. This is where you specify the measure of similarity, the dimension of vectors to be
        stored in the index, which cloud provider you would like to deploy with, and more.
          
        For guidance and examples, see [Create an index](https://docs.pinecone.io/guides/index-data/create-an-index).
      operationId: create_index
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
      requestBody:
        description: The desired configuration for the index.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/db_control_CreateIndexRequest'
            examples:
              serverless-index:
                summary: Creating a serverless index
                value:
                  deletion_protection: enabled
                  dimension: 1536
                  metric: cosine
                  name: movie-recommendations
                  spec:
                    serverless:
                      cloud: gcp
                      read_capacity:
                        mode: OnDemand
                      region: us-east1
                      source_collection: movie-embeddings
              serverless-sparse-index:
                summary: Creating a sparse serverless index
                value:
                  deletion_protection: enabled
                  metric: dotproduct
                  name: sparse-index
                  spec:
                    serverless:
                      cloud: gcp
                      read_capacity:
                        mode: OnDemand
                      region: us-east1
                  vector_type: sparse
              serverless-dedicated-index:
                summary: Creating an index with dedicated capacity
                value:
                  deletion_protection: enabled
                  metric: cosine
                  name: dedicated-index
                  spec:
                    serverless:
                      cloud: gcp
                      read_capacity:
                        dedicated:
                          manual:
                            replicas: 3
                            shards: 2
                          node_type: b1
                          scaling: Manual
                        mode: Dedicated
                      region: us-east1
              pod-index:
                summary: Creating a pod-based index
                value:
                  deletion_protection: enabled
                  dimension: 1536
                  metric: cosine
                  name: movie-recommendations
                  spec:
                    pod:
                      environment: us-east-1-aws
                      metadata_config:
                        indexed:
                          - genre
                          - title
                          - imdb_rating
                      pod_type: p1.x1
                      pods: 1
                      replicas: 1
                      shards: 1
                      source_collection: movie-embeddings
        required: true
      responses:
        '201':
          description: The index has been successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_IndexModel'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_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/db_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '402':
          description: Payment required. Organization is on a paid plan and is delinquent on payment.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                payment-required:
                  summary: Payment required
                  value:
                    error:
                      code: PAYMENT_REQUIRED
                      message: Request failed. Pay all past due invoices to lift restrictions on your account.
                    status: 402
        '403':
          description: You've exceed your pod quota.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Forbidden
                  value:
                    error:
                      code: FORBIDDEN
                      message: Increase your quota or upgrade to create more indexes.
                    status: 403
        '404':
          description: Unknown cloud or region when creating a serverless index.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_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/db_control_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/db_control_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/db_control_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /indexes/{index_name}:
    servers:
      - url: https://api.pinecone.io
        description: Production API endpoints
    get:
      tags:
        - Manage Indexes
      summary: Describe an index
      description: Get a description of an index.
      operationId: describe_index
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: index_name
          description: The name of the index to be described.
          required: true
          schema:
            type: string
          example: test-index
          style: simple
      responses:
        '200':
          description: Configuration information and deployment status of the index.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_IndexModel'
              examples:
                movie-recommendations-serverless:
                  summary: A serverless index
                  value:
                    dimension: 1536
                    host: movie-recommendations-c01b5b5.svc.us-east1-gcp.pinecone.io
                    metric: cosine
                    name: movie-recommendations
                    spec:
                      serverless:
                        cloud: aws
                        read_capacity:
                          mode: OnDemand
                          status:
                            state: Ready
                        region: us-east-1
                        schema:
                          fields:
                            genre:
                              filterable: true
                            title:
                              filterable: true
                    status:
                      ready: false
                      state: Initializing
                    vector_type: dense
                movie-recommendations-pod:
                  summary: A pod-based index
                  value:
                    dimension: 1536
                    host: movie-recommendations-c01b5b5.svc.us-east1-gcp.pinecone.io
                    metric: cosine
                    name: movie-recommendations
                    spec:
                      pod:
                        environment: us-east-1-aws
                        metadata_config:
                          indexed:
                            - genre
                            - title
                            - imdb_rating
                        pod_type: p1.x1
                        pods: 1
                        replicas: 1
                        shards: 1
                    status:
                      ready: false
                      state: Initializing
                    vector_type: dense
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Index not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                index-not-found:
                  summary: Index not found
                  value:
                    error:
                      code: NOT_FOUND
                      message: Index example-index not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
    delete:
      tags:
        - Manage Indexes
      summary: Delete an index
      description: Delete an existing index.
      operationId: delete_index
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: index_name
          description: The name of the index to delete.
          required: true
          schema:
            type: string
          example: test-index
          style: simple
      responses:
        '202':
          description: The request to delete the index has been accepted.
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '403':
          description: Forbidden. Deletion protection enabled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                deletion-protection:
                  summary: Forbidden
                  value:
                    error:
                      code: FORBIDDEN
                      message: Deletion protection is enabled for this index. Disable deletion protection before retrying.
                    status: 403
        '404':
          description: Index not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                index-not-found:
                  summary: Index not found
                  value:
                    error:
                      code: NOT_FOUND
                      message: Index example-index not found.
                    status: 404
        '412':
          description: There is a pending collection created from this index.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                pending-collection:
                  summary: There is a pending collection from this index.
                  value:
                    error:
                      code: FAILED_PRECONDITION
                      message: 'Unable to delete an index. There are pending collections for this index: [''test-collection'']'
                    status: 412
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
    patch:
      tags:
        - Manage Indexes
      summary: Configure an index
      description: >-
        Configure an existing index. For guidance and examples, see [Manage
        indexes](https://docs.pinecone.io/guides/manage-data/manage-indexes).
      operationId: configure_index
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: index_name
          description: The name of the index to configure.
          required: true
          schema:
            type: string
          example: test-index
          style: simple
      requestBody:
        description: The desired pod size and replica configuration for the index.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/db_control_ConfigureIndexRequest'
            examples:
              vertical-scaling:
                summary: Vertical scaling with pod size
                value:
                  spec:
                    pod:
                      pod_type: p1.x2
              horizontal-scaling:
                summary: Horizontal scaling with replicas
                value:
                  spec:
                    pod:
                      replicas: 4
              scaling-both:
                summary: Scaling both pod size and number of replicas
                value:
                  spec:
                    pod:
                      pod_type: p1.x2
                      replicas: 4
              disable-deletion-protection:
                summary: Disable deletion protection for the index
                value:
                  delete_protection: disabled
              update-index-tags:
                summary: Update tag0 and delete tag1
                value:
                  tags:
                    tag0: new-val
                    tag1: ''
        required: true
      responses:
        '202':
          description: >-
            The request to configure the index has been accepted. Check the  index status to see when the change has
            been applied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_IndexModel'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_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/db_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '402':
          description: Payment required. Organization is on a paid plan and is delinquent on payment.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                payment-required:
                  summary: Payment required
                  value:
                    error:
                      code: PAYMENT_REQUIRED
                      message: Request failed. Pay all past due invoices to lift restrictions on your account.
                    status: 402
        '403':
          description: You've exceed your pod quota.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Forbidden
                  value:
                    error:
                      code: FORBIDDEN
                      message: Increase your quota or upgrade to create more indexes.
                    status: 403
        '404':
          description: Index not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                index-not-found:
                  summary: Index not found
                  value:
                    error:
                      code: NOT_FOUND
                      message: Index example-index not found.
                    status: 404
        '422':
          description: Unprocessable entity. The request body could not be deserialized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_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/db_control_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /indexes/{index_name}/backups:
    servers:
      - url: https://api.pinecone.io
        description: Production API endpoints
    get:
      tags:
        - Manage Indexes
      summary: List backups for an index
      description: List all backups for an index.
      operationId: list_index_backups
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: index_name
          description: Name of the backed up index
          required: true
          schema:
            type: string
          style: simple
        - in: query
          name: limit
          description: The number of results to return per page.
          schema:
            default: 10
            type: integer
            minimum: 1
            maximum: 100
          style: form
        - in: query
          name: paginationToken
          description: The token to use to retrieve the next page of results.
          schema:
            type: string
          style: form
      responses:
        '200':
          description: >-
            This operation returns a list of all the backups that you have previously created, and which are associated
            with the given index.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_BackupList'
              examples:
                backups:
                  summary: A list containing backups.
                  value:
                    data:
                      - backup_id: bkp_123abc
                        cloud: aws
                        created_at: '2024-03-15T10:30:00Z'
                        description: Monthly backup of production index
                        dimension: 1536
                        metric: cosine
                        name: backup_2024_03_15
                        namespace_count: 3
                        record_count: 120000
                        region: us-east-1
                        schema:
                          fields:
                            genre:
                              filterable: true
                            title:
                              filterable: true
                        size_bytes: 10000000
                        source_index_id: idx_456
                        source_index_name: my-index
                        status: Ready
                        tags:
                          environment: production
                          type: monthly
                      - backup_id: bkp_789xyz
                        cloud: aws
                        created_at: '2024-03-20T15:45:00Z'
                        description: Pre-deployment safety backup
                        dimension: 1536
                        metric: cosine
                        name: backup_2024_03_20
                        namespace_count: 4
                        record_count: 125000
                        region: us-east-1
                        schema:
                          fields:
                            genre:
                              filterable: true
                            title:
                              filterable: true
                        size_bytes: 10500000
                        source_index_id: idx_456
                        source_index_name: my-index
                        status: Ready
                        tags:
                          environment: production
                          type: pre-deploy
                    pagination:
                      next: dXNlcl9pZD11c2VyXzE=
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Index not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                index-not-found:
                  summary: Index not found
                  value:
                    error:
                      code: NOT_FOUND
                      message: Index example-index not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
    post:
      tags:
        - Manage Indexes
      summary: Create a backup of an index
      description: |
        Create a backup of an index.
      operationId: create_backup
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: index_name
          description: Name of the index to backup
          required: true
          schema:
            type: string
          style: simple
      requestBody:
        description: The desired configuration for the backup.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/db_control_CreateBackupRequest'
            examples:
              backup-index-no-name:
                summary: Creating a backup of an index with no name
                value: {}
              backup-index-with-name:
                summary: Creating a backup of an index with a name
                value:
                  name: backup-index
              backup-index-with-name-and-description:
                summary: Creating a backup of an index with a name and description
                value:
                  description: Backup of the index
                  name: backup-index
        required: true
      responses:
        '201':
          description: The backup has been successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_BackupModel'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_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/db_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '402':
          description: Payment required. Organization is on a paid plan and is delinquent on payment.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                payment-required:
                  summary: Payment required
                  value:
                    error:
                      code: PAYMENT_REQUIRED
                      message: Request failed. Pay all past due invoices to lift restrictions on your account.
                    status: 402
        '403':
          description: You've exceed your backup quota.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Forbidden
                  value:
                    error:
                      code: FORBIDDEN
                      message: Increase your quota or upgrade to create more backups.
                    status: 403
        '422':
          description: Unprocessable entity. The request body could not be deserialized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_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/db_control_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /collections:
    servers:
      - url: https://api.pinecone.io
        description: Production API endpoints
    get:
      tags:
        - Manage Indexes
      summary: List collections
      description: |
        List all collections in a project.
        Serverless indexes do not support collections.
      operationId: list_collections
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
      responses:
        '200':
          description: List all the collections in your current project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_CollectionList'
              examples:
                multiple-collections:
                  summary: Multiple collections with different states
                  value:
                    collections:
                      - dimension: 3
                        environment: us-east1-gcp
                        name: small-collection
                        size: 3126700
                        status: Ready
                        vector_count: 99
                      - dimension: 3
                        environment: us-east1-gcp
                        name: small-collection-new
                        size: 3126700
                        status: Initializing
                        vector_count: 99
                      - dimension: 1536
                        environment: us-east1-gcp
                        name: big-collection
                        size: 160087040000000
                        status: Ready
                        vector_count: 10000000
                no-collections:
                  summary: No collections created yet
                  value:
                    collections: []
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
    post:
      tags:
        - Manage Indexes
      summary: Create a collection
      description: |
        Create a Pinecone collection.
          
        Serverless indexes do not support collections.
      operationId: create_collection
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
      requestBody:
        description: The desired configuration for the collection.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/db_control_CreateCollectionRequest'
            examples:
              creating-collection:
                summary: Creating a collection
                value:
                  name: example-collection
                  source: example-source-index
        required: true
      responses:
        '201':
          description: The collection has been successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_CollectionModel'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_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/db_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '402':
          description: Payment required. Organization is on a paid plan and is delinquent on payment.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                payment-required:
                  summary: Payment required
                  value:
                    error:
                      code: PAYMENT_REQUIRED
                      message: Request failed. Pay all past due invoices to lift restrictions on your account.
                    status: 402
        '403':
          description: You've exceed your collections quota.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Forbidden
                  value:
                    error:
                      code: FORBIDDEN
                      message: Collection exceeds quota. Maximum allowed on your account is 1. Currently have 1.
                    status: 403
        '409':
          description: Collection of given name already exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                collection-name-already-exists:
                  summary: Collection 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/db_control_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/db_control_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /indexes/create-for-model:
    servers:
      - url: https://api.pinecone.io
        description: Production API endpoints
    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/2026-04/data-plane/upsert_records)  and
        [search](https://docs.pinecone.io/reference/api/2026-04/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
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
      requestBody:
        description: The desired configuration for the index and associated embedding model.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/db_control_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/db_control_IndexModel'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_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/db_control_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/db_control_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/db_control_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/db_control_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/db_control_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /backups:
    servers:
      - url: https://api.pinecone.io
        description: Production API endpoints
    get:
      tags:
        - Manage Indexes
      summary: List backups for all indexes in a project
      description: List all backups for a project.
      operationId: list_project_backups
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: query
          name: limit
          description: The number of results to return per page.
          schema:
            default: 10
            type: integer
            minimum: 1
            maximum: 100
          style: form
        - in: query
          name: paginationToken
          description: The token to use to retrieve the next page of results.
          schema:
            type: string
          style: form
      responses:
        '200':
          description: This operation returns a list of all the backups for the given index that you have previously created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_BackupList'
              examples:
                backups:
                  summary: A list containing backups.
                  value:
                    data:
                      - backup_id: 670e8400-e29b-41d4-a716-446655440000
                        cloud: aws
                        created_at: '2024-03-15T10:30:00Z'
                        description: Monthly backup of production index
                        dimension: 1536
                        metric: cosine
                        name: backup_2024_03_15
                        namespace_count: 3
                        record_count: 120000
                        region: us-east-1
                        schema:
                          fields:
                            genre:
                              filterable: true
                            title:
                              filterable: true
                        size_bytes: 10000000
                        source_index_id: idx_456
                        source_index_name: my-index
                        status: Ready
                        tags:
                          environment: production
                          type: monthly
                      - backup_id: 670e8400-e29b-41d4-a716-446655440001
                        cloud: aws
                        created_at: '2024-03-20T15:45:00Z'
                        description: Pre-deployment safety backup
                        dimension: 1536
                        metric: cosine
                        name: backup_2024_03_20
                        namespace_count: 4
                        record_count: 125000
                        region: us-east-1
                        schema:
                          fields:
                            genre:
                              filterable: true
                            title:
                              filterable: true
                        size_bytes: 10500000
                        source_index_id: idx_789
                        source_index_name: my-index-2
                        status: Ready
                        tags:
                          environment: production
                          type: pre-deploy
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /backups/{backup_id}:
    servers:
      - url: https://api.pinecone.io
        description: Production API endpoints
    get:
      tags:
        - Manage Indexes
      summary: Describe a backup
      description: Get a description of a backup.
      operationId: describe_backup
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: backup_id
          description: The ID of the backup to describe.
          required: true
          schema:
            type: string
          example: 670e8400-e29b-41d4-a716-446655440000
          style: simple
      responses:
        '200':
          description: Configuration information and deployment status of the backup.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_BackupModel'
              examples:
                backup:
                  summary: A backup
                  value:
                    backup_id: 670e8400-e29b-41d4-a716-446655440000
                    cloud: aws
                    created_at: '2024-03-15T10:30:00Z'
                    description: Monthly backup of production index
                    dimension: 1536
                    metric: cosine
                    name: backup_2024_03_15
                    namespace_count: 3
                    record_count: 120000
                    region: us-east-1
                    schema:
                      fields:
                        genre:
                          filterable: true
                        title:
                          filterable: true
                    size_bytes: 10000000
                    source_index_id: 670e8400-e29b-41d4-a716-446655440001
                    source_index_name: my-index
                    status: Ready
                    tags:
                      environment: production
                      type: monthly
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Backup not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                backup-not-found:
                  summary: Backup not found
                  value:
                    error:
                      code: NOT_FOUND
                      message: Backup bkp_123abc not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
    delete:
      tags:
        - Manage Indexes
      summary: Delete a backup
      description: Delete a backup.
      operationId: delete_backup
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: backup_id
          description: The ID of the backup to delete.
          required: true
          schema:
            type: string
          example: 670e8400-e29b-41d4-a716-446655440000
          style: simple
      responses:
        '202':
          description: The request to delete the backup has been accepted.
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Backup not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                backup-not-found:
                  summary: Backup not found
                  value:
                    error:
                      code: NOT_FOUND
                      message: Backup bkp_123abc not found.
                    status: 404
        '412':
          description: There is a pending restore job created from this backup.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                pending-restore:
                  summary: There is a pending restore job from this backup.
                  value:
                    error:
                      code: FAILED_PRECONDITION
                      message: >-
                        Unable to delete backup. There are pending restore jobs for this backup:
                        ['670e8400-e29b-41d4-a716-446655440000']
                    status: 412
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /backups/{backup_id}/create-index:
    servers:
      - url: https://api.pinecone.io
        description: Production API endpoints
    post:
      tags:
        - Manage Indexes
      summary: Create an index from a backup
      description: Create an index from a backup.
      operationId: create_index_from_backup_operation
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: backup_id
          description: The ID of the backup to create an index from.
          required: true
          schema:
            type: string
          example: 670e8400-e29b-41d4-a716-446655440000
          style: simple
      requestBody:
        description: The desired configuration for the index created from a backup.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/db_control_CreateIndexFromBackupRequest'
        required: true
      responses:
        '202':
          description: The request to create the index has been accepted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_CreateIndexFromBackupResponse'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_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/db_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '402':
          description: Payment required. Organization is on a paid plan and is delinquent on payment.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                payment-required:
                  summary: Payment required
                  value:
                    error:
                      code: PAYMENT_REQUIRED
                      message: Request failed. Pay all past due invoices to lift restrictions on your account.
                    status: 402
        '403':
          description: You've exceed your pod quota.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Forbidden
                  value:
                    error:
                      code: FORBIDDEN
                      message: Increase your quota or upgrade to create more indexes.
                    status: 403
        '404':
          description: Backup not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                backup-not-found:
                  summary: Backup not found
                  value:
                    error:
                      code: NOT_FOUND
                      message: Backup bkp_123abc not found.
                    status: 404
        '409':
          description: Index of given name already exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
        '422':
          description: Unprocessable entity. The request body could not be deserialized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_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/db_control_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /restore-jobs:
    servers:
      - url: https://api.pinecone.io
        description: Production API endpoints
    get:
      tags:
        - Manage Indexes
      summary: List restore jobs
      description: List all restore jobs for a project.
      operationId: list_restore_jobs
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: query
          name: limit
          description: The number of results to return per page.
          schema:
            default: 10
            type: integer
            minimum: 1
            maximum: 100
          style: form
        - in: query
          name: paginationToken
          description: The token to use to retrieve the next page of results.
          schema:
            type: string
          style: form
      responses:
        '200':
          description: This operation returns a list of all the restore jobs that you have previously created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_RestoreJobList'
              examples:
                paginated-restore-jobs:
                  summary: A list containing restore jobs.
                  value:
                    data:
                      - backup_id: 670e8400-e29b-41d4-a716-446655440000
                        completed_at: '2024-03-15T10:35:00Z'
                        created_at: '2024-03-15T10:30:00Z'
                        percent_complete: 100
                        restore_job_id: 670e8400-e29b-41d4-a716-446655440001
                        status: Completed
                        target_index_id: idx_456
                        target_index_name: my-index
                    pagination:
                      next: dXNlcl9pZD11c2VyXzE=
                non-paginated-restore-jobs:
                  summary: A list containing restore jobs.
                  value:
                    data:
                      - backup_id: 670e8400-e29b-41d4-a716-446655440000
                        completed_at: '2024-03-15T10:35:00Z'
                        created_at: '2024-03-15T10:30:00Z'
                        percent_complete: 100
                        restore_job_id: 670e8400-e29b-41d4-a716-446655440001
                        status: Completed
                        target_index_id: idx_456
                        target_index_name: my-index
                    pagination: null
                no-restore-jobs:
                  summary: An empty list.
                  value:
                    data: []
                    pagination: null
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /restore-jobs/{job_id}:
    servers:
      - url: https://api.pinecone.io
        description: Production API endpoints
    get:
      tags:
        - Manage Indexes
      summary: Describe a restore job
      description: Get a description of a restore job.
      operationId: describe_restore_job
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: job_id
          description: The ID of the restore job to describe.
          required: true
          schema:
            type: string
          example: 670e8400-e29b-41d4-a716-446655440000
          style: simple
      responses:
        '200':
          description: Configuration information and deployment status of the restore job.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_RestoreJobModel'
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Restore job not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                restore-job-not-found:
                  summary: Restore job not found
                  value:
                    error:
                      code: NOT_FOUND
                      message: Restore job 670e8400-e29b-41d4-a716-446655440002 not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /collections/{collection_name}:
    servers:
      - url: https://api.pinecone.io
        description: Production API endpoints
    get:
      tags:
        - Manage Indexes
      summary: Describe a collection
      description: |
        Get a description of a collection.
        Serverless indexes do not support collections.
      operationId: describe_collection
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: collection_name
          description: The name of the collection to be described.
          required: true
          schema:
            type: string
          example: tiny-collection
          style: simple
      responses:
        '200':
          description: Configuration information and status of the collection.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_CollectionModel'
              examples:
                tiny-collection:
                  summary: A small collection.
                  value:
                    dimension: 3
                    environment: us-east1-gcp
                    name: tiny-collection
                    size: 3126700
                    status: Ready
                    vector_count: 99
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Collection not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                collection-not-found:
                  summary: Collection not found.
                  value:
                    error:
                      code: NOT_FOUND
                      message: Collection example-collection not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
    delete:
      tags:
        - Manage Indexes
      summary: Delete a collection
      description: |
        Delete an existing collection.
        Serverless indexes do not support collections.
      operationId: delete_collection
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: collection_name
          description: The name of the collection.
          required: true
          schema:
            type: string
          example: test-collection
          style: simple
      responses:
        '202':
          description: The collection has been successfully deleted.
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Collection not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                collection-not-found:
                  summary: Collection not found.
                  value:
                    error:
                      code: NOT_FOUND
                      message: Collection example-collection not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_control_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /bulk/imports:
    servers:
      - url: https://{index_host}
        variables:
          index_host:
            default: unknown
            description: host of the index
    get:
      tags:
        - Bulk Operations
      summary: List imports
      description: >-
        List all recent and ongoing import operations.


        By default, `list_imports` returns up to 100 imports per page. If the `limit` parameter is set, `list` returns
        up to that number of imports instead. Whenever there are additional IDs to return, the response also includes a
        `pagination_token` that you can use to get the next batch of imports. When the response does not include a
        `pagination_token`, there are no more imports to return.


        For guidance and examples, see [Import data](https://docs.pinecone.io/guides/index-data/import-data).
      operationId: listBulkImports
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: query
          name: limit
          description: Max number of operations to return per page.
          schema:
            default: 100
            type: integer
            format: int32
            minimum: 1
            maximum: 100
          example: 10
          style: form
        - in: query
          name: paginationToken
          description: Pagination token to continue a previous listing operation.
          schema:
            type: string
          style: form
      responses:
        '200':
          description: A list of import operations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_ListImportsResponse'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
      security:
        - ApiKeyAuth: []
    post:
      tags:
        - Bulk Operations
      summary: Start import
      description: |-
        Start an asynchronous import of vectors from object storage into an index.

        For guidance and examples, see [Import data](https://docs.pinecone.io/guides/index-data/import-data).
      operationId: startBulkImport
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/db_data_StartImportRequest'
        required: true
      responses:
        '200':
          description: Successful import operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_StartImportResponse'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
      security:
        - ApiKeyAuth: []
  /bulk/imports/{id}:
    servers:
      - url: https://{index_host}
        variables:
          index_host:
            default: unknown
            description: host of the index
    get:
      tags:
        - Bulk Operations
      summary: Describe an import
      description: |-
        Return details of a specific import operation.

        For guidance and examples, see [Import data](https://docs.pinecone.io/guides/index-data/import-data).
      operationId: describeBulkImport
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: id
          description: Unique identifier for the import operation.
          required: true
          schema:
            type: string
            minLength: 1
            maxLength: 1000
          example: '101'
          style: simple
      responses:
        '200':
          description: Details of the import operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_ImportModel'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
      security:
        - ApiKeyAuth: []
    delete:
      tags:
        - Bulk Operations
      summary: Cancel an import
      description: |-
        Cancel an import operation if it is not yet finished. It has no effect if the operation is already finished.

        For guidance and examples, see [Import data](https://docs.pinecone.io/guides/index-data/import-data).
      operationId: cancelBulkImport
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: id
          description: Unique identifier for the import operation.
          required: true
          schema:
            type: string
            minLength: 1
            maxLength: 1000
          example: '101'
          style: simple
      responses:
        '200':
          description: Operation cancelled successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_CancelImportResponse'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
      security:
        - ApiKeyAuth: []
  /describe_index_stats:
    servers:
      - url: https://{index_host}
        variables:
          index_host:
            default: unknown
            description: host of the index
    post:
      tags:
        - Vector Operations
      summary: Get index stats
      description: >-
        Return statistics about the contents of an index, including the vector count per namespace, the number of
        dimensions, and the index fullness.


        Serverless indexes scale automatically as needed, so index fullness is relevant only for pod-based indexes.
      operationId: describeIndexStats
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/db_data_DescribeIndexStatsRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_IndexDescription'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
      security:
        - ApiKeyAuth: []
  /query:
    servers:
      - url: https://{index_host}
        variables:
          index_host:
            default: unknown
            description: host of the index
    post:
      tags:
        - Vector Operations
      summary: Search with a vector
      description: >-
        Search a namespace using a query vector. It retrieves the ids of the most similar items in a namespace, along
        with their similarity scores.


        For guidance, examples, and limits, see [Search](https://docs.pinecone.io/guides/search/search-overview).
      operationId: queryVectors
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/db_data_QueryRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_QueryResponse'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
      security:
        - ApiKeyAuth: []
  /vectors/delete:
    servers:
      - url: https://{index_host}
        variables:
          index_host:
            default: unknown
            description: host of the index
    post:
      tags:
        - Vector Operations
      summary: Delete records
      description: |-
        Delete records by id or by metadata from a single namespace.

        For guidance and examples, see [Delete data](https://docs.pinecone.io/guides/manage-data/delete-data).
      operationId: deleteVectors
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/db_data_DeleteRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_DeleteResponse'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
      security:
        - ApiKeyAuth: []
  /vectors/fetch:
    servers:
      - url: https://{index_host}
        variables:
          index_host:
            default: unknown
            description: host of the index
    get:
      tags:
        - Vector Operations
      summary: Fetch records
      description: >-
        Look up and return records by ID from a single namespace. The returned records include the vector data and/or
        metadata.

        For on-demand indexes, since vector values are retrieved from object storage, fetch operations may have
        increased latency. If you only need metadata or IDs, consider using the query operation with `includeValues` set
        to `false` instead.

        For guidance and examples, see [Fetch data](https://docs.pinecone.io/guides/manage-data/fetch-data).
      operationId: fetchVectors
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: query
          name: ids
          description: The vector IDs to fetch. Does not accept values containing spaces.
          required: true
          schema:
            type: array
            items:
              type: string
          explode: true
          style: form
        - in: query
          name: namespace
          description: The namespace to fetch records from. If not provided, the default namespace is used.
          schema:
            type: string
          style: form
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_FetchResponse'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
      security:
        - ApiKeyAuth: []
  /vectors/fetch_by_metadata:
    servers:
      - url: https://{index_host}
        variables:
          index_host:
            default: unknown
            description: host of the index
    post:
      tags:
        - Vector Operations
      summary: Fetch records by metadata
      description: >-
        Look up and return records by metadata from a single namespace. The returned records include the vector data and
        metadata.

        For guidance and examples, see [Fetch data](https://docs.pinecone.io/guides/manage-data/fetch-data).
      operationId: fetch_vectors_by_metadata
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/db_data_FetchByMetadataRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_FetchByMetadataResponse'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
      security:
        - ApiKeyAuth: []
  /vectors/list:
    servers:
      - url: https://{index_host}
        variables:
          index_host:
            default: unknown
            description: host of the index
    get:
      tags:
        - Vector Operations
      summary: List record IDs
      description: >-
        List the IDs of records in a single namespace of a serverless index. An optional prefix can be passed to limit
        the results to IDs with a common prefix.


        Returns up to 100 IDs at a time by default in sorted order (bitwise "C" collation). If the `limit` parameter is
        set, `list` returns up to that number of IDs instead. Whenever there are additional IDs to return, the response
        also includes a `pagination_token` that you can use to get the next batch of IDs. When the response does not
        include a `pagination_token`, there are no more IDs to return.


        For guidance and examples, see [List record IDs](https://docs.pinecone.io/guides/manage-data/list-record-ids).


        **Note:** `list` is supported only for serverless indexes.
      operationId: listVectors
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: query
          name: prefix
          description: The vector IDs to fetch. Does not accept values containing spaces.
          schema:
            type: string
          style: form
        - in: query
          name: limit
          description: Max number of IDs to return per page.
          schema:
            default: 100
            type: integer
            format: int64
          style: form
        - in: query
          name: paginationToken
          description: Pagination token to continue a previous listing operation.
          schema:
            type: string
          style: form
        - in: query
          name: namespace
          description: The namespace to list vectors from. If not provided, the default namespace is used.
          schema:
            type: string
          style: form
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_ListResponse'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
      security:
        - ApiKeyAuth: []
  /vectors/update:
    servers:
      - url: https://{index_host}
        variables:
          index_host:
            default: unknown
            description: host of the index
    post:
      tags:
        - Vector Operations
      summary: Update a record
      description: >-
        Update records by ID or by metadata in a namespace. Updating by ID changes the vector and/or metadata of a
        single record. Updating by metadata changes metadata across multiple records using a metadata filter.

        If a vector value is included, it will overwrite the previous value. If `set_metadata` is included, only the
        specified metadata fields are modified, and if a specified metadata field does not exist, it is added.

        For guidance and examples, see [Update data](https://docs.pinecone.io/guides/manage-data/update-data).
      operationId: updateVector
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/db_data_UpdateRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_UpdateResponse'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
      security:
        - ApiKeyAuth: []
  /vectors/upsert:
    servers:
      - url: https://{index_host}
        variables:
          index_host:
            default: unknown
            description: host of the index
    post:
      tags:
        - Vector Operations
      summary: Upsert records
      description: >-
        Upsert records into a namespace. If a new value is upserted for an existing record ID, it will overwrite the
        previous value.


        For guidance, examples, and limits, see [Upsert data](https://docs.pinecone.io/guides/index-data/upsert-data).
      operationId: upsertVectors
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/db_data_UpsertRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_UpsertResponse'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
      security:
        - ApiKeyAuth: []
  /namespaces:
    servers:
      - url: https://{index_host}
        variables:
          index_host:
            default: unknown
            description: host of the index
    get:
      tags:
        - Namespace Operations
      summary: List namespaces
      description: >-
        List all namespaces in a serverless index.


        Up to 100 namespaces are returned at a time by default, in sorted order (bitwise “C” collation). If the `limit`
        parameter is set, up to that number of namespaces are returned instead. Whenever there are additional namespaces
        to return, the response also includes a `pagination_token` that you can use to get the next batch of namespaces.
        When the response does not include a `pagination_token`, there are no more namespaces to return.


        For guidance and examples, see [Manage
        namespaces](https://docs.pinecone.io/guides/manage-data/manage-namespaces).


        **Note:** This operation is not supported for pod-based indexes.
      operationId: listNamespacesOperation
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: query
          name: limit
          description: Max number namespaces to return per page.
          schema:
            type: integer
            format: int32
          example: 10
          style: form
        - in: query
          name: paginationToken
          description: Pagination token to continue a previous listing operation.
          schema:
            type: string
          style: form
        - in: query
          name: prefix
          description: Prefix of the namespaces to list. Acts as a filter to return only namespaces that start with this prefix.
          schema:
            type: string
          example: prefixExample
          style: form
      responses:
        '200':
          description: A successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_ListNamespacesResponse'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
      security:
        - ApiKeyAuth: []
    post:
      tags:
        - Namespace Operations
      summary: Create a namespace
      description: >-
        Create a namespace in a serverless index.


        For guidance and examples, see [Manage
        namespaces](https://docs.pinecone.io/guides/manage-data/manage-namespaces).


        **Note:** This operation is not supported for pod-based indexes.
      operationId: createNamespace
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/db_data_CreateNamespaceRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_NamespaceDescription'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        '409':
          description: Namespace of the given name already exists on the index.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
      security:
        - ApiKeyAuth: []
  /namespaces/{namespace}:
    servers:
      - url: https://{index_host}
        variables:
          index_host:
            default: unknown
            description: host of the index
    get:
      tags:
        - Namespace Operations
      summary: Describe a namespace
      description: >-
        Describe a namespace in a serverless index, including the total number of vectors in the namespace.


        For guidance and examples, see [Manage
        namespaces](https://docs.pinecone.io/guides/manage-data/manage-namespaces).


        **Note:** This operation is not supported for pod-based indexes.
      operationId: describeNamespace
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: namespace
          description: The namespace to describe.
          required: true
          schema:
            type: string
          style: simple
      responses:
        '200':
          description: A description of a namespace.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_NamespaceDescription'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
      security:
        - ApiKeyAuth: []
    delete:
      tags:
        - Namespace Operations
      summary: Delete a namespace
      description: >-
        Delete a namespace from a serverless index. Deleting a namespace is irreversible; all data in the namespace is
        permanently deleted.


        For guidance and examples, see [Manage
        namespaces](https://docs.pinecone.io/guides/manage-data/manage-namespaces).


        **Note:** This operation is not supported for pod-based indexes.
      operationId: deleteNamespace
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: namespace
          description: The namespace to delete.
          required: true
          schema:
            type: string
          style: simple
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_DeleteResponse'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
      security:
        - ApiKeyAuth: []
  /records/namespaces/{namespace}/upsert:
    servers:
      - url: https://{index_host}
        variables:
          index_host:
            default: unknown
            description: host of the index
    post:
      tags:
        - Vector Operations
      summary: Upsert text
      description: >-
        Upsert text into a namespace. Pinecone converts the text to vectors automatically using the hosted embedding
        model associated with the index.


        Upserting text is supported only for [indexes with integrated
        embedding](https://docs.pinecone.io/guides/index-data/create-an-index#embedding-models).


        For guidance, examples, and limits, see [Upsert data](https://docs.pinecone.io/guides/index-data/upsert-data).
      operationId: upsertRecordsNamespace
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: namespace
          description: The namespace to upsert records into.
          required: true
          schema:
            type: string
          style: simple
      requestBody:
        description: >
          Each record in the request body must include an `_id` field and a field that matches your index's `field_map`
          configuration (such as `chunk_text` or `data`). All other fields are stored as metadata.
        content:
          application/x-ndjson:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/db_data_UpsertRecord'
        required: true
      responses:
        '201':
          description: A successful response.
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
      security:
        - ApiKeyAuth: []
  /records/namespaces/{namespace}/search:
    servers:
      - url: https://{index_host}
        variables:
          index_host:
            default: unknown
            description: host of the index
    post:
      tags:
        - Vector Operations
      summary: Search with text
      description: >-
        Search a namespace with a query text, query vector, or record ID and return the most similar records, along with
        their similarity scores. Optionally, rerank the initial results based on their relevance to the query. 


        Searching with text is supported only for indexes with [integrated
        embedding](https://docs.pinecone.io/guides/index-data/indexing-overview#vector-embedding). Searching with a
        query vector or record ID is supported for all indexes. 


        For guidance and examples, see [Search](https://docs.pinecone.io/guides/search/search-overview).
      operationId: searchRecordsNamespace
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: namespace
          description: The namespace to search.
          required: true
          schema:
            type: string
          style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/db_data_SearchRecordsRequest'
        required: true
      responses:
        '200':
          description: A successful search namespace response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_SearchRecordsResponse'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        4XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
        5XX:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_data_rpcStatus'
      security:
        - ApiKeyAuth: []
  /embed:
    servers:
      - url: https://api.pinecone.io
        description: Production API endpoints
    post:
      tags:
        - Inference
      summary: Generate vectors
      description: >-
        Generate vector embeddings for input data. This endpoint uses Pinecone's [hosted embedding
        models](https://docs.pinecone.io/guides/index-data/create-an-index#embedding-models).
      operationId: embed
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
      requestBody:
        description: Generate embeddings for inputs.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/inference_EmbedRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inference_EmbeddingsList'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inference_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/inference_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inference_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /rerank:
    servers:
      - url: https://api.pinecone.io
        description: Production API endpoints
    post:
      tags:
        - Inference
      summary: Rerank results
      description: |-
        Rerank results according to their relevance to a query.

        For guidance and examples, see [Rerank results](https://docs.pinecone.io/guides/search/rerank-results).
      operationId: rerank
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
      requestBody:
        description: Rerank documents for the given query
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/inference_RerankRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inference_RerankResult'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inference_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/inference_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inference_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /models:
    servers:
      - url: https://api.pinecone.io
        description: Production API endpoints
    get:
      tags:
        - Inference
      summary: List available models
      description: >-
        List the embedding and reranking models hosted by Pinecone. 


        You can use hosted models as an integrated part of Pinecone operations or for standalone embedding and
        reranking. For more details, see [Vector
        embedding](https://docs.pinecone.io/guides/index-data/indexing-overview#vector-embedding) and [Rerank
        results](https://docs.pinecone.io/guides/search/rerank-results).
      operationId: list_models
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: query
          name: type
          description: Filter models by type ('embed' or 'rerank').
          schema:
            description: |-
              Filter models by type.
              Possible values: `embed` or `rerank`.
            x-enum:
              - embed
              - rerank
            type: string
          example: embed
          style: form
        - in: query
          name: vector_type
          description: Filter embedding models by vector type ('dense' or 'sparse'). Only relevant when `type=embed`.
          schema:
            description: |-
              Filter models by vector type.
              Possible values: `dense` or `sparse`.
            x-enum:
              - dense
              - sparse
            type: string
          example: sparse
          style: form
      responses:
        '200':
          description: The list of available models.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inference_ModelInfoList'
              examples:
                multiple-models:
                  summary: Multiple available models.
                  value:
                    models:
                      - default_dimension: 256
                        max_batch_size: 96
                        max_sequence_length: 512
                        modality: text
                        model: example-embedding-model
                        provider_name: Embedding Model Provider
                        short_description: An example embedding model.
                        supported_dimensions:
                          - 256
                          - 512
                        supported_metrics:
                          - cosine
                          - euclidean
                        supported_parameters:
                          - allowed_values:
                              - value1
                              - value2
                            parameter: example_required_param
                            required: true
                            type: one_of
                            value_type: string
                          - allowed_values:
                              - value1
                              - value2
                            default: value1
                            parameter: example_param_with_default
                            required: false
                            type: one_of
                            value_type: string
                          - default: 5
                            max: 10
                            min: 0
                            parameter: example_numeric_range
                            required: false
                            type: numeric_range
                            value_type: integer
                        type: embed
                        vector_type: dense
                      - max_batch_size: 100
                        max_sequence_length: 1024
                        modality: text
                        model: example-reranking-model
                        provider_name: Reranking Model Provider
                        short_description: An example reranking model.
                        supported_parameters:
                          - default: true
                            parameter: example_any_value
                            required: false
                            type: any
                            value_type: boolean
                        type: rerank
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inference_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Model not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inference_ErrorResponse'
              examples:
                model-not-found:
                  summary: Model not found
                  value:
                    error:
                      code: NOT_FOUND
                      message: Model example-model not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inference_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /models/{model_name}:
    servers:
      - url: https://api.pinecone.io
        description: Production API endpoints
    get:
      tags:
        - Inference
      summary: Describe a model
      description: >-
        Get a description of a model hosted by Pinecone. 


        You can use hosted models as an integrated part of Pinecone operations or for standalone embedding and
        reranking. For more details, see [Vector
        embedding](https://docs.pinecone.io/guides/index-data/indexing-overview#vector-embedding) and [Rerank
        results](https://docs.pinecone.io/guides/search/rerank-results).
      operationId: get_model
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: model_name
          description: The name of the model to look up.
          required: true
          schema:
            type: string
          example: multilingual-e5-large
          style: simple
      responses:
        '200':
          description: The model details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inference_ModelInfo'
              examples:
                embedding-model:
                  summary: An embedding model.
                  value:
                    default_dimension: 256
                    max_batch_size: 96
                    max_sequence_length: 512
                    modality: text
                    model: example-embedding-model
                    provider_name: Embedding Model Provider
                    short_description: An example embedding model.
                    supported_dimensions:
                      - 256
                      - 512
                    supported_metrics:
                      - cosine
                      - euclidean
                    supported_parameters:
                      - allowed_values:
                          - value1
                          - value2
                        parameter: example_required_param
                        required: true
                        type: one_of
                        value_type: string
                      - allowed_values:
                          - value1
                          - value2
                        default: value1
                        parameter: example_param_with_default
                        required: false
                        type: one_of
                        value_type: string
                      - default: 5
                        max: 10
                        min: 0
                        parameter: example_numeric_range
                        required: false
                        type: numeric_range
                        value_type: integer
                    type: embed
                    vector_type: dense
                rerank-model:
                  summary: A reranking model.
                  value:
                    max_batch_size: 100
                    max_sequence_length: 1024
                    modality: text
                    model: example-reranking-model
                    provider_name: Reranking Model Provider
                    short_description: An example reranking model.
                    supported_parameters:
                      - default: true
                        parameter: example_any_value
                        required: false
                        type: any
                        value_type: boolean
                    type: rerank
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inference_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Model not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inference_ErrorResponse'
              examples:
                model-not-found:
                  summary: Model not found
                  value:
                    error:
                      code: NOT_FOUND
                      message: Model example-model not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inference_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /assistants:
    servers:
      - url: https://api.pinecone.io/assistant
        description: Production API endpoints
    get:
      tags:
        - Manage Assistants
      summary: List assistants
      description: >-
        List of all assistants in a project.


        For guidance and examples, see [Manage
        assistants](https://docs.pinecone.io/guides/assistant/manage-assistants#list-assistants-for-a-project).
      operationId: list_assistants
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: query
          name: limit
          description: Limit on the number of assistants to return. Default is 50. Minimum is 1. Maximum is 100.
          schema:
            type: integer
          example: 20
          style: form
        - in: query
          name: pagination_token
          description: Pagination token to continue a previous listing operation.
          schema:
            type: string
          example: dXNlcl9pZD11c2VyXzE=
          style: form
      responses:
        '200':
          description: List all assistants in a project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_control_ListAssistantsResponse'
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_control_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
    post:
      tags:
        - Manage Assistants
      summary: Create an assistant
      description: >-
        Create an assistant. This is where you specify the underlying training model, which cloud provider you would
        like to deploy with, and more.


        For guidance and examples, see [Create an assistant](https://docs.pinecone.io/guides/assistant/create-assistant)
      operationId: create_assistant
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
      requestBody:
        description: The desired configuration to create an assistant.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/assistant_control_CreateAssistantRequest'
        required: true
      responses:
        '200':
          description: Create request successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_control_Assistant'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_control_ErrorResponse'
              examples:
                upload-validation-error:
                  summary: Validation error on ingest
                  value:
                    error:
                      code: INVALID_ARGUMENT
                      message: Uploaded file can only currently be either a pdf or txt file
                    status: 400
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '429':
          description: Assistant of given name already exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_control_ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_control_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /assistants/{assistant_name}:
    servers:
      - url: https://api.pinecone.io/assistant
        description: Production API endpoints
    get:
      tags:
        - Manage Assistants
      summary: Check assistant status
      description: >-
        Get the status of an assistant.


        For guidance and examples, see [Manage
        assistants](https://docs.pinecone.io/guides/assistant/manage-assistants#get-the-status-of-an-assistant)
      operationId: get_assistant
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: assistant_name
          description: The name of the assistant to get a status on.
          required: true
          schema:
            type: string
          example: test-model
          style: simple
      responses:
        '200':
          description: Poll request successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_control_Assistant'
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Assistant not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_control_ErrorResponse'
              examples:
                assistant-not-found:
                  summary: Assistant not found.
                  value:
                    error:
                      code: NOT_FOUND
                      message: Assistant "example-assistant" not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_control_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
    delete:
      tags:
        - Manage Assistants
      summary: Delete an assistant
      description: >-
        Delete an existing assistant.


        For guidance and examples, see [Manage
        assistants](https://docs.pinecone.io/guides/assistant/manage-assistants#delete-an-assistant)
      operationId: delete_assistant
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: assistant_name
          description: The name of the assistant to delete.
          required: true
          schema:
            type: string
          example: my-assistant
          style: simple
      responses:
        '200':
          description: The request to delete the assistant has been accepted.
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_control_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Assistant not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_control_ErrorResponse'
              examples:
                assistant-not-found:
                  summary: Assistant not found.
                  value:
                    error:
                      code: NOT_FOUND
                      message: Assistant "example-assistant" not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_control_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
    patch:
      tags:
        - Manage Assistants
      summary: Update an assistant
      description: >-
        Update an existing assistant. You can modify the assistant's instructions.


        For guidance and examples, see [Manage
        assistants](https://docs.pinecone.io/guides/assistant/manage-assistants#add-instructions-to-an-assistant).
      operationId: update_assistant
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: assistant_name
          description: The name of the assistant to update.
          required: true
          schema:
            type: string
          style: simple
      requestBody:
        description: The desired configuration updates for the assistant.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/assistant_control_UpdateAssistantRequest'
        required: true
      responses:
        '200':
          description: Update request successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_control_UpdateAssistantResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '404':
          description: Assistant not found
        '500':
          description: Internal Server Error
      security:
        - ApiKeyAuth: []
  /files/{assistant_name}:
    servers:
      - url: https://{assistant_host}
        variables:
          assistant_host:
            default: unknown
            description: The host of the created assistant
    get:
      tags:
        - Manage Assistants
      summary: List Files
      description: >-
        List all files in an assistant, with an option to filter files with metadata.


        For guidance and examples, see [Manage
        files](https://docs.pinecone.io/guides/assistant/manage-files#list-files-in-an-assistant).
      operationId: list_files
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: assistant_name
          description: The name of the assistant to list files for.
          required: true
          schema:
            type: string
          example: test-assistant
          style: simple
        - in: query
          name: filter
          description: Optional JSON-encoded metadata filter for files.
          schema:
            type: string
            format: json
          example: '{"genre":{"$eq":"comedy"}}'
          style: form
        - in: query
          name: limit
          description: Limit on the number of files to return.
          schema:
            type: integer
          example: 100
          style: form
        - in: query
          name: pagination_token
          description: Pagination token to continue a previous listing operation.
          schema:
            type: string
          example: dXNlcl9pZD11c2VyXzE=
          style: form
      responses:
        '200':
          description: >-
            This operation returns a list of all files that you have previously uploaded, and which are associated with
            the given assistant name.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ListFilesResponse'
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Assistant not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                assistant-not-found:
                  summary: Assistant not found.
                  value:
                    error:
                      code: NOT_FOUND
                      message: Assistant "example-assistant" not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
    post:
      tags:
        - Manage Assistants
      summary: Upload a file
      description: >-
        Upload a file to the specified assistant.


        An identifier will be generated. To specify a file identifier or to replace file content, use the upsert
        endpoint (`PUT /files/{assistant_name}/{assistant_file_id}`).


        This operation is asynchronous. The response includes an operation ID that can be used to poll for completion
        via the describe operation endpoint.


        For guidance and examples, see [Manage
        files](https://docs.pinecone.io/guides/assistant/manage-files#upload-a-local-file).
      operationId: upload_file
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: assistant_name
          description: The name of the assistant to upload files to.
          required: true
          schema:
            type: string
          example: test-assistant
          style: simple
        - in: query
          name: multimodal
          description: >-
            Optional flag to opt in to multimodal file processing (PDFs only). Can be either `true` or `false`. Default
            is `false`.
          schema:
            x-enum:
              - 'true'
              - 'false'
            type: string
          style: form
      requestBody:
        description: The desired file to be uploaded and processed into the assistant.
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/assistant_data_FileData'
        required: true
      responses:
        '202':
          description: File upload accepted. Processing has started.
          headers:
            Location:
              description: URL to the operation resource for polling status.
              style: simple
              schema:
                example: /operations/test-assistant/op-1234-abcd
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_OperationModel'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                files-validation-error:
                  summary: Validation error on ingest.
                  value:
                    error:
                      code: INVALID_ARGUMENT
                      message: Uploaded file can only currently be either a pdf or txt file
                    status: 400
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Assistant not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                assistant-not-found:
                  summary: Assistant not found.
                  value:
                    error:
                      code: NOT_FOUND
                      message: Assistant "example-assistant" not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /files/{assistant_name}/{assistant_file_id}:
    servers:
      - url: https://{assistant_host}
        variables:
          assistant_host:
            default: unknown
            description: The host of the created assistant
    get:
      tags:
        - Manage Assistants
      summary: Describe a file
      description: >-
        [Get the current status and metadata of a
        file](https://docs.pinecone.io/guides/assistant/manage-files#get-the-status-of-a-file) uploaded to an assistant.
      operationId: describe_file
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: assistant_name
          description: The name of the assistant that contains the file.
          required: true
          schema:
            type: string
          example: test-assistant
          style: simple
        - in: path
          name: assistant_file_id
          description: The identifier of the file to be described.
          required: true
          schema:
            type: string
          example: my-file-id-123
          style: simple
        - in: query
          name: include_url
          description: Include the signed URL of the file in the response.
          schema:
            x-enum:
              - 'true'
              - 'false'
            type: string
          style: form
      responses:
        '200':
          description: Poll request successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_AssistantFileModel'
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: File not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                file-not-found:
                  summary: File not found.
                  value:
                    error:
                      code: NOT_FOUND
                      message: File with id 72490b32-46d9-4db1-b48b-666e9176d9be  not found in provided assistant
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
    put:
      tags:
        - Manage Assistants
      summary: Upsert a file
      description: >-
        Create or replace a file in the specified assistant. If a file with the given `assistant_file_id` already
        exists, it will be replaced with the new file. If it doesn't exist, a new file will be created with that
        identifier.


        This operation is asynchronous. The file processing will occur in the background.


        For guidance and examples, see [Manage
        files](https://docs.pinecone.io/guides/assistant/manage-files#upload-a-local-file).
      operationId: upsert_file
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: assistant_name
          description: The name of the assistant to upload files to.
          required: true
          schema:
            type: string
          example: test-model
          style: simple
        - in: path
          name: assistant_file_id
          description: >-
            The identifier of the file to be created or replaced. Must be 1-128 characters long and consist only of
            alphanumeric characters, hyphens (-), or underscores (_).
          required: true
          schema:
            type: string
            minLength: 1
            maxLength: 128
          example: my-file-id-123
          style: simple
        - in: query
          name: multimodal
          description: >-
            Optional flag to opt in to multimodal file processing (PDFs only). Can be either `true` or `false`. Default
            is `false`.
          schema:
            x-enum:
              - 'true'
              - 'false'
            type: string
          style: form
      requestBody:
        description: The desired file to be uploaded and processed into the assistant.
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/assistant_data_FileData'
        required: true
      responses:
        '202':
          description: >-
            File upload has been accepted for processing. The file will be created if it doesn't exist, or replaced if
            it already exists. The operation will complete asynchronously.
          headers:
            Location:
              description: URL to the operation resource for polling status.
              style: simple
              schema:
                example: /operations/test-assistant/op-1234-abcd
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_OperationModel'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                files-validation-error:
                  summary: Validation error on ingest.
                  value:
                    error:
                      code: INVALID_ARGUMENT
                      message: Uploaded file can only currently be either a pdf or txt file
                    status: 400
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Assistant not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                assistant-not-found:
                  summary: Assistant not found.
                  value:
                    error:
                      code: NOT_FOUND
                      message: Assistant "example-assistant" not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
    delete:
      tags:
        - Manage Assistants
      summary: Delete a file
      description: >-
        [Delete an uploaded file](https://docs.pinecone.io/guides/assistant/manage-files#delete-a-file) from an
        assistant.


        This operation is asynchronous. The response includes an operation ID that can be used to poll for completion
        via the describe operation endpoint.
      operationId: delete_file
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: assistant_name
          description: The name of the assistant that contains the file.
          required: true
          schema:
            type: string
          example: test-assistant
          style: simple
        - in: path
          name: assistant_file_id
          description: The identifier of the file to be deleted.
          required: true
          schema:
            type: string
          example: my-file-id-123
          style: simple
      responses:
        '202':
          description: The request to delete the file has been accepted. The deletion will be processed asynchronously.
          headers:
            Location:
              description: URL to the operation resource for polling status.
              style: simple
              schema:
                example: /operations/test-assistant/op-1234-abcd
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_OperationModel'
        '204':
          description: The file was deleted immediately. This occurs when deleting a file that previously failed processing.
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: File not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                file-not-found:
                  summary: File not found.
                  value:
                    error:
                      code: NOT_FOUND
                      message: File with id 72490b32-46d9-4db1-b48b-666e9176d9be  not found in provided assistant
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /operations/{assistant_name}:
    servers:
      - url: https://{assistant_host}
        variables:
          assistant_host:
            default: unknown
            description: The host of the created assistant
    get:
      tags:
        - Manage Assistants
      summary: List operations
      description: >
        List all operations for an assistant. Returns operations that are in progress, as well as recently completed or
        failed operations.

        Both successful and failed operations are retained for 30 days after completion.

        Use the `operation_type` and `status` query parameters to filter results.
      operationId: list_operations
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: assistant_name
          description: The name of the assistant to list operations for.
          required: true
          schema:
            type: string
          example: test-assistant
          style: simple
        - in: query
          name: operation_type
          description: Filter operations by type.
          schema:
            x-enum:
              - upload_file
              - upsert_file
              - update_file_metadata
              - delete_file
            type: string
          example: upload_file
          style: form
        - in: query
          name: status
          description: Filter operations by status.
          schema:
            x-enum:
              - Processing
              - Completed
              - Failed
            type: string
          example: Processing
          style: form
        - in: query
          name: limit
          description: Limit on the number of operations to return.
          schema:
            type: integer
            minimum: 1
            maximum: 100
          example: 100
          style: form
        - in: query
          name: pagination_token
          description: Pagination token to continue a previous listing operation.
          schema:
            type: string
          example: dXNlcl9pZD11c2VyXzE=
          style: form
      responses:
        '200':
          description: A list of operations.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_OperationList'
              examples:
                multiple-operations:
                  summary: Multiple operations with different states
                  value:
                    operations:
                      - created_on: '2025-10-01T12:30:00Z'
                        file_id: my-report-2025
                        id: op-1234-abcd-5678
                        operation_type: upload_file
                        percent_complete: 42
                        status: Processing
                      - completed_on: '2025-10-01T12:05:00Z'
                        created_on: '2025-10-01T12:00:00Z'
                        file_id: quarterly-analysis
                        id: op-8765-dcba-4321
                        operation_type: upload_file
                        percent_complete: 100
                        status: Completed
                      - completed_on: '2025-10-01T11:32:00Z'
                        created_on: '2025-10-01T11:30:00Z'
                        error_message: 'File processing failed: unsupported file format.'
                        file_id: invalid-file
                        id: op-5555-eeee-9999
                        operation_type: upload_file
                        percent_complete: 15
                        status: Failed
                      - completed_on: '2025-10-01T11:02:00Z'
                        created_on: '2025-10-01T11:00:00Z'
                        file_id: old-report
                        id: op-7777-ffff-0000
                        operation_type: delete_file
                        percent_complete: 100
                        status: Completed
                    pagination:
                      next: dXNlcl9pZD11c2VyXzE=
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Assistant not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                assistant-not-found:
                  summary: Assistant not found.
                  value:
                    error:
                      code: NOT_FOUND
                      message: Assistant "example-assistant" not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /operations/{assistant_name}/{operation_id}:
    servers:
      - url: https://{assistant_host}
        variables:
          assistant_host:
            default: unknown
            description: The host of the created assistant
    get:
      tags:
        - Manage Assistants
      summary: Describe an operation
      description: |
        Get the status of an operation.
      operationId: describe_operation
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: assistant_name
          description: The name of the assistant.
          required: true
          schema:
            type: string
          example: test-assistant
          style: simple
        - in: path
          name: operation_id
          description: The identifier of the operation to be described.
          required: true
          schema:
            type: string
          example: op-1234-abcd-5678
          style: simple
      responses:
        '200':
          description: Current information and status of the operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_OperationModel'
              examples:
                processing-operation:
                  summary: An upload operation in progress
                  value:
                    created_on: '2025-10-01T12:30:00Z'
                    file_id: my-report-2025
                    id: op-1234-abcd-5678
                    operation_type: upload_file
                    percent_complete: 42
                    status: Processing
                completed-operation:
                  summary: A completed upload operation
                  value:
                    completed_on: '2025-10-01T12:35:00Z'
                    created_on: '2025-10-01T12:30:00Z'
                    file_id: my-report-2025
                    id: op-1234-abcd-5678
                    operation_type: upload_file
                    percent_complete: 100
                    status: Completed
                failed-operation:
                  summary: A failed operation
                  value:
                    completed_on: '2025-10-01T11:32:00Z'
                    created_on: '2025-10-01T11:30:00Z'
                    error_message: 'File processing failed: unsupported file format.'
                    file_id: invalid-file
                    id: op-5555-eeee-9999
                    operation_type: upload_file
                    percent_complete: 15
                    status: Failed
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Operation not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                operation-not-found:
                  summary: Operation not found.
                  value:
                    error:
                      code: NOT_FOUND
                      message: Operation 1234-abcd-5678 not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /chat/{assistant_name}/chat/completions:
    servers:
      - url: https://{assistant_host}
        variables:
          assistant_host:
            default: unknown
            description: The host of the created assistant
    post:
      tags:
        - Manage Assistants
      summary: Chat through an OpenAI-compatible interface
      description: >-
        Chat with an assistant. This endpoint is based on the OpenAI Chat Completion API, a commonly used and adopted
        API. 


        It is useful if you need inline citations or OpenAI-compatible responses, but has limited functionality compared
        to the standard chat interface.


        For guidance and examples, see [Chat with an
        assistant](https://docs.pinecone.io/guides/assistant/chat-with-assistant).
      operationId: chat_completion_assistant
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: assistant_name
          description: The name of the assistant to be described.
          required: true
          schema:
            type: string
          example: test-assistant
          style: simple
      requestBody:
        description: The desired configuration to chat with an assistant through an OpenAI-compatible interface.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/assistant_data_SearchCompletions'
        required: true
      responses:
        '200':
          description: Search request successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ChatCompletionModel'
            text/event-stream:
              schema:
                $ref: '#/components/schemas/assistant_data_StreamChatCompletionChunkModel'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                files-validation-error:
                  summary: Validation error on ingest.
                  value:
                    error:
                      code: INVALID_ARGUMENT
                      message: Uploaded file can only currently be either a pdf or txt file
                    status: 400
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Assistant not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                assistant-not-found:
                  summary: Assistant not found.
                  value:
                    error:
                      code: NOT_FOUND
                      message: Assistant "example-assistant" not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /chat/{assistant_name}:
    servers:
      - url: https://{assistant_host}
        variables:
          assistant_host:
            default: unknown
            description: The host of the created assistant
    post:
      tags:
        - Manage Assistants
      summary: Chat with an assistant
      description: >-
        Chat with an assistant and get back citations in structured form. 


        This is the recommended way to chat with an assistant, as it offers more functionality and control over the
        assistant's responses and references than the OpenAI-compatible chat interface.


        For guidance and examples, see [Chat with an
        assistant](https://docs.pinecone.io/guides/assistant/chat-with-assistant).
      operationId: chat_assistant
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: assistant_name
          description: The name of the assistant to be described.
          required: true
          schema:
            type: string
          example: test-assistant
          style: simple
      requestBody:
        description: The desired configuration to chat with an assistant.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/assistant_data_ChatRequest'
        required: true
      responses:
        '200':
          description: Search request successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ChatModel'
            text/event-stream:
              schema:
                $ref: '#/components/schemas/assistant_data_StreamChatChunkModel'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                files-validation-error:
                  summary: Validation error on ingest.
                  value:
                    error:
                      code: INVALID_ARGUMENT
                      message: Uploaded file can only currently be either a pdf or txt file
                    status: 400
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Assistant not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                assistant-not-found:
                  summary: Assistant not found.
                  value:
                    error:
                      code: NOT_FOUND
                      message: Assistant "example-assistant" not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /chat/{assistant_name}/context:
    servers:
      - url: https://{assistant_host}
        variables:
          assistant_host:
            default: unknown
            description: The host of the created assistant
    post:
      tags:
        - Manage Assistants
      summary: Retrieve context from an assistant
      description: >-
        Retrieve context snippets from an assistant to use as part of RAG or any agentic flow.


        For guidance and examples, see [Retrieve context
        snippets](https://docs.pinecone.io/guides/assistant/retrieve-context-snippets).
      operationId: context_assistant
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: assistant_name
          description: The name of the assistant to be described.
          required: true
          schema:
            type: string
          example: test-assistant
          style: simple
      requestBody:
        description: The desired configuration to retrieve context from an assistant.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/assistant_data_ContextRequest'
        required: true
      responses:
        '200':
          description: Context retrieval process successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ContextModel'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                files-validation-error:
                  summary: Validation error on ingest.
                  value:
                    error:
                      code: INVALID_ARGUMENT
                      message: Uploaded file can only currently be either a pdf or txt file
                    status: 400
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Assistant not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                assistant-not-found:
                  summary: Assistant not found.
                  value:
                    error:
                      code: NOT_FOUND
                      message: Assistant "example-assistant" not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_data_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - ApiKeyAuth: []
  /evaluation/metrics/alignment:
    servers:
      - url: https://prod-1-data.ke.pinecone.io/assistant
        description: Evaluation US Production API endpoints
      - url: https://prod-eu-data.ke.pinecone.io/assistant
        description: Evaluation EU Production API endpoints
    post:
      tags:
        - Metrics
      summary: Evaluate an answer
      description: >-
        Evaluate the correctness and completeness of a response from an assistant or a RAG system. The correctness and
        completeness are evaluated based on the precision and recall of the generated answer with respect to the ground
        truth answer facts. Alignment is the harmonic mean of correctness and completeness.


        For guidance and examples, see [Evaluate answers](https://docs.pinecone.io/guides/assistant/evaluate-answers).
      operationId: metrics_alignment
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
      requestBody:
        description: The request body for the alignment evaluation.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/assistant_evaluation_AlignmentRequest'
        required: true
      responses:
        '200':
          description: The evaluation metrics and reasoning for the generated answer.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_evaluation_AlignmentResponse'
        '422':
          description: Validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_evaluation_BasicErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assistant_evaluation_BasicErrorResponse'
      security:
        - ApiKeyAuth: []
  /admin/projects:
    servers:
      - url: https://api.pinecone.io
        description: Production API endpoints
    get:
      tags:
        - Projects
      summary: List projects
      description: List all projects in an organization.
      operationId: list_projects
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
      responses:
        '200':
          description: A list of projects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ProjectList'
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
        4XX:
          description: Unexpected error on request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
      security:
        - BearerAuth: []
    post:
      tags:
        - Projects
      summary: Create a new project
      description: Creates a new project.
      operationId: create_project
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
      requestBody:
        description: The details of the new project.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/admin_CreateProjectRequest'
        required: true
      responses:
        '200':
          description: The project was successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_Project'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_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/admin_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
        4XX:
          description: Unexpected error on request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
      security:
        - BearerAuth: []
  /admin/organizations:
    servers:
      - url: https://api.pinecone.io
        description: Production API endpoints
    get:
      tags:
        - Organizations
      summary: List organizations
      description: List all organizations associated with an account.
      operationId: list_organizations
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
      responses:
        '200':
          description: A list of organizations.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_OrganizationList'
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
        4XX:
          description: Unexpected error on request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
      security:
        - BearerAuth: []
  /admin/projects/{project_id}:
    servers:
      - url: https://api.pinecone.io
        description: Production API endpoints
    get:
      tags:
        - Projects
      summary: Get project details
      description: Get details about a project.
      operationId: fetch_project
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: project_id
          description: Project ID
          required: true
          schema:
            type: string
            format: uuid
          style: simple
      responses:
        '200':
          description: The details of a project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_Project'
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
        4XX:
          description: Unexpected error on request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
      security:
        - BearerAuth: []
    delete:
      tags:
        - Projects
      summary: Delete a project
      description: >
        Delete a project and all its associated configuration.

        Before deleting a project, you must delete all indexes, assistants, backups, and collections associated with the
        project. Other project resources, such as API keys, are automatically deleted when the project is deleted.
      operationId: delete_project
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: project_id
          description: Project ID
          required: true
          schema:
            type: string
            format: uuid
          style: simple
      responses:
        '202':
          description: Project deletion request accepted.
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
        4XX:
          description: Unexpected error on request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
      security:
        - BearerAuth: []
    patch:
      tags:
        - Projects
      summary: Update a project
      description: >
        Update a project's configuration details.

        You can update the project's name, maximum number of Pods, or enable encryption with a customer-managed
        encryption key (CMEK).
      operationId: update_project
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: project_id
          description: Project ID
          required: true
          schema:
            type: string
            format: uuid
          style: simple
      requestBody:
        description: |
          Project details to be updated. Fields that are omitted will not be updated.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/admin_UpdateProjectRequest'
        required: true
      responses:
        '200':
          description: The project was successfully updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_Project'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_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/admin_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
        4XX:
          description: Unexpected error on request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
      security:
        - BearerAuth: []
  /admin/organizations/{organization_id}:
    servers:
      - url: https://api.pinecone.io
        description: Production API endpoints
    get:
      tags:
        - Organizations
      summary: Get organization details
      description: Get details about an organization.
      operationId: fetch_organization
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: organization_id
          description: Organization ID
          required: true
          schema:
            type: string
          style: simple
      responses:
        '200':
          description: The details of an organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_Organization'
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
        4XX:
          description: Unexpected error on request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
      security:
        - BearerAuth: []
    delete:
      tags:
        - Organizations
      summary: Delete an organization
      description: >
        Delete an organization and all its associated configuration.

        Before deleting an organization, you must delete all projects (including indexes, assistants, backups, and
        collections) associated with the organization.
      operationId: delete_organization
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: organization_id
          description: Organization ID
          required: true
          schema:
            type: string
          style: simple
      responses:
        '202':
          description: Organization deletion request accepted.
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
        4XX:
          description: Unexpected error on request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
      security:
        - BearerAuth: []
    patch:
      tags:
        - Organizations
      summary: Update an organization
      description: |
        Update an organization's name.
      operationId: update_organization
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: organization_id
          description: Organization ID
          required: true
          schema:
            type: string
          style: simple
      requestBody:
        description: |
          Organization details to be updated.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/admin_UpdateOrganizationRequest'
        required: true
      responses:
        '200':
          description: The organization was successfully updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_Organization'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_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/admin_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
        4XX:
          description: Unexpected error on request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
      security:
        - BearerAuth: []
  /admin/projects/{project_id}/api-keys:
    servers:
      - url: https://api.pinecone.io
        description: Production API endpoints
    get:
      tags:
        - API Keys
      summary: List API keys
      description: List all API keys in a project.
      operationId: list_project_api_keys
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: project_id
          description: Project ID
          required: true
          schema:
            type: string
            format: uuid
          style: simple
      responses:
        '200':
          description: A list of API keys.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ListApiKeysResponse'
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
        4XX:
          description: Unexpected error on request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
      security:
        - BearerAuth: []
    post:
      tags:
        - API Keys
      summary: Create an API key
      description: >
        Create a new API key for a project. Developers can use the API key to authenticate requests to Pinecone's Data
        Plane and Control Plane APIs.
      operationId: create_api_key
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: project_id
          description: Project ID
          required: true
          schema:
            type: string
            format: uuid
          style: simple
      requestBody:
        description: The details of the new API key.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/admin_CreateAPIKeyRequest'
        required: true
      responses:
        '201':
          description: API key created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_APIKeyWithSecret'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_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/admin_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '403':
          description: Not enough available quota to complete this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
        4XX:
          description: Unexpected error on request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
      security:
        - BearerAuth: []
  /admin/api-keys/{api_key_id}:
    servers:
      - url: https://api.pinecone.io
        description: Production API endpoints
    get:
      tags:
        - API Keys
      summary: Get API key details
      description: Get the details of an API key, excluding the API key secret.
      operationId: fetch_api_key
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: api_key_id
          description: API key ID
          required: true
          schema:
            type: string
            format: uuid
          style: simple
      responses:
        '200':
          description: The details of the API key, excluding the API key secret.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_APIKey'
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
        4XX:
          description: Unexpected error on request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
      security:
        - BearerAuth: []
    delete:
      tags:
        - API Keys
      summary: Delete an API key
      description: Delete an API key from a project.
      operationId: delete_api_key
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: api_key_id
          description: API key ID
          required: true
          schema:
            type: string
            format: uuid
          style: simple
      responses:
        '202':
          description: API key deletion request accepted.
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
        4XX:
          description: Unexpected error on request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
      security:
        - BearerAuth: []
    patch:
      tags:
        - API Keys
      summary: Update an API key
      description: |
        Update the name and roles of an API key.
      operationId: update_api_key
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
        - in: path
          name: api_key_id
          description: API key ID
          required: true
          schema:
            type: string
            format: uuid
          style: simple
      requestBody:
        description: Updated name and roles for the API key.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/admin_UpdateAPIKeyRequest'
        required: true
      responses:
        '200':
          description: API key updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_APIKey'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_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/admin_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
        4XX:
          description: Unexpected error on request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/admin_ErrorResponse'
      security:
        - BearerAuth: []
  /oauth/token:
    servers:
      - url: https://login.pinecone.io
    post:
      tags:
        - OAuth
      summary: Create an access token
      description: >
        Obtain an access token for a service account using the OAuth2 client credentials flow. An access token is needed
        to authorize requests to the Pinecone Admin API.

        The host domain for OAuth endpoints is `login.pinecone.io`.
      operationId: get_token
      parameters:
        - in: header
          name: X-Pinecone-Api-Version
          description: Required date-based version header
          required: true
          schema:
            default: 2026-04
            type: string
          style: simple
      requestBody:
        description: |
          A request to exchange client credentials for an access token.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/oauth_TokenRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/oauth_TokenRequest'
        required: true
      responses:
        '200':
          description: A response that contains the access token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/oauth_TokenResponse'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/oauth_ErrorResponse'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/oauth_ErrorResponse'
        '403':
          description: Forbidden.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/oauth_ErrorResponse'
        '429':
          description: Too many requests.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/oauth_ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/oauth_ErrorResponse'
        '501':
          description: Not implemented.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/oauth_ErrorResponse'
        '503':
          description: Service unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/oauth_ErrorResponse'
  /prometheus/projects/{project_id}/metrics/discover:
    servers:
      - url: https://api.pinecone.io
        description: Production server
    get:
      tags:
        - Metrics
      summary: Prometheus HTTP Service Discovery
      description: Get endpoints for Prometheus scraping.
      operationId: fetch_prometheus_targets
      parameters:
        - in: path
          name: project_id
          description: Project ID
          required: true
          schema:
            type: string
            format: uuid
          style: simple
      responses:
        '200':
          description: A list of Prometheus scrape targets.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_metrics_PrometheusTargets'
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_metrics_ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '429':
          description: Too many requests. The client has sent too many requests in a given amount of time.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_metrics_ErrorResponse'
              examples:
                too-many-requests:
                  summary: Too many requests
                  value:
                    error:
                      code: TOO_MANY_REQUESTS
                      message: The client has sent too many requests in a given amount of time.
                    status: 429
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/db_metrics_ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
      security:
        - BearerAuth: []
components:
  schemas:
    db_control_CreateIndexFromBackupRequest:
      description: The configuration needed to create a Pinecone index from a backup.
      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
        tags:
          $ref: '#/components/schemas/db_control_IndexTags'
        deletion_protection:
          $ref: '#/components/schemas/db_control_DeletionProtection'
      required:
        - name
    db_control_ReadCapacity:
      description: >-
        By default the index will be created with read capacity  mode `OnDemand`. If you prefer to allocate dedicated
        read  nodes for your workload, you must specify mode `Dedicated` and additional configurations for `node_type`
        and `scaling`.
      discriminator:
        propertyName: mode
        mapping:
          OnDemand: '#/components/schemas/db_control_ReadCapacityOnDemandSpec'
          Dedicated: '#/components/schemas/db_control_ReadCapacityDedicatedSpec'
      oneOf:
        - $ref: '#/components/schemas/db_control_ReadCapacityOnDemandSpec'
        - $ref: '#/components/schemas/db_control_ReadCapacityDedicatedSpec'
    db_control_MetadataSchema:
      example:
        fields:
          description:
            filterable: true
          genre:
            filterable: true
          year:
            filterable: true
      description: >-
        Schema for the behavior of Pinecone's internal metadata index. By default, all metadata is indexed; when
        `schema` is present, only fields which are present in the `fields` object with a `filterable: true` are indexed.
        Note that `filterable: false` is not currently supported.
      type: object
      properties:
        fields:
          description: >-
            A map of metadata field names to their configuration. The field name must be a valid metadata field name.
            The field name must be unique.
          type: object
          additionalProperties:
            type: object
            properties:
              filterable:
                description: >-
                  Whether the field is filterable. If true, the field is indexed and can be used in filters. Only true
                  values are allowed.
                type: boolean
      required:
        - fields
    db_control_IndexSpec:
      description: >
        The spec object defines how the index should be deployed.


        For serverless indexes, you define only the [cloud and
        region](http://docs.pinecone.io/guides/index-data/create-an-index#cloud-regions) where the index should be
        hosted. For pod-based indexes, you define the
        [environment](http://docs.pinecone.io/guides/indexes/pods/understanding-pod-based-indexes#pod-environments)
        where the index should be hosted, the [pod type and
        size](http://docs.pinecone.io/guides/indexes/pods/understanding-pod-based-indexes#pod-types) to use, and other
        index characteristics.
      type: object
      oneOf:
        - title: Serverless
          type: object
          properties:
            serverless:
              $ref: '#/components/schemas/db_control_ServerlessSpec'
          required:
            - serverless
          additionalProperties: false
        - title: Pod-based
          type: object
          properties:
            pod:
              $ref: '#/components/schemas/db_control_PodSpec'
          required:
            - pod
          additionalProperties: false
        - title: BYOC
          type: object
          properties:
            byoc:
              $ref: '#/components/schemas/db_control_ByocSpec'
          required:
            - byoc
          additionalProperties: false
    db_control_ConfigureIndexRequest:
      description: Configuration used to scale an index.
      type: object
      properties:
        spec:
          description: >-
            The spec object defines how the index should be deployed.  Only some attributes of an index's spec may be
            updated.  In general, you can modify settings related to scaling and  configuration but you cannot change
            the cloud or region  where the index is hosted.
          oneOf:
            - title: Serverless
              type: object
              properties:
                serverless:
                  description: Updated configuration for serverless indexes
                  type: object
                  properties:
                    read_capacity:
                      $ref: '#/components/schemas/db_control_ReadCapacity'
              required:
                - serverless
              additionalProperties: false
            - title: Pod-based
              type: object
              properties:
                pod:
                  description: Updated configuration for pod-based indexes
                  type: object
                  properties:
                    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
                    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
              required:
                - pod
              additionalProperties: false
            - title: BYOC
              type: object
              properties:
                byoc:
                  description: Updated configuration for a BYOC index
                  type: object
                  properties:
                    read_capacity:
                      $ref: '#/components/schemas/db_control_ReadCapacity'
              required:
                - byoc
              additionalProperties: false
        deletion_protection:
          $ref: '#/components/schemas/db_control_DeletionProtection'
        tags:
          $ref: '#/components/schemas/db_control_IndexTags'
        embed:
          example:
            field_map:
              text: your-text-field
            model: multilingual-e5-large
            read_parameters:
              input_type: query
              truncate: NONE
            write_parameters:
              input_type: passage
          description: >-
            Configure the integrated inference embedding settings for this index.


            You can convert an existing index to an integrated index by specifying the embedding model and field_map.
            The index vector type and dimension must match the model vector type and dimension, and the index similarity
            metric must be supported by the model. Refer to the [model
            guide](https://docs.pinecone.io/guides/index-data/create-an-index#embedding-models) for available models and
            model details.


            You can later change the embedding configuration to update the field map, read parameters, or write
            parameters. Once set, the model cannot be changed.
          type: object
          properties:
            model:
              example: multilingual-e5-large
              description: >-
                The name of the embedding model to use with the index. The index dimension and model dimension must
                match, and the index similarity metric must be supported by the model. The index embedding model cannot
                be changed once set.
              type: string
            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
            read_parameters:
              description: The read parameters for the embedding model.
              type: object
            write_parameters:
              description: The write parameters for the embedding model.
              type: object
    db_control_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
    db_control_CollectionList:
      description: The list of collections that exist in the project.
      type: object
      properties:
        collections:
          description: List of collections in the project
          type: array
          items:
            $ref: '#/components/schemas/db_control_CollectionModel'
    db_control_ReadCapacityOnDemandSpecResponse:
      example:
        mode: OnDemand
        status:
          state: Ready
      title: On-demand
      type: object
      properties:
        mode:
          description: >-
            The mode of the index. Possible values: `OnDemand` or `Dedicated`. Defaults to `OnDemand`. If set to
            `Dedicated`, `dedicated.node_type`, and `dedicated.scaling` must be specified.
          type: string
        status:
          $ref: '#/components/schemas/db_control_ReadCapacityStatus'
      required:
        - mode
        - status
      additionalProperties: false
    db_control_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:
              description: >-
                The error code.

                Possible values: `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`, or `PAYMENT_REQUIRED`.
              x-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
              type: string
            message:
              example: >-
                Index name must contain only lowercase alphanumeric characters or hyphens, and must not begin or end
                with a hyphen.
              description: A human-readable description of the error
              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
    db_control_RestoreJobModel:
      description: The RestoreJobModel describes the status of a restore job.
      type: object
      properties:
        restore_job_id:
          example: 670e8400-e29b-41d4-a716-446655440001
          description: Unique identifier for the restore job
          type: string
        backup_id:
          example: 670e8400-e29b-41d4-a716-446655440000
          description: Backup used for the restore
          type: string
        target_index_name:
          example: sample-index
          description: Name of the index into which data is being restored
          type: string
        target_index_id:
          example: 670e8400-e29b-41d4-a716-446655440002
          description: ID of the index
          type: string
        status:
          example: Completed
          description: Status of the restore job
          type: string
        created_at:
          example: '2025-02-04T13:00:00Z'
          description: Timestamp when the restore job started
          type: string
          format: date-time
        completed_at:
          example: '2025-02-04T14:00:00Z'
          description: Timestamp when the restore job finished
          type: string
          format: date-time
        percent_complete:
          example: 42.2
          description: The progress made by the restore job out of 100
          type: number
          format: float
          minimum: 0
          maximum: 100
      required:
        - restore_job_id
        - backup_id
        - target_index_name
        - target_index_id
        - status
        - created_at
    db_control_ReadCapacityResponse:
      description: Response containing read capacity configuration
      discriminator:
        propertyName: mode
        mapping:
          OnDemand: '#/components/schemas/db_control_ReadCapacityOnDemandSpecResponse'
          Dedicated: '#/components/schemas/db_control_ReadCapacityDedicatedSpecResponse'
      oneOf:
        - $ref: '#/components/schemas/db_control_ReadCapacityOnDemandSpecResponse'
        - $ref: '#/components/schemas/db_control_ReadCapacityDedicatedSpecResponse'
    db_control_RestoreJobList:
      description: The list of restore jobs that exist in the project.
      type: object
      properties:
        data:
          description: List of restore job objects
          type: array
          items:
            $ref: '#/components/schemas/db_control_RestoreJobModel'
        pagination:
          $ref: '#/components/schemas/db_control_PaginationResponse'
      required:
        - data
    db_control_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'.

            Possible values: `cosine`, `euclidean`, or `dotproduct`.
          x-enum:
            - cosine
            - euclidean
            - dotproduct
          type: string
        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/db_control_DeletionProtection'
        tags:
          $ref: '#/components/schemas/db_control_IndexTags'
        embed:
          $ref: '#/components/schemas/db_control_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
          description: The spec object defines how the index should be deployed.
          type: object
          oneOf:
            - title: Serverless
              type: object
              properties:
                serverless:
                  $ref: '#/components/schemas/db_control_ServerlessSpecResponse'
              required:
                - serverless
              additionalProperties: false
            - title: Pod-based
              type: object
              properties:
                pod:
                  $ref: '#/components/schemas/db_control_PodSpec'
              required:
                - pod
              additionalProperties: false
            - title: BYOC
              type: object
              properties:
                byoc:
                  $ref: '#/components/schemas/db_control_ByocSpecResponse'
              required:
                - byoc
              additionalProperties: false
        status:
          example:
            ready: true
            state: ScalingUpPodSize
          description: The current status of the index
          type: object
          properties:
            ready:
              description: Whether the index is ready for use
              type: boolean
            state:
              description: >-
                The state of the index.

                Possible values: `Initializing`, `InitializationFailed`, `ScalingUp`, `ScalingDown`, `ScalingUpPodSize`,
                `ScalingDownPodSize`, `Terminating`, `Ready`, or `Disabled`.
              x-enum:
                - Initializing
                - InitializationFailed
                - ScalingUp
                - ScalingDown
                - ScalingUpPodSize
                - ScalingDownPodSize
                - Terminating
                - Ready
                - Disabled
              type: string
          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
    db_control_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.
            Possible values: `gcp`, `aws`, or `azure`.
          x-enum:
            - gcp
            - aws
            - azure
          type: string
        region:
          example: us-east-1
          description: The region where you would like your index to be created.
          type: string
        deletion_protection:
          $ref: '#/components/schemas/db_control_DeletionProtection'
        tags:
          $ref: '#/components/schemas/db_control_IndexTags'
        schema:
          $ref: '#/components/schemas/db_control_MetadataSchema'
        read_capacity:
          $ref: '#/components/schemas/db_control_ReadCapacity'
        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.

                Possible values: `cosine`, `euclidean`, or `dotproduct`.
              x-enum:
                - cosine
                - euclidean
                - dotproduct
              type: string
            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
    db_control_ServerlessSpec:
      title: Serverless
      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.
            Possible values: `gcp`, `aws`, or `azure`.
          x-enum:
            - gcp
            - aws
            - azure
          type: string
        region:
          example: us-east-1
          description: The region where you would like your index to be created.
          type: string
        read_capacity:
          $ref: '#/components/schemas/db_control_ReadCapacity'
        source_collection:
          example: movie-embeddings
          description: The name of the collection to be used as the source for the index.
          type: string
        schema:
          $ref: '#/components/schemas/db_control_MetadataSchema'
      required:
        - cloud
        - region
    db_control_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 '-'.
          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'.

            Possible values: `cosine`, `euclidean`, or `dotproduct`.
          x-enum:
            - cosine
            - euclidean
            - dotproduct
          type: string
        deletion_protection:
          $ref: '#/components/schemas/db_control_DeletionProtection'
        tags:
          $ref: '#/components/schemas/db_control_IndexTags'
        spec:
          $ref: '#/components/schemas/db_control_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
    db_control_CreateBackupRequest:
      description: The configuration needed to create a backup of an index.
      type: object
      properties:
        name:
          description: The name of the backup.
          type: string
        description:
          description: A description of the backup.
          type: string
    db_control_ReadCapacityDedicatedSpecResponse:
      example:
        dedicated:
          manual:
            replicas: 2
            shards: 2
          node_type: t1
          scaling: Manual
        mode: Dedicated
        status:
          current_replicas: 2
          current_shards: 2
          state: Ready
      title: Dedicated
      type: object
      properties:
        mode:
          description: >-
            The mode of the index. Possible values: `OnDemand` or `Dedicated`. Defaults to `OnDemand`. If set to
            `Dedicated`, `dedicated.node_type`, and `dedicated.scaling` must be specified.
          type: string
        dedicated:
          $ref: '#/components/schemas/db_control_ReadCapacityDedicatedConfig'
        status:
          $ref: '#/components/schemas/db_control_ReadCapacityStatus'
      required:
        - mode
        - dedicated
        - status
      additionalProperties: false
    db_control_ReadCapacityDedicatedConfig:
      description: >-
        Configuration for dedicated read capacity. See  [this
        guide](https://docs.pinecone.io/guides/index-data/dedicated-read-nodes) for more details on  how to configure
        dedicated read capacity.
      type: object
      properties:
        node_type:
          description: >-
            The type of machines to use. Available options: `b1` and `t1`. `t1` includes increased processing power and
            memory.
          type: string
        scaling:
          description: The type of scaling strategy to use.
          type: string
        manual:
          $ref: '#/components/schemas/db_control_ScalingConfigManual'
    db_control_ReadCapacityDedicatedSpec:
      example:
        dedicated:
          manual:
            replicas: 1
            shards: 1
          node_type: t1
          scaling: Manual
        mode: Dedicated
      title: Dedicated
      type: object
      properties:
        mode:
          description: >-
            The mode of the index. Possible values: `OnDemand` or `Dedicated`. Defaults to `OnDemand`. If set to
            `Dedicated`, `dedicated.node_type`, and `dedicated.scaling` must be specified.
          type: string
        dedicated:
          $ref: '#/components/schemas/db_control_ReadCapacityDedicatedConfig'
      required:
        - mode
        - dedicated
      additionalProperties: true
    db_control_CreateCollectionRequest:
      description: The configuration needed to create a Pinecone collection.
      type: object
      properties:
        name:
          description: >
            The name of the collection to be created. 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
        source:
          example: example-source-index
          description: The name of the index to be used as the source for the collection.
          type: string
      required:
        - name
        - source
    db_control_ScalingConfigManual:
      description: The config to use for manual read capacity scaling.
      type: object
      properties:
        replicas:
          description: >-
            The number of replicas to use. Replicas duplicate the compute resources and data of an index, allowing
            higher query throughput and availability. Setting replicas to 0 disables the index but can be used to reduce
            costs while usage is paused.
          type: integer
          format: int32
          minimum: 0
        shards:
          description: >-
            The number of shards to use. Shards determine the storage capacity of an index, with each shard providing
            250 GB of storage.
          type: integer
          format: int32
          minimum: 1
    db_control_ByocSpec:
      example:
        environment: aws-us-east-1-b921
      title: BYOC
      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
        read_capacity:
          $ref: '#/components/schemas/db_control_ReadCapacity'
        schema:
          $ref: '#/components/schemas/db_control_MetadataSchema'
      required:
        - environment
    db_control_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
      title: Pod-based
      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
    db_control_ReadCapacityStatus:
      description: The current status of factors affecting the read capacity of a serverless index
      type: object
      properties:
        state:
          description: >-
            The `state` describes the overall status of factors relating to the read capacity of an index. 


            Available values:

            - `Ready` is the state most of the time

            - `Scaling` if the number of replicas or shards has been recently updated by calling the [configure index
            endpoint](https://docs.pinecone.io/reference/api/2026-04/control-plane/configure_index)

            - `Migrating` if the index is being migrated to a new `node_type`

            - `Error` if there is an error with the read capacity configuration. In that case, see `error_message` for
            more details.
          type: string
        current_replicas:
          description: >-
            The number of replicas. Each replica has dedicated  compute resources and data storage. Increasing this
            number  will increase the total throughput of the index.
          type: integer
          format: int32
        current_shards:
          description: 'The number of shards. Each shard has dedicated storage.  Increasing shards alleiviates index fullness. '
          type: integer
          format: int32
        error_message:
          description: An optional error message indicating any issues with your read capacity configuration
          type: string
      required:
        - state
    db_control_ServerlessSpecResponse:
      description: Configuration of a serverless index.
      type: object
      properties:
        cloud:
          example: aws
          description: |-
            The public cloud where you would like your index hosted.
            Possible values: `gcp`, `aws`, or `azure`.
          x-enum:
            - gcp
            - aws
            - azure
          type: string
        region:
          example: us-east-1
          description: The region where you would like your index to be created.
          type: string
        read_capacity:
          $ref: '#/components/schemas/db_control_ReadCapacityResponse'
        source_collection:
          example: movie-embeddings
          description: The name of the collection to be used as the source for the index.
          type: string
        schema:
          $ref: '#/components/schemas/db_control_MetadataSchema'
      required:
        - cloud
        - region
        - read_capacity
    db_control_BackupList:
      description: The list of backups that exist in the project.
      type: object
      properties:
        data:
          description: List of backup objects
          type: array
          items:
            $ref: '#/components/schemas/db_control_BackupModel'
        pagination:
          $ref: '#/components/schemas/db_control_PaginationResponse'
    db_control_DeletionProtection:
      description: >-
        Whether [deletion
        protection](http://docs.pinecone.io/guides/manage-data/manage-indexes#configure-deletion-protection) is
        enabled/disabled for the index.

        Possible values: `disabled` or `enabled`.
      default: disabled
      x-enum:
        - disabled
        - enabled
      type: string
    db_control_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.

            Possible values: `cosine`, `euclidean`, or `dotproduct`.
          x-enum:
            - cosine
            - euclidean
            - dotproduct
          type: string
        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
    db_control_CreateIndexFromBackupResponse:
      description: The response for creating an index from a backup.
      type: object
      properties:
        restore_job_id:
          example: 670e8400-e29b-41d4-a716-446655440000
          description: The ID of the restore job that was created.
          type: string
        index_id:
          example: 123e4567-e89b-12d3-a456-426614174000
          description: The ID of the index that was created from the backup.
          type: string
      required:
        - restore_job_id
        - index_id
    db_control_CollectionModel:
      description: The CollectionModel describes the configuration and status of a Pinecone collection.
      type: object
      properties:
        name:
          example: example-collection
          description: The name of the collection.
          type: string
        size:
          example: 10000000
          description: The size of the collection in bytes.
          type: integer
          format: int64
        status:
          example: Initializing
          description: |-
            The status of the collection.
            Possible values: `Initializing`, `Ready`, or `Terminating`.
          x-enum:
            - Initializing
            - Ready
            - Terminating
          type: string
        dimension:
          example: 1536
          description: The dimension of the vectors stored in each record held in the collection.
          type: integer
          format: int32
          minimum: 1
          maximum: 20000
        vector_count:
          example: 120000
          description: The number of records stored in the collection.
          type: integer
          format: int32
        environment:
          example: us-east1-gcp
          description: The environment where the collection is hosted.
          type: string
      required:
        - name
        - status
        - environment
    db_control_IndexList:
      description: The list of indexes that exist in the project.
      type: object
      properties:
        indexes:
          description: List of indexes in the project
          type: array
          items:
            $ref: '#/components/schemas/db_control_IndexModel'
    db_control_BackupModel:
      description: The BackupModel describes the configuration and status of a Pinecone backup.
      type: object
      properties:
        backup_id:
          example: 670e8400-e29b-41d4-a716-446655440001
          description: Unique identifier for the backup.
          type: string
        source_index_name:
          example: my-index
          description: Name of the index from which the backup was taken.
          type: string
        source_index_id:
          example: 670e8400-e29b-41d4-a716-446655440000
          description: ID of the index.
          type: string
        name:
          example: backup-2025-02-04
          description: Optional user-defined name for the backup.
          type: string
        description:
          example: Backup before bulk update.
          description: Optional description providing context for the backup.
          type: string
        status:
          example: Ready
          description: Current status of the backup (e.g., Initializing, Ready, Failed).
          type: string
        cloud:
          example: aws
          description: Cloud provider where the backup is stored.
          type: string
        region:
          example: us-east-1
          description: Cloud region where the backup is stored.
          type: string
        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'.

            Possible values: `cosine`, `euclidean`, or `dotproduct`.
          x-enum:
            - cosine
            - euclidean
            - dotproduct
          type: string
        schema:
          $ref: '#/components/schemas/db_control_MetadataSchema'
        record_count:
          example: 120000
          description: Total number of records in the backup.
          type: integer
        namespace_count:
          example: 3
          description: Number of namespaces in the backup.
          type: integer
        size_bytes:
          example: 10000000
          description: Size of the backup in bytes.
          type: integer
        tags:
          $ref: '#/components/schemas/db_control_IndexTags'
        created_at:
          description: Timestamp when the backup was created.
          type: string
      required:
        - backup_id
        - source_index_name
        - source_index_id
        - status
        - cloud
        - region
    db_control_ReadCapacityOnDemandSpec:
      example:
        mode: OnDemand
      title: On-demand
      type: object
      properties:
        mode:
          description: >-
            The mode of the index. Possible values: `OnDemand` or `Dedicated`. Defaults to `OnDemand`. If set to
            `Dedicated`, `dedicated.node_type`, and `dedicated.scaling` must be specified.
          type: string
      required:
        - mode
      additionalProperties: false
    db_control_ByocSpecResponse:
      title: BYOC
      description: Configuration of a BYOC index.
      type: object
      properties:
        environment:
          example: aws-us-east-1-b921
          description: The environment where the index is hosted.
          type: string
        read_capacity:
          $ref: '#/components/schemas/db_control_ReadCapacityResponse'
        schema:
          $ref: '#/components/schemas/db_control_MetadataSchema'
      required:
        - environment
        - read_capacity
    db_control_PaginationResponse:
      example:
        next: dXNlcl9pZD11c2VyXzE=
      description: The pagination object that is returned with paginated responses.
      type: object
      properties:
        next:
          example: dXNlcl9pZD11c2VyXzE=
          description: The token to use to retrieve the next page of results.
          type: string
      required:
        - next
    db_data_StartImportRequest:
      description: The request for the `start_import` operation.
      type: object
      properties:
        integrationId:
          description: >-
            The id of the [storage
            integration](https://docs.pinecone.io/guides/operations/integrations/manage-storage-integrations) that
            should be used to access the data.
          type: string
          maxLength: 1000
        uri:
          description: >-
            The URI of the bucket (or container) and import directory containing the namespaces and Parquet files you
            want to import. For example, `s3://BUCKET_NAME/IMPORT_DIR` for Amazon S3, `gs://BUCKET_NAME/IMPORT_DIR` for
            Google Cloud Storage, or `https://STORAGE_ACCOUNT.blob.core.windows.net/CONTAINER_NAME/IMPORT_DIR` for Azure
            Blob Storage. For more information, see [Import
            records](https://docs.pinecone.io/guides/index-data/import-data#prepare-your-data).
          type: string
          minLength: 1
          maxLength: 1500
        errorMode:
          $ref: '#/components/schemas/db_data_ImportErrorMode'
      required:
        - uri
    db_data_ImportErrorMode:
      description: Indicates how to respond to errors during the import process.
      type: object
      properties:
        onError:
          description: |-
            Indicates how to respond to errors during the import process.
            Possible values: `abort` or `continue`.
          x-enum:
            - abort
            - continue
          type: string
    db_data_StartImportResponse:
      description: The response for the `start_import` operation.
      type: object
      properties:
        id:
          example: '101'
          description: Unique identifier for the import operation.
          type: string
          minLength: 1
          maxLength: 1000
    db_data_CancelImportResponse:
      description: The response for the `cancel_import` operation.
      type: object
    db_data_ImportModel:
      description: The model for an import operation.
      type: object
      properties:
        id:
          example: '101'
          description: Unique identifier for the import operation.
          type: string
          minLength: 1
          maxLength: 1000
        uri:
          description: The URI from where the data is imported.
          type: string
        status:
          example: Pending
          description: |-
            The status of the operation.
            Possible values: `Pending`, `InProgress`, `Failed`, `Completed`, or `Cancelled`.
          x-enum:
            - Pending
            - InProgress
            - Failed
            - Completed
            - Cancelled
          type: string
        createdAt:
          description: The start time of the import operation.
          type: string
          format: date-time
        finishedAt:
          description: The end time of the import operation.
          type: string
          format: date-time
        percentComplete:
          example: 42.2
          description: The progress made by the operation, as a percentage.
          type: number
          format: float
          minimum: 0
          maximum: 100
        recordsImported:
          example: 1000000
          description: The number of records successfully imported.
          type: integer
          format: int64
        error:
          description: The error message if the import process failed.
          type: string
    db_data_ListImportsResponse:
      description: The response for the `list_imports` operation.
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/db_data_ImportModel'
        pagination:
          $ref: '#/components/schemas/db_data_Pagination'
    db_data_DeleteRequest:
      description: The request for the `delete` operation.
      type: object
      properties:
        ids:
          example:
            - id-0
            - id-1
          description: Vectors to delete.
          type: array
          items:
            type: string
          minLength: 1
          maxLength: 1000
        deleteAll:
          example: false
          description: This indicates that all vectors in the index namespace should be deleted.
          default: false
          type: boolean
        namespace:
          example: example-namespace
          description: The namespace to delete records from, if applicable.
          type: string
        filter:
          description: >-
            If specified, the metadata filter here will be used to select the vectors to delete. This is mutually
            exclusive with specifying ids to delete in the ids param or using delete_all=True. See [Delete
            data](https://docs.pinecone.io/guides/manage-data/delete-data#delete-records-by-metadata).
          type: object
    db_data_DeleteResponse:
      description: The response for the `delete` operation.
      type: object
    db_data_DescribeIndexStatsRequest:
      description: The request for the `describe_index_stats` operation.
      type: object
      properties:
        filter:
          description: >-
            If this parameter is present, the operation only returns statistics for vectors that satisfy the filter. See
            [Understanding metadata](https://docs.pinecone.io/guides/index-data/indexing-overview#metadata).


            Serverless indexes do not support filtering `describe_index_stats` by metadata.
          type: object
    db_data_IndexDescription:
      example:
        dimension: 1024
        index_fullness: 0.4
        namespaces:
          '':
            vectorCount: 50000
          example-namespace-2:
            vectorCount: 30000
        totalVectorCount: 80000
      description: The response for the `describe_index_stats` operation.
      type: object
      properties:
        namespaces:
          description: >-
            A mapping for each namespace in the index from the namespace name to a summary of its contents. If a
            metadata filter expression is present, the summary will reflect only vectors matching that expression.
          type: object
          additionalProperties:
            $ref: '#/components/schemas/db_data_NamespaceSummary'
        dimension:
          example: 1024
          description: The dimension of the indexed vectors. Not specified if `sparse` index.
          type: integer
          format: int64
        indexFullness:
          example: 0.4
          description: >-
            The fullness of the index, regardless of whether a metadata filter expression was passed. The granularity of
            this metric is 10%.


            Serverless indexes scale automatically as needed, so index fullness  is relevant only for pod-based indexes.


            The index fullness result may be inaccurate during pod resizing; to get the status of a pod resizing
            process, use
            [`describe_index`](https://docs.pinecone.io/reference/api/2024-10/control-plane/describe_index).
          type: number
          format: float
        totalVectorCount:
          example: 80000
          description: The total number of vectors in the index, regardless of whether a metadata filter expression was passed
          type: integer
          format: int64
        metric:
          example: cosine
          description: The metric used to measure similarity.
          type: string
        vectorType:
          example: dense
          description: The type of vectors stored in the index.
          type: string
        memory_fullness:
          description: The amount of memory used by a dedicated index
          type: number
          format: float
        storage_fullness:
          description: The amount of storage used by a dedicated index
          type: number
          format: float
    db_data_FetchResponse:
      example:
        namespace: example-namespace
        usage:
          readUnits: 1
        vectors:
          id-1:
            id: id-1
            values:
              - 1
              - 1.5
          id-2:
            id: id-2
            values:
              - 2
              - 1
      description: The response for the `fetch` operation.
      type: object
      properties:
        vectors:
          title: The fetched vectors, in the form of a map between the fetched ids and the fetched vectors
          type: object
          additionalProperties:
            $ref: '#/components/schemas/db_data_Vector'
        namespace:
          example: example-namespace
          description: The namespace of the vectors.
          type: string
        usage:
          $ref: '#/components/schemas/db_data_Usage'
    db_data_ListItem:
      type: object
      properties:
        id:
          example: document1#abb
          type: string
    db_data_ListResponse:
      description: The response for the `list` operation.
      type: object
      properties:
        vectors:
          example:
            - id: document1#abb
            - id: document1#abc
          title: A list of ids
          type: array
          items:
            $ref: '#/components/schemas/db_data_ListItem'
        pagination:
          $ref: '#/components/schemas/db_data_Pagination'
        namespace:
          example: example-namespace
          description: The namespace of the vectors.
          type: string
        usage:
          $ref: '#/components/schemas/db_data_Usage'
    db_data_NamespaceSummary:
      description: A summary of the contents of a namespace.
      type: object
      properties:
        vectorCount:
          example: 50000
          description: >-
            The number of vectors stored in this namespace. Note that updates to this field may lag behind updates to
            the underlying index and corresponding query results, etc.
          type: integer
          format: int64
    db_data_Pagination:
      type: object
      properties:
        next:
          example: Tm90aGluZyB0byBzZWUgaGVyZQo=
          type: string
    db_data_CreateNamespaceRequest:
      description: A request for creating a namespace with the specified namespace name.
      type: object
      properties:
        name:
          example: example-namespace
          description: The name of the namespace.
          type: string
        schema:
          example:
            fields:
              description:
                filterable: true
              genre:
                filterable: true
              year:
                filterable: true
          description: >-
            Schema for the behavior of Pinecone's internal metadata index. By default, all metadata is indexed; when
            `schema` is present, only fields which are present in the `fields` object with a `filterable: true` are
            indexed. Note that `filterable: false` is not currently supported.
          x-component-name: MetadataSchema
          type: object
          properties:
            fields:
              description: >-
                A map of metadata field names to their configuration. The field name must be a valid metadata field
                name. The field name must be unique.
              type: object
              additionalProperties:
                type: object
                properties:
                  filterable:
                    description: >-
                      Whether the field is filterable. If true, the field is indexed and can be used in filters. Only
                      true values are allowed.
                    type: boolean
          required:
            - fields
      required:
        - name
    db_data_NamespaceDescription:
      description: A description of a namespace, including the name and record count.
      type: object
      properties:
        name:
          example: example-namespace
          description: The name of the namespace.
          type: string
        record_count:
          example: 20000
          description: The total amount of records within the namespace.
          type: integer
          format: int64
        schema:
          example:
            fields:
              description:
                filterable: true
              genre:
                filterable: true
              year:
                filterable: true
          description: >-
            Schema for the behavior of Pinecone's internal metadata index. By default, all metadata is indexed; when
            `schema` is present, only fields which are present in the `fields` object with a `filterable: true` are
            indexed. Note that `filterable: false` is not currently supported.
          x-component-name: MetadataSchema
          type: object
          properties:
            fields:
              description: >-
                A map of metadata field names to their configuration. The field name must be a valid metadata field
                name. The field name must be unique.
              type: object
              additionalProperties:
                type: object
                properties:
                  filterable:
                    description: >-
                      Whether the field is filterable. If true, the field is indexed and can be used in filters. Only
                      true values are allowed.
                    type: boolean
          required:
            - fields
        indexed_fields:
          description: A list of all indexed metatadata fields in the namespace
          type: object
          properties:
            fields:
              example:
                - genre
                - year
                - author
              type: array
              items:
                type: string
    db_data_ListNamespacesResponse:
      type: object
      properties:
        namespaces:
          description: The list of namespaces belonging to this index.
          type: array
          items:
            $ref: '#/components/schemas/db_data_NamespaceDescription'
        pagination:
          $ref: '#/components/schemas/db_data_Pagination'
        total_count:
          example: 25
          description: The total number of namespaces in the index matching the prefix
          type: integer
          format: int32
    db_data_QueryRequest:
      description: The request for the `query` operation.
      type: object
      properties:
        namespace:
          example: example-namespace
          description: The namespace to query.
          type: string
        topK:
          example: 10
          description: The number of results to return for each query.
          type: integer
          minimum: 1
          maximum: 10000
          required:
            - top_k
          format: int64
        filter:
          example:
            genre:
              $in:
                - comedy
                - documentary
                - drama
            year:
              $eq: 2019
          description: >-
            The filter to apply. You can use vector metadata to limit your search. See [Understanding
            metadata](https://docs.pinecone.io/guides/index-data/indexing-overview#metadata).
          type: object
        includeValues:
          example: true
          description: >-
            Indicates whether vector values are included in the response. For on-demand indexes, setting this to `true`
            may increase latency, especially with higher `topK` values, because vector values are retrieved from object
            storage. Unless you need vector values, set this to `false` for better performance.
          default: false
          type: boolean
        includeMetadata:
          example: true
          description: Indicates whether metadata is included in the response as well as the ids.
          default: false
          type: boolean
        queries:
          deprecated: true
          description: DEPRECATED. Use `vector` or `id` instead.
          type: array
          items:
            $ref: '#/components/schemas/db_data_QueryVector'
          minLength: 1
          maxLength: 10
        vector:
          example:
            - 0.1
            - 0.2
            - 0.3
            - 0.4
            - 0.5
            - 0.6
            - 0.7
            - 0.8
          description: >-
            The query vector. This should be the same length as the dimension of the index being queried. Each `query`
            request can contain only one of the parameters `id` or `vector`.
          type: array
          items:
            type: number
            format: float
          minLength: 1
          maxLength: 20000
        sparseVector:
          $ref: '#/components/schemas/db_data_SparseValues'
        id:
          example: example-vector-1
          description: >-
            The unique ID of the vector to be used as a query vector. Each request can contain either the `vector` or
            `id` parameter.
          type: string
          maxLength: 512
        scanFactor:
          example: 2
          description: >-
            An optimization parameter for IVF dense indexes in dedicated read node indexes. It adjusts how much of the
            index is scanned to find vector candidates. Range: 0.5 – 4 (default).

            Keep the default (4.0) for the best search results. If query latency is too high, try lowering this value
            incrementally (minimum 0.5) to speed up the search at the cost of slightly lower accuracy. This parameter is
            only supported for dedicated (DRN) dense indexes.
          type: number
          format: float
          minimum: 0.5
          maximum: 4
        maxCandidates:
          example: 1000
          description: >-
            An optimization parameter that controls the maximum number of candidate dense vectors to rerank. Reranking
            computes exact distances to improve recall but increases query latency. Range: top_k – 100000.

            Keep the default for a balance of recall and latency. Increase this value if recall is too low, or decrease
            it to reduce latency at the cost of accuracy. This parameter is only supported for dedicated (DRN) dense
            indexes.
          type: integer
          format: int64
          minimum: 1
          maximum: 100000
      required:
        - topK
    db_data_QueryResponse:
      description: >-
        The response for the `query` operation. These are the matches found for a particular query vector. The matches
        are ordered from most similar to least similar.
      type: object
      properties:
        results:
          deprecated: true
          description: DEPRECATED. The results of each query. The order is the same as `QueryRequest.queries`.
          type: array
          items:
            $ref: '#/components/schemas/db_data_SingleQueryResults'
        matches:
          description: The matches for the vectors.
          type: array
          items:
            $ref: '#/components/schemas/db_data_ScoredVector'
        namespace:
          description: The namespace for the vectors.
          type: string
        usage:
          $ref: '#/components/schemas/db_data_Usage'
    db_data_QueryVector:
      deprecated: true
      description: A single query vector within a `QueryRequest`.
      type: object
      properties:
        values:
          example:
            - 0.1
            - 0.2
            - 0.3
            - 0.4
            - 0.5
            - 0.6
            - 0.7
            - 0.8
          description: The query vector values. This should be the same length as the dimension of the index being queried.
          type: array
          required:
            - values
          items:
            type: number
            format: float
          minLength: 1
          maxLength: 20000
        sparseValues:
          $ref: '#/components/schemas/db_data_SparseValues'
        topK:
          example: 10
          description: An override for the number of results to return for this query vector.
          type: integer
          format: int64
          minimum: 1
          maximum: 10000
        namespace:
          example: example-namespace
          description: An override the namespace to search.
          type: string
        filter:
          example:
            genre:
              $in:
                - comedy
                - documentary
                - drama
            year:
              $eq: 2019
          description: An override for the metadata filter to apply. This replaces the request-level filter.
          type: object
      required:
        - values
    db_data_ScoredVector:
      type: object
      properties:
        id:
          example: example-vector-1
          description: This is the vector's unique id.
          type: string
          required:
            - id
          minLength: 1
          maxLength: 512
        score:
          example: 0.08
          description: >-
            This is a measure of similarity between this vector and the query vector.  The higher the score, the more
            they are similar.
          type: number
          format: float
        values:
          example:
            - 0.1
            - 0.2
            - 0.3
            - 0.4
            - 0.5
            - 0.6
            - 0.7
            - 0.8
          description: This is the vector data, if it is requested.
          type: array
          items:
            type: number
            format: float
        sparseValues:
          $ref: '#/components/schemas/db_data_SparseValues'
        metadata:
          example:
            genre: documentary
            year: 2019
          description: This is the metadata, if it is requested.
          type: object
      required:
        - id
    db_data_SingleQueryResults:
      title: The query results for a single `QueryVector`
      type: object
      properties:
        matches:
          description: The matches for the vectors.
          type: array
          items:
            $ref: '#/components/schemas/db_data_ScoredVector'
        namespace:
          example: example-namespace
          description: The namespace for the vectors.
          type: string
    db_data_SparseValues:
      description: >-
        Vector sparse data. Represented as a list of indices and a list of  corresponded values, which must be with the
        same length.
      type: object
      properties:
        indices:
          example:
            - 1
            - 312
            - 822
            - 14
            - 980
          description: The indices of the sparse data.
          type: array
          required:
            - indices
          items:
            type: integer
            format: int64
          minLength: 1
          maxLength: 1000
        values:
          example:
            - 0.1
            - 0.2
            - 0.3
            - 0.4
            - 0.5
          description: The corresponding values of the sparse data, which must be with the same length as the indices.
          type: array
          required:
            - values
          items:
            type: number
            format: float
          minLength: 1
          maxLength: 1000
      required:
        - indices
        - values
    db_data_UpdateRequest:
      description: The request for the `update` operation.
      type: object
      properties:
        id:
          example: example-vector-1
          description: Vector's unique id.
          type: string
          minLength: 1
          maxLength: 512
        values:
          example:
            - 0.1
            - 0.2
            - 0.3
            - 0.4
            - 0.5
            - 0.6
            - 0.7
            - 0.8
          description: Vector data.
          type: array
          items:
            type: number
            format: float
          minLength: 1
          maxLength: 20000
        sparseValues:
          $ref: '#/components/schemas/db_data_SparseValues'
        setMetadata:
          example:
            genre: documentary
            year: 2019
          description: Metadata to set for the record.
          type: object
        namespace:
          example: example-namespace
          description: The namespace containing the record to update.
          type: string
        filter:
          example:
            genre:
              $in:
                - comedy
                - documentary
                - drama
            year:
              $eq: 2019
          description: >-
            A metadata filter expression. When updating metadata across records in a namespace,  the update is applied
            to all records that match the filter.  See [Understanding
            metadata](https://docs.pinecone.io/guides/index-data/indexing-overview#metadata).
          type: object
        dryRun:
          example: false
          description: >-
            If `true`, return the number of records that match the `filter`, but do not execute the update.  Default is
            `false`.
          default: false
          type: boolean
    db_data_UpdateResponse:
      description: The response for the `update` operation.
      type: object
      properties:
        matchedRecords:
          example: 42
          description: The number of records that matched the filter (if a filter was provided).
          type: integer
          format: int32
    db_data_UpsertRequest:
      description: The request for the `upsert` operation.
      type: object
      properties:
        vectors:
          description: An array containing the vectors to upsert. Recommended batch limit is up to 1000 vectors.
          type: array
          items:
            $ref: '#/components/schemas/db_data_Vector'
          minLength: 1
          maxLength: 1000
        namespace:
          example: example-namespace
          description: The namespace where you upsert records.
          type: string
      required:
        - vectors
    db_data_UpsertResponse:
      description: The response for the `upsert` operation.
      type: object
      properties:
        upsertedCount:
          example: 2
          description: The number of vectors upserted.
          type: integer
          format: int64
    db_data_UpsertRecord:
      example:
        _id: example-record-1
      description: The request for the `upsert` operation.
      type: object
      properties:
        _id:
          description: The unique ID of the record to upsert. Note that `id` can be used as an alias for `_id`.
          type: string
      required:
        - _id
    db_data_SearchRecordsRequest:
      example:
        fields:
          - chunk_text
        query:
          inputs:
            text: your query text
          top_k: 10
      description: A search request for records in a specific namespace.
      type: object
      properties:
        query:
          description: .
          type: object
          properties:
            top_k:
              example: 10
              description: The number of similar records to return.
              type: integer
              format: int32
            filter:
              description: >-
                The filter to apply. You can use vector metadata to limit your search. See [Understanding
                metadata](https://docs.pinecone.io/guides/index-data/indexing-overview#metadata).
              type: object
            inputs:
              $ref: '#/components/schemas/db_data_EmbedInputs'
            vector:
              $ref: '#/components/schemas/db_data_SearchRecordsVector'
            id:
              example: example-vector-1
              description: The unique ID of the vector to be used as a query vector.
              type: string
              maxLength: 512
            match_terms:
              $ref: '#/components/schemas/db_data_SearchMatchTerms'
          required:
            - top_k
        fields:
          example:
            - chunk_text
          description: The fields to return in the search results. If not specified, the response will include all fields.
          type: array
          items:
            type: string
          maxLength: 100
        rerank:
          description: Parameters for reranking the initial search results.
          type: object
          properties:
            model:
              example: bge-reranker-v2-m3
              description: >-
                The name of the [reranking
                model](https://docs.pinecone.io/guides/search/rerank-results#reranking-models) to use.
              type: string
            rank_fields:
              example:
                - chunk_text
                - title
              description: >
                The field(s) to consider for reranking. If not provided, the default is `["text"]`.


                The number of fields supported is
                [model-specific](https://docs.pinecone.io/guides/search/rerank-results#reranking-models).
              type: array
              items:
                type: string
            top_n:
              example: 5
              description: The number of top results to return after reranking. Defaults to top_k.
              type: integer
              format: int32
            parameters:
              example:
                truncate: END
              description: >-
                Additional model-specific parameters. Refer to the [model
                guide](https://docs.pinecone.io/guides/search/rerank-results#reranking-models) for available model
                parameters.
              type: object
              additionalProperties: true
            query:
              example: What is the capital of France?
              description: >-
                The query to rerank documents against. If a specific rerank query is specified,  it overwrites the query
                input that was provided at the top level.
              type: string
          required:
            - model
            - rank_fields
      required:
        - query
    db_data_SearchRecordsResponse:
      example:
        result:
          hits:
            - _id: example-record-1
              _score: 0.9281134605407715
              fields:
                data: your example text
        usage:
          embed_total_tokens: 10
          read_units: 5
      description: The records search response.
      type: object
      properties:
        result:
          type: object
          properties:
            hits:
              description: The hits for the search document request.
              type: array
              items:
                $ref: '#/components/schemas/db_data_Hit'
          required:
            - hits
        usage:
          $ref: '#/components/schemas/db_data_SearchUsage'
      required:
        - usage
        - result
    db_data_Hit:
      example:
        _id: example-record-1
        _score: 0.9281134605407715
        fields:
          data: your example text
          more_data:
            text: your example text
      description: A record whose vector values are similar to the provided search query.
      type: object
      properties:
        _id:
          description: The record id of the search hit.
          type: string
        _score:
          description: The similarity score of the returned record.
          type: number
          format: float
        fields:
          description: The selected record fields associated with the search hit.
          type: object
      required:
        - _id
        - _score
        - fields
    db_data_Usage:
      type: object
      properties:
        readUnits:
          example: 5
          description: The number of read units consumed by this operation.
          type: integer
          format: int64
    db_data_SearchUsage:
      type: object
      properties:
        read_units:
          example: 5
          description: The number of read units consumed by this operation.
          type: integer
          format: int32
          minimum: 0
        embed_total_tokens:
          example: 2
          description: The number of embedding tokens consumed by this operation.
          type: integer
          format: int32
          minimum: 0
        rerank_units:
          example: 1
          description: The number of rerank units consumed by this operation.
          type: integer
          format: int32
          minimum: 0
      required:
        - read_units
    db_data_EmbedInputs:
      example:
        text: chunk_text
      type: object
    db_data_VectorValues:
      description: This is the vector data included in the request.
      type: array
      items:
        type: number
        format: float
      minLength: 1
      maxLength: 20000
    db_data_Vector:
      type: object
      properties:
        id:
          example: example-vector-1
          description: This is the vector's unique id.
          type: string
          required:
            - id
          minLength: 1
          maxLength: 512
        values:
          example:
            - 0.1
            - 0.2
            - 0.3
            - 0.4
            - 0.5
            - 0.6
            - 0.7
            - 0.8
          description: This is the vector data included in the request.
          type: array
          required:
            - values
          items:
            type: number
            format: float
          minLength: 1
          maxLength: 20000
        sparseValues:
          $ref: '#/components/schemas/db_data_SparseValues'
        metadata:
          example:
            genre: documentary
            year: 2019
          description: This is the metadata included in the request.
          type: object
      required:
        - id
    db_data_FetchByMetadataRequest:
      description: The request for the `fetch_by_metadata` operation.
      type: object
      properties:
        namespace:
          example: example-namespace
          description: The namespace to fetch records from.
          type: string
        filter:
          example:
            genre:
              $in:
                - comedy
                - documentary
                - drama
            year:
              $eq: 2019
          description: >-
            Metadata filter expression to select vectors. See [Understanding
            metadata](https://docs.pinecone.io/guides/index-data/indexing-overview#metadata).
          type: object
        limit:
          example: 12
          description: Max number of vectors to return.
          default: 100
          type: integer
          format: int64
          minimum: 1
        paginationToken:
          example: Tm90aGluZyB0byBzZWUgaGVyZQo=
          description: Pagination token to continue a previous listing operation.
          type: string
    db_data_FetchByMetadataResponse:
      example:
        namespace: example-namespace
        pagination:
          next: Tm90aGluZyB0byBzZWUgaGVyZQo=
        usage:
          readUnits: 5
        vectors:
          id-1:
            id: id-1
            metadata:
              genre: documentary
              year: 2019
            values:
              - 1
              - 1.5
          id-2:
            id: id-2
            metadata:
              genre: comedy
              year: 2019
            values:
              - 2
              - 1
      description: The response for the `fetch_by_metadata` operation.
      type: object
      properties:
        vectors:
          description: The fetched vectors, in the form of a map between the fetched ids and the fetched vectors
          type: object
          additionalProperties:
            $ref: '#/components/schemas/db_data_Vector'
        namespace:
          example: example-namespace
          description: The namespace of the vectors.
          default: ''
          type: string
        usage:
          $ref: '#/components/schemas/db_data_Usage'
        pagination:
          $ref: '#/components/schemas/db_data_Pagination'
    db_data_SearchRecordsVector:
      type: object
      properties:
        values:
          $ref: '#/components/schemas/db_data_VectorValues'
        sparse_values:
          example:
            - 0.1
            - 0.2
            - 0.3
          description: The sparse embedding values.
          type: array
          items:
            type: number
            format: float
        sparse_indices:
          example:
            - 10
            - 3
            - 156
          description: The sparse embedding indices.
          type: array
          items:
            type: integer
            format: int32
            minimum: 0
    db_data_SearchMatchTerms:
      example:
        strategy: all
        terms:
          - animal
          - CHARACTER
          - donald Duck
      description: >-
        Specifies which terms must be present in the text of each search hit based on the specified strategy. The match
        is performed

        against the text field specified in the integrated index `field_map` configuration.


        Terms are normalized and tokenized into single tokens before matching, and order does not matter.


        Example:

          `"match_terms": {"terms": ["animal", "CHARACTER", "donald Duck"], "strategy": "all"}` will tokenize
          to `["animal", "character", "donald", "duck"]`, and would match
          `"Donald F. Duck is a funny animal character"` but would not match `"A duck is a funny animal"`.

        Match terms filtering is supported only for sparse indexes with [integrated
        embedding](https://docs.pinecone.io/guides/index-data/indexing-overview#vector-embedding)

        configured to use the [pinecone-sparse-english-v0](https://docs.pinecone.io/models/pinecone-sparse-english-v0)
        model.
      type: object
      properties:
        strategy:
          description: >-
            The strategy for matching terms in the text. Currently, only `all` is supported, which means all specified
            terms must be present.
          x-enum:
            - all
          type: string
        terms:
          description: A list of terms that must be present in the text of each search hit based on the specified strategy.
          type: array
          items:
            type: string
    db_data_protobufAny:
      type: object
      properties:
        typeUrl:
          type: string
        value:
          type: string
          format: byte
    db_data_rpcStatus:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/db_data_protobufAny'
    inference_ModelInfoMetric:
      description: |-
        A distance metric that the embedding model supports for similarity searches.
        Possible values: `cosine`, `euclidean`, or `dotproduct`.
      x-enum:
        - cosine
        - euclidean
        - dotproduct
      type: string
    inference_ModelInfoSupportedParameter:
      description: Describes a parameter supported by the model, including parameter value constraints.
      type: object
      properties:
        parameter:
          example: input_type
          description: The name of the parameter.
          type: string
        type:
          example: one_of
          description: >-
            The parameter type e.g. 'one_of', 'numeric_range', or 'any'.


            If the type is 'one_of', then 'allowed_values' will be set, and the value specified must be one of the
            allowed values. 'one_of' is only compatible with value_type 'string' or 'integer'.


            If 'numeric_range', then 'min' and 'max' will be set, then the value specified must adhere to the value_type
            and must fall within the `[min, max]` range (inclusive).


            If 'any' then any value is allowed, as long as it adheres to the value_type.
          type: string
        value_type:
          example: string
          description: The type of value the parameter accepts, e.g. 'string', 'integer', 'float', or 'boolean'.
          type: string
        required:
          example: true
          description: Whether the parameter is required (true) or optional (false).
          type: boolean
        allowed_values:
          description: The allowed parameter values when the type is 'one_of'.
          type: array
          items:
            anyOf:
              - type: string
              - type: integer
        min:
          example: 1
          description: The minimum allowed value (inclusive) when the type is 'numeric_range'.
          type: number
        max:
          example: 1
          description: The maximum allowed value (inclusive) when the type is 'numeric_range'.
          type: number
        default:
          example: END
          description: The default value for the parameter when a parameter is optional.
          anyOf:
            - type: string
            - type: integer
              format: int32
            - type: number
              format: float
            - type: boolean
      required:
        - parameter
        - type
        - value_type
        - required
    inference_VectorType:
      description: Indicates whether this is a 'dense' or 'sparse' embedding.
      type: string
    inference_SparseEmbedding:
      title: Sparse embedding
      description: A sparse embedding of a single input
      type: object
      properties:
        sparse_values:
          example:
            - 0.1
            - 0.2
            - 0.3
          description: The sparse embedding values.
          type: array
          items:
            type: number
            format: float
        sparse_indices:
          example:
            - 10
            - 3
            - 156
          description: The sparse embedding indices.
          type: array
          items:
            type: integer
            format: int64
            minimum: 0
            maximum: 4294967295
        sparse_tokens:
          example:
            - quick
            - brown
            - fox
          description: The normalized tokens used to create the sparse embedding.
          type: array
          items:
            type: string
        vector_type:
          $ref: '#/components/schemas/inference_VectorType'
      required:
        - sparse_values
        - sparse_indices
        - vector_type
    inference_ModelInfoSupportedMetrics:
      description: The distance metrics supported by the model for similarity search.
      type: array
      items:
        $ref: '#/components/schemas/inference_ModelInfoMetric'
    inference_Document:
      example:
        id: '1'
        text: Paris is the capital of France.
        title: France
        url: https://example.com
      description: Document for reranking
      type: object
      additionalProperties: true
    inference_EmbeddingsList:
      description: Embeddings generated for the input.
      type: object
      properties:
        model:
          example: multilingual-e5-large
          description: The model used to generate the embeddings
          type: string
        vector_type:
          example: dense
          description: Indicates whether the response data contains 'dense' or 'sparse' embeddings.
          type: string
        data:
          description: The embeddings generated for the inputs.
          type: array
          items:
            $ref: '#/components/schemas/inference_Embedding'
        usage:
          description: Usage statistics for the model inference.
          type: object
          properties:
            total_tokens:
              example: 205
              description: Total number of tokens consumed across all inputs.
              type: integer
              format: int32
              minimum: 0
      required:
        - model
        - vector_type
        - data
        - usage
    inference_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:
              description: >-
                The error code.

                Possible values: `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`, or `FORBIDDEN`.
              x-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
              type: string
            message:
              example: >-
                Index name must contain only lowercase alphanumeric characters or hyphens, and must not begin or end
                with a hyphen.
              description: A human-readable error message describing the error.
              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
    inference_RerankRequest:
      type: object
      properties:
        model:
          example: bge-reranker-v2-m3
          description: The [model](https://docs.pinecone.io/guides/search/rerank-results#reranking-models) to use for reranking.
          type: string
        query:
          example: What is the capital of France?
          description: The query to rerank documents against.
          type: string
        top_n:
          example: 5
          description: The number of results to return sorted by relevance. Defaults to the number of inputs.
          type: integer
        return_documents:
          example: true
          description: Whether to return the documents in the response.
          default: true
          type: boolean
        rank_fields:
          description: >
            The field(s) to consider for reranking. If not provided, the default is `["text"]`.


            The number of fields supported is
            [model-specific](https://docs.pinecone.io/guides/search/rerank-results#reranking-models).
          default:
            - text
          type: array
          items:
            type: string
        documents:
          description: The documents to rerank.
          type: array
          items:
            $ref: '#/components/schemas/inference_Document'
        parameters:
          example:
            truncate: END
          description: >-
            Additional model-specific parameters. Refer to the [model
            guide](https://docs.pinecone.io/guides/search/rerank-results#reranking-models) for available model
            parameters.
          type: object
          additionalProperties: true
      required:
        - model
        - documents
        - query
    inference_ModelInfoList:
      description: The list of available models.
      type: object
      properties:
        models:
          description: List of available models.
          type: array
          items:
            $ref: '#/components/schemas/inference_ModelInfo'
    inference_RerankResult:
      description: The result of a reranking request.
      type: object
      properties:
        model:
          example: bge-reranker-v2-m3
          description: The model used to rerank documents.
          type: string
        data:
          description: The reranked documents.
          type: array
          items:
            $ref: '#/components/schemas/inference_RankedDocument'
        usage:
          description: Usage statistics for the model inference.
          type: object
          properties:
            rerank_units:
              example: 1
              description: The number of rerank units consumed by this operation.
              type: integer
              format: int32
              minimum: 0
      required:
        - model
        - data
        - usage
    inference_Embedding:
      description: Embedding of a single input
      discriminator:
        propertyName: vector_type
        mapping:
          dense: '#/components/schemas/inference_DenseEmbedding'
          sparse: '#/components/schemas/inference_SparseEmbedding'
      type: object
      oneOf:
        - $ref: '#/components/schemas/inference_DenseEmbedding'
        - $ref: '#/components/schemas/inference_SparseEmbedding'
    inference_EmbedRequest:
      type: object
      properties:
        model:
          example: multilingual-e5-large
          description: >-
            The [model](https://docs.pinecone.io/guides/index-data/create-an-index#embedding-models) to use for
            embedding generation.
          type: string
        parameters:
          example:
            input_type: passage
            truncate: END
          description: >-
            Additional model-specific parameters. Refer to the [model
            guide](https://docs.pinecone.io/guides/index-data/create-an-index#embedding-models) for available model
            parameters.
          type: object
          additionalProperties: true
        inputs:
          description: List of inputs to generate embeddings for.
          type: array
          items:
            type: object
            properties:
              text:
                example: The quick brown fox jumps over the lazy dog.
                description: The text input to generate embeddings for.
                type: string
      required:
        - model
        - inputs
    inference_ModelInfo:
      description: Represents the model configuration including model type, supported parameters, and other model details.
      type: object
      properties:
        model:
          example: multilingual-e5-large
          description: The name of the model.
          type: string
        short_description:
          example: multilingual-e5-large
          description: A summary of the model.
          type: string
        type:
          example: embed
          description: The type of model (e.g. 'embed' or 'rerank').
          type: string
        vector_type:
          description: Whether the embedding model produces 'dense' or 'sparse' embeddings.
          type: string
        default_dimension:
          example: 1024
          description: The default embedding model dimension (applies to dense embedding models only).
          type: integer
          format: int32
          minimum: 1
          maximum: 20000
        modality:
          example: text
          description: The modality of the model (e.g. 'text').
          type: string
        max_sequence_length:
          example: 512
          description: The maximum tokens per sequence supported by the model.
          type: integer
          format: int32
          minimum: 1
        max_batch_size:
          example: 96
          description: The maximum batch size (number of sequences) supported by the model.
          type: integer
          format: int32
          minimum: 1
        provider_name:
          example: NVIDIA
          description: The name of the provider of the model.
          type: string
        supported_dimensions:
          description: The list of supported dimensions for the model (applies to dense embedding models only).
          type: array
          items:
            example: 1024
            type: integer
            format: int32
            minimum: 1
            maximum: 20000
        supported_metrics:
          $ref: '#/components/schemas/inference_ModelInfoSupportedMetrics'
        supported_parameters:
          description: List of parameters supported by the model.
          type: array
          items:
            $ref: '#/components/schemas/inference_ModelInfoSupportedParameter'
      required:
        - model
        - short_description
        - type
        - supported_parameters
    inference_DenseEmbedding:
      title: Dense embedding
      description: A dense embedding of a single input
      type: object
      properties:
        values:
          example:
            - 0.1
            - 0.2
            - 0.3
          description: The dense embedding values.
          type: array
          items:
            type: number
            format: float
        vector_type:
          $ref: '#/components/schemas/inference_VectorType'
      required:
        - values
        - vector_type
    inference_RankedDocument:
      description: A ranked document with a relevance score and an index position.
      type: object
      properties:
        index:
          description: The index position of the document from the original request.
          type: integer
        score:
          example: 0.5
          description: >-
            The relevance of the document to the query, normalized between 0 and 1, with scores closer to 1 indicating
            higher relevance.
          type: number
        document:
          $ref: '#/components/schemas/inference_Document'
      required:
        - index
        - score
    assistant_control_UpdateAssistantResponse:
      type: object
      properties:
        assistant_name:
          description: The assistant name.
          type: string
        instructions:
          example: Answer questions with clear, helpful answers. Keep the tone friendly and easy to follow.
          description: Guidance applied to all responses generated by the assistant.
          type: string
        metadata:
          example:
            role: Customer Support Helper
            team: Operations
          description: >-
            Optional metadata associated with the assistant. Metadata is a JSON object that can store custom
            organizational data, tags, and attributes.
          type: object
    assistant_control_CreateAssistantRequest:
      description: The configuration needed to create an assistant.
      type: object
      properties:
        name:
          example: example-assistant
          description: >
            The name of the assistant. Resource name must be 1-63 characters long, start and end with an alphanumeric
            character, and consist only of lower case alphanumeric characters or `-`.
          type: string
          minLength: 1
          maxLength: 63
        instructions:
          nullable: true
          example: Answer questions with clear, helpful answers. Keep the tone friendly and easy to follow.
          description: Guidance applied to all responses generated by the assistant. Maximum 16 KB.
          type: string
        metadata:
          example:
            role: Customer Support Helper
            team: Operations
          description: >-
            Optional metadata associated with the assistant. Metadata is a JSON object that can store custom
            organizational data, tags, and attributes. Maximum size is 16KB.
          type: object
        region:
          description: The region to deploy the assistant in. Our current options are either `us` or `eu`. Defaults to `us`.
          x-enum:
            - us
            - eu
          type: string
      required:
        - name
    assistant_control_Assistant:
      description: Describes the configuration and status of a Pinecone Assistant.
      type: object
      properties:
        name:
          example: example-assistant
          description: >
            The name of the assistant. Resource name must be 1-63 characters long, start and end with an alphanumeric
            character, and consist only of lower case alphanumeric characters or `-`.
          type: string
          minLength: 1
          maxLength: 63
        instructions:
          nullable: true
          example: Answer questions with clear, helpful answers. Keep the tone friendly and easy to follow.
          description: Guidance applied to all responses generated by the assistant.
          type: string
        metadata:
          nullable: true
          example:
            role: Customer Support Helper
            team: Operations
          description: >-
            Optional metadata associated with the assistant. Metadata is a JSON object that can store custom
            organizational data, tags, and attributes.
          type: object
        status:
          description: The current operational status of the assistant.
          x-enum:
            - Initializing
            - Failed
            - Ready
            - Terminating
            - InitializationFailed
          type: string
        host:
          example: https://prod-1-data.ke.pinecone.io
          description: The host where the assistant is deployed.
          type: string
        region:
          description: The region where the assistant is deployed.
          x-enum:
            - us
            - eu
          type: string
        created_at:
          example: '2025-10-01T12:30:00Z'
          description: The timestamp when the assistant was created, in ISO 8601 format (`YYYY-MM-DDTHH:MM:SSZ`).
          type: string
          format: date-time
        updated_at:
          example: '2025-10-01T12:45:00Z'
          description: The timestamp of the most recent update to the assistant, in ISO 8601 format (`YYYY-MM-DDTHH:MM:SSZ`).
          type: string
          format: date-time
      required:
        - name
        - status
    assistant_control_UpdateAssistantRequest:
      description: The configuration updates for the assistant.
      type: object
      properties:
        instructions:
          nullable: true
          example: Answer questions with clear, helpful answers. Keep the tone friendly and easy to follow.
          description: Guidance applied to all responses generated by the assistant. Maximum 16 KB.
          type: string
        metadata:
          nullable: true
          example:
            role: Customer Support Helper
            team: Operations
          description: >-
            Optional metadata associated with the assistant. Metadata is a JSON object that can store custom
            organizational data, tags, and attributes. Maximum size is 16KB.
          type: object
    assistant_control_ListAssistantsResponse:
      type: object
      properties:
        assistants:
          description: The list of assistants that exist in the project.
          type: array
          items:
            $ref: '#/components/schemas/assistant_control_Assistant'
        pagination:
          $ref: '#/components/schemas/assistant_control_PaginationResponse'
    assistant_control_PaginationResponse:
      example:
        next: dXNlcl9pZD11c2VyXzE=
      description: Object that contains the next pagination token to continue a previous listing operation.
      type: object
      properties:
        next:
          description: The token to use to retrieve the next page of results.
          type: string
      required:
        - next
    assistant_control_ErrorResponse:
      example:
        error:
          code: TOO_MANY_REQUESTS
          message: Too many get or list assistant requests, try again later
        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: 'Invalid region: Valid options are us, eu'
          description: Detailed information about the error that occurred.
          type: object
          properties:
            code:
              description: The status code associated with the error.
              x-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
                - TOO_MANY_REQUESTS
              type: string
            message:
              example: Message content cannot be empty
              description: A message providing details about the error.
              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
    assistant_data_AssistantFileModel:
      description: The response format for a successful file upload request.
      type: object
      properties:
        name:
          description: The name of the uploaded file.
          type: string
        id:
          description: >-
            The unique identifier for the uploaded file. This may be a user-provided identifier or a system-generated
            ID.
          type: string
        size:
          example: 1048576
          description: The size of the uploaded file, in bytes.
          type: integer
          format: int64
        metadata:
          nullable: true
          example:
            created_by: Jane Doe
            published: '2025-10-01'
            tags:
              - report
              - Q4
              - analytics
          description: >-
            Optional metadata associated with the file. This metadata can be used to filter files when listing them or
            to restrict search results when querying the assistant.
          type: object
        created_on:
          example: '2025-10-01T12:30:00Z'
          description: The timestamp when the file was uploaded, in ISO 8601 format (`YYYY-MM-DDTHH:MM:SSZ`).
          type: string
          format: date-time
        updated_on:
          example: '2025-10-01T12:45:00Z'
          description: The timestamp of the most recent update to the file, in ISO 8601 format (`YYYY-MM-DDTHH:MM:SSZ`).
          type: string
          format: date-time
        status:
          description: |-
            The current state of the uploaded file. Possible values:
            - `Processing`: File is being processed (parsed, chunked, embedded)
            - `Available`: Processing completed successfully; file is ready for use
            - `Deleting`: Deletion has been initiated but not yet completed
            - `ProcessingFailed`: Processing failed with an error

            Note: Once a file is deleted, the API returns 404 Not Found instead of a file object.
          x-enum:
            - Processing
            - Available
            - Deleting
            - ProcessingFailed
          type: string
        signed_url:
          nullable: true
          example: https://storage.googleapis.com/bucket/file.pdf?...
          description: >-
            A [signed URL](https://cloud.google.com/storage/docs/access-control/signed-urls) that provides temporary,
            read-only access to the file.  Anyone with the link can access the file, so treat it as sensitive data.
            Expires after a short time.
          type: string
        multimodal:
          description: Indicates whether the file was processed as multimodal.
          type: boolean
      required:
        - id
        - name
    assistant_data_ChatCompletionModel:
      description: Describes the response format of a chat request.
      type: object
      properties:
        id:
          description: A unique identifier for this chat response.
          type: string
        choices:
          description: A list of chat completion choices.
          type: array
          items:
            $ref: '#/components/schemas/assistant_data_ChoiceModel'
        model:
          description: The name or identifier of the model used to generate this chat response.
          type: string
        usage:
          $ref: '#/components/schemas/assistant_data_UsageModel'
    assistant_data_ChatModel:
      description: Describes the response format of a chat request.
      type: object
      properties:
        id:
          description: A unique identifier for this chat response.
          type: string
        finish_reason:
          description: |-
            Indicates why the chat response generation stopped. This signals the end of the response.
            - `stop`: The model finished generating the response.  
            - `length`: Generation was cut off because the maximum number of tokens allowed was reached.
            - `content_filter`: Generation stopped because content was blocked by content filtering rules. 
              (for example, content that contains hate speech or violent material).

            - `tool_calls`: Generation stopped because a tool call was triggered.
          x-enum:
            - stop
            - length
            - content_filter
            - tool_calls
          type: string
        message:
          $ref: '#/components/schemas/assistant_data_MessageModel'
        model:
          description: The name or identifier of the model used to generate this chat response.
          type: string
        citations:
          description: Citations supporting the information in the response.
          type: array
          items:
            $ref: '#/components/schemas/assistant_data_CitationModel'
        usage:
          $ref: '#/components/schemas/assistant_data_UsageModel'
        context_snippet_count:
          description: >-
            The number of context snippets provided to the model to generate the response. This indicates how much
            retrieved information was available for the  generation, allowing for logic to be applied if no context was
            found (count is 0).
          type: integer
        content_filter_results:
          $ref: '#/components/schemas/assistant_data_ContentFilterResults'
    assistant_data_ChatRequest:
      description: Represents a request to chat with an assistant.
      type: object
      properties:
        messages:
          description: The list of messages sent to the assistant, used for context retrieval and generating response with the LLM.
          type: array
          items:
            $ref: '#/components/schemas/assistant_data_MessageModel'
        stream:
          description: >-
            If `false`, the assistant returns a single JSON response. If `true`, the assistant returns a stream of
            responses.
          default: false
          type: boolean
        model:
          description: The large language model used to generate responses.
          default: gpt-4o
          x-enum:
            - gpt-4o
            - gpt-4.1
            - gpt-5
            - o4-mini
            - claude-sonnet-4-5
            - gemini-2.5-pro
          type: string
        temperature:
          description: >-
            Controls the randomness of the model's output: lower values make responses more deterministic, while higher
            values increase creativity and variability. If the model does not support a temperature parameter, the
            parameter will be ignored.
          default: 0
          type: number
          format: float
        filter:
          example:
            genre:
              $ne: documentary
          description: >-
            Optional metadata-based filter to restrict which documents are retrieved for the assistant's response
            context.
          type: object
        json_response:
          description: >-
            If `true`, instructs the assistant to return a JSON-formatted response. Cannot be used together with
            streaming mode.
          default: false
          type: boolean
        include_highlights:
          description: >-
            If `true`, instructs the assistant to include highlights from the referenced documents that support its
            response.
          default: false
          type: boolean
        context_options:
          $ref: '#/components/schemas/assistant_data_ContextOptionsModel'
      required:
        - messages
    assistant_data_ChoiceChunkModel:
      description: Describes a single choice in a chat completion response.
      type: object
      properties:
        finish_reason:
          description: |-
            Indicates why the chat response generation stopped. This signals the end of the response.
            - `stop`: The model finished generating the response.  
            - `length`: Generation was cut off because the maximum number of tokens allowed was reached.
            - `content_filter`: Generation stopped because content was blocked by content filtering rules. 
              (for example, content that contains hate speech or violent material).

            - `tool_calls`: Generation stopped because a tool call was triggered.
          x-enum:
            - stop
            - length
            - content_filter
            - tool_calls
          type: string
        index:
          description: The index of this choice in the list of returned choices.
          type: integer
        delta:
          description: Chat completion message
          type: object
          properties:
            role:
              description: The role of the message author, it can be `user`, `assistant`, or `system`.
              type: string
            content:
              description: The textual content of this partial message.
              type: string
    assistant_data_ChoiceModel:
      description: Describes a single choice in a chat completion response.
      type: object
      properties:
        finish_reason:
          description: |-
            Indicates why the chat response generation stopped. This signals the end of the response.
            - `stop`: The model finished generating the response.  
            - `length`: Generation was cut off because the maximum number of tokens allowed was reached.
            - `content_filter`: Generation stopped because content was blocked by content filtering rules. 
              (for example, content that contains hate speech or violent material).

            - `tool_calls`: Generation stopped because a tool call was triggered.
          x-enum:
            - stop
            - length
            - content_filter
            - tool_calls
          type: string
        index:
          description: The index of this choice in the list of returned choices.
          type: integer
        message:
          $ref: '#/components/schemas/assistant_data_MessageModel'
    assistant_data_CitationChunkModel:
      example:
        citation:
          position: 53
          references:
            - file:
                created_on: '2025-01-01T00:00:00Z'
                id: ae79e447-b89e-4994-994b-3232ca52a654
                metadata: null
                multimodal: false
                name: my_file.pdf
                signed_url: https://storage.googleapis.com/...
                size: 25000
                status: Available
                updated_on: '2025-01-01T00:01:00Z'
              pages:
                - 1
                - 2
        id: 00000000000000002fe0c02e20be1c6a
        model: gpt-4o-2024-11-20
        type: citation
      title: Citation stream chunk
      description: >-
        A citation chunk in a stream chat response that identifies the documents  used to justify a specific claim or
        section of the assistant's response.  It maps a character offset (`position`) within the accumulated message  to
        specific references, allowing the client to render footnotes or  links at the exact point of the claim to ensure
        the response is  grounded in the provided files.
      type: object
      properties:
        type:
          description: The type of stream chunk. Always `citation`.
          type: string
        id:
          description: A unique identifier for this chat response.
          type: string
        model:
          description: The name or identifier of the model used to generate this chat response.
          type: string
        citation:
          $ref: '#/components/schemas/assistant_data_CitationModel'
      required:
        - type
        - id
        - model
        - citation
    assistant_data_CitationModel:
      description: Describes a single citation included in a chat response, pointing to one or more referenced sources.
      type: object
      properties:
        position:
          description: The index position of the citation in the complete text response.
          type: integer
        references:
          description: A list of file references that this citation points to.
          type: array
          items:
            $ref: '#/components/schemas/assistant_data_ReferenceModel'
    assistant_data_ContentChunkModel:
      example:
        delta:
          content: Hello
        id: 00000000000000002fe0c02e20be1c6a
        model: gpt-4o-2024-11-20
        type: content_chunk
      title: Content stream chunk
      description: >-
        A content chunk in a stream chat response that contains a partial segment of the assistant's response. The
        `delta.content` property provides a string fragment that should be appended to the previously received fragments
        to construct the complete message.
      type: object
      properties:
        type:
          description: The type of stream chunk. Always `content_chunk`.
          type: string
        id:
          description: A unique identifier for this chat response.
          type: string
        model:
          description: The name or identifier of the model used to generate this chat response.
          type: string
        delta:
          description: >-
            The format of this partial message. For example, if the response is "Hello world", the first chunk's
            `delta.content` might contain "Hello" and the second chunk's `delta.content` might contain " world".
          type: object
          properties:
            content:
              description: The text content of this partial message.
              type: string
          required:
            - content
        content_filter_results:
          $ref: '#/components/schemas/assistant_data_ContentFilterResults'
      required:
        - type
        - id
        - model
        - delta
    assistant_data_ContentFilterResults:
      description: >-
        Content filter results provided by the LLM, describing safety-related classifications applied to the content.
        The structure may vary depending on the model and the content being filtered. The `spec` field identifies the
        provider, and determines the structure of `results`.
      type: object
      properties:
        spec:
          description: Identifier of the model provider.
          x-enum:
            - openai
            - gemini
          type: string
        results:
          description: Content filter results returned by the provider. The structure depend on the `spec` value.
    assistant_data_ContextModel:
      description: Describes the context returned by an assistant in response to a query.
      type: object
      properties:
        id:
          description: A unique identifier for this context response.
          type: string
        snippets:
          description: A list of context snippets relevant to the user's query.
          type: array
          items:
            $ref: '#/components/schemas/assistant_data_SnippetModel'
        usage:
          $ref: '#/components/schemas/assistant_data_UsageModel'
      required:
        - snippets
        - usage
    assistant_data_ContextOptionsModel:
      description: Controls the context snippets sent to the LLM.
      type: object
      properties:
        top_k:
          example: 20
          description: The maximum number of context snippets to use. Default is 16. Maximum is 64.
          type: integer
        snippet_size:
          example: 4096
          description: The maximum context snippet size. Default is 2048 tokens. Minimum is 512 tokens. Maximum is 8192 tokens.
          type: integer
        multimodal:
          description: >-
            Whether or not to send image-related context snippets to the LLM. If `false`, only text context snippets are
            sent.
          default: true
          type: boolean
        include_binary_content:
          description: >-
            If image-related context snippets are sent to the LLM, this field determines whether or not they should
            include base64 image data. If `false`, only the image caption is sent. Only available when
            `multimodal=true`.
          default: true
          type: boolean
    assistant_data_ContextRequest:
      description: Parameters to retrieve context from an assistant.
      type: object
      properties:
        query:
          description: The query that is used to generate the context. Exactly one of query or messages should be provided.
          type: string
        filter:
          example:
            genre:
              $ne: documentary
          description: Optionally filter which documents can be retrieved using the following metadata fields.
          type: object
        messages:
          description: The list of messages to use for generating the context. Exactly one of query or messages should be provided.
          type: array
          items:
            $ref: '#/components/schemas/assistant_data_MessageModel'
        top_k:
          example: 20
          description: The maximum number of context snippets to return. Default is 16. Maximum is 64.
          type: integer
        snippet_size:
          example: 4096
          description: The maximum context snippet size. Default is 2048 tokens. Minimum is 512 tokens. Maximum is 8192 tokens.
          type: integer
        multimodal:
          description: Whether or not to retrieve image-related context snippets. If `false`, only text snippets are returned.
          default: true
          type: boolean
        include_binary_content:
          description: >-
            If image-related context snippets are returned, this field determines whether or not they should include
            base64 image data. If `false`, only the image captions are returned. Only available when `multimodal=true`.
          default: true
          type: boolean
    assistant_data_DocxReferenceModel:
      title: DOCX document reference
      description: Represents a reference to a part of a DOCX document.
      type: object
      properties:
        type:
          description: The type of reference. Always `doc_x`.
          type: string
        file:
          $ref: '#/components/schemas/assistant_data_AssistantFileModel'
        pages:
          description: A list of page numbers in the DOCX document that are relevant to the query.
          type: array
          items:
            type: integer
      required:
        - type
        - file
        - pages
    assistant_data_ErrorResponse:
      example:
        error:
          code: TOO_MANY_REQUESTS
          message: Too many get or list assistant requests, try again later
        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: 'Invalid region: Valid options are us, eu'
          description: Detailed information about the error that occurred.
          type: object
          properties:
            code:
              description: The status code associated with the error.
              x-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
                - TOO_MANY_REQUESTS
              type: string
            message:
              example: Message content cannot be empty
              description: A message providing details about the error.
              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
    assistant_data_FileData:
      type: object
      properties:
        file:
          description: The file to upload.
          type: string
          format: binary
        metadata:
          nullable: true
          example:
            created_by: Jane Doe
            published: '2025-10-01'
            tags:
              - report
              - Q4
              - analytics
          description: >-
            Optional metadata associated with the file. This metadata can be used to filter files when listing them or
            to restrict search results when querying the assistant. Maximum size is 16KB.
          type: object
      required:
        - file
    assistant_data_HighlightModel:
      nullable: true
      description: Represents a portion of a referenced document that directly supports or is relevant to the response.
      type: object
      properties:
        type:
          description: The type of the highlight. Only `text` is supported.
          type: string
        content:
          description: The text content of the highlighted portion from the referenced document.
          type: string
      required:
        - type
        - content
    assistant_data_ImageModel:
      nullable: true
      description: Represents the data for an image.
      type: object
      properties:
        type:
          description: The format of the image data. Only `base64` is supported.
          type: string
        mime_type:
          description: The MIME type of the image (e.g., `image/jpeg`).
          type: string
        data:
          description: The image data. When `type` is `base64`, this is a base64-encoded string.
          type: string
      required:
        - type
        - mime_type
        - data
    assistant_data_JsonReferenceModel:
      title: JSON document reference
      description: Represents a reference to a JSON document.
      type: object
      properties:
        type:
          description: The type of reference. Always `json`.
          type: string
        file:
          $ref: '#/components/schemas/assistant_data_AssistantFileModel'
      required:
        - type
        - file
    assistant_data_ListFilesResponse:
      type: object
      properties:
        files:
          description: The list of files that exist in the assistant.
          type: array
          items:
            $ref: '#/components/schemas/assistant_data_AssistantFileModel'
        pagination:
          $ref: '#/components/schemas/assistant_data_PaginationResponse'
    assistant_data_MarkdownReferenceModel:
      title: Markdown document reference
      description: Represents a reference to a part of a markdown document.
      type: object
      properties:
        type:
          description: The type of reference. Always `markdown`.
          type: string
        file:
          $ref: '#/components/schemas/assistant_data_AssistantFileModel'
      required:
        - type
        - file
    assistant_data_MessageEndModel:
      example:
        finish_reason: stop
        id: 00000000000000002fe0c02e20be1c6a
        model: gpt-4o-2024-11-20
        type: message_end
        usage:
          completion_tokens: 135
          prompt_tokens: 2506
          total_tokens: 2641
      title: Message end stream chunk
      description: >-
        The end message in a stream chat response. This chunk signals that the  assistant has finished sending the
        response and provides the reason  generation stopped along with the token consumption for the interaction.
      type: object
      properties:
        type:
          description: The type of stream chunk. Always `message_end`.
          type: string
        id:
          description: A unique identifier for this chat response.
          type: string
        model:
          description: The name or identifier of the model used to generate this chat response.
          type: string
        finish_reason:
          description: >-
            Indicates why the chat response generation stopped. This signals the  end of the stream and no further
            chunks will be sent for this response.

            - `stop`: The model finished generating the response.  

            - `length`: Generation was cut off because the maximum number of tokens allowed was reached.

            - `content_filter`: Generation stopped because content was blocked by content filtering rules. 
              (for example, content that contains hate speech or violent material).

            - `tool_calls`: Generation stopped because a tool call was triggered.
          x-enum:
            - stop
            - length
            - content_filter
            - tool_calls
          type: string
        usage:
          $ref: '#/components/schemas/assistant_data_UsageModel'
        content_filter_results:
          $ref: '#/components/schemas/assistant_data_ContentFilterResults'
      required:
        - type
        - id
        - model
        - finish_reason
    assistant_data_MessageModel:
      description: Describes the format of a message in a chat.
      type: object
      properties:
        role:
          description: The role of the message author, it can be `user`, `assistant`, or `system`.
          type: string
        content:
          description: The textual content of this partial message.
          type: string
    assistant_data_MessageStartModel:
      example:
        context_snippet_count: 16
        id: 00000000000000002fe0c02e20be1c6a
        model: gpt-4o-2024-11-20
        role: assistant
        type: message_start
      title: Message start stream chunk
      description: >-
        The start message of a stream chat response. This chunk initializes the  response by providing the unique
        identifier, the model, and the role  of the author. It also provides the count of retrieved context snippets 
        available to the model before any content is sent, allowing for  decisions on how to handle cases where no
        relevant context was found.
      type: object
      properties:
        type:
          description: The type of stream chunk. Always `message_start`.
          type: string
        id:
          description: A unique identifier for this chat response.
          type: string
        model:
          description: The name or identifier of the model used to generate this chat response.
          type: string
        role:
          description: The role of the message author, it can be `user`, `assistant`, or `system`.
          type: string
        context_snippet_count:
          description: >-
            The number of context snippets provided to the model to generate the response. This indicates how much
            retrieved information was available for the  generation, allowing for logic to be applied if no context was
            found (count is 0).
          type: integer
        content_filter_results:
          $ref: '#/components/schemas/assistant_data_ContentFilterResults'
      required:
        - type
        - id
        - model
        - role
    assistant_data_MultiModalContentBlocksModel:
      description: Represents a block in the multimodal content of a context snippet.
      discriminator:
        propertyName: type
        mapping:
          text: '#/components/schemas/assistant_data_MultiModalContentTextBlockModel'
          image: '#/components/schemas/assistant_data_MultiModalContentImageBlockModel'
      type: object
      oneOf:
        - $ref: '#/components/schemas/assistant_data_MultiModalContentTextBlockModel'
        - $ref: '#/components/schemas/assistant_data_MultiModalContentImageBlockModel'
    assistant_data_MultiModalContentImageBlockModel:
      title: Multimodal image content block
      description: Represents an image block in a multimodal context snippet.
      type: object
      properties:
        type:
          description: The type of multimodal content block. Always `image`.
          type: string
        caption:
          description: A caption describing the image.
          type: string
        image:
          $ref: '#/components/schemas/assistant_data_ImageModel'
      required:
        - type
        - caption
    assistant_data_MultiModalContentTextBlockModel:
      title: Multimodal text content block
      description: Represents a text block in a multimodal context snippet.
      type: object
      properties:
        type:
          description: The type of multimodal content block. Always `text`.
          type: string
        text:
          description: The text content of this multimodal block.
          type: string
      required:
        - type
        - text
    assistant_data_MultiModalSnippetModel:
      title: Multimodal context snippet
      description: Represents a multimodal context snippet.
      type: object
      properties:
        type:
          description: The type of context snippet. Always `multimodal`.
          type: string
        content:
          description: A list of multimodal content blocks (text, images, etc.) included in this snippet.
          type: array
          items:
            $ref: '#/components/schemas/assistant_data_MultiModalContentBlocksModel'
        score:
          description: A numerical score indicating the relevance of this snippet to the user's query.
          type: number
          format: float
        reference:
          $ref: '#/components/schemas/assistant_data_TypedReferenceModel'
      required:
        - type
        - content
        - score
        - reference
    assistant_data_OperationList:
      description: A list of operations.
      type: object
      properties:
        operations:
          description: The list of operations for the assistant.
          type: array
          items:
            $ref: '#/components/schemas/assistant_data_OperationModel'
        pagination:
          $ref: '#/components/schemas/assistant_data_PaginationResponse'
    assistant_data_OperationModel:
      description: The OperationModel describes the status of an ongoing or completed server operation.
      type: object
      properties:
        id:
          example: op-1234-abcd-5678
          description: The unique identifier for the operation.
          type: string
        operation_type:
          example: upload_file
          description: The kind of action represented by this operation, such as uploading or deleting a file.
          x-enum:
            - upload_file
            - upsert_file
            - update_file_metadata
            - delete_file
          type: string
        file_id:
          nullable: true
          example: my-file-id-123
          description: The identifier of the file being operated on.
          type: string
        status:
          example: Processing
          description: |-
            The status of the operation.

            - `Processing`: The operation is in progress.
            - `Completed`: The operation finished successfully.
            - `Failed`: The operation failed. See `error_message` for details.
          x-enum:
            - Processing
            - Completed
            - Failed
          type: string
        created_on:
          example: '2025-10-01T12:30:00Z'
          description: The timestamp when the operation was created, in ISO 8601 format.
          type: string
          format: date-time
        completed_on:
          nullable: true
          example: '2025-10-01T12:35:00Z'
          description: >-
            The timestamp when the operation completed or failed, in ISO 8601 format. Present only when status is
            `Completed` or `Failed`.
          type: string
          format: date-time
        percent_complete:
          example: 42
          description: The progress made by the operation, as a percentage (0-100).
          type: integer
          format: int32
          minimum: 0
          maximum: 100
        error_message:
          nullable: true
          example: 'File processing failed: unsupported file format.'
          description: |-
            A message describing the error that caused the operation to fail.
            Present only when status is `Failed`.
          type: string
        ingestion_units:
          nullable: true
          example: 50
          description: |-
            The number of ingestion units consumed by this operation.
            Present only when status is `Completed` for file ingestion operations.
          type: number
          format: double
      required:
        - id
        - operation_type
        - status
        - created_on
    assistant_data_PaginationResponse:
      example:
        next: dXNlcl9pZD11c2VyXzE=
      description: Object that contains the next pagination token to continue a previous listing operation.
      type: object
      properties:
        next:
          description: The token to use to retrieve the next page of results.
          type: string
      required:
        - next
    assistant_data_PdfReferenceModel:
      title: PDF document reference
      description: Represents a reference to a part of a PDF document.
      type: object
      properties:
        type:
          description: The type of reference. Always `pdf`.
          type: string
        file:
          $ref: '#/components/schemas/assistant_data_AssistantFileModel'
        pages:
          description: A list of page numbers in the PDF document that are relevant to the query.
          type: array
          items:
            type: integer
      required:
        - type
        - file
        - pages
    assistant_data_ReferenceModel:
      description: Describes a single reference in a citation.
      type: object
      properties:
        file:
          $ref: '#/components/schemas/assistant_data_AssistantFileModel'
        pages:
          description: A list of page numbers in the referenced document that contain the relevant content.
          type: array
          items:
            type: integer
        highlight:
          $ref: '#/components/schemas/assistant_data_HighlightModel'
    assistant_data_SearchCompletions:
      description: Represents a request to chat with an assistant.
      type: object
      properties:
        messages:
          description: The list of messages sent to the assistant, used for context retrieval and generating response with the LLM.
          type: array
          items:
            $ref: '#/components/schemas/assistant_data_MessageModel'
        stream:
          description: >-
            If `false`, the assistant returns a single JSON response. If `true`, the assistant returns a stream of
            responses.
          default: false
          type: boolean
        model:
          description: The large language model used to generate responses.
          default: gpt-4o
          x-enum:
            - gpt-4o
            - gpt-4.1
            - o4-mini
            - claude-sonnet-4-5
            - gemini-2.5-pro
          type: string
        temperature:
          description: >-
            Controls the randomness of the model's output: lower values make responses more deterministic, while higher
            values increase creativity and variability. If the model does not support a temperature parameter, the
            parameter will be ignored.
          default: 0
          type: number
          format: float
        filter:
          example:
            genre:
              $ne: documentary
          description: >-
            Optional metadata-based filter to restrict which documents are retrieved for the assistant's response
            context.
          type: object
      required:
        - messages
    assistant_data_SnippetModel:
      description: Represents a part of a document that is relevant to the user query.
      discriminator:
        propertyName: type
        mapping:
          text: '#/components/schemas/assistant_data_TextSnippetModel'
          multimodal: '#/components/schemas/assistant_data_MultiModalSnippetModel'
      type: object
      oneOf:
        - $ref: '#/components/schemas/assistant_data_TextSnippetModel'
        - $ref: '#/components/schemas/assistant_data_MultiModalSnippetModel'
    assistant_data_StreamChatChunkModel:
      description: Represents a chunk of a stream chat response.
      discriminator:
        propertyName: type
        mapping:
          message_start: '#/components/schemas/assistant_data_MessageStartModel'
          content_chunk: '#/components/schemas/assistant_data_ContentChunkModel'
          citation: '#/components/schemas/assistant_data_CitationChunkModel'
          message_end: '#/components/schemas/assistant_data_MessageEndModel'
      type: object
      oneOf:
        - $ref: '#/components/schemas/assistant_data_MessageStartModel'
        - $ref: '#/components/schemas/assistant_data_ContentChunkModel'
        - $ref: '#/components/schemas/assistant_data_CitationChunkModel'
        - $ref: '#/components/schemas/assistant_data_MessageEndModel'
    assistant_data_StreamChatCompletionChunkModel:
      description: Describes the response format of a chat request.
      type: object
      properties:
        id:
          description: A unique identifier for this chat response.
          type: string
        choices:
          description: A list of chat completion choices.
          type: array
          items:
            $ref: '#/components/schemas/assistant_data_ChoiceChunkModel'
        model:
          description: The name or identifier of the model used to generate this chat response.
          type: string
    assistant_data_TextReferenceModel:
      title: Text document reference
      description: Represents a reference to a part of a text document.
      type: object
      properties:
        type:
          description: The type of reference. Always `text`.
          type: string
        file:
          $ref: '#/components/schemas/assistant_data_AssistantFileModel'
      required:
        - type
        - file
    assistant_data_TextSnippetModel:
      title: Text context snippet
      description: Represents a text context snippet.
      type: object
      properties:
        type:
          description: The type of context snippet. Always `text`.
          type: string
        content:
          description: The textual content of the snippet.
          type: string
        score:
          description: A numerical score indicating the relevance of this snippet to the query.
          type: number
          format: float
        reference:
          $ref: '#/components/schemas/assistant_data_TypedReferenceModel'
      required:
        - type
        - content
        - score
        - reference
    assistant_data_TypedReferenceModel:
      description: Represents a reference for the information provided.
      discriminator:
        propertyName: type
        mapping:
          text: '#/components/schemas/assistant_data_TextReferenceModel'
          json: '#/components/schemas/assistant_data_JsonReferenceModel'
          markdown: '#/components/schemas/assistant_data_MarkdownReferenceModel'
          pdf: '#/components/schemas/assistant_data_PdfReferenceModel'
          doc_x: '#/components/schemas/assistant_data_DocxReferenceModel'
      type: object
      oneOf:
        - $ref: '#/components/schemas/assistant_data_TextReferenceModel'
        - $ref: '#/components/schemas/assistant_data_JsonReferenceModel'
        - $ref: '#/components/schemas/assistant_data_MarkdownReferenceModel'
        - $ref: '#/components/schemas/assistant_data_PdfReferenceModel'
        - $ref: '#/components/schemas/assistant_data_DocxReferenceModel'
    assistant_data_UsageModel:
      description: Describes the token usage associated with interactions with an assistant.
      type: object
      properties:
        prompt_tokens:
          description: >-
            For chat interactions, the number of tokens in the LLM request (message, context snippets, and system
            prompt).

            For context retrieval, the number of tokens in the LLM request used to generate search queries from the
            messages, plus the tokens in the retrieved context snippets.
          type: integer
        completion_tokens:
          description: |-
            For chat interactions, the number of tokens in the assistant's response.  
            For context retrieval, this is always 0.
          type: integer
        total_tokens:
          description: The total number of tokens used, equal to the sum of `prompt_tokens` and `completion_tokens`.
          type: integer
    assistant_evaluation_AlignmentRequest:
      title: Alignment request
      description: The request for the alignment evaluation.
      type: object
      properties:
        question:
          example: What is the capital city of Spain?
          title: Question
          description: The question for which the answer was generated.
          type: string
        answer:
          example: Barcelona.
          title: Answer
          description: The generated answer.
          type: string
        ground_truth_answer:
          example: Madrid.
          title: Ground truth answer
          description: The ground truth answer to the question.
          type: string
      required:
        - question
        - answer
        - ground_truth_answer
      additionalProperties: false
    assistant_evaluation_AlignmentResponse:
      title: Alignment response
      description: The response for the alignment evaluation.
      type: object
      properties:
        metrics:
          $ref: '#/components/schemas/assistant_evaluation_Metrics'
        reasoning:
          $ref: '#/components/schemas/assistant_evaluation_Reasoning'
        usage:
          $ref: '#/components/schemas/assistant_evaluation_TokenCounts'
      required:
        - metrics
        - reasoning
        - usage
      additionalProperties: false
    assistant_evaluation_BasicErrorResponse:
      title: Basic error response
      description: A basic error response that contains a message.
      type: object
      properties:
        message:
          title: Message
          description: A message providing details about the error.
          type: string
      required:
        - message
    assistant_evaluation_Entailment:
      title: Entailment
      description: The entailment of a fact.
      x-enum:
        - entailed
        - contradicted
        - neutral
      type: string
    assistant_evaluation_EvaluatedFact:
      title: Evaluated fact
      description: A fact that was evaluated.
      type: object
      properties:
        fact:
          $ref: '#/components/schemas/assistant_evaluation_Fact'
        entailment:
          $ref: '#/components/schemas/assistant_evaluation_Entailment'
      required:
        - fact
        - entailment
      additionalProperties: false
    assistant_evaluation_Fact:
      title: Fact
      description: A fact
      type: object
      properties:
        content:
          title: Content
          description: The content of the fact.
          type: string
      required:
        - content
      additionalProperties: false
    assistant_evaluation_Metrics:
      title: Metrics
      description: The metrics returned for the alignment evaluation.
      type: object
      properties:
        correctness:
          title: Correctness
          description: The precision of the generated answer.
          type: number
        completeness:
          title: Completeness
          description: The recall of the generated answer.
          type: number
        alignment:
          title: Alignment
          description: The harmonic mean of correctness and completeness.
          type: number
      required:
        - correctness
        - completeness
        - alignment
      additionalProperties: false
    assistant_evaluation_Reasoning:
      title: Reasoning
      description: The reasoning behind the alignment evaluation.
      type: object
      properties:
        evaluated_facts:
          title: Evaluated facts
          description: The facts that were evaluated.
          type: array
          items:
            $ref: '#/components/schemas/assistant_evaluation_EvaluatedFact'
      required:
        - evaluated_facts
      additionalProperties: false
    assistant_evaluation_TokenCounts:
      title: Token counts
      description: >-
        Contains the token usage details for LLM interactions, including tokens used in requests (`prompt_tokens`),
        tokens used in responses (`completion_tokens`), and the total number of tokens (`total_tokens`).
      type: object
      properties:
        prompt_tokens:
          title: Prompt tokens
          description: >-
            The number of tokens used in two requests to the LLM. The first request includes the question, generated
            answer, and ground truth answer. The second request includes these details plus the generated facts from the
            first response.
          type: integer
        completion_tokens:
          title: Completion tokens
          description: >-
            The number of tokens used in two responses from the LLM. The first response contains the generated facts,
            and the second response contains the evaluation metrics.
          type: integer
        total_tokens:
          title: Total tokens
          description: >-
            The total number of tokens used across both requests and responses. This value equals the sum of
            `prompt_tokens` and `completion_tokens`.
          type: integer
      required:
        - prompt_tokens
        - completion_tokens
        - total_tokens
    admin_APIKeyWithSecret:
      description: |
        The details of an API key, including the secret. Only returned on API key creation.
      type: object
      properties:
        key:
          $ref: '#/components/schemas/admin_APIKey'
        value:
          description: >
            The value to use as an API key. New keys will have the format `"pckey_<public-label>_<unique-key>"`. The
            entire string should be used when authenticating.
          type: string
      required:
        - key
        - value
    admin_Project:
      description: The details of a project.
      type: object
      properties:
        id:
          description: The unique ID of the project.
          type: string
          format: uuid
        name:
          description: The name of the project.
          type: string
          minLength: 1
          maxLength: 512
        max_pods:
          description: The maximum number of Pods that can be created in the project.
          type: integer
        force_encryption_with_cmek:
          description: Whether to force encryption with a customer-managed encryption key (CMEK).
          type: boolean
        organization_id:
          description: The unique ID of the organization that the project belongs to.
          type: string
        created_at:
          description: The date and time when the project was created.
          type: string
          format: date-time
      required:
        - id
        - name
        - max_pods
        - force_encryption_with_cmek
        - organization_id
    admin_OrganizationList:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/admin_Organization'
      required:
        - data
    admin_UpdateProjectRequest:
      type: object
      properties:
        name:
          example: chatbot-prod
          description: The name of the new project.
          type: string
          minLength: 1
          maxLength: 512
        max_pods:
          description: |
            The maximum number of Pods that can be created in the project.
          type: integer
        force_encryption_with_cmek:
          description: >
            Whether to force encryption with a customer-managed encryption key (CMEK). Once enabled, CMEK encryption
            cannot be disabled.
          type: boolean
    admin_APIKey:
      description: The details of an API key, without the secret.
      type: object
      properties:
        id:
          description: The unique ID of the API key.
          type: string
          format: uuid
        name:
          description: The name of the API key.
          type: string
        project_id:
          description: The ID of the project containing the API key.
          type: string
          format: uuid
        roles:
          description: The roles assigned to the API key.
          type: array
          items:
            example: ProjectEditor
            description: >-
              A role that can be assigned to an API key.

              Possible values: `ProjectEditor`, `ProjectViewer`, `ControlPlaneEditor`, `ControlPlaneViewer`,
              `DataPlaneEditor`, or `DataPlaneViewer`.
            x-enum:
              - ProjectEditor
              - ProjectViewer
              - ControlPlaneEditor
              - ControlPlaneViewer
              - DataPlaneEditor
              - DataPlaneViewer
            type: string
      required:
        - id
        - name
        - project_id
        - roles
    admin_UpdateOrganizationRequest:
      type: object
      properties:
        name:
          example: organization-name
          description: The new name for the organization.
          type: string
          minLength: 1
          maxLength: 512
    admin_ProjectList:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/admin_Project'
      required:
        - data
    admin_ListApiKeysResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/admin_APIKey'
      required:
        - data
    admin_UpdateAPIKeyRequest:
      type: object
      properties:
        name:
          example: devkey
          description: |
            A new name for the API key. The name must be 1-80 characters long. If omitted, the name will not be updated.
          type: string
          minLength: 1
          maxLength: 80
        roles:
          description: |
            A new set of roles for the API key. Existing roles will be removed if not included.
            If this field is omitted, the roles will not be updated.
          type: array
          items:
            example: ProjectEditor
            description: >-
              A role that can be assigned to an API key.

              Possible values: `ProjectEditor`, `ProjectViewer`, `ControlPlaneEditor`, `ControlPlaneViewer`,
              `DataPlaneEditor`, or `DataPlaneViewer`.
            x-enum:
              - ProjectEditor
              - ProjectViewer
              - ControlPlaneEditor
              - ControlPlaneViewer
              - DataPlaneEditor
              - DataPlaneViewer
            type: string
    admin_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:
              description: >-
                The error code.

                Possible values: `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`, or `UNPROCESSABLE_ENTITY`.        
              x-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
              type: string
            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
    admin_CreateProjectRequest:
      type: object
      properties:
        name:
          example: chatbot-prod
          description: The name of the new project.
          type: string
          minLength: 1
          maxLength: 512
        max_pods:
          description: |
            The maximum number of Pods that can be created in the project. Default is `0` (serverless only).
          type: integer
        force_encryption_with_cmek:
          description: |
            Whether to force encryption with a customer-managed encryption key (CMEK). Default is `false`.
          type: boolean
      required:
        - name
    admin_CreateAPIKeyRequest:
      type: object
      properties:
        name:
          example: devkey
          description: |
            The name of the API key. The name must be 1-80 characters long.
          type: string
          minLength: 1
          maxLength: 80
        roles:
          description: |
            The roles to create the API key with. Default is `["ProjectEditor"]`.
          type: array
          items:
            example: ProjectEditor
            description: >-
              A role that can be assigned to an API key.

              Possible values: `ProjectEditor`, `ProjectViewer`, `ControlPlaneEditor`, `ControlPlaneViewer`,
              `DataPlaneEditor`, or `DataPlaneViewer`.
            x-enum:
              - ProjectEditor
              - ProjectViewer
              - ControlPlaneEditor
              - ControlPlaneViewer
              - DataPlaneEditor
              - DataPlaneViewer
            type: string
      required:
        - name
    admin_Organization:
      description: The details of an organization.
      type: object
      properties:
        id:
          description: The unique ID of the organization.
          type: string
        name:
          description: The name of the organization.
          type: string
          minLength: 1
          maxLength: 512
        plan:
          description: The current plan the organization is on.
          x-enum:
            - Free
            - Standard
            - Enterprise
            - Dedicated
          type: string
        payment_status:
          description: The current payment status of the organization.
          x-enum:
            - Active
            - PaymentPending
            - PastDue
            - Restricted
            - Suspended
            - Deactivated
          type: string
        created_at:
          description: The date and time when the organization was created.
          type: string
          format: date-time
        support_tier:
          description: The support tier of the organization.
          x-enum:
            - Free
            - Developer
            - Pro
            - Enterprise
          type: string
      required:
        - id
        - name
        - plan
        - payment_status
        - created_at
        - support_tier
    oauth_TokenResponse:
      example:
        access_token: eyJz93a...k4laUWw
        expires_in: 1800
        token_type: Bearer
      description: A response that contains the access token.
      type: object
      properties:
        access_token:
          description: The access token.
          type: string
        token_type:
          description: |-
            The type of token.
            Possible values: `Bearer`.
          x-enum:
            - Bearer
          type: string
        expires_in:
          description: The number of seconds until the token expires.
          type: integer
      required:
        - access_token
        - token_type
        - expires_in
    oauth_ErrorResponse:
      example:
        error: access_denied
        error_description: Unauthorized
      description: A response indicating that an error occurred.
      type: object
      properties:
        error:
          description: A code identifying the error that occurred.
          type: string
        error_description:
          description: A human-readable description of the error.
          type: string
    oauth_TokenRequest:
      example:
        audience: https://api.pinecone.io/
        client_id: I1r8m4i6jX9JTFYk0t3q85HWzciEgcA5
        client_secret: EriX...j2ci
        grant_type: client_credentials
      description: A request to obtain an access token.
      type: object
      properties:
        client_id:
          description: |
            The service account's client ID.
          type: string
        client_secret:
          description: |
            The service account's client secret.
          type: string
        grant_type:
          description: |
            The type of grant to use.
          x-enum:
            - client_credentials
          type: string
        audience:
          description: |
            The audience for the token.
          x-enum:
            - https://api.pinecone.io/
          type: string
      required:
        - client_id
        - client_secret
        - grant_type
        - audience
    db_metrics_ErrorResponse:
      example:
        error:
          code: TOO_MANY_REQUESTS
          message: The client has sent too many requests in a given amount of time.
        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: UNKNOWN
            message: Internal Server Error
          description: Detailed information about the error that occurred.
          type: object
          properties:
            code:
              description: |-
                The error code.
                Possible values: `OK`, `UNKNOWN`, `UNAUTHENTICATED`, or `TOO_MANY_REQUESTS`.
              x-enum:
                - OK
                - UNKNOWN
                - UNAUTHENTICATED
                - TOO_MANY_REQUESTS
              type: string
            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
    db_metrics_PrometheusTargets:
      description: The PrometheusTargets object describes the configuration needed to scrape metrics from a set of targets.
      type: array
      items:
        type: object
        properties:
          targets:
            example:
              - https://us-west2-aws-adkl.svc.pinecone.io/projects/0ce9acea-7e07-4eb3-aa61-3a24f11e29aa/metrics/export
            description: List of hostnames or IP addresses that are targets for monitoring.
            type: array
            items:
              type: string
          labels:
            description: Set of labels to be attached to the scraped metrics from the targets.
            type: object
            additionalProperties:
              type: string
        required:
          - targets
  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/).
    BearerAuth:
      type: http
      scheme: bearer
      description: >
        An [access
        token](https://docs.pinecone.io/guides/organizations/manage-service-accounts#retrieve-an-access-token) must be
        provided in the `Authorization` header using the `Bearer` scheme.
