Google.Cloud.DiscoveryEngine.V1 is a.NET client library for the Discovery Engine API.
Note:
This documentation is for version 1.9.0 of the library.
Some samples may not work with other versions.
Installation
Install the Google.Cloud.DiscoveryEngine.V1 package from NuGet. Add it to
your project in the normal way (for example by right-clicking on the
project in Visual Studio and choosing "Manage NuGet Packages...").
Authentication
When running on Google Cloud, no action needs to be taken to authenticate.
Otherwise, the simplest way of authenticating your API calls is to
set up Application Default Credentials.
The credentials will automatically be used to authenticate. See
Set up Application Default Credentials for more details.
Getting started
All operations are performed through the following client classes:
Create a client instance by calling the static Create or CreateAsync methods. Alternatively,
use the builder class associated with each client class (e.g. AssistantServiceClientBuilder for AssistantServiceClient)
as an easy way of specifying custom credentials, settings, or a custom endpoint. Clients are thread-safe,
and we recommend using a single instance across your entire application unless you have a particular need
to configure multiple client objects separately.
Using the REST (HTTP/1.1) transport
This library defaults to performing RPCs using gRPC using the binary Protocol Buffer wire format.
However, it also supports HTTP/1.1 and JSON, for situations where gRPC doesn't work as desired. (This is typically due to an incompatible proxy
or other network issue.) To create a client using HTTP/1.1, specify a RestGrpcAdapter reference for the GrpcAdapter property in the client builder.
Sample code:
var client = new AssistantServiceClientBuilder
{
GrpcAdapter = RestGrpcAdapter.Default
}.Build();
[[["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-08-28 UTC."],[[["\u003cp\u003e\u003ccode\u003eGoogle.Cloud.DiscoveryEngine.V1\u003c/code\u003e is a .NET client library for the Discovery Engine API, with the latest version being 1.6.0 as of this documentation.\u003c/p\u003e\n"],["\u003cp\u003eInstallation is easily managed through NuGet, and authentication is streamlined, especially within Google Cloud environments using Application Default Credentials.\u003c/p\u003e\n"],["\u003cp\u003eAll API operations are managed through various client classes like \u003ccode\u003eCompletionServiceClient\u003c/code\u003e and \u003ccode\u003eSearchServiceClient\u003c/code\u003e, with clients being thread-safe and reusable.\u003c/p\u003e\n"],["\u003cp\u003eThe library primarily uses gRPC, but also supports HTTP/1.1 and JSON, which can be enabled by specifying a \u003ccode\u003eRestGrpcAdapter\u003c/code\u003e reference in the client builder.\u003c/p\u003e\n"]]],[],null,["Version latestkeyboard_arrow_down\n\n- [1.9.0 (latest)](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest)\n- [1.8.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.8.0)\n- [1.7.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.7.0)\n- [1.6.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.6.0)\n- [1.5.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.5.0)\n- [1.4.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.4.0)\n- [1.3.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.3.0)\n- [1.2.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.2.0)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.1.0)\n- [1.0.0-beta06](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.0.0-beta06) \n\nGoogle.Cloud.DiscoveryEngine.V1\n===============================\n\n`Google.Cloud.DiscoveryEngine.V1` is a.NET client library for the [Discovery Engine API](https://cloud.google.com/discovery-engine/docs).\n\nNote:\nThis documentation is for version `1.9.0` of the library.\nSome samples may not work with other versions.\n\nInstallation\n------------\n\nInstall the `Google.Cloud.DiscoveryEngine.V1` package from NuGet. Add it to\nyour project in the normal way (for example by right-clicking on the\nproject in Visual Studio and choosing \"Manage NuGet Packages...\").\n\nAuthentication\n--------------\n\nWhen running on Google Cloud, no action needs to be taken to authenticate.\n\nOtherwise, the simplest way of authenticating your API calls is to\nset up Application Default Credentials.\nThe credentials will automatically be used to authenticate. See\n[Set up Application Default Credentials](https://cloud.google.com/docs/authentication/provide-credentials-adc) for more details.\n\nGetting started\n---------------\n\nAll operations are performed through the following client classes:\n\n- [AssistantServiceClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.AssistantServiceClient)\n- [CmekConfigServiceClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.CmekConfigServiceClient)\n- [CompletionServiceClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.CompletionServiceClient)\n- [ControlServiceClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.ControlServiceClient)\n- [ConversationalSearchServiceClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.ConversationalSearchServiceClient)\n- [DataStoreServiceClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.DataStoreServiceClient)\n- [DocumentServiceClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.DocumentServiceClient)\n- [EngineServiceClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.EngineServiceClient)\n- [GroundedGenerationServiceClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.GroundedGenerationServiceClient)\n- [IdentityMappingStoreServiceClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.IdentityMappingStoreServiceClient)\n- [ProjectServiceClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.ProjectServiceClient)\n- [RankServiceClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.RankServiceClient)\n- [RecommendationServiceClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.RecommendationServiceClient)\n- [SchemaServiceClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SchemaServiceClient)\n- [SearchServiceClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SearchServiceClient)\n- [SearchTuningServiceClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SearchTuningServiceClient)\n- [ServingConfigServiceClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.ServingConfigServiceClient)\n- [SessionServiceClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SessionServiceClient)\n- [SiteSearchEngineServiceClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.SiteSearchEngineServiceClient)\n- [UserEventServiceClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.UserEventServiceClient)\n- [UserLicenseServiceClient](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.UserLicenseServiceClient)\n\nCreate a client instance by calling the static `Create` or `CreateAsync` methods. Alternatively,\nuse the builder class associated with each client class (e.g. AssistantServiceClientBuilder for AssistantServiceClient)\nas an easy way of specifying custom credentials, settings, or a custom endpoint. Clients are thread-safe,\nand we recommend using a single instance across your entire application unless you have a particular need\nto configure multiple client objects separately.\n\n### Using the REST (HTTP/1.1) transport\n\nThis library defaults to performing RPCs using [gRPC](https://grpc.io/) using the binary [Protocol Buffer](https://protobuf.dev) wire format.\nHowever, it also supports HTTP/1.1 and JSON, for situations where gRPC doesn't work as desired. (This is typically due to an incompatible proxy\nor other network issue.) To create a client using HTTP/1.1, specify a `RestGrpcAdapter` reference for the `GrpcAdapter` property in the client builder.\nSample code: \n\n var client = new AssistantServiceClientBuilder\n {\n GrpcAdapter = RestGrpcAdapter.Default\n }.Build();\n\nFor more details, see the [transport selection](https://cloud.google.com/dotnet/docs/reference/help/transports) page."]]