Method: projects.locations.agents.sessions.matchIntent

Returns preliminary intent match results, doesn't change the session status.

HTTP request

POST https://{endpoint}/v3/{session=projects/*/locations/*/agents/*/sessions/*}:matchIntent

Where {endpoint} is one of the supported service endpoints.

The URLs use gRPC Transcoding syntax.

Path parameters



Required. The name of the session this query is sent to. Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/sessions/<Session ID> or projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/environments/<Environment ID>/sessions/<Session ID>. If Environment ID is not specified, we assume default 'draft' environment. It's up to the API caller to choose an appropriate Session ID. It can be a random number or some type of session identifiers (preferably hashed). The length of the Session ID must not exceed 36 characters.

For more information, see the sessions guide.

Authorization requires the following IAM permission on the specified resource session:

  • dialogflow.sessions.detectIntent

Request body

The request body contains data with the following structure:

JSON representation
  "queryParams": {
    object (QueryParameters)
  "queryInput": {
    object (QueryInput)
  "persistParameterChanges": boolean

object (QueryParameters)

The parameters of this query.


object (QueryInput)

Required. The input specification.



Persist session parameter changes from queryParams.

Response body

If successful, the response body contains an instance of MatchIntentResponse.

Authorization scopes

Requires one of the following OAuth scopes:


For more information, see the Authentication Overview.