REST Resource: projects.knowledgeBases.documents

Resource: Document

A knowledge document to be used by a KnowledgeBase.

For more information, see the knowledge base guide.

Note: The projects.agent.knowledgeBases.documents resource is deprecated; only use projects.knowledgeBases.documents.

JSON representation
{
  "name": string,
  "displayName": string,
  "mimeType": string,
  "knowledgeTypes": [
    enum (KnowledgeType)
  ],
  "enableAutoReload": boolean,
  "latestReloadStatus": {
    object (ReloadStatus)
  },
  "metadata": {
    string: string,
    ...
  },
  "state": enum (State),

  // Union field source can be only one of the following:
  "contentUri": string,
  "content": string,
  "rawContent": string
  // End of list of possible types for union field source.
}
Fields
name

string

Optional. The document resource name. The name must be empty when creating a document. Format: projects/<Project ID>/locations/<Location ID>/knowledgeBases/<Knowledge Base ID>/documents/<Document ID>.

displayName

string

Required. The display name of the document. The name must be 1024 bytes or less; otherwise, the creation request fails.

mimeType

string

Required. The MIME type of this document.

knowledgeTypes[]

enum (KnowledgeType)

Required. The knowledge type of document content.

enableAutoReload

boolean

Optional. If true, we try to automatically reload the document every day (at a time picked by the system). If false or unspecified, we don't try to automatically reload the document.

Currently you can only enable automatic reload for documents sourced from a public url, see source field for the source types.

Reload status can be tracked in latestReloadStatus. If a reload fails, we will keep the document unchanged.

If a reload fails with internal errors, the system will try to reload the document on the next day. If a reload fails with non-retriable errors (e.g. PERMISSION_DENIED), the system will not try to reload the document anymore. You need to manually reload the document successfully by calling documents.reload and clear the errors.

latestReloadStatus

object (ReloadStatus)

Output only. The time and status of the latest reload. This reload may have been triggered automatically or manually and may not have succeeded.

metadata

map (key: string, value: string)

Optional. Metadata for the document. The metadata supports arbitrary key-value pairs. Suggested use cases include storing a document's title, an external URL distinct from the document's contentUri, etc. The max size of a key or a value of the metadata is 1024 bytes.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

state

enum (State)

Output only. The current state of the document.

Union field source. The source of this document. source can be only one of the following:
contentUri

string

The URI where the file content is located.

For documents stored in Google Cloud Storage, these URIs must have the form gs://<bucket-name>/<object-name>.

NOTE: External URLs must correspond to public webpages, i.e., they must be indexed by Google Search. In particular, URLs for showing documents in Google Cloud Storage (i.e. the URL in your browser) are not supported. Instead use the gs:// format URI described above.

content
(deprecated)

string

The raw content of the document. This field is only permitted for EXTRACTIVE_QA and FAQ knowledge types. Note: This field is in the process of being deprecated, please use rawContent instead.

rawContent

string (bytes format)

The raw content of the document. This field is only permitted for EXTRACTIVE_QA and FAQ knowledge types.

A base64-encoded string.

Methods

create

Creates a new document.

delete

Deletes the specified document.

get

Retrieves the specified document.

import

Create documents by importing data from external sources.

list

Returns the list of all documents of the knowledge base.

patch

Updates the specified document.

reload

Reloads the specified document from its specified source, content_uri or content.