{
  "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.\n  \nFor guidance and examples, see [Create an index](https://docs.pinecone.io/guides/index-data/create-an-index).\n",
        "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.\n",
        "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.\nServerless indexes do not support collections.\n",
        "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.\n  \nServerless indexes do not support collections.\n",
        "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.\nWith 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).  \nFor 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.\nServerless indexes do not support collections.\n",
        "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.\nServerless indexes do not support collections.\n",
        "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.\n\nBy 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.\n\nFor 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.\n\nFor 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.\n\nFor 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.\n\nFor 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.\n\nServerless 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.\n\nFor 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.\n\nFor 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.\nFor 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.\nFor 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.\nFor 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.\n\nReturns 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.\n\nFor guidance and examples, see [List record IDs](https://docs.pinecone.io/guides/manage-data/list-record-ids).\n\n**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.\nIf 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.\nFor 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.\n\nFor 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.\n\nUp 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.\n\nFor guidance and examples, see [Manage namespaces](https://docs.pinecone.io/guides/manage-data/manage-namespaces).\n\n**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.\n\nFor guidance and examples, see [Manage namespaces](https://docs.pinecone.io/guides/manage-data/manage-namespaces).\n\n**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.\n\nFor guidance and examples, see [Manage namespaces](https://docs.pinecone.io/guides/manage-data/manage-namespaces).\n\n**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.\n\nFor guidance and examples, see [Manage namespaces](https://docs.pinecone.io/guides/manage-data/manage-namespaces).\n\n**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.\n\nUpserting text is supported only for [indexes with integrated embedding](https://docs.pinecone.io/guides/index-data/create-an-index#embedding-models).\n\nFor 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.\n",
          "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. \n\nSearching 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. \n\nFor 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.\n\nFor 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. \n\nYou 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.\nPossible 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.\nPossible 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. \n\nYou 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.\n\nFor 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.\n\nFor 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.\n\nFor 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.\n\nFor 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.\n\nFor 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.\n\nFor 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.\n\nAn 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}`).\n\nThis operation is asynchronous. The response includes an operation ID that can be used to poll for completion via the describe operation endpoint.\n\nFor 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.\n\nThis operation is asynchronous. The file processing will occur in the background.\n\nFor 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.\n\nThis 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.\nBoth successful and failed operations are retained for 30 days after completion.\nUse the `operation_type` and `status` query parameters to filter results.\n",
        "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.\n",
        "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. \n\nIt is useful if you need inline citations or OpenAI-compatible responses, but has limited functionality compared to the standard chat interface.\n\nFor 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. \n\nThis 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.\n\nFor 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.\n\nFor 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.\n\nFor 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.\nBefore 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.\n",
        "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.\nYou can update the project's name, maximum number of Pods, or enable encryption with a customer-managed encryption key (CMEK).\n",
        "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.\n",
          "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.\nBefore deleting an organization, you must delete all projects (including indexes, assistants, backups, and collections) associated with the organization.\n",
        "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.\n",
        "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.\n",
          "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.\n",
        "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.\n",
        "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.\nThe host domain for OAuth endpoints is `login.pinecone.io`.\n",
        "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.\n",
          "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 '-'.\n",
            "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.\n\nFor 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.\n",
        "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.\n\nYou 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.\n\nYou 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.\nPossible 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 '-'.\n",
            "type": "string",
            "minLength": 1,
            "maxLength": 45
          },
          "dimension": {
            "example": 1536,
            "description": "The dimensions of the vectors to be inserted in the index.",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 20000
          },
          "metric": {
            "description": "The distance metric to be used for similarity search. You can use 'euclidean', 'cosine', or 'dotproduct'. If the 'vector_type' is 'sparse', the metric must be 'dotproduct'. If the `vector_type` is `dense`, the metric defaults to 'cosine'.\nPossible values: `cosine`, `euclidean`, or `dotproduct`.",
            "x-enum": [
              "cosine",
              "euclidean",
              "dotproduct"
            ],
            "type": "string"
          },
          "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.\nPossible 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 '-'.\n",
            "type": "string",
            "minLength": 1,
            "maxLength": 45
          },
          "cloud": {
            "example": "aws",
            "description": "The public cloud where you would like your index hosted.\nPossible 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.\n\nOnce 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.\n\nRefer 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.\nPossible 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.\nPossible 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 '-'.\n",
            "type": "string",
            "minLength": 1,
            "maxLength": 45
          },
          "dimension": {
            "example": 1536,
            "description": "The dimensions of the vectors to be inserted in the index.",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 20000
          },
          "metric": {
            "description": "The distance metric to be used for similarity search. You can use 'euclidean', 'cosine', or 'dotproduct'. If the 'vector_type' is 'sparse', the metric must be 'dotproduct'. If the `vector_type` is `dense`, the metric defaults to 'cosine'.\nPossible values: `cosine`, `euclidean`, or `dotproduct`.",
            "x-enum": [
              "cosine",
              "euclidean",
              "dotproduct"
            ],
            "type": "string"
          },
          "deletion_protection": {
            "$ref": "#/components/schemas/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 '-'.\n",
            "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. \n\nAvailable values:\n- `Ready` is the state most of the time\n- `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)\n- `Migrating` if the index is being migrated to a new `node_type`\n- `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.\nPossible 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.\nPossible 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.\nPossible 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.\nPossible 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'.\nPossible 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.\nPossible 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.\nPossible 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).\n\nServerless 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%.\n\nServerless indexes scale automatically as needed, so index fullness  is relevant only for pod-based indexes.\n\nThe 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).\nKeep 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.\nKeep 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\"]`.\n\nThe number of fields supported is [model-specific](https://docs.pinecone.io/guides/search/rerank-results#reranking-models).\n",
                "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\nagainst the text field specified in the integrated index `field_map` configuration.\n\nTerms are normalized and tokenized into single tokens before matching, and order does not matter.\n\nExample:\n\n  `\"match_terms\": {\"terms\": [\"animal\", \"CHARACTER\", \"donald Duck\"], \"strategy\": \"all\"}` will tokenize\n  to `[\"animal\", \"character\", \"donald\", \"duck\"]`, and would match\n  `\"Donald F. Duck is a funny animal character\"` but would not match `\"A duck is a funny animal\"`.\n\nMatch terms filtering is supported only for sparse indexes with [integrated embedding](https://docs.pinecone.io/guides/index-data/indexing-overview#vector-embedding)\nconfigured 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.\nPossible 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'.\n\nIf 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'.\n\nIf '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).\n\nIf '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.\nPossible 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\"]`.\n\nThe number of fields supported is [model-specific](https://docs.pinecone.io/guides/search/rerank-results#reranking-models).\n",
            "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 `-`.\n",
            "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 `-`.\n",
            "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:\n- `Processing`: File is being processed (parsed, chunked, embedded)\n- `Available`: Processing completed successfully; file is ready for use\n- `Deleting`: Deletion has been initiated but not yet completed\n- `ProcessingFailed`: Processing failed with an error\n\nNote: 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.\n- `stop`: The model finished generating the response.  \n- `length`: Generation was cut off because the maximum number of tokens allowed was reached.\n- `content_filter`: Generation stopped because content was blocked by content filtering rules. \n  (for example, content that contains hate speech or violent material).\n\n- `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.\n- `stop`: The model finished generating the response.  \n- `length`: Generation was cut off because the maximum number of tokens allowed was reached.\n- `content_filter`: Generation stopped because content was blocked by content filtering rules. \n  (for example, content that contains hate speech or violent material).\n\n- `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.\n- `stop`: The model finished generating the response.  \n- `length`: Generation was cut off because the maximum number of tokens allowed was reached.\n- `content_filter`: Generation stopped because content was blocked by content filtering rules. \n  (for example, content that contains hate speech or violent material).\n\n- `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.\n- `stop`: The model finished generating the response.  \n- `length`: Generation was cut off because the maximum number of tokens allowed was reached.\n- `content_filter`: Generation stopped because content was blocked by content filtering rules. \n  (for example, content that contains hate speech or violent material).\n\n- `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.\n\n- `Processing`: The operation is in progress.\n- `Completed`: The operation finished successfully.\n- `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.\nPresent only when status is `Failed`.",
            "type": "string"
          },
          "ingestion_units": {
            "nullable": true,
            "example": 50,
            "description": "The number of ingestion units consumed by this operation.\nPresent 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).\nFor 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.  \nFor 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.\n",
        "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.\n",
            "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.\n",
            "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.\n",
            "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.\nPossible 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.\n",
            "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.\nIf this field is omitted, the roles will not be updated.\n",
            "type": "array",
            "items": {
              "example": "ProjectEditor",
              "description": "A role that can be assigned to an API key.\nPossible 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.\nPossible 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).\n",
            "type": "integer"
          },
          "force_encryption_with_cmek": {
            "description": "Whether to force encryption with a customer-managed encryption key (CMEK). Default is `false`.\n",
            "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.\n",
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "roles": {
            "description": "The roles to create the API key with. Default is `[\"ProjectEditor\"]`.\n",
            "type": "array",
            "items": {
              "example": "ProjectEditor",
              "description": "A role that can be assigned to an API key.\nPossible 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.\nPossible 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.\n",
            "type": "string"
          },
          "client_secret": {
            "description": "The service account's client secret.\n",
            "type": "string"
          },
          "grant_type": {
            "description": "The type of grant to use.\n",
            "x-enum": [
              "client_credentials"
            ],
            "type": "string"
          },
          "audience": {
            "description": "The audience for the token.\n",
            "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.\nPossible 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.\n"
      }
    }
  }
}
