The Data Analytics API with Gemini (`geminidataanalytics.googleapis.com`) provides methods to query and analyze data by using natural language, and to create and manage the data agents that interact with your data in supported data sources. Developers should select the appropriate endpoint path based on their stability requirements.

- **v1:** Recommended for generally available features that can be integrated into production environments.
- **v1beta:** Recommended for integrating new features into production environments during their Preview period.
- **v1alpha:** Intended for testing new and upcoming features. These features are subject to change or removal, potentially requiring updates to your code.

Learn more about [Google Cloud product launch stages](https://cloud.google.com/products#product-launch-stages).

For detailed implementation guides, see the [Conversational Analytics API overview](https://docs.cloud.google.com/gemini/data-agents/conversational-analytics-api/overview.md.txt).

- [REST Resource: v1beta.a2a.projects.locations.dataAgents.v1](https://docs.cloud.google.com/gemini/data-agents/reference/rest.md.txt#v1beta.a2a.projects.locations.dataAgents.v1)
- [REST Resource: v1beta.a2a.projects.locations.dataAgents.v1.message](https://docs.cloud.google.com/gemini/data-agents/reference/rest.md.txt#v1beta.a2a.projects.locations.dataAgents.v1.message)
- [REST Resource: v1beta.projects.locations](https://docs.cloud.google.com/gemini/data-agents/reference/rest.md.txt#v1beta.projects.locations)
- [REST Resource: v1beta.projects.locations.conversations](https://docs.cloud.google.com/gemini/data-agents/reference/rest.md.txt#v1beta.projects.locations.conversations)
- [REST Resource: v1beta.projects.locations.conversations.messages](https://docs.cloud.google.com/gemini/data-agents/reference/rest.md.txt#v1beta.projects.locations.conversations.messages)
- [REST Resource: v1beta.projects.locations.dataAgents](https://docs.cloud.google.com/gemini/data-agents/reference/rest.md.txt#v1beta.projects.locations.dataAgents)
- [REST Resource: v1beta.projects.locations.operations](https://docs.cloud.google.com/gemini/data-agents/reference/rest.md.txt#v1beta.projects.locations.operations)
- [REST Resource: v1alpha.projects.locations](https://docs.cloud.google.com/gemini/data-agents/reference/rest.md.txt#v1alpha.projects.locations)
- [REST Resource: v1alpha.projects.locations.conversations](https://docs.cloud.google.com/gemini/data-agents/reference/rest.md.txt#v1alpha.projects.locations.conversations)
- [REST Resource: v1alpha.projects.locations.conversations.messages](https://docs.cloud.google.com/gemini/data-agents/reference/rest.md.txt#v1alpha.projects.locations.conversations.messages)
- [REST Resource: v1alpha.projects.locations.dataAgents](https://docs.cloud.google.com/gemini/data-agents/reference/rest.md.txt#v1alpha.projects.locations.dataAgents)
- [REST Resource: v1alpha.projects.locations.operations](https://docs.cloud.google.com/gemini/data-agents/reference/rest.md.txt#v1alpha.projects.locations.operations)
- [REST Resource: v1.a2a.projects.locations.agents.v1](https://docs.cloud.google.com/gemini/data-agents/reference/rest.md.txt#v1.a2a.projects.locations.agents.v1)
- [REST Resource: v1.a2a.projects.locations.agents.v1.message](https://docs.cloud.google.com/gemini/data-agents/reference/rest.md.txt#v1.a2a.projects.locations.agents.v1.message)
- [REST Resource: v1.a2a.projects.locations.dataAgents.v1](https://docs.cloud.google.com/gemini/data-agents/reference/rest.md.txt#v1.a2a.projects.locations.dataAgents.v1)
- [REST Resource: v1.a2a.projects.locations.dataAgents.v1.message](https://docs.cloud.google.com/gemini/data-agents/reference/rest.md.txt#v1.a2a.projects.locations.dataAgents.v1.message)
- [REST Resource: v1.projects.locations](https://docs.cloud.google.com/gemini/data-agents/reference/rest.md.txt#v1.projects.locations)
- [REST Resource: v1.projects.locations.conversations](https://docs.cloud.google.com/gemini/data-agents/reference/rest.md.txt#v1.projects.locations.conversations)
- [REST Resource: v1.projects.locations.conversations.messages](https://docs.cloud.google.com/gemini/data-agents/reference/rest.md.txt#v1.projects.locations.conversations.messages)
- [REST Resource: v1.projects.locations.dataAgents](https://docs.cloud.google.com/gemini/data-agents/reference/rest.md.txt#v1.projects.locations.dataAgents)
- [REST Resource: v1.projects.locations.operations](https://docs.cloud.google.com/gemini/data-agents/reference/rest.md.txt#v1.projects.locations.operations)

## Service: geminidataanalytics.googleapis.com

To call this service, we recommend that you use the Google-provided [client libraries](https://cloud.google.com/apis/docs/client-libraries-explained). 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](https://developers.google.com/discovery/v1/reference/apis) 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 documents:

- <https://geminidataanalytics.googleapis.com/$discovery/rest?version=v1>
- <https://geminidataanalytics.googleapis.com/$discovery/rest?version=v1beta>
- <https://geminidataanalytics.googleapis.com/$discovery/rest?version=v1alpha>

### Service endpoint

A [service endpoint](https://cloud.google.com/apis/design/glossary#api_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://geminidataanalytics.googleapis.com`

## REST Resource: [v1beta.a2a.projects.locations.dataAgents.v1](https://docs.cloud.google.com/gemini/data-agents/reference/rest/v1beta/a2a.projects.locations.dataAgents.v1.md.txt)

| Methods ||
|---|---|
| `getCard` | `GET /v1beta/a2a/{tenant=projects/*/locations/*/dataAgents/*}/v1/card` GetAgentCard returns the agent card for the agent. |

## REST Resource: [v1beta.a2a.projects.locations.dataAgents.v1.message](https://docs.cloud.google.com/gemini/data-agents/reference/rest/v1beta/a2a.projects.locations.dataAgents.v1.message.md.txt)

| Methods ||
|---|---|
| `send` | `POST /v1beta/a2a/{tenant=projects/*/locations/*/dataAgents/*}/v1/message:send` Send a message to the agent. |
| `stream` | `POST /v1beta/a2a/{tenant=projects/*/locations/*/dataAgents/*}/v1/message:stream` SendStreamingMessage is a streaming call that will return a stream of task update events until the Task is in an interrupted or terminal state. |

## REST Resource: [v1beta.projects.locations](https://docs.cloud.google.com/gemini/data-agents/reference/rest/v1beta/projects.locations.md.txt)

| Methods ||
|---|---|
| `chat` | `POST /v1beta/{parent=projects/*/locations/*}:chat` Answers a data question by generating a stream of `Message` objects. |
| `get` | `GET /v1beta/{name=projects/*/locations/*}` Gets information about a location. |
| `list` | `GET /v1beta/{name=projects/*}/locations` Lists information about the supported locations for this service. |
| `queryData` | `POST /v1beta/{parent=projects/*/locations/*}:queryData` Queries data from a natural language user query. |

## REST Resource: [v1beta.projects.locations.conversations](https://docs.cloud.google.com/gemini/data-agents/reference/rest/v1beta/projects.locations.conversations.md.txt)

| Methods ||
|---|---|
| `create` | `POST /v1beta/{parent=projects/*/locations/*}/conversations` Creates a new conversation to persist the conversation history. |
| `delete` | `DELETE /v1beta/{name=projects/*/locations/*/conversations/*}` Deletes a conversation. |
| `get` | `GET /v1beta/{name=projects/*/locations/*/conversations/*}` Gets details of a single conversation by using conversation id and parent. |
| `list` | `GET /v1beta/{parent=projects/*/locations/*}/conversations` Lists all conversations for a given parent. |

## REST Resource: [v1beta.projects.locations.conversations.messages](https://docs.cloud.google.com/gemini/data-agents/reference/rest/v1beta/projects.locations.conversations.messages.md.txt)

| Methods ||
|---|---|
| `list` | `GET /v1beta/{parent=projects/*/locations/*/conversations/*}/messages` Lists all messages for a given conversation. |

## REST Resource: [v1beta.projects.locations.dataAgents](https://docs.cloud.google.com/gemini/data-agents/reference/rest/v1beta/projects.locations.dataAgents.md.txt)

| Methods ||
|---|---|
| `create` | `POST /v1beta/{parent=projects/*/locations/*}/dataAgents` Creates a new DataAgent in a given project and location. |
| `createSync` | `POST /v1beta/{parent=projects/*/locations/*}/dataAgents:createSync` Creates a new DataAgent in a given project and location synchronously. |
| `delete` | `DELETE /v1beta/{name=projects/*/locations/*/dataAgents/*}` Deletes a single DataAgent. |
| `deleteSync` | `DELETE /v1beta/{name=projects/*/locations/*/dataAgents/*}:deleteSync` Deletes a single DataAgent synchronously. |
| `get` | `GET /v1beta/{name=projects/*/locations/*/dataAgents/*}` Gets details of a single DataAgent. |
| `getIamPolicy` | `POST /v1beta/{resource=projects/*/locations/*/dataAgents/*}:getIamPolicy` Gets the IAM policy for DataAgent |
| `list` | `GET /v1beta/{parent=projects/*/locations/*}/dataAgents` Lists DataAgents in a given project and location. |
| `listAccessible` | `GET /v1beta/{parent=projects/*/locations/*}/dataAgents:listAccessible` Lists DataAgents that are accessible to the caller in a given project and location. |
| `patch` | `PATCH /v1beta/{dataAgent.name=projects/*/locations/*/dataAgents/*}` Updates the parameters of a single DataAgent. |
| `setIamPolicy` | `POST /v1beta/{resource=projects/*/locations/*/dataAgents/*}:setIamPolicy` Sets the IAM policy for a DataAgent. |
| `updateSync` | `PATCH /v1beta/{dataAgent.name=projects/*/locations/*/dataAgents/*}:updateSync` Updates the parameters of a single DataAgent synchronously. |

## REST Resource: [v1beta.projects.locations.operations](https://docs.cloud.google.com/gemini/data-agents/reference/rest/v1beta/projects.locations.operations.md.txt)

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

## REST Resource: [v1alpha.projects.locations](https://docs.cloud.google.com/gemini/data-agents/reference/rest/v1alpha/projects.locations.md.txt)

| Methods ||
|---|---|
| `chat` | `POST /v1alpha/{parent=projects/*/locations/*}:chat` Answers a data question by generating a stream of `Message` objects. |
| `get` | `GET /v1alpha/{name=projects/*/locations/*}` Gets information about a location. |
| `list` | `GET /v1alpha/{name=projects/*}/locations` Lists information about the supported locations for this service. |
| `queryData` | `POST /v1alpha/{parent=projects/*/locations/*}:queryData` Queries data from a natural language user query. |

## REST Resource: [v1alpha.projects.locations.conversations](https://docs.cloud.google.com/gemini/data-agents/reference/rest/v1alpha/projects.locations.conversations.md.txt)

| Methods ||
|---|---|
| `create` | `POST /v1alpha/{parent=projects/*/locations/*}/conversations` Creates a new conversation to persist the conversation history. |
| `delete` | `DELETE /v1alpha/{name=projects/*/locations/*/conversations/*}` Deletes a conversation. |
| `get` | `GET /v1alpha/{name=projects/*/locations/*/conversations/*}` Gets details of a single conversation by using conversation id and parent. |
| `list` | `GET /v1alpha/{parent=projects/*/locations/*}/conversations` Lists all conversations for a given parent. |

## REST Resource: [v1alpha.projects.locations.conversations.messages](https://docs.cloud.google.com/gemini/data-agents/reference/rest/v1alpha/projects.locations.conversations.messages.md.txt)

| Methods ||
|---|---|
| `list` | `GET /v1alpha/{parent=projects/*/locations/*/conversations/*}/messages` Lists all messages for a given conversation. |

## REST Resource: [v1alpha.projects.locations.dataAgents](https://docs.cloud.google.com/gemini/data-agents/reference/rest/v1alpha/projects.locations.dataAgents.md.txt)

| Methods ||
|---|---|
| `create` | `POST /v1alpha/{parent=projects/*/locations/*}/dataAgents` Creates a new DataAgent in a given project and location. |
| `createSync` | `POST /v1alpha/{parent=projects/*/locations/*}/dataAgents:createSync` Creates a new DataAgent in a given project and location synchronously. |
| `delete` | `DELETE /v1alpha/{name=projects/*/locations/*/dataAgents/*}` Deletes a single DataAgent. |
| `deleteSync` | `DELETE /v1alpha/{name=projects/*/locations/*/dataAgents/*}:deleteSync` Deletes a single DataAgent synchronously. |
| `get` | `GET /v1alpha/{name=projects/*/locations/*/dataAgents/*}` Gets details of a single DataAgent. |
| `getIamPolicy` | `POST /v1alpha/{resource=projects/*/locations/*/dataAgents/*}:getIamPolicy` Gets the IAM policy for DataAgent |
| `list` | `GET /v1alpha/{parent=projects/*/locations/*}/dataAgents` Lists DataAgents in a given project and location. |
| `listAccessible` | `GET /v1alpha/{parent=projects/*/locations/*}/dataAgents:listAccessible` Lists DataAgents that are accessible to the caller in a given project and location. |
| `patch` | `PATCH /v1alpha/{dataAgent.name=projects/*/locations/*/dataAgents/*}` Updates the parameters of a single DataAgent. |
| `setIamPolicy` | `POST /v1alpha/{resource=projects/*/locations/*/dataAgents/*}:setIamPolicy` Sets the IAM policy for a DataAgent. |
| `updateSync` | `PATCH /v1alpha/{dataAgent.name=projects/*/locations/*/dataAgents/*}:updateSync` Updates the parameters of a single DataAgent synchronously. |

## REST Resource: [v1alpha.projects.locations.operations](https://docs.cloud.google.com/gemini/data-agents/reference/rest/v1alpha/projects.locations.operations.md.txt)

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

## REST Resource: [v1.a2a.projects.locations.agents.v1](https://docs.cloud.google.com/gemini/data-agents/reference/rest/v1/a2a.projects.locations.agents.v1.md.txt)

| Methods ||
|---|---|
| `getCard` | `GET /v1/a2a/{tenant=projects/*/locations/*/agents/*}/v1/card` GetAgentCard returns the agent card for the agent. |

## REST Resource: [v1.a2a.projects.locations.agents.v1.message](https://docs.cloud.google.com/gemini/data-agents/reference/rest/v1/a2a.projects.locations.agents.v1.message.md.txt)

| Methods ||
|---|---|
| `send` | `POST /v1/a2a/{tenant=projects/*/locations/*/agents/*}/v1/message:send` Send a message to the agent. |
| `stream` | `POST /v1/a2a/{tenant=projects/*/locations/*/agents/*}/v1/message:stream` SendStreamingMessage is a streaming call that will return a stream of task update events until the Task is in an interrupted or terminal state. |

## REST Resource: [v1.a2a.projects.locations.dataAgents.v1](https://docs.cloud.google.com/gemini/data-agents/reference/rest/v1/a2a.projects.locations.dataAgents.v1.md.txt)

| Methods ||
|---|---|
| `getCard` | `GET /v1/a2a/{tenant=projects/*/locations/*/dataAgents/*}/v1/card` GetAgentCard returns the agent card for the agent. |

## REST Resource: [v1.a2a.projects.locations.dataAgents.v1.message](https://docs.cloud.google.com/gemini/data-agents/reference/rest/v1/a2a.projects.locations.dataAgents.v1.message.md.txt)

| Methods ||
|---|---|
| `send` | `POST /v1/a2a/{tenant=projects/*/locations/*/dataAgents/*}/v1/message:send` Send a message to the agent. |
| `stream` | `POST /v1/a2a/{tenant=projects/*/locations/*/dataAgents/*}/v1/message:stream` SendStreamingMessage is a streaming call that will return a stream of task update events until the Task is in an interrupted or terminal state. |

## REST Resource: [v1.projects.locations](https://docs.cloud.google.com/gemini/data-agents/reference/rest/v1/projects.locations.md.txt)

| Methods ||
|---|---|
| `chat` | `POST /v1/{parent=projects/*/locations/*}:chat` Answers a data question by generating a stream of `Message` objects. |
| `get` | `GET /v1/{name=projects/*/locations/*}` Gets information about a location. |
| `list` | `GET /v1/{name=projects/*}/locations` Lists information about the supported locations for this service. |

## REST Resource: [v1.projects.locations.conversations](https://docs.cloud.google.com/gemini/data-agents/reference/rest/v1/projects.locations.conversations.md.txt)

| Methods ||
|---|---|
| `create` | `POST /v1/{parent=projects/*/locations/*}/conversations` Creates a new conversation to persist the conversation history. |
| `delete` | `DELETE /v1/{name=projects/*/locations/*/conversations/*}` Deletes a conversation. |
| `get` | `GET /v1/{name=projects/*/locations/*/conversations/*}` Gets details of a single conversation by using conversation id and parent. |
| `list` | `GET /v1/{parent=projects/*/locations/*}/conversations` Lists all conversations for a given parent. |

## REST Resource: [v1.projects.locations.conversations.messages](https://docs.cloud.google.com/gemini/data-agents/reference/rest/v1/projects.locations.conversations.messages.md.txt)

| Methods ||
|---|---|
| `list` | `GET /v1/{parent=projects/*/locations/*/conversations/*}/messages` Lists all messages for a given conversation. |

## REST Resource: [v1.projects.locations.dataAgents](https://docs.cloud.google.com/gemini/data-agents/reference/rest/v1/projects.locations.dataAgents.md.txt)

| Methods ||
|---|---|
| `create` | `POST /v1/{parent=projects/*/locations/*}/dataAgents` Creates a new DataAgent in a given project and location. |
| `createSync` | `POST /v1/{parent=projects/*/locations/*}/dataAgents:createSync` Creates a new DataAgent in a given project and location synchronously. |
| `delete` | `DELETE /v1/{name=projects/*/locations/*/dataAgents/*}` Deletes a single DataAgent. |
| `deleteSync` | `DELETE /v1/{name=projects/*/locations/*/dataAgents/*}:deleteSync` Deletes a single DataAgent synchronously. |
| `get` | `GET /v1/{name=projects/*/locations/*/dataAgents/*}` Gets details of a single DataAgent. |
| `getIamPolicy` | `POST /v1/{resource=projects/*/locations/*/dataAgents/*}:getIamPolicy` Gets the IAM policy for DataAgent |
| `list` | `GET /v1/{parent=projects/*/locations/*}/dataAgents` Lists DataAgents in a given project and location. |
| `listAccessible` | `GET /v1/{parent=projects/*/locations/*}/dataAgents:listAccessible` Lists DataAgents that are accessible to the caller in a given project and location. |
| `patch` | `PATCH /v1/{dataAgent.name=projects/*/locations/*/dataAgents/*}` Updates the parameters of a single DataAgent. |
| `setIamPolicy` | `POST /v1/{resource=projects/*/locations/*/dataAgents/*}:setIamPolicy` Sets the IAM policy for a DataAgent. |
| `updateSync` | `PATCH /v1/{dataAgent.name=projects/*/locations/*/dataAgents/*}:updateSync` Updates the parameters of a single DataAgent synchronously. |

## REST Resource: [v1.projects.locations.operations](https://docs.cloud.google.com/gemini/data-agents/reference/rest/v1/projects.locations.operations.md.txt)

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