Manages long-running operations with an API service.
When an API method normally takes long time to complete, it can be designed to returnOperationto 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 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.
Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.
This resource represents a long-running operation that is the result of a network API call.
Fields
name
string
The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, thenameshould be a resource name ending withoperations/{unique_id}.
Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
done
bool
If the value isfalse, it means the operation is still in progress. Iftrue, the operation is completed, and eithererrororresponseis available.
Union fieldresult. The operation result, which can be either anerroror a validresponse. Ifdone==false, neithererrornorresponseis set. Ifdone==true, exactly one oferrororresponsecan be set. Some services might not provide the result.resultcan be only one of the following:
The normal, successful response of the operation. If the original method returns no data on success, such asDelete, the response isgoogle.protobuf.Empty. If the original method is standardGet/Create/Update, the response should be the resource. For other methods, the response should have the typeXxxResponse, whereXxxis the original method name. For example, if the original method name isTakeSnapshot(), the inferred response type isTakeSnapshotResponse.
[[["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-06-13 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eOperations\u003c/code\u003e interface manages long-running API tasks, allowing clients to asynchronously receive responses by polling or through other APIs like Pub/Sub.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eGetOperation\u003c/code\u003e retrieves the current status of a long-running operation, enabling clients to monitor progress at intervals using an authorized OAuth scope.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eGetOperationRequest\u003c/code\u003e specifies the name of the operation resource to retrieve via \u003ccode\u003eGetOperation\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eOperation\u003c/code\u003e resource represents a long-running operation's result and includes fields like \u003ccode\u003ename\u003c/code\u003e, \u003ccode\u003emetadata\u003c/code\u003e, and \u003ccode\u003edone\u003c/code\u003e, where done's boolean status reveals if the operation is still in progress or has completed with either an \u003ccode\u003eerror\u003c/code\u003e or a \u003ccode\u003eresponse\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Package google.longrunning\n\nIndex\n-----\n\n- [Operations](/artifact-registry/docs/reference/rpc/google.longrunning#google.longrunning.Operations) (interface)\n- [GetOperationRequest](/artifact-registry/docs/reference/rpc/google.longrunning#google.longrunning.GetOperationRequest) (message)\n- [Operation](/artifact-registry/docs/reference/rpc/google.longrunning#google.longrunning.Operation) (message)\n\nOperations\n----------\n\nManages long-running operations with an API service.\n\nWhen an API method normally takes long time to complete, it can be designed to return [Operation](/artifact-registry/docs/reference/rpc/google.longrunning#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 Pub/Sub API) to receive the response. Any API service that returns long-running operations should implement the `Operations` interface so developers can have a consistent client experience.\n\nGetOperationRequest\n-------------------\n\nThe request message for [Operations.GetOperation](/artifact-registry/docs/reference/rpc/google.longrunning#google.longrunning.Operations.GetOperation).\n\nOperation\n---------\n\nThis resource represents a long-running operation that is the result of a network API call."]]