Manages long-running operations with an API service.
When an API method normally takes long time to complete, it can be designed
to return [Operation][google.longrunning.Operation] to the client, and the client can use this
interface to receive the real response asynchronously by polling the
operation resource, or pass the operation resource to another API (such as
Google Cloud Pub/Sub API) to receive the response. Any API service that
returns long-running operations should implement theOperationsinterface
so developers can have a consistent client experience.
[[["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-09-04 UTC."],[[["\u003cp\u003eThe latest version available is 3.3.0, with previous versions ranging from 3.2.0 down to 2.2.0.\u003c/p\u003e\n"],["\u003cp\u003eThis documentation provides details on classes related to long-running operations, including \u003ccode\u003eCancelOperationRequest\u003c/code\u003e, \u003ccode\u003eDeleteOperationRequest\u003c/code\u003e, \u003ccode\u003eGetOperationRequest\u003c/code\u003e, \u003ccode\u003eListOperationsRequest\u003c/code\u003e, \u003ccode\u003eListOperationsResponse\u003c/code\u003e, and \u003ccode\u003eOperation\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eOperations\u003c/code\u003e class is utilized to manage long-running operations in API services, allowing clients to receive asynchronous responses.\u003c/p\u003e\n"],["\u003cp\u003eSeveral client-related classes are documented, such as \u003ccode\u003eOperationsClient\u003c/code\u003e, \u003ccode\u003eOperationsClientBuilder\u003c/code\u003e, and \u003ccode\u003eOperationsSettings\u003c/code\u003e, which help in configuring and managing interactions with long-running operations.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation outlines \u003ccode\u003eOperationInfo\u003c/code\u003e, which helps define the message types used for long running operations, as well as an \u003ccode\u003eOperationFailedException\u003c/code\u003e to handle long running operations that fail.\u003c/p\u003e\n"]]],[],null,["# Google.LongRunning - Namespace Google.LongRunning (3.3.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.3.0 (latest)](/dotnet/docs/reference/Google.LongRunning/latest/Google.LongRunning)\n- [3.2.0](/dotnet/docs/reference/Google.LongRunning/3.2.0/Google.LongRunning)\n- [3.1.0](/dotnet/docs/reference/Google.LongRunning/3.1.0/Google.LongRunning)\n- [3.0.0](/dotnet/docs/reference/Google.LongRunning/3.0.0/Google.LongRunning)\n- [2.3.0](/dotnet/docs/reference/Google.LongRunning/2.3.0/Google.LongRunning)\n- [2.2.0](/dotnet/docs/reference/Google.LongRunning/2.2.0/Google.LongRunning) \n\nClasses\n-------\n\n### [CancelOperationRequest](/dotnet/docs/reference/Google.LongRunning/latest/Google.LongRunning.CancelOperationRequest)\n\nThe request message for \\[Operations.CancelOperation\\]\\[google.longrunning.Operations.CancelOperation\\].\n\n### [DeleteOperationRequest](/dotnet/docs/reference/Google.LongRunning/latest/Google.LongRunning.DeleteOperationRequest)\n\nThe request message for \\[Operations.DeleteOperation\\]\\[google.longrunning.Operations.DeleteOperation\\].\n\n### [GetOperationRequest](/dotnet/docs/reference/Google.LongRunning/latest/Google.LongRunning.GetOperationRequest)\n\nThe request message for \\[Operations.GetOperation\\]\\[google.longrunning.Operations.GetOperation\\].\n\n### [ListOperationsRequest](/dotnet/docs/reference/Google.LongRunning/latest/Google.LongRunning.ListOperationsRequest)\n\nThe request message for \\[Operations.ListOperations\\]\\[google.longrunning.Operations.ListOperations\\].\n\n### [ListOperationsResponse](/dotnet/docs/reference/Google.LongRunning/latest/Google.LongRunning.ListOperationsResponse)\n\nThe response message for \\[Operations.ListOperations\\]\\[google.longrunning.Operations.ListOperations\\].\n\n### [Operation](/dotnet/docs/reference/Google.LongRunning/latest/Google.LongRunning.Operation)\n\nThis resource represents a long-running operation that is the result of a\nnetwork API call.\n\n### [OperationFailedException](/dotnet/docs/reference/Google.LongRunning/latest/Google.LongRunning.OperationFailedException)\n\nAn exception to indicate that a long-running operation failed.\n\n### [OperationInfo](/dotnet/docs/reference/Google.LongRunning/latest/Google.LongRunning.OperationInfo)\n\nA message representing the message types used by a long-running operation.\n\nExample:\n\nrpc LongRunningRecognize(LongRunningRecognizeRequest)\nreturns (google.longrunning.Operation) {\noption (google.longrunning.operation_info) = {\nresponse_type: \"LongRunningRecognizeResponse\"\nmetadata_type: \"LongRunningRecognizeMetadata\"\n};\n}\n\n### [Operation\\\u003cTResponse, TMetadata\\\u003e](/dotnet/docs/reference/Google.LongRunning/latest/Google.LongRunning.Operation-2)\n\nA long-running operation with an associated client, and which knows the expected response type.\n\n### [Operations](/dotnet/docs/reference/Google.LongRunning/latest/Google.LongRunning.Operations)\n\nManages long-running operations with an API service.\n\nWhen an API method normally takes long time to complete, it can be designed\nto return \\[Operation\\]\\[google.longrunning.Operation\\] to the client, and the client can use this\ninterface to receive the real response asynchronously by polling the\noperation resource, or pass the operation resource to another API (such as\nGoogle Cloud Pub/Sub API) to receive the response. Any API service that\nreturns long-running operations should implement the `Operations` interface\nso developers can have a consistent client experience.\n\n### [Operations.OperationsBase](/dotnet/docs/reference/Google.LongRunning/latest/Google.LongRunning.Operations.OperationsBase)\n\nBase class for server-side implementations of Operations\n\n### [Operations.OperationsClient](/dotnet/docs/reference/Google.LongRunning/latest/Google.LongRunning.Operations.OperationsClient)\n\nClient for Operations\n\n### [OperationsClient](/dotnet/docs/reference/Google.LongRunning/latest/Google.LongRunning.OperationsClient)\n\nOperations client wrapper, for convenient use.\n\n### [OperationsClientBuilder](/dotnet/docs/reference/Google.LongRunning/latest/Google.LongRunning.OperationsClientBuilder)\n\nBuilder class for [OperationsClient](/dotnet/docs/reference/Google.LongRunning/latest/Google.LongRunning.OperationsClient) to provide simple configuration of credentials, endpoint etc.\n\n### [OperationsClientImpl](/dotnet/docs/reference/Google.LongRunning/latest/Google.LongRunning.OperationsClientImpl)\n\nOperations client wrapper implementation, for convenient use.\n\n### [OperationsExtensions](/dotnet/docs/reference/Google.LongRunning/latest/Google.LongRunning.OperationsExtensions)\n\nHolder for extension identifiers generated from the top level of google/longrunning/operations.proto\n\n### [OperationsSettings](/dotnet/docs/reference/Google.LongRunning/latest/Google.LongRunning.OperationsSettings)\n\nSettings for [OperationsClient](/dotnet/docs/reference/Google.LongRunning/latest/Google.LongRunning.OperationsClient) instances.\n\n### [WaitOperationRequest](/dotnet/docs/reference/Google.LongRunning/latest/Google.LongRunning.WaitOperationRequest)\n\nThe request message for \\[Operations.WaitOperation\\]\\[google.longrunning.Operations.WaitOperation\\].\n\nEnums\n-----\n\n### [Operation.ResultOneofCase](/dotnet/docs/reference/Google.LongRunning/latest/Google.LongRunning.Operation.ResultOneofCase)\n\nEnum of possible cases for the \"result\" oneof."]]