PINECONE_API_KEY="YOUR_API_KEY"
curl https://api.pinecone.io/indexes/support-tickets/convert \
-H "Api-Key: $PINECONE_API_KEY" \
-H "X-Pinecone-Api-Version: 2026-07" \
-H 'Content-Type: application/json' \
-d '{
"name": "support-tickets-docs",
"schema": {
"fields": {
"embedding": {
"type": "dense_vector",
"dimension": 1024,
"metric": "cosine"
},
"ticket_text": {
"type": "string",
"full_text_search": {
"language": "en"
}
}
}
},
"error_mode": {
"on_error": "continue"
}
}'
PINECONE_API_KEY="YOUR_API_KEY"
curl https://api.pinecone.io/indexes/support-articles/convert \
-H "Api-Key: $PINECONE_API_KEY" \
-H "X-Pinecone-Api-Version: 2026-07" \
-H 'Content-Type: application/json' \
-d '{
"name": "support-articles-docs",
"schema": {
"fields": {
"chunk_text": {
"type": "string",
"embed": {
"model": "multilingual-e5-large"
}
}
}
}
}'
{
"conversion_job_id": "670e8400-e29b-41d4-a716-446655440001",
"index_id": "123e4567-e89b-12d3-a456-426614174000"
}Convert an index into a document index
Convert a serverless vector index or legacy integrated index into a new document index. The source index isn’t changed, and the new index holds a snapshot of the source taken when the job starts.
The request returns once the new index is created in the Initializing state. Track the job with Describe a conversion job. If the job fails or is canceled, the index is left in the InitializationFailed state with no usable data. Delete it to free its name. A job that fails because of your data is charged for the data it read, and a canceled job isn’t charged.
For how source records map to the schema, see Convert an index.
PINECONE_API_KEY="YOUR_API_KEY"
curl https://api.pinecone.io/indexes/support-tickets/convert \
-H "Api-Key: $PINECONE_API_KEY" \
-H "X-Pinecone-Api-Version: 2026-07" \
-H 'Content-Type: application/json' \
-d '{
"name": "support-tickets-docs",
"schema": {
"fields": {
"embedding": {
"type": "dense_vector",
"dimension": 1024,
"metric": "cosine"
},
"ticket_text": {
"type": "string",
"full_text_search": {
"language": "en"
}
}
}
},
"error_mode": {
"on_error": "continue"
}
}'
PINECONE_API_KEY="YOUR_API_KEY"
curl https://api.pinecone.io/indexes/support-articles/convert \
-H "Api-Key: $PINECONE_API_KEY" \
-H "X-Pinecone-Api-Version: 2026-07" \
-H 'Content-Type: application/json' \
-d '{
"name": "support-articles-docs",
"schema": {
"fields": {
"chunk_text": {
"type": "string",
"embed": {
"model": "multilingual-e5-large"
}
}
}
}
}'
{
"conversion_job_id": "670e8400-e29b-41d4-a716-446655440001",
"index_id": "123e4567-e89b-12d3-a456-426614174000"
}PINECONE_API_KEY="YOUR_API_KEY"
curl https://api.pinecone.io/indexes/support-tickets/convert \
-H "Api-Key: $PINECONE_API_KEY" \
-H "X-Pinecone-Api-Version: 2026-07" \
-H 'Content-Type: application/json' \
-d '{
"name": "support-tickets-docs",
"schema": {
"fields": {
"embedding": {
"type": "dense_vector",
"dimension": 1024,
"metric": "cosine"
},
"ticket_text": {
"type": "string",
"full_text_search": {
"language": "en"
}
}
}
},
"error_mode": {
"on_error": "continue"
}
}'
PINECONE_API_KEY="YOUR_API_KEY"
curl https://api.pinecone.io/indexes/support-articles/convert \
-H "Api-Key: $PINECONE_API_KEY" \
-H "X-Pinecone-Api-Version: 2026-07" \
-H 'Content-Type: application/json' \
-d '{
"name": "support-articles-docs",
"schema": {
"fields": {
"chunk_text": {
"type": "string",
"embed": {
"model": "multilingual-e5-large"
}
}
}
}
}'
Authorizations
Headers
Required date-based version header
Path Parameters
The name of the vector index to convert.
Body
The configuration of the document index a vector index is converted into.
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 '-'.
1 - 45"example-index"
The fields the index searches over: dense vectors, sparse vectors, and string fields searched by full-text search or by embeddings Pinecone derives from their text.
An index has one dense vector slot and one sparse vector slot: at most one field can be a dense_vector field or declare embed, and at most one can be a sparse_vector field or declare sparse_embed. Metadata isn't declared in the schema; it's indexed automatically from the documents you upsert.
Show child attributes
Show child attributes
{
"fields": {
"body": {
"full_text_search": { "language": "en" },
"type": "string"
},
"your_vector": {
"dimension": 1536,
"metric": "cosine",
"type": "dense_vector"
}
}
}
How a conversion handles a source record the new index cannot take, such as a record whose metadata value for a full_text_search field is not a string. Records the schema can hold are never affected. If omitted, on_error is abort.
Show child attributes
Show child attributes
Custom user tags added to an index, at most 20 per index. Keys must be 80 characters or less and alphanumeric, '_', or '-'. Values must be 120 characters or less and consist of printable ASCII characters or spaces. To unset a key, set the value to be an empty string. null in responses when the index has no tags.
Show child attributes
Show child attributes
{ "tag0": "val0", "tag1": "val1" }
Whether deletion protection is enabled/disabled for the index.
Possible values: disabled or enabled.
By default the index will be created with read capacity mode OnDemand, for managed and BYOC indexes alike. If you prefer to allocate dedicated read nodes for your workload, you must specify mode Dedicated and additional configurations for node_type and scaling.
- On-demand
- Dedicated
Show child attributes
Show child attributes
{ "mode": "OnDemand" }
Response
The new index has been created and the conversion job queued.
The response for converting an index.
Was this page helpful?