Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause contexts and session entity types to be updated, which in turn might affect results of future queries.
If you might use Agent Assist or other CCAI products now or in the future, consider using AnalyzeContent instead of sessions.detectIntent. AnalyzeContent has additional functionality for Agent Assist and other CCAI products.
Required. The name of the session this query is sent to. Format: projects/<Project ID>/agent/sessions/<Session ID>, or projects/<Project ID>/agent/environments/<Environment ID>/users/<User
ID>/sessions/<Session ID>. If Environment ID is not specified, we assume default 'draft' environment (Environment ID might be referred to as environment name at some places). If User ID is not specified, we are using "-". It's up to the API caller to choose an appropriate Session ID and User Id. They can be a random number or some type of user and session identifiers (preferably hashed). The length of the Session ID and User ID must not exceed 36 characters.
Instructs the speech synthesizer how to generate the output audio. If this field is not set and agent-level speech synthesizer is not configured, no output audio is generated.
The natural language speech audio to be processed. This field should be populated iff queryInput is set to an input audio config. A single request can contain up to 1 minute of speech audio data.
[[["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 describes how to use the \u003ccode\u003edetectIntent\u003c/code\u003e method to process natural language queries and receive structured data, noting that it's non-idempotent due to potential updates to contexts and session entity types.\u003c/p\u003e\n"],["\u003cp\u003eThe HTTP request for \u003ccode\u003edetectIntent\u003c/code\u003e is a POST request to a specific endpoint, using gRPC Transcoding syntax, and includes a session path parameter to identify the query session.\u003c/p\u003e\n"],["\u003cp\u003eThe request body for \u003ccode\u003edetectIntent\u003c/code\u003e includes parameters like \u003ccode\u003equeryParams\u003c/code\u003e, \u003ccode\u003equeryInput\u003c/code\u003e, \u003ccode\u003eoutputAudioConfig\u003c/code\u003e, \u003ccode\u003eoutputAudioConfigMask\u003c/code\u003e, and \u003ccode\u003einputAudio\u003c/code\u003e to specify the query details and audio processing preferences.\u003c/p\u003e\n"],["\u003cp\u003eSuccessful requests to \u003ccode\u003edetectIntent\u003c/code\u003e return a \u003ccode\u003eDetectIntentResponse\u003c/code\u003e, which is the structured, actionable data resulting from the natural language query.\u003c/p\u003e\n"],["\u003cp\u003eUsing \u003ccode\u003edetectIntent\u003c/code\u003e requires proper authorization, using either the \u003ccode\u003ehttps://www.googleapis.com/auth/cloud-platform\u003c/code\u003e or \u003ccode\u003ehttps://www.googleapis.com/auth/dialogflow\u003c/code\u003e OAuth scopes.\u003c/p\u003e\n"]]],[],null,["# Method: projects.locations.agent.environments.users.sessions.detectIntent\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\nProcesses a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause contexts and session entity types to be updated, which in turn might affect results of future queries.\n\nIf you might use [Agent Assist](https://cloud.google.com/dialogflow/docs/#aa) or other CCAI products now or in the future, consider using [AnalyzeContent](/dialogflow/es/docs/reference/rest/v2/projects.conversations.participants/analyzeContent#google.cloud.dialogflow.v2.Participants.AnalyzeContent) instead of `sessions.detectIntent`. `AnalyzeContent` has additional functionality for Agent Assist and other CCAI products.\n\nNote: Always use agent versions for production traffic. See [Versions and environments](https://cloud.google.com/dialogflow/es/docs/agents-versions).\n\n### HTTP request\n\n`POST https://{endpoint}/v2/{session=projects/*/locations/*/agent/environments/*/users/*/sessions/*}:detectIntent`\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 [DetectIntentResponse](/dialogflow/es/docs/reference/rest/v2/DetectIntentResponse).\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)."]]