Output only. timestamp when this RagCorpus was created.
Uses RFC 3339, where generated output will always be Z-normalized and uses 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".
Output only. timestamp when this RagCorpus was last updated.
Uses RFC 3339, where generated output will always be Z-normalized and uses 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".
Optional. Immutable. The CMEK key name used to encrypt at-rest data related to this Corpus. Only applicable to RagManagedDb option for Vector DB. This field can only be set at corpus creation time, and cannot be updated or deleted.
backend_config
Union type
The backend config of the RagCorpus. It can be data store and/or retrieval engine. backend_config can be only one of the following:
Performs an ANN search on RagCorpus. Use this if you have a lot of files (> 10K) in your RagCorpus and want to reduce the search latency.
JSON representation
{// retrieval_strategy"knn": {object (KNN)},"ann": {object (ANN)}// Union type}
KNN
This type has no fields.
Config for KNN search.
ANN
Config for ANN search.
RagManagedDb uses a tree-based structure to partition data and facilitate faster searches. As a tradeoff, it requires longer indexing time and manual triggering of index rebuild via the ImportRagFiles and ragCorpora.patch API.
Fields
treeDepth
integer
The depth of the tree-based structure. Only depth values of 2 and 3 are supported.
Recommended value is 2 if you have if you have O(10K) files in the RagCorpus and set this to 3 if more than that.
Default value is 2.
leafCount
integer
Number of leaf nodes in the tree-based structure. Each leaf node contains groups of closely related vectors along with their corresponding centroid.
Recommended value is 10 * sqrt(num of RagFiles in your RagCorpus).
Default value is 500.
JSON representation
{"treeDepth": integer,"leafCount": integer}
Pinecone
The config for the Pinecone.
Fields
indexName
string
Pinecone index name. This value cannot be changed after it's set.
JSON representation
{"indexName": string}
VertexVectorSearch
The config for the Vertex Vector Search.
Fields
indexEndpoint
string
The resource name of the Index Endpoint. Format: projects/{project}/locations/{location}/indexEndpoints/{indexEndpoint}
index
string
The resource name of the Index. Format: projects/{project}/locations/{location}/indexes/{index}
JSON representation
{"indexEndpoint": string,"index": string}
ApiAuth
The generic reusable api auth config. Deprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto) instead.
Fields
auth_config
Union type
The auth config. auth_config can be only one of the following:
The Vertex AI Prediction Endpoint that either refers to a publisher model or an endpoint that is hosting a 1P fine-tuned text embedding model. endpoints hosting non-1P fine-tuned text embedding models are currently not supported. This is used for dense vector search.
Config representing a model hosted on Vertex Prediction Endpoint.
Fields
endpoint
string
Required. The endpoint resource name. Format: projects/{project}/locations/{location}/publishers/{publisher}/models/{model} or projects/{project}/locations/{location}/endpoints/{endpoint}
model
string
Output only. The resource name of the model that is deployed on the endpoint. Present only when the endpoint is not a publisher model. Pattern: projects/{project}/locations/{location}/models/{model}
modelVersionId
string
Output only. version id of the model that is deployed on the endpoint. Present only when the endpoint is not a publisher model.
Vertex AI Search Serving Config resource full name. For example, projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{servingConfig} or projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}/servingConfigs/{servingConfig}.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-07-31 UTC."],[],[],null,["# REST Resource: projects.locations.ragCorpora\n\nResource: RagCorpus\n-------------------\n\nA RagCorpus is a RagFile container and a project can have multiple RagCorpora.\nFields `name` `string` \nOutput only. The resource name of the RagCorpus.\n`displayName` `string` \nRequired. The display name of the RagCorpus. The name can be up to 128 characters long and can consist of any UTF-8 characters.\n`description` `string` \nOptional. The description of the RagCorpus.\n`createTime` `string (`[Timestamp](https://protobuf.dev/reference/protobuf/google.protobuf/#timestamp)` format)` \nOutput only. timestamp when this RagCorpus was created.\n\nUses RFC 3339, where generated output will always be Z-normalized and uses 0, 3, 6 or 9 fractional digits. Offsets other than \"Z\" are also accepted. Examples: `\"2014-10-02T15:01:23Z\"`, `\"2014-10-02T15:01:23.045123456Z\"` or `\"2014-10-02T15:01:23+05:30\"`.\n`updateTime` `string (`[Timestamp](https://protobuf.dev/reference/protobuf/google.protobuf/#timestamp)` format)` \nOutput only. timestamp when this RagCorpus was last updated.\n\nUses RFC 3339, where generated output will always be Z-normalized and uses 0, 3, 6 or 9 fractional digits. Offsets other than \"Z\" are also accepted. Examples: `\"2014-10-02T15:01:23Z\"`, `\"2014-10-02T15:01:23.045123456Z\"` or `\"2014-10-02T15:01:23+05:30\"`.\n`corpusStatus` `object (`[CorpusStatus](/vertex-ai/docs/reference/rest/v1/projects.locations.ragCorpora#CorpusStatus)`)` \nOutput only. RagCorpus state.\n`encryptionSpec` `object (`[EncryptionSpec](/vertex-ai/docs/reference/rest/v1/EncryptionSpec)`)` \nOptional. Immutable. The CMEK key name used to encrypt at-rest data related to this Corpus. Only applicable to RagManagedDb option for Vector DB. This field can only be set at corpus creation time, and cannot be updated or deleted. \n`backend_config` `Union type` \nThe backend config of the RagCorpus. It can be data store and/or retrieval engine. `backend_config` can be only one of the following:\n`vectorDbConfig` `object (`[RagVectorDbConfig](/vertex-ai/docs/reference/rest/v1/projects.locations.ragCorpora#RagVectorDbConfig)`)` \nOptional. Immutable. The config for the Vector DBs.\n`vertexAiSearchConfig` `object (`[VertexAiSearchConfig](/vertex-ai/docs/reference/rest/v1/projects.locations.ragCorpora#VertexAiSearchConfig)`)` \nOptional. Immutable. The config for the Vertex AI Search. \n\nRagVectorDbConfig\n-----------------\n\nConfig for the Vector DB to use for RAG.\nFields `apiAuth` `object (`[ApiAuth](/vertex-ai/docs/reference/rest/v1/projects.locations.ragCorpora#ApiAuth)`)` \nAuthentication config for the chosen Vector DB.\n`ragEmbeddingModelConfig` `object (`[RagEmbeddingModelConfig](/vertex-ai/docs/reference/rest/v1/projects.locations.ragCorpora#RagEmbeddingModelConfig)`)` \nOptional. Immutable. The embedding model config of the Vector DB. \n`vector_db` `Union type` \nThe config for the Vector DB. `vector_db` can be only one of the following:\n`ragManagedDb` `object (`[RagManagedDb](/vertex-ai/docs/reference/rest/v1/projects.locations.ragCorpora#RagManagedDb)`)` \nThe config for the RAG-managed Vector DB.\n`pinecone` `object (`[Pinecone](/vertex-ai/docs/reference/rest/v1/projects.locations.ragCorpora#Pinecone)`)` \nThe config for the Pinecone.\n`vertexVectorSearch` `object (`[VertexVectorSearch](/vertex-ai/docs/reference/rest/v1/projects.locations.ragCorpora#VertexVectorSearch)`)` \nThe config for the Vertex Vector Search. \n\nRagManagedDb\n------------\n\nThe config for the default RAG-managed Vector DB.\nFields \n`retrieval_strategy` `Union type` \nChoice of retrieval strategy. `retrieval_strategy` can be only one of the following:\n`knn` `object (`[KNN](/vertex-ai/docs/reference/rest/v1/projects.locations.ragCorpora#KNN)`)` \nPerforms a KNN search on RagCorpus. Default choice if not specified.\n`ann` `object (`[ANN](/vertex-ai/docs/reference/rest/v1/projects.locations.ragCorpora#ANN)`)` \nPerforms an ANN search on RagCorpus. Use this if you have a lot of files (\\\u003e 10K) in your RagCorpus and want to reduce the search latency. \n\nKNN\n---\n\nThis type has no fields. \nConfig for KNN search.\n\nANN\n---\n\nConfig for ANN search.\n\nRagManagedDb uses a tree-based structure to partition data and facilitate faster searches. As a tradeoff, it requires longer indexing time and manual triggering of index rebuild via the ImportRagFiles and ragCorpora.patch API.\nFields `treeDepth` `integer` \nThe depth of the tree-based structure. Only depth values of 2 and 3 are supported.\n\nRecommended value is 2 if you have if you have O(10K) files in the RagCorpus and set this to 3 if more than that.\n\nDefault value is 2.\n`leafCount` `integer` \nNumber of leaf nodes in the tree-based structure. Each leaf node contains groups of closely related vectors along with their corresponding centroid.\n\nRecommended value is 10 \\* sqrt(num of RagFiles in your RagCorpus).\n\nDefault value is 500. \n\nPinecone\n--------\n\nThe config for the Pinecone.\nFields `indexName` `string` \nPinecone index name. This value cannot be changed after it's set. \n\nVertexVectorSearch\n------------------\n\nThe config for the Vertex Vector Search.\nFields `indexEndpoint` `string` \nThe resource name of the Index Endpoint. Format: `projects/{project}/locations/{location}/indexEndpoints/{indexEndpoint}`\n`index` `string` \nThe resource name of the Index. Format: `projects/{project}/locations/{location}/indexes/{index}` \n\nApiAuth\n-------\n\nThe generic reusable api auth config. Deprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto) instead.\nFields \n`auth_config` `Union type` \nThe auth config. `auth_config` can be only one of the following:\n`apiKeyConfig` `object (`[ApiKeyConfig](/vertex-ai/docs/reference/rest/v1/ApiKeyConfig)`)` \nThe API secret. \n\nRagEmbeddingModelConfig\n-----------------------\n\nConfig for the embedding model to use for RAG.\nFields \n`model_config` `Union type` \nThe model config to use. `model_config` can be only one of the following:\n`vertexPredictionEndpoint` `object (`[VertexPredictionEndpoint](/vertex-ai/docs/reference/rest/v1/projects.locations.ragCorpora#VertexPredictionEndpoint)`)` \nThe Vertex AI Prediction Endpoint that either refers to a publisher model or an endpoint that is hosting a 1P fine-tuned text embedding model. endpoints hosting non-1P fine-tuned text embedding models are currently not supported. This is used for dense vector search. \n\nVertexPredictionEndpoint\n------------------------\n\nConfig representing a model hosted on Vertex Prediction Endpoint.\nFields `endpoint` `string` \nRequired. The endpoint resource name. Format: `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}` or `projects/{project}/locations/{location}/endpoints/{endpoint}`\n`model` `string` \nOutput only. The resource name of the model that is deployed on the endpoint. Present only when the endpoint is not a publisher model. Pattern: `projects/{project}/locations/{location}/models/{model}`\n`modelVersionId` `string` \nOutput only. version id of the model that is deployed on the endpoint. Present only when the endpoint is not a publisher model. \n\nVertexAiSearchConfig\n--------------------\n\nConfig for the Vertex AI Search.\nFields `servingConfig` `string` \nVertex AI Search Serving Config resource full name. For example, `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{servingConfig}` or `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}/servingConfigs/{servingConfig}`. \n\nCorpusStatus\n------------\n\nRagCorpus status.\nFields `state` `enum (`[State](/vertex-ai/docs/reference/rest/v1/projects.locations.ragCorpora#State)`)` \nOutput only. RagCorpus life state.\n`errorStatus` `string` \nOutput only. Only when the `state` field is ERROR. \n\nState\n-----\n\nRagCorpus life state."]]