Long-running operations

Some methods of the Dialogflow API return a long-running operation. These methods are asynchronous, and the operation may not be completed when the method returns a response. You can check on the status or cancel operations.

Get an operation status

The following shows how to poll an operation's status. If you have many operations to check, you should rate limit your calls or use the list method instead.

REST

Call the get method for the Operations type.

Before using any of the request data, make the following replacements:

  • PROJECT_ID: your GCP project ID
  • OPERATION_ID: your operation ID
  • API_VERSION: either v2 or v2beta1

HTTP method and URL:

GET https://dialogflow.googleapis.com/API_VERSION/projects/my-gcp-project/operations/OPERATION_ID

To send your request, expand one of these options:

You should receive a JSON response similar to the following:

{
  "name": "projects/PROJECT_ID/operations/some-operation-name-OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.dialogflow.API_VERSION.SomeOperationType",
    "state": "DONE"
  },
  "done": true,
  ...
}

When the operation has completed, a state value of SUCCESSFUL is returned.

List and cancel operations

In addition to getting a specific operation, you can list and cancel operations. See the list and cancel methods for the Operations type.

The list results may contain operations unrelated to your current task, so be sure to filter the results.