Skip to main content
Pinecone Docs

Search documentation

Type to search this documentation.

On this pageOverview

Adopt the Documents API

Learn what changes in API version 2026-07, whether your existing code is affected, and how to move to schema-based indexes.

API version 2026-07 introduces the Documents API, a new way to create and query indexes that can hold dense vectors, sparse vectors, and full-text fields in a single index. This page explains what changes, whether your existing code is affected, and how to adopt schema-based indexes.

API version 2026-07 adds a schema-based way to create and query indexes, alongside the existing Vectors API.

To create a document index, use pc.indexes.create (or POST /indexes in the REST API) with a schema:

  • A schema declares each of your index's fields and its type, so one index can hold dense-vector, sparse-vector, and full-text fields together.
  • A deployment sets the deployment type, cloud, and region. It's optional and defaults to managed serverless. Read capacity is configured separately, with a top-level read_capacity.

At the API level, POST /indexes on 2026-07 is schema-only: the top-level dimension, metric, vector_type, and spec of earlier versions are replaced by the schema. Existing indexes are unaffected, and the SDK keeps the old create-index call working (see below).

2026-07 gives you two kinds of index. A vector index is the classic index you already use: dense and sparse vectors, read and written through the Vectors API. A document index is new — its schema can hold dense-vector, sparse-vector, and full-text fields in one index, read and written through the Documents API.

Vector index Document index (new)
Create with pc.create_index(dimension=..., metric=..., vector_type=...) (unchanged) pc.indexes.create(schema=...)
Read and write with index.upsert, index.query, index.fetch index.documents.* (upsert, search, fetch, update, delete)
Full-text search Not available Declare full-text fields in the schema

In the SDK, your existing pc.create_index(dimension=..., metric=..., vector_type=...) code is unchanged and still creates a vector index; the SDK maps it to a schema for you. To create a document index, call pc.indexes.create with a schema. A request uses one or the other, not both.

An index's data plane is fixed when the index is created, not by the API version or SDK you call it with.

  • An index created before 2026-07 uses the Vectors API for its entire life, even after you upgrade your SDK. Indexes that use integrated embedding use the Records API instead.
  • An index created on 2026-07 or later with a schema uses the Documents API.

So your existing code keeps working, whether or not you upgrade the SDK. Upgrading doesn't move an index you created before 2026-07 onto the Documents API, or change how you query and upsert to it, and create_index in the 2026-07 SDK still accepts the old parameters.

Upgrading the SDK does change the control plane. Beyond create_index, index-management calls like describe_index and list_indexes return the new model shape: the top-level dimension, metric, and vector_type are replaced by a schema object, so dimension now appears inside the schema's dense-vector field. Update any code that reads those top-level fields when you upgrade.

Each index supports exactly one data plane. A request sent to the wrong data-plane API is refused, and the error guides you to the correct API.

You can't convert an existing index to a schema-based one. To use a schema (and full-text search), create a new index with the schema you want and ingest your data into it.

  1. Upgrade to the 2026-07 Python SDK (v10 or later), or use the REST API. Node.js and other SDKs for the Documents API are coming soon.
  2. Create a new index with the schema you want. Add a deployment only if you need a specific deployment type, cloud, or region; otherwise it defaults to managed serverless.
  3. Ingest your data into it.
I use hybrid search (dense + sparse, Vectors API). What happens?

Your existing hybrid indexes keep working through the Vectors API, with the same single combined query. On the Documents API, a schema can declare both a dense_vector and a sparse_vector field, so one index holds both, but a search ranks by one scoring type per request. There's no single combined dense + sparse query, so to combine results, run each search separately and fuse them client-side with reciprocal rank fusion.

I use integrated embedding (the Records API). Does anything change?

No. The Records API and create_index_for_model are unaffected, so your integrated-embedding indexes keep working exactly as they do today. Integrated embedding isn't available on schema-based (document) indexes; keep creating integrated-inference indexes the way you do now.

Can I keep creating indexes on the old Vectors API?

Yes. In the 2026-07 SDK, your existing create_index(dimension=..., metric=..., vector_type=..., spec=...) code works unchanged and still creates a vector index, so you don't have to downgrade. If you call the REST API directly on 2026-07, use a schema with the reserved _values/_sparse_values fields, or pin an earlier API version (X-Pinecone-Api-Version: 2026-04) to send the original request body. Indexes you create either way stay on the /vectors/* data plane.

I'm on 2026-01.alpha. What changed for me?

2026-01.alpha is now a mirror of 2026-07. If you were already using a schema and the Documents API, nothing changes.

Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu