Dialogflow API

Builds conversational interfaces (for example, chatbots, and voice-powered apps and devices).

Service: dialogflow.googleapis.com

To call this service, we recommend that you use the Google-provided client libraries. If your application needs to use your own libraries to call this service, use the following information when you make the API requests.

Discovery document

A Discovery Document is a machine-readable specification for describing and consuming REST APIs. It is used to build client libraries, IDE plugins, and other tools that interact with Google APIs. One service may provide multiple discovery documents. This service provides the following discovery document:

Service endpoint

A service endpoint is a base URL that specifies the network address of an API service. One service might have multiple service endpoints. This service has the following service endpoint and all URIs below are relative to this service endpoint:

  • https://dialogflow.googleapis.com

REST Resource: v2beta1.projects

Methods
deleteAgent DELETE /v2beta1/{parent=projects/*}/agent
Deletes the specified agent.
getAgent GET /v2beta1/{parent=projects/*}/agent
Retrieves the specified agent.
setAgent POST /v2beta1/{agent.parent=projects/*}/agent
Creates/updates the specified agent.

REST Resource: v2beta1.projects.agent

Methods
export POST /v2beta1/{parent=projects/*}/agent:export
Exports the specified agent to a ZIP file.
getFulfillment GET /v2beta1/{name=projects/*/agent/fulfillment}
Retrieves the fulfillment.
getValidationResult GET /v2beta1/{parent=projects/*}/agent/validationResult
Gets agent validation result.
import POST /v2beta1/{parent=projects/*}/agent:import
Imports the specified agent from a ZIP file.
restore POST /v2beta1/{parent=projects/*}/agent:restore
Restores the specified agent from a ZIP file.
search GET /v2beta1/{parent=projects/*}/agent:search
Returns the list of agents.
train POST /v2beta1/{parent=projects/*}/agent:train
Trains the specified agent.
updateFulfillment PATCH /v2beta1/{fulfillment.name=projects/*/agent/fulfillment}
Updates the fulfillment.

REST Resource: v2beta1.projects.agent.entityTypes

Methods
batchDelete POST /v2beta1/{parent=projects/*/agent}/entityTypes:batchDelete
Deletes entity types in the specified agent.
batchUpdate POST /v2beta1/{parent=projects/*/agent}/entityTypes:batchUpdate
Updates/Creates multiple entity types in the specified agent.
create POST /v2beta1/{parent=projects/*/agent}/entityTypes
Creates an entity type in the specified agent.
delete DELETE /v2beta1/{name=projects/*/agent/entityTypes/*}
Deletes the specified entity type.
get GET /v2beta1/{name=projects/*/agent/entityTypes/*}
Retrieves the specified entity type.
list GET /v2beta1/{parent=projects/*/agent}/entityTypes
Returns the list of all entity types in the specified agent.
patch PATCH /v2beta1/{entityType.name=projects/*/agent/entityTypes/*}
Updates the specified entity type.

REST Resource: v2beta1.projects.agent.entityTypes.entities

Methods
batchCreate POST /v2beta1/{parent=projects/*/agent/entityTypes/*}/entities:batchCreate
Creates multiple new entities in the specified entity type.
batchDelete POST /v2beta1/{parent=projects/*/agent/entityTypes/*}/entities:batchDelete
Deletes entities in the specified entity type.
batchUpdate POST /v2beta1/{parent=projects/*/agent/entityTypes/*}/entities:batchUpdate
Updates or creates multiple entities in the specified entity type.

REST Resource: v2beta1.projects.agent.environments

Methods
list GET /v2beta1/{parent=projects/*/agent}/environments
Returns the list of all non-draft environments of the specified agent.

REST Resource: v2beta1.projects.agent.environments.users.sessions

Methods
deleteContexts DELETE /v2beta1/{parent=projects/*/agent/environments/*/users/*/sessions/*}/contexts
Deletes all active contexts in the specified session.
detectIntent POST /v2beta1/{session=projects/*/agent/environments/*/users/*/sessions/*}:detectIntent
Processes a natural language query and returns structured, actionable data as a result.

REST Resource: v2beta1.projects.agent.environments.users.sessions.contexts

Methods
create POST /v2beta1/{parent=projects/*/agent/environments/*/users/*/sessions/*}/contexts
Creates a context.
delete DELETE /v2beta1/{name=projects/*/agent/environments/*/users/*/sessions/*/contexts/*}
Deletes the specified context.
get GET /v2beta1/{name=projects/*/agent/environments/*/users/*/sessions/*/contexts/*}
Retrieves the specified context.
list GET /v2beta1/{parent=projects/*/agent/environments/*/users/*/sessions/*}/contexts
Returns the list of all contexts in the specified session.
patch PATCH /v2beta1/{context.name=projects/*/agent/environments/*/users/*/sessions/*/contexts/*}
Updates the specified context.

REST Resource: v2beta1.projects.agent.environments.users.sessions.entityTypes

Methods
create POST /v2beta1/{parent=projects/*/agent/environments/*/users/*/sessions/*}/entityTypes
Creates a session entity type.
delete DELETE /v2beta1/{name=projects/*/agent/environments/*/users/*/sessions/*/entityTypes/*}
Deletes the specified session entity type.
get GET /v2beta1/{name=projects/*/agent/environments/*/users/*/sessions/*/entityTypes/*}
Retrieves the specified session entity type.
list GET /v2beta1/{parent=projects/*/agent/environments/*/users/*/sessions/*}/entityTypes
Returns the list of all session entity types in the specified session.
patch PATCH /v2beta1/{sessionEntityType.name=projects/*/agent/environments/*/users/*/sessions/*/entityTypes/*}
Updates the specified session entity type.

REST Resource: v2beta1.projects.agent.intents

Methods
batchDelete POST /v2beta1/{parent=projects/*/agent}/intents:batchDelete
Deletes intents in the specified agent.
batchUpdate POST /v2beta1/{parent=projects/*/agent}/intents:batchUpdate
Updates/Creates multiple intents in the specified agent.
create POST /v2beta1/{parent=projects/*/agent}/intents
Creates an intent in the specified agent.
delete DELETE /v2beta1/{name=projects/*/agent/intents/*}
Deletes the specified intent and its direct or indirect followup intents.
get GET /v2beta1/{name=projects/*/agent/intents/*}
Retrieves the specified intent.
list GET /v2beta1/{parent=projects/*/agent}/intents
Returns the list of all intents in the specified agent.
patch PATCH /v2beta1/{intent.name=projects/*/agent/intents/*}
Updates the specified intent.

REST Resource: v2beta1.projects.agent.knowledgeBases

Methods
create POST /v2beta1/{parent=projects/*/agent}/knowledgeBases
Creates a knowledge base.
delete DELETE /v2beta1/{name=projects/*/agent/knowledgeBases/*}
Deletes the specified knowledge base.
get GET /v2beta1/{name=projects/*/agent/knowledgeBases/*}
Retrieves the specified knowledge base.
list GET /v2beta1/{parent=projects/*/agent}/knowledgeBases
Returns the list of all knowledge bases of the specified agent.
patch PATCH /v2beta1/{knowledgeBase.name=projects/*/agent/knowledgeBases/*}
Updates the specified knowledge base.

REST Resource: v2beta1.projects.agent.knowledgeBases.documents

Methods
create POST /v2beta1/{parent=projects/*/agent/knowledgeBases/*}/documents
Creates a new document.
delete DELETE /v2beta1/{name=projects/*/agent/knowledgeBases/*/documents/*}
Deletes the specified document.
get GET /v2beta1/{name=projects/*/agent/knowledgeBases/*/documents/*}
Retrieves the specified document.
list GET /v2beta1/{parent=projects/*/agent/knowledgeBases/*}/documents
Returns the list of all documents of the knowledge base.
patch PATCH /v2beta1/{document.name=projects/*/agent/knowledgeBases/*/documents/*}
Updates the specified document.
reload POST /v2beta1/{name=projects/*/agent/knowledgeBases/*/documents/*}:reload
Reloads the specified document from its specified source, content_uri or content.

REST Resource: v2beta1.projects.agent.sessions

Methods
deleteContexts DELETE /v2beta1/{parent=projects/*/agent/sessions/*}/contexts
Deletes all active contexts in the specified session.
detectIntent POST /v2beta1/{session=projects/*/agent/sessions/*}:detectIntent
Processes a natural language query and returns structured, actionable data as a result.

REST Resource: v2beta1.projects.agent.sessions.contexts

Methods
create POST /v2beta1/{parent=projects/*/agent/sessions/*}/contexts
Creates a context.
delete DELETE /v2beta1/{name=projects/*/agent/sessions/*/contexts/*}
Deletes the specified context.
get GET /v2beta1/{name=projects/*/agent/sessions/*/contexts/*}
Retrieves the specified context.
list GET /v2beta1/{parent=projects/*/agent/sessions/*}/contexts
Returns the list of all contexts in the specified session.
patch PATCH /v2beta1/{context.name=projects/*/agent/sessions/*/contexts/*}
Updates the specified context.

REST Resource: v2beta1.projects.agent.sessions.entityTypes

Methods
create POST /v2beta1/{parent=projects/*/agent/sessions/*}/entityTypes
Creates a session entity type.
delete DELETE /v2beta1/{name=projects/*/agent/sessions/*/entityTypes/*}
Deletes the specified session entity type.
get GET /v2beta1/{name=projects/*/agent/sessions/*/entityTypes/*}
Retrieves the specified session entity type.
list GET /v2beta1/{parent=projects/*/agent/sessions/*}/entityTypes
Returns the list of all session entity types in the specified session.
patch PATCH /v2beta1/{sessionEntityType.name=projects/*/agent/sessions/*/entityTypes/*}
Updates the specified session entity type.

REST Resource: v2beta1.projects.knowledgeBases

Methods
create POST /v2beta1/{parent=projects/*}/knowledgeBases
Creates a knowledge base.
delete DELETE /v2beta1/{name=projects/*/knowledgeBases/*}
Deletes the specified knowledge base.
get GET /v2beta1/{name=projects/*/knowledgeBases/*}
Retrieves the specified knowledge base.
list GET /v2beta1/{parent=projects/*}/knowledgeBases
Returns the list of all knowledge bases of the specified agent.
patch PATCH /v2beta1/{knowledgeBase.name=projects/*/knowledgeBases/*}
Updates the specified knowledge base.

REST Resource: v2beta1.projects.knowledgeBases.documents

Methods
create POST /v2beta1/{parent=projects/*/knowledgeBases/*}/documents
Creates a new document.
delete DELETE /v2beta1/{name=projects/*/knowledgeBases/*/documents/*}
Deletes the specified document.
get GET /v2beta1/{name=projects/*/knowledgeBases/*/documents/*}
Retrieves the specified document.
list GET /v2beta1/{parent=projects/*/knowledgeBases/*}/documents
Returns the list of all documents of the knowledge base.
patch PATCH /v2beta1/{document.name=projects/*/knowledgeBases/*/documents/*}
Updates the specified document.
reload POST /v2beta1/{name=projects/*/knowledgeBases/*/documents/*}:reload
Reloads the specified document from its specified source, content_uri or content.

REST Resource: v2beta1.projects.locations

Methods
deleteAgent DELETE /v2beta1/{parent=projects/*/locations/*}/agent
Deletes the specified agent.
getAgent GET /v2beta1/{parent=projects/*/locations/*}/agent
Retrieves the specified agent.
setAgent POST /v2beta1/{agent.parent=projects/*/locations/*}/agent
Creates/updates the specified agent.

REST Resource: v2beta1.projects.locations.agent

Methods
export POST /v2beta1/{parent=projects/*/locations/*}/agent:export
Exports the specified agent to a ZIP file.
getFulfillment GET /v2beta1/{name=projects/*/locations/*/agent/fulfillment}
Retrieves the fulfillment.
getValidationResult GET /v2beta1/{parent=projects/*/locations/*}/agent/validationResult
Gets agent validation result.
import POST /v2beta1/{parent=projects/*/locations/*}/agent:import
Imports the specified agent from a ZIP file.
restore POST /v2beta1/{parent=projects/*/locations/*}/agent:restore
Restores the specified agent from a ZIP file.
search GET /v2beta1/{parent=projects/*/locations/*}/agent:search
Returns the list of agents.
train POST /v2beta1/{parent=projects/*/locations/*}/agent:train
Trains the specified agent.
updateFulfillment PATCH /v2beta1/{fulfillment.name=projects/*/locations/*/agent/fulfillment}
Updates the fulfillment.

REST Resource: v2beta1.projects.locations.agent.entityTypes

Methods
batchDelete POST /v2beta1/{parent=projects/*/locations/*/agent}/entityTypes:batchDelete
Deletes entity types in the specified agent.
batchUpdate POST /v2beta1/{parent=projects/*/locations/*/agent}/entityTypes:batchUpdate
Updates/Creates multiple entity types in the specified agent.
create POST /v2beta1/{parent=projects/*/locations/*/agent}/entityTypes
Creates an entity type in the specified agent.
delete DELETE /v2beta1/{name=projects/*/locations/*/agent/entityTypes/*}
Deletes the specified entity type.
get GET /v2beta1/{name=projects/*/locations/*/agent/entityTypes/*}
Retrieves the specified entity type.
list GET /v2beta1/{parent=projects/*/locations/*/agent}/entityTypes
Returns the list of all entity types in the specified agent.
patch PATCH /v2beta1/{entityType.name=projects/*/locations/*/agent/entityTypes/*}
Updates the specified entity type.

REST Resource: v2beta1.projects.locations.agent.entityTypes.entities

Methods
batchCreate POST /v2beta1/{parent=projects/*/locations/*/agent/entityTypes/*}/entities:batchCreate
Creates multiple new entities in the specified entity type.
batchDelete POST /v2beta1/{parent=projects/*/locations/*/agent/entityTypes/*}/entities:batchDelete
Deletes entities in the specified entity type.
batchUpdate POST /v2beta1/{parent=projects/*/locations/*/agent/entityTypes/*}/entities:batchUpdate
Updates or creates multiple entities in the specified entity type.

REST Resource: v2beta1.projects.locations.agent.environments

Methods
list GET /v2beta1/{parent=projects/*/locations/*/agent}/environments
Returns the list of all non-draft environments of the specified agent.

REST Resource: v2beta1.projects.locations.agent.environments.users.sessions

Methods
deleteContexts DELETE /v2beta1/{parent=projects/*/locations/*/agent/environments/*/users/*/sessions/*}/contexts
Deletes all active contexts in the specified session.
detectIntent POST /v2beta1/{session=projects/*/locations/*/agent/environments/*/users/*/sessions/*}:detectIntent
Processes a natural language query and returns structured, actionable data as a result.

REST Resource: v2beta1.projects.locations.agent.environments.users.sessions.contexts

Methods
create POST /v2beta1/{parent=projects/*/locations/*/agent/environments/*/users/*/sessions/*}/contexts
Creates a context.
delete DELETE /v2beta1/{name=projects/*/locations/*/agent/environments/*/users/*/sessions/*/contexts/*}
Deletes the specified context.
get GET /v2beta1/{name=projects/*/locations/*/agent/environments/*/users/*/sessions/*/contexts/*}
Retrieves the specified context.
list GET /v2beta1/{parent=projects/*/locations/*/agent/environments/*/users/*/sessions/*}/contexts
Returns the list of all contexts in the specified session.
patch PATCH /v2beta1/{context.name=projects/*/locations/*/agent/environments/*/users/*/sessions/*/contexts/*}
Updates the specified context.

REST Resource: v2beta1.projects.locations.agent.environments.users.sessions.entityTypes

Methods
create POST /v2beta1/{parent=projects/*/locations/*/agent/environments/*/users/*/sessions/*}/entityTypes
Creates a session entity type.
delete DELETE /v2beta1/{name=projects/*/locations/*/agent/environments/*/users/*/sessions/*/entityTypes/*}
Deletes the specified session entity type.
get GET /v2beta1/{name=projects/*/locations/*/agent/environments/*/users/*/sessions/*/entityTypes/*}
Retrieves the specified session entity type.
list GET /v2beta1/{parent=projects/*/locations/*/agent/environments/*/users/*/sessions/*}/entityTypes
Returns the list of all session entity types in the specified session.
patch PATCH /v2beta1/{sessionEntityType.name=projects/*/locations/*/agent/environments/*/users/*/sessions/*/entityTypes/*}
Updates the specified session entity type.

REST Resource: v2beta1.projects.locations.agent.intents

Methods
batchDelete POST /v2beta1/{parent=projects/*/locations/*/agent}/intents:batchDelete
Deletes intents in the specified agent.
batchUpdate POST /v2beta1/{parent=projects/*/locations/*/agent}/intents:batchUpdate
Updates/Creates multiple intents in the specified agent.
create POST /v2beta1/{parent=projects/*/locations/*/agent}/intents
Creates an intent in the specified agent.
delete DELETE /v2beta1/{name=projects/*/locations/*/agent/intents/*}
Deletes the specified intent and its direct or indirect followup intents.
get GET /v2beta1/{name=projects/*/locations/*/agent/intents/*}
Retrieves the specified intent.
list GET /v2beta1/{parent=projects/*/locations/*/agent}/intents
Returns the list of all intents in the specified agent.
patch PATCH /v2beta1/{intent.name=projects/*/locations/*/agent/intents/*}
Updates the specified intent.

REST Resource: v2beta1.projects.locations.agent.sessions

Methods
deleteContexts DELETE /v2beta1/{parent=projects/*/locations/*/agent/sessions/*}/contexts
Deletes all active contexts in the specified session.
detectIntent POST /v2beta1/{session=projects/*/locations/*/agent/sessions/*}:detectIntent
Processes a natural language query and returns structured, actionable data as a result.

REST Resource: v2beta1.projects.locations.agent.sessions.contexts

Methods
create POST /v2beta1/{parent=projects/*/locations/*/agent/sessions/*}/contexts
Creates a context.
delete DELETE /v2beta1/{name=projects/*/locations/*/agent/sessions/*/contexts/*}
Deletes the specified context.
get GET /v2beta1/{name=projects/*/locations/*/agent/sessions/*/contexts/*}
Retrieves the specified context.
list GET /v2beta1/{parent=projects/*/locations/*/agent/sessions/*}/contexts
Returns the list of all contexts in the specified session.
patch PATCH /v2beta1/{context.name=projects/*/locations/*/agent/sessions/*/contexts/*}
Updates the specified context.

REST Resource: v2beta1.projects.locations.agent.sessions.entityTypes

Methods
create POST /v2beta1/{parent=projects/*/locations/*/agent/sessions/*}/entityTypes
Creates a session entity type.
delete DELETE /v2beta1/{name=projects/*/locations/*/agent/sessions/*/entityTypes/*}
Deletes the specified session entity type.
get GET /v2beta1/{name=projects/*/locations/*/agent/sessions/*/entityTypes/*}
Retrieves the specified session entity type.
list GET /v2beta1/{parent=projects/*/locations/*/agent/sessions/*}/entityTypes
Returns the list of all session entity types in the specified session.
patch PATCH /v2beta1/{sessionEntityType.name=projects/*/locations/*/agent/sessions/*/entityTypes/*}
Updates the specified session entity type.

REST Resource: v2beta1.projects.locations.knowledgeBases

Methods
create POST /v2beta1/{parent=projects/*/locations/*}/knowledgeBases
Creates a knowledge base.
delete DELETE /v2beta1/{name=projects/*/locations/*/knowledgeBases/*}
Deletes the specified knowledge base.
get GET /v2beta1/{name=projects/*/locations/*/knowledgeBases/*}
Retrieves the specified knowledge base.
list GET /v2beta1/{parent=projects/*/locations/*}/knowledgeBases
Returns the list of all knowledge bases of the specified agent.
patch PATCH /v2beta1/{knowledgeBase.name=projects/*/locations/*/knowledgeBases/*}
Updates the specified knowledge base.

REST Resource: v2beta1.projects.locations.knowledgeBases.documents

Methods
create POST /v2beta1/{parent=projects/*/locations/*/knowledgeBases/*}/documents
Creates a new document.
delete DELETE /v2beta1/{name=projects/*/locations/*/knowledgeBases/*/documents/*}
Deletes the specified document.
get GET /v2beta1/{name=projects/*/locations/*/knowledgeBases/*/documents/*}
Retrieves the specified document.
list GET /v2beta1/{parent=projects/*/locations/*/knowledgeBases/*}/documents
Returns the list of all documents of the knowledge base.
patch PATCH /v2beta1/{document.name=projects/*/locations/*/knowledgeBases/*/documents/*}
Updates the specified document.
reload POST /v2beta1/{name=projects/*/locations/*/knowledgeBases/*/documents/*}:reload
Reloads the specified document from its specified source, content_uri or content.

REST Resource: v2beta1.projects.locations.operations

Methods
cancel POST /v2beta1/{name=projects/*/locations/*/operations/*}:cancel
Starts asynchronous cancellation on a long-running operation.
get GET /v2beta1/{name=projects/*/locations/*/operations/*}
Gets the latest state of a long-running operation.
list GET /v2beta1/{name=projects/*/locations/*}/operations
Lists operations that match the specified filter in the request.

REST Resource: v2beta1.projects.operations

Methods
cancel POST /v2beta1/{name=projects/*/operations/*}:cancel
Starts asynchronous cancellation on a long-running operation.
get GET /v2beta1/{name=projects/*/operations/*}
Gets the latest state of a long-running operation.
list GET /v2beta1/{name=projects/*}/operations
Lists operations that match the specified filter in the request.