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 method processes natural language queries to return structured data and is not idempotent, as it can update contexts and session entity types.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003edetectIntent\u003c/code\u003e method can be replaced with \u003ccode\u003eAnalyzeContent\u003c/code\u003e for Agent Assist and other CCAI product functionalities.\u003c/p\u003e\n"],["\u003cp\u003eThe HTTP request uses the \u003ccode\u003ePOST\u003c/code\u003e method with a specified URL format that includes path parameters such as \u003ccode\u003esession\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe request body must contain \u003ccode\u003equeryInput\u003c/code\u003e and can contain additional optional parameters such as \u003ccode\u003equeryParams\u003c/code\u003e, \u003ccode\u003eoutputAudioConfig\u003c/code\u003e, \u003ccode\u003eoutputAudioConfigMask\u003c/code\u003e, and \u003ccode\u003einputAudio\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eAuthorization for this method requires specific IAM permissions on the session resource and one of two OAuth scopes: \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.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/*/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)."]]