Replaces the current agent version with a new one. All the intents and entity types in the older version are deleted. After the restore, the restored draft agent will be trained automatically (unless disabled in agent settings). However, once the restore is done, training may not be completed yet. Please call agent.train and wait for the operation it returns in order to train explicitly.
This method is a long-running operation. The returned Operation type has the following method-specific fields:
Required. The project that the agent to restore is associated with. Format: projects/<Project ID> or projects/<Project ID>/locations/<Location ID>.
Authorization requires the following IAM permission on the specified resource parent:
dialogflow.agents.restore
Request body
The request body contains data with the following structure:
JSON representation
{// Union field agent can be only one of the following:"agentUri": string,"agentContent": string// End of list of possible types for union field agent.}
Fields
Union field agent. Required. The agent to restore. agent can be only one of the following:
agentUri
string
The URI to a Google Cloud Storage file containing the agent to restore. Note: The URI must start with "gs://".
Dialogflow performs a read operation for the Cloud Storage object on the caller's behalf, so your request authentication must have read permissions for the object. For more information, see Dialogflow access control.
[[["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-27 UTC."],[[["\u003cp\u003eThis document outlines how to restore a Dialogflow agent from a ZIP file, replacing the current version and deleting older intents and entity types.\u003c/p\u003e\n"],["\u003cp\u003eRestoration is a long-running operation, and while it tracks completion of the restore, agent training may not be finished, necessitating a separate training call.\u003c/p\u003e\n"],["\u003cp\u003eThe HTTP request for agent restoration is a POST request to a specific endpoint with a defined URL structure using gRPC Transcoding syntax, including parameters to identify the target agent.\u003c/p\u003e\n"],["\u003cp\u003eThe request body requires either a Google Cloud Storage URI (\u003ccode\u003eagentUri\u003c/code\u003e) or a base64-encoded ZIP file content (\u003ccode\u003eagentContent\u003c/code\u003e) to define the agent to be restored.\u003c/p\u003e\n"],["\u003cp\u003eAuthorization for restoring an agent requires \u003ccode\u003edialogflow.agents.restore\u003c/code\u003e IAM permission and one of two OAuth scopes: either \u003ccode\u003ehttps://www.googleapis.com/auth/cloud-platform\u003c/code\u003e or \u003ccode\u003ehttps://www.googleapis.com/auth/dialogflow\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Method: projects.agent.restore\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n- [Try it!](#try-it)\n\nRestores the specified agent from a ZIP file.\n\nReplaces the current agent version with a new one. All the intents and entity types in the older version are deleted. After the restore, the restored draft agent will be trained automatically (unless disabled in agent settings). However, once the restore is done, training may not be completed yet. Please call [agent.train](/dialogflow/es/docs/reference/rest/v2beta1/projects.agent/train#google.cloud.dialogflow.v2beta1.Agents.TrainAgent) and wait for the operation it returns in order to train explicitly.\n\nThis method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The returned `Operation` type has the following method-specific fields:\n\n- `metadata`: An empty [Struct message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct)\n- `response`: An [Empty message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)\n\nThe operation only tracks when restoring is complete, not when it is done training.\n\nNote: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).\n\n### HTTP request\n\n`POST https://{endpoint}/v2beta1/{parent=projects/*}/agent:restore`\n\nWhere `{endpoint}` is one of the [supported service endpoints](/dialogflow/es/docs/reference/rest#rest_endpoints).\n\nThe URLs use [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n### Request body\n\nThe request body contains data with the following structure:\n\n### Response body\n\nIf successful, the response body contains an instance of [Operation](/dialogflow/es/docs/reference/rest/v2beta1/projects.locations.operations#Operation).\n\n### Authorization scopes\n\nRequires one of the following OAuth scopes:\n\n- `https://www.googleapis.com/auth/cloud-platform`\n- `\n https://www.googleapis.com/auth/dialogflow`\n\nFor more information, see the [Authentication Overview](/docs/authentication#authorization-gcp)."]]