Method: projects.locations.dataStores.completeQuery

Completes the specified user input with keyword suggestions.

HTTP request


The URL uses gRPC Transcoding syntax.

Path parameters



Required. The parent data store resource name for which the completion is performed, such as projects/*/locations/global/collections/default_collection/dataStores/default_data_store.

Query parameters



Required. The typeahead input used to fetch suggestions. Maximum length is 128 characters.



Selects data model of query suggestions for serving. Currently supported values:

  • document - Using suggestions generated from user-imported documents.
  • search-history - Using suggestions generated from the past history of SearchService.Search API calls. Do not use it when there is no traffic for Search API.
  • user-event - Using suggestions generated from user-imported search events.
  • document-completable - Using suggestions taken directly from user-imported document fields marked as completable.

Default values:

  • document is the default model for regular dataStores.
  • search-history is the default model for site search dataStores.


A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website.

This field should NOT have a fixed value such as unknown_visitor.

This should be the same identifier as UserEvent.user_pseudo_id and SearchRequest.user_pseudo_id.

The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.



Indicates if tail suggestions should be returned if there are no suggestions that match the full query. Even if set to true, if there are suggestions that match the full query, those are returned and no tail suggestions are returned.

Request body

The request body must be empty.

Response body

If successful, the response body contains an instance of CompleteQueryResponse.

Authorization scopes

Requires the following OAuth scope:


For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the dataStore resource:

  • discoveryengine.dataStores.completeQuery

For more information, see the IAM documentation.