---
title: "POST /v1/indexing/{+name}:index"
method: POST
path: "/v1/indexing/{+name}:index"
tags: ["indexing"]
---

# POST /v1/indexing/{+name}:index

`POST /v1/indexing/{+name}:index`

Updates Item ACL, metadata, and content. It will insert the Item if it does not exist. This method does not support partial updates. Fields with no provided values are cleared out in the Cloud Search index. This API requires an admin or service account to execute. The service account used is the one whitelisted in the corresponding data source.

## Path parameters

- `name` string, required

## Request body

- IndexItemRequest
  - `indexItemOptions` IndexItemOptions
    - `allowUnknownGsuitePrincipals` boolean — Specifies if the index request should allow Google Workspace principals that do not exist or are deleted.
  - `debugOptions` DebugOptions — Shared request debug options for all cloudsearch RPC methods.
    - `enableDebugging` boolean — If you are asked by Google to help with debugging, set this field. Otherwise, ignore this field.
  - `mode` 'UNSPECIFIED' | 'SYNCHRONOUS' | 'ASYNCHRONOUS' — Required. The RequestMode for this request.
  - `connectorName` string — The name of connector making this call. Format: datasources/{source_id}/connectors/{ID}
  - `item` Item — Represents a single object that is an item in the search index, such as a file, folder, or a database record.
    - `itemType` 'UNSPECIFIED' | 'CONTENT_ITEM' | 'CONTAINER_ITEM' | 'VIRTUAL_CONTAINER_ITEM' — The type for this item.
    - `content` ItemContent — Content of an item to be indexed and surfaced by Cloud Search. Only UTF-8 encoded strings are allowed as inlineContent. If the content is uploaded and not binary, it must be UTF-8 encoded.
      - `hash` string — Hashing info calculated and provided by the API client for content. Can be used with the items.push method to calculate modified state. The maximum length is 2048 characters.
      - `contentFormat` 'UNSPECIFIED' | 'HTML' | 'TEXT' | 'RAW'
      - `inlineContent` string, byte — Content that is supplied inlined within the update method. The maximum length is 102400 bytes (100 KiB).
      - `contentDataRef` UploadItemRef — Represents an upload session reference. This reference is created via upload method. This reference is valid for 30 days after its creation. Updating of item content may refer to this uploaded content via contentDataRef.
        - `name` string — The name of the content reference. The maximum length is 2048 characters.
    - `acl` ItemAcl — Access control list information for the item. For more information see [Map ACLs](https://developers.google.com/workspace/cloud-search/docs/guides/acls).
      - `aclInheritanceType` 'NOT_APPLICABLE' | 'CHILD_OVERRIDE' | 'PARENT_OVERRIDE' | 'BOTH_PERMIT' — Sets the type of access rules to apply when an item inherits its ACL from a parent. This should always be set in tandem with the inheritAclFrom field. Also, when the inheritAclFrom field is set, this field should be set to a valid AclInheritanceType.
      - `owners` Principal[] — Optional. List of owners for the item. This field has no bearing on document access permissions. It does, however, offer a slight ranking boosts items where the querying user is an owner. The maximum number of elements is 5.
        - `gsuitePrincipal` GSuitePrincipal
          - `gsuiteUserEmail` string — This principal references a Google Workspace user account.
          - `gsuiteGroupEmail` string — This principal references a Google Workspace group name.
          - `gsuiteDomain` boolean — This principal represents all users of the Google Workspace domain of the customer.
        - `groupResourceName` string — This principal is a group identified using an external identity. The name field must specify the group resource name with this format: identitysources/{source_id}/groups/{ID}
        - `userResourceName` string — This principal is a user identified using an external identity. The name field must specify the user resource name with this format: identitysources/{source_id}/users/{ID}
      - `deniedReaders` Principal[] — List of principals who are explicitly denied access to the item in search results. While principals are denied access by default, use denied readers to handle exceptions and override the list allowed readers. The maximum number of elements is 100.
        - `gsuitePrincipal` GSuitePrincipal
          - `gsuiteUserEmail` string — This principal references a Google Workspace user account.
          - `gsuiteGroupEmail` string — This principal references a Google Workspace group name.
          - `gsuiteDomain` boolean — This principal represents all users of the Google Workspace domain of the customer.
        - `groupResourceName` string — This principal is a group identified using an external identity. The name field must specify the group resource name with this format: identitysources/{source_id}/groups/{ID}
        - `userResourceName` string — This principal is a user identified using an external identity. The name field must specify the user resource name with this format: identitysources/{source_id}/users/{ID}
      - `inheritAclFrom` string — The name of the item to inherit the Access Permission List (ACL) from. Note: ACL inheritance *only* provides access permissions to child items and does not define structural relationships, nor does it provide convenient ways to delete large groups of items. Deleting an ACL parent from the index only alters the access permissions of child items that reference the parent in the inheritAclFrom field. The item is still in the index, but may not visible in search results. By contrast, deletion of a container item also deletes all items that reference the container via the containerName field. The maximum length for this field is 1536 characters.
      - `readers` Principal[] — List of principals who are allowed to see the item in search results. Optional if inheriting permissions from another item or if the item is not intended to be visible, such as virtual containers. The maximum number of elements is 1000.
        - `gsuitePrincipal` GSuitePrincipal
          - `gsuiteUserEmail` string — This principal references a Google Workspace user account.
          - `gsuiteGroupEmail` string — This principal references a Google Workspace group name.
          - `gsuiteDomain` boolean — This principal represents all users of the Google Workspace domain of the customer.
        - `groupResourceName` string — This principal is a group identified using an external identity. The name field must specify the group resource name with this format: identitysources/{source_id}/groups/{ID}
        - `userResourceName` string — This principal is a user identified using an external identity. The name field must specify the user resource name with this format: identitysources/{source_id}/users/{ID}
    - `payload` string, byte — Additional state connector can store for this item. The maximum length is 10000 bytes.
    - `version` string, byte — Required. The indexing system stores the version from the datasource as a byte string and compares the Item version in the index to the version of the queued Item using lexical ordering. Cloud Search Indexing won't index or delete any queued item with a version value that is less than or equal to the version of the currently indexed item. The maximum length for this field is 1024 bytes. For information on how item version affects the deletion process, refer to [Handle revisions after manual deletes](https://developers.google.com/workspace/cloud-search/docs/guides/operations).
    - `name` string — The name of the Item. Format: datasources/{source_id}/items/{item_id} This is a required field. The maximum length is 1536 characters.
    - `structuredData` ItemStructuredData — Available structured data fields for the item.
      - `object` StructuredDataObject — A structured data object consisting of named properties.
        - `properties` NamedProperty[] — The properties for the object. The maximum number of elements is 1000.
          - `objectValues` ObjectValues — List of object values.
            - `values` StructuredDataObject[]
          - `dateValues` DateValues — List of date values.
            - `values` Date[]
              - …
          - `name` string — The name of the property. This name should correspond to the name of the property that was registered for object definition in the schema. The maximum allowable length for this property is 256 characters.
          - `integerValues` IntegerValues — List of integer values.
            - `values` string[]
          - `enumValues` EnumValues — List of enum values.
            - `values` string[] — The maximum allowable length for string values is 32 characters.
          - `htmlValues` HtmlValues — List of html values.
            - `values` string[] — The maximum allowable length for html values is 2048 characters.
          - `doubleValues` DoubleValues — List of double values.
            - `values` number[]
          - `textValues` TextValues — List of text values.
            - `values` string[] — The maximum allowable length for text values is 2048 characters.
          - `timestampValues` TimestampValues — List of timestamp values.
            - `values` string[]
          - `booleanValue` boolean
      - `hash` string — Hashing value provided by the API caller. This can be used with the items.push method to calculate modified state. The maximum length is 2048 characters.
    - `status` ItemStatus — This contains item's status and any errors.
      - `code` 'CODE_UNSPECIFIED' | 'ERROR' | 'MODIFIED' | 'NEW_ITEM' | 'ACCEPTED' — Status code.
      - `processingErrors` ProcessingError[] — Error details in case the item is in ERROR state.
        - `errorMessage` string — The description of the error.
        - `code` 'PROCESSING_ERROR_CODE_UNSPECIFIED' | 'MALFORMED_REQUEST' | 'UNSUPPORTED_CONTENT_FORMAT' | 'INDIRECT_BROKEN_ACL' | 'ACL_CYCLE' — Error code indicating the nature of the error.
        - `fieldViolations` FieldViolation[] — In case the item fields are invalid, this field contains the details about the validation errors.
          - `description` string — The description of the error.
          - `field` string — Path of field with violation.
      - `repositoryErrors` RepositoryError[] — Repository error reported by connector.
        - `type` 'UNKNOWN' | 'NETWORK_ERROR' | 'DNS_ERROR' | 'CONNECTION_ERROR' | 'AUTHENTICATION_ERROR' | 'AUTHORIZATION_ERROR' | 'SERVER_ERROR' | 'QUOTA_EXCEEDED' | 'SERVICE_UNAVAILABLE' | 'CLIENT_ERROR' — The type of error.
        - `errorMessage` string — Message that describes the error. The maximum allowable length of the message is 8192 characters.
        - `httpStatusCode` integer — Error codes. Matches the definition of HTTP status codes.
    - `metadata` ItemMetadata — Available metadata fields for the item.
      - `sourceRepositoryUrl` string — Link to the source repository serving the data. Seach results apply this link to the title. Whitespace or special characters may cause Cloud Seach result links to trigger a redirect notice; to avoid this, encode the URL. The maximum length is 2048 characters.
      - `contextAttributes` ContextAttribute[] — A set of named attributes associated with the item. This can be used for influencing the ranking of the item based on the context in the request. The maximum number of elements is 10.
        - `name` string — The name of the attribute. It should not be empty. The maximum length is 32 characters. The name must start with a letter and can only contain letters (A-Z, a-z) or numbers (0-9). The name will be normalized (lower-cased) before being matched.
        - `values` string[] — Text values of the attribute. The maximum number of elements is 10. The maximum length of an element in the array is 32 characters. The value will be normalized (lower-cased) before being matched.
      - `contentLanguage` string — The BCP-47 language code for the item, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. The maximum length is 32 characters.
      - `keywords` string[] — Additional keywords or phrases that should match the item. Used internally for user generated content. The maximum number of elements is 100. The maximum length is 8192 characters.
      - `createTime` string, google-datetime — The time when the item was created in the source repository.
      - `objectType` string — The type of the item. This should correspond to the name of an object definition in the schema registered for the data source. For example, if the schema for the data source contains an object definition with name 'document', then item indexing requests for objects of that type should set objectType to 'document'. The maximum length is 256 characters.
      - `hash` string — Hashing value provided by the API caller. This can be used with the items.push method to calculate modified state. The maximum length is 2048 characters.
      - `searchQualityMetadata` SearchQualityMetadata — Additional search quality metadata of the item.
        - `quality` number, double — An indication of the quality of the item, used to influence search quality. Value should be between 0.0 (lowest quality) and 1.0 (highest quality). The default value is 0.0.
      - `containerName` string — The name of the container for this item. Deletion of the container item leads to automatic deletion of this item. Note: ACLs are not inherited from a container item. To provide ACL inheritance for an item, use the inheritAclFrom field. The maximum length is 1536 characters.
      - `title` string — The title of the item. If given, this will be the displayed title of the Search result. The maximum length is 2048 characters.
      - `updateTime` string, google-datetime — The time when the item was last modified in the source repository.
      - `mimeType` string — The original mime-type of ItemContent.content in the source repository. The maximum length is 256 characters.
      - `interactions` Interaction[] — A list of interactions for the item. Interactions are used to improve Search quality, but are not exposed to end users. The maximum number of elements is 1000.
        - `type` 'UNSPECIFIED' | 'VIEW' | 'EDIT'
        - `interactionTime` string, google-datetime — The time when the user acted on the item. If multiple actions of the same type exist for a single user, only the most recent action is recorded.
        - `principal` Principal — Reference to a user, group, or domain.
          - `gsuitePrincipal` GSuitePrincipal
            - `gsuiteUserEmail` string — This principal references a Google Workspace user account.
            - `gsuiteGroupEmail` string — This principal references a Google Workspace group name.
            - `gsuiteDomain` boolean — This principal represents all users of the Google Workspace domain of the customer.
          - `groupResourceName` string — This principal is a group identified using an external identity. The name field must specify the group resource name with this format: identitysources/{source_id}/groups/{ID}
          - `userResourceName` string — This principal is a user identified using an external identity. The name field must specify the user resource name with this format: identitysources/{source_id}/users/{ID}
    - `queue` string — Queue this item belongs to. The maximum length is 100 characters.

## Response `200`

Successful response

---

[API](https://skmtc.dev/google/apis/cloudsearch.md) · [All operations](https://skmtc.dev/google/apis/cloudsearch/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/google/cloudsearch/revisions/d64d6afc59a6/schema)
