1 -
Understanding the ai.edgelq.com service APIv1, in proto package ntt.ai.v1.
Here is the list of resources supported in AI service APIv1:
CapabilityTemplate Resource
CapabilityTemplate Resource
Name patterns:
capabilityTemplates/{capability_template}projects/{project}/capabilityTemplates/{capability_template}
Parent resources:
This section covers the methods
and messages to interact
with CapabilityTemplate resource.
CapabilityTemplate Methods
Here is the list of CapabilityTemplate resource methods:
GetCapabilityTemplate Method
GetCapabilityTemplate
rpc GetCapabilityTemplate(GetCapabilityTemplateRequest) returns (CapabilityTemplate)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/capabilityTemplates.get
The equivalent REST API is:
GET /v1/{name=capabilityTemplates/*}
GET /v1/{name=projects/*/capabilityTemplates/*}
BatchGetCapabilityTemplates Method
BatchGetCapabilityTemplates
rpc BatchGetCapabilityTemplates(BatchGetCapabilityTemplatesRequest) returns (BatchGetCapabilityTemplatesResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/capabilityTemplates.batchGet
The equivalent REST API is:
GET /v1/capabilityTemplates:batchGet
ListCapabilityTemplates Method
ListCapabilityTemplates
rpc ListCapabilityTemplates(ListCapabilityTemplatesRequest) returns (ListCapabilityTemplatesResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/capabilityTemplates.list
The equivalent REST API is:
GET /v1/capabilityTemplates
GET /v1/{parent=projects/*}/capabilityTemplates
WatchCapabilityTemplate Method
WatchCapabilityTemplate
rpc WatchCapabilityTemplate(WatchCapabilityTemplateRequest) returns (WatchCapabilityTemplateResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/capabilityTemplates.watch
The equivalent REST API is:
POST /v1/{name=capabilityTemplates/*}:watch
POST /v1/{name=projects/*/capabilityTemplates/*}:watch
WatchCapabilityTemplates Method
WatchCapabilityTemplates
rpc WatchCapabilityTemplates(WatchCapabilityTemplatesRequest) returns (WatchCapabilityTemplatesResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/capabilityTemplates.watch
The equivalent REST API is:
POST /v1/capabilityTemplates:watch
POST /v1/{parent=projects/*}/capabilityTemplates:watch
CreateCapabilityTemplate Method
CreateCapabilityTemplate
rpc CreateCapabilityTemplate(CreateCapabilityTemplateRequest) returns (CapabilityTemplate)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/capabilityTemplates.create
The equivalent REST API is:
POST /v1/capabilityTemplates (BODY: capability_template)
POST /v1/{parent=projects/*}/capabilityTemplates
UpdateCapabilityTemplate Method
UpdateCapabilityTemplate
rpc UpdateCapabilityTemplate(UpdateCapabilityTemplateRequest) returns (CapabilityTemplate)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/capabilityTemplates.update
The equivalent REST API is:
PUT /v1/{capability_template.name=capabilityTemplates/*} (BODY: capability_template)
PUT /v1/{capability_template.name=projects/*/capabilityTemplates/*}
DeleteCapabilityTemplate Method
DeleteCapabilityTemplate
rpc DeleteCapabilityTemplate(DeleteCapabilityTemplateRequest) returns (Empty)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/capabilityTemplates.delete
The equivalent REST API is:
DELETE /v1/{name=capabilityTemplates/*}
DELETE /v1/{name=projects/*/capabilityTemplates/*}
PreviewTemplateTools
rpc PreviewTemplateTools(PreviewTemplateToolsRequest) returns (PreviewTemplateToolsResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/capabilityTemplates.previewTools
The equivalent REST API is:
POST /v1/{name=capabilityTemplates/*}:previewTools
POST /v1/{name=projects/*/capabilityTemplates/*}:previewTools
CapabilityTemplate Messages
Here is the list of CapabilityTemplate resource messages:
CapabilityTemplate Message
| Name | Type | Description |
|---|
| name | string (name of CapabilityTemplate) | Name of CapabilityTemplate When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9] |
| metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
| description | string | Human-readable description |
| connectors | repeated string (reference to Connector) | Connectors to include |
| rag_config | RAGConfig | RAG configuration (optional) |
| display_name | string | Human-readable display name |
| reasoning | ReasoningConfig | Reasoning/thinking configuration and limits |
| max_output_tokens | int32 | Maximum output tokens (overrides ChatModel’s default if set) |
| system_prompt | string | When set, this prompt will be used instead of a default system prompt. |
| system_prompt_append | PromptAppendTemplate | Optional: a templated append that will be rendered and appended to the base system prompt (or the user input for client provided variables). |
| disable_input_token_cache | bool | When true, disables Anthropic prompt caching (default: caching enabled) |
| allowed_models | repeated string (reference to ChatModel) | Allowed chat models for this template (optional) If empty, any model can be used with this template If specified, only models in this list can be used with this template This allows organizations to control which models are used for specific use cases, capabilities, or compliance requirements |
| tool_safety | ToolSafetyConfig | Tool safety configuration for loop detection (optional) |
| default_model | string (name of ChatModel) | Default model for this template (optional) |
| user_prompt_templates | repeated UserPromptTemplate | User prompt template library for this capability Client-side only: server stores, client renders and executes |
GetCapabilityTemplateRequest Message
A request message of the GetCapabilityTemplate method.
| Name | Type | Description |
|---|
| name | string (name of CapabilityTemplate) | Name of ntt.ai.v1.CapabilityTemplate |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetCapabilityTemplatesRequest Message
A request message of the BatchGetCapabilityTemplates method.
| Name | Type | Description |
|---|
| names | repeated string (name of CapabilityTemplate) | Names of CapabilityTemplates |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetCapabilityTemplatesResponse Message
A response message of the BatchGetCapabilityTemplates method.
ListCapabilityTemplatesRequest Message
A request message of the ListCapabilityTemplates method.
| Name | Type | Description |
|---|
| parent | string (parent name of CapabilityTemplate) | Parent name of ntt.ai.v1.CapabilityTemplate |
| page_size | int32 | Requested page size. Server may return fewer CapabilityTemplates than requested. If unspecified, server will pick an appropriate default. |
| page_token | string (cursor of CapabilityTemplate) | A token identifying a page of results the server should return. Typically, this is the value of ListCapabilityTemplatesResponse.next_page_token. |
| order_by | string (orderBy of CapabilityTemplate) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
| filter | string (filter of CapabilityTemplate) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
| include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListCapabilityTemplatesResponse Message
A response message of the ListCapabilityTemplates method.
| Name | Type | Description |
|---|
| capability_templates | repeated CapabilityTemplate | The list of CapabilityTemplates |
| prev_page_token | string (cursor of CapabilityTemplate) | A token to retrieve previous page of results. Pass this value in the ListCapabilityTemplatesRequest.page_token. |
| next_page_token | string (cursor of CapabilityTemplate) | A token to retrieve next page of results. Pass this value in the ListCapabilityTemplatesRequest.page_token. |
| current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
| total_results_count | int32 | Number of total CapabilityTemplates across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchCapabilityTemplateRequest Message
A request message of the WatchCapabilityTemplate method.
| Name | Type | Description |
|---|
| name | string (name of CapabilityTemplate) | Name of ntt.ai.v1.CapabilityTemplate |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchCapabilityTemplateResponse Message
A response message of the WatchCapabilityTemplate method.
WatchCapabilityTemplatesRequest Message
A request message of the WatchCapabilityTemplates method.
| Name | Type | Description |
|---|
| type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
| parent | string (parent name of CapabilityTemplate) | Parent name of ntt.ai.v1.CapabilityTemplate |
| page_size | int32 | Requested page size. Server may return fewer CapabilityTemplates than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
| page_token | string (cursor of CapabilityTemplate) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
| order_by | string (orderBy of CapabilityTemplate) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
| resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
| starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
| filter | string (filter of CapabilityTemplate) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to CapabilityTemplate that don’t affect any of masked fields won’t be sent back. |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to CapabilityTemplate that don’t affect any of masked fields won’t be sent back. |
| max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchCapabilityTemplatesResponse Message
A response message of the WatchCapabilityTemplates method.
| Name | Type | Description |
|---|
| capability_template_changes | repeated CapabilityTemplateChange | Changes of CapabilityTemplates |
| is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All CapabilityTemplates will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
| page_token_change | WatchCapabilityTemplatesResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
| resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
| snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
| is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
| is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (CapabilityTemplates will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchCapabilityTemplatesResponse.PageTokenChange Message
| Name | Type | Description |
|---|
| prev_page_token | string (cursor of CapabilityTemplate) | New token to retrieve previous page of results. |
| next_page_token | string (cursor of CapabilityTemplate) | New token to retrieve next page of results. |
CreateCapabilityTemplateRequest Message
A request message of the CreateCapabilityTemplate method.
CreateCapabilityTemplateRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
| Name | Type | Description |
|---|
| skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
| body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdateCapabilityTemplateRequest Message
A request message of the UpdateCapabilityTemplate method.
| Name | Type | Description |
|---|
| capability_template | CapabilityTemplate | CapabilityTemplate resource body |
| update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
| cas | UpdateCapabilityTemplateRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
| allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
| response_mask | UpdateCapabilityTemplateRequest.ResponseMask | reduce message response size. |
UpdateCapabilityTemplateRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update
conditional based upon previous resource version.
| Name | Type | Description |
|---|
| conditional_state | CapabilityTemplate | Conditional desired state of a resource before update. |
| field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateCapabilityTemplateRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
| Name | Type | Description |
|---|
| skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
| updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
| body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteCapabilityTemplateRequest Message
A request message of the DeleteCapabilityTemplate method.
| Name | Type | Description |
|---|
| name | string (name of CapabilityTemplate) | Name of ntt.ai.v1.CapabilityTemplate |
| allow_missing | bool | If set to true, and the resource is not found, method will be successful and will not return NotFound error. |
A request message of the PreviewTemplateTools method.
| Name | Type | Description |
|---|
| name | string (name of CapabilityTemplate) | Name of ntt.ai.v1.CapabilityTemplate |
| client_tools | repeated ToolDefinition | Optional: Client tools to include in the preview |
A response message of the PreviewTemplateTools method.
| Name | Type | Description |
|---|
| tools | repeated ToolDefinition | All tools that would be available with this template (after applying allow/deny patterns and including client tools) |
| errors | repeated string | Any errors encountered during tool discovery |
ChatModel Resource
ChatModel Resource represents deployment of an AI chat model.
Name patterns:
chatModels/{chat_model}projects/{project}/chatModels/{chat_model}
Parent resources:
This section covers the methods
and messages to interact
with ChatModel resource.
ChatModel Methods
Here is the list of ChatModel resource methods:
GetChatModel Method
GetChatModel
rpc GetChatModel(GetChatModelRequest) returns (ChatModel)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/chatModels.get
The equivalent REST API is:
GET /v1/{name=chatModels/*}
GET /v1/{name=projects/*/chatModels/*}
BatchGetChatModels Method
BatchGetChatModels
rpc BatchGetChatModels(BatchGetChatModelsRequest) returns (BatchGetChatModelsResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/chatModels.batchGet
The equivalent REST API is:
GET /v1/chatModels:batchGet
ListChatModels Method
ListChatModels
rpc ListChatModels(ListChatModelsRequest) returns (ListChatModelsResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/chatModels.list
The equivalent REST API is:
GET /v1/{parent=projects/*}/chatModels
WatchChatModel Method
WatchChatModel
rpc WatchChatModel(WatchChatModelRequest) returns (WatchChatModelResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/chatModels.watch
The equivalent REST API is:
POST /v1/{name=chatModels/*}:watch
POST /v1/{name=projects/*/chatModels/*}:watch
WatchChatModels Method
WatchChatModels
rpc WatchChatModels(WatchChatModelsRequest) returns (WatchChatModelsResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/chatModels.watch
The equivalent REST API is:
POST /v1/chatModels:watch
POST /v1/{parent=projects/*}/chatModels:watch
CreateChatModel Method
CreateChatModel
rpc CreateChatModel(CreateChatModelRequest) returns (ChatModel)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/chatModels.create
The equivalent REST API is:
POST /v1/chatModels (BODY: chat_model)
POST /v1/{parent=projects/*}/chatModels
UpdateChatModel Method
UpdateChatModel
rpc UpdateChatModel(UpdateChatModelRequest) returns (ChatModel)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/chatModels.update
The equivalent REST API is:
PUT /v1/{chat_model.name=chatModels/*} (BODY: chat_model)
PUT /v1/{chat_model.name=projects/*/chatModels/*}
DeleteChatModel Method
DeleteChatModel
rpc DeleteChatModel(DeleteChatModelRequest) returns (Empty)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/chatModels.delete
The equivalent REST API is:
DELETE /v1/{name=chatModels/*}
DELETE /v1/{name=projects/*/chatModels/*}
ChatModel Messages
Here is the list of ChatModel resource messages:
ChatModel Message
| Name | Type | Description |
|---|
| name | string (name of ChatModel) | Name of ChatModel When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9] |
| metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
| azure_open_ai | ChatModel.AzureOpenAi | |
| openai_compatible | ChatModel.OpenAICompatible | |
| anthropic | ChatModel.Anthropic | |
| gemini | ChatModel.Gemini | |
| display_name | string | Human-readable display name |
| cost | ChatModel.Cost | Optional cost metadata (pricing per 1M tokens). |
| retired | bool | When true, this model is retired: hidden from ChatModel listings by default and blocked for new chats/responses. Existing conversations stay readable and can be continued by selecting a non-retired model. |
ChatModel.OpenAICompatible Message
| Name | Type | Description |
|---|
| api_key | string (reference to Secret) | |
| model | string | Model name or Azure deployment name |
| base_url | string | Optional: Custom endpoint for compatible APIs |
| organization | string | Optional: OpenAI organization ID |
| azure_endpoint | string | Optional: Azure-specific endpoint (e.g., https://myresource.openai.azure.com) |
| azure_api_version | string | Optional: Azure API version (e.g., “2024-06-01”) |
| max_output_tokens | int32 | Maximum output tokens |
| device | string (reference to Device) | Optional: route requests through proxies to an OpenAI-compatible endpoint reachable from this device. |
ChatModel.Anthropic Message
| Name | Type | Description |
|---|
| api_key | string (reference to Secret) | |
| model | string | Model name (e.g., “claude-3-opus”, “claude-3-sonnet”) |
| base_url | string | Optional: Custom endpoint |
| max_output_tokens | int32 | Maximum output tokens (must be >= 4096 for Anthropic) |
| thinking_mode | ChatModel.Anthropic.ThinkingMode | |
ChatModel.Gemini Message
| Name | Type | Description |
|---|
| api_key | string (reference to Secret) | |
| model | string | Model name (e.g., “gemini-pro”, “gemini-ultra”) |
| max_output_tokens | int32 | Maximum output tokens |
ChatModel.AzureOpenAi Message
| Name | Type | Description |
|---|
| endpoint | string | Azure OpenAI endpoint (e.g., https://myresource.openai.azure.com) |
| api_key | string (reference to Secret) | Azure API key |
| deployment_name | string | Azure deployment name |
| api_version | string | API version (e.g., “2024-10-21”) |
| max_output_tokens | int32 | Maximum output tokens |
ChatModel.Cost Message
Cost captures pricing per 1M tokens for each billing bucket.
| Name | Type | Description |
|---|
| input_per_million | .google.type.Money | Cost for uncached input tokens per 1M tokens. |
| cached_input_per_million | .google.type.Money | Cost for cached input tokens per 1M tokens (discounted rate). |
| cache_write_five_min_per_million | .google.type.Money | Cost for cache writes with a 5 minute TTL per 1M tokens. |
| cache_write_one_hour_per_million | .google.type.Money | Cost for cache writes with a 1 hour TTL per 1M tokens. |
| output_per_million | .google.type.Money | Cost for output tokens per 1M tokens. |
GetChatModelRequest Message
A request message of the GetChatModel method.
| Name | Type | Description |
|---|
| name | string (name of ChatModel) | Name of ntt.ai.v1.ChatModel |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetChatModelsRequest Message
A request message of the BatchGetChatModels method.
| Name | Type | Description |
|---|
| names | repeated string (name of ChatModel) | Names of ChatModels |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetChatModelsResponse Message
A response message of the BatchGetChatModels method.
| Name | Type | Description |
|---|
| chat_models | repeated ChatModel | found ChatModels |
| missing | repeated string (name of ChatModel) | list of not found ChatModels |
ListChatModelsRequest Message
A request message of the ListChatModels method.
| Name | Type | Description |
|---|
| parent | string (parent name of ChatModel) | Parent name of ntt.ai.v1.ChatModel |
| page_size | int32 | Requested page size. Server may return fewer ChatModels than requested. If unspecified, server will pick an appropriate default. |
| page_token | string (cursor of ChatModel) | A token identifying a page of results the server should return. Typically, this is the value of ListChatModelsResponse.next_page_token. |
| order_by | string (orderBy of ChatModel) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
| filter | string (filter of ChatModel) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
| include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListChatModelsResponse Message
A response message of the ListChatModels method.
| Name | Type | Description |
|---|
| chat_models | repeated ChatModel | The list of ChatModels |
| prev_page_token | string (cursor of ChatModel) | A token to retrieve previous page of results. Pass this value in the ListChatModelsRequest.page_token. |
| next_page_token | string (cursor of ChatModel) | A token to retrieve next page of results. Pass this value in the ListChatModelsRequest.page_token. |
| current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
| total_results_count | int32 | Number of total ChatModels across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchChatModelRequest Message
A request message of the WatchChatModel method.
| Name | Type | Description |
|---|
| name | string (name of ChatModel) | Name of ntt.ai.v1.ChatModel |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchChatModelResponse Message
A response message of the WatchChatModel method.
WatchChatModelsRequest Message
A request message of the WatchChatModels method.
| Name | Type | Description |
|---|
| type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
| parent | string (parent name of ChatModel) | Parent name of ntt.ai.v1.ChatModel |
| page_size | int32 | Requested page size. Server may return fewer ChatModels than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
| page_token | string (cursor of ChatModel) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
| order_by | string (orderBy of ChatModel) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
| resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
| starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
| filter | string (filter of ChatModel) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to ChatModel that don’t affect any of masked fields won’t be sent back. |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to ChatModel that don’t affect any of masked fields won’t be sent back. |
| max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchChatModelsResponse Message
A response message of the WatchChatModels method.
| Name | Type | Description |
|---|
| chat_model_changes | repeated ChatModelChange | Changes of ChatModels |
| is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All ChatModels will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
| page_token_change | WatchChatModelsResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
| resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
| snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
| is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
| is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (ChatModels will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchChatModelsResponse.PageTokenChange Message
| Name | Type | Description |
|---|
| prev_page_token | string (cursor of ChatModel) | New token to retrieve previous page of results. |
| next_page_token | string (cursor of ChatModel) | New token to retrieve next page of results. |
CreateChatModelRequest Message
A request message of the CreateChatModel method.
CreateChatModelRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
| Name | Type | Description |
|---|
| skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
| body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdateChatModelRequest Message
A request message of the UpdateChatModel method.
| Name | Type | Description |
|---|
| chat_model | ChatModel | ChatModel resource body |
| update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
| cas | UpdateChatModelRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
| allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
| response_mask | UpdateChatModelRequest.ResponseMask | reduce message response size. |
UpdateChatModelRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update
conditional based upon previous resource version.
| Name | Type | Description |
|---|
| conditional_state | ChatModel | Conditional desired state of a resource before update. |
| field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateChatModelRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
| Name | Type | Description |
|---|
| skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
| updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
| body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteChatModelRequest Message
A request message of the DeleteChatModel method.
| Name | Type | Description |
|---|
| name | string (name of ChatModel) | Name of ntt.ai.v1.ChatModel |
| allow_missing | bool | If set to true, and the resource is not found, method will be successful and will not return NotFound error. |
ChatModel Enumerations
Here is the list of ChatModel resource enumerations:
ChatModel.Anthropic.ThinkingMode Enumeration
Which Messages thinking wire format this deployment accepts.
UNSPECIFIED and EXTENDED send enabled + budget_tokens.
ADAPTIVE sends adaptive + output_config.effort (Sonnet 5, Opus 4.7+).
Do not infer this from model; Foundry deployment names can disagree
with the underlying Claude model.
| Name | Description |
|---|
| THINKING_MODE_UNSPECIFIED | |
| THINKING_MODE_EXTENDED | |
| THINKING_MODE_ADAPTIVE | |
Connector Resource
Connector Resource
Name patterns:
connectors/{connector}projects/{project}/connectors/{connector}
Parent resources:
This section covers the methods
and messages to interact
with Connector resource.
Connector Methods
Here is the list of Connector resource methods:
GetConnector Method
GetConnector
rpc GetConnector(GetConnectorRequest) returns (Connector)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/connectors.get
The equivalent REST API is:
GET /v1/{name=connectors/*}
GET /v1/{name=projects/*/connectors/*}
BatchGetConnectors Method
BatchGetConnectors
rpc BatchGetConnectors(BatchGetConnectorsRequest) returns (BatchGetConnectorsResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/connectors.batchGet
The equivalent REST API is:
GET /v1/connectors:batchGet
ListConnectors Method
ListConnectors
rpc ListConnectors(ListConnectorsRequest) returns (ListConnectorsResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/connectors.list
The equivalent REST API is:
GET /v1/{parent=projects/*}/connectors
WatchConnector Method
WatchConnector
rpc WatchConnector(WatchConnectorRequest) returns (WatchConnectorResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/connectors.watch
The equivalent REST API is:
POST /v1/{name=connectors/*}:watch
POST /v1/{name=projects/*/connectors/*}:watch
WatchConnectors Method
WatchConnectors
rpc WatchConnectors(WatchConnectorsRequest) returns (WatchConnectorsResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/connectors.watch
The equivalent REST API is:
POST /v1/connectors:watch
POST /v1/{parent=projects/*}/connectors:watch
CreateConnector Method
CreateConnector
rpc CreateConnector(CreateConnectorRequest) returns (Connector)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/connectors.create
The equivalent REST API is:
POST /v1/connectors (BODY: connector)
POST /v1/{parent=projects/*}/connectors
UpdateConnector Method
UpdateConnector
rpc UpdateConnector(UpdateConnectorRequest) returns (Connector)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/connectors.update
The equivalent REST API is:
PUT /v1/{connector.name=connectors/*} (BODY: connector)
PUT /v1/{connector.name=projects/*/connectors/*}
DeleteConnector Method
DeleteConnector
rpc DeleteConnector(DeleteConnectorRequest) returns (Empty)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/connectors.delete
The equivalent REST API is:
DELETE /v1/{name=connectors/*}
DELETE /v1/{name=projects/*/connectors/*}
ConnectOauth Method
ConnectOauth
rpc ConnectOauth(ConnectOauthRequest) returns (ConnectOauthResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/connectors.connectOauth
The equivalent REST API is:
POST /v1/{name=connectors/*}:connectOauth
POST /v1/{name=projects/*/connectors/*}:connectOauth
Connector Messages
Here is the list of Connector resource messages:
Connector Message
| Name | Type | Description |
|---|
| name | string (name of Connector) | Name of Connector When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9] |
| metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
| display_name | string | Human-readable display name |
| description | string | Human-readable description |
| type | Connector.Type | |
| mcp_config | MCPConfig | MCP connection configuration |
| connect_timeout | .google.protobuf.Duration | Connection timeout |
| request_timeout | .google.protobuf.Duration | Request timeout |
| oauth_config | OAuthConfig | Effective OAuth configuration (static or auto-populated). |
GetConnectorRequest Message
A request message of the GetConnector method.
| Name | Type | Description |
|---|
| name | string (name of Connector) | Name of ntt.ai.v1.Connector |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetConnectorsRequest Message
A request message of the BatchGetConnectors method.
| Name | Type | Description |
|---|
| names | repeated string (name of Connector) | Names of Connectors |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetConnectorsResponse Message
A response message of the BatchGetConnectors method.
| Name | Type | Description |
|---|
| connectors | repeated Connector | found Connectors |
| missing | repeated string (name of Connector) | list of not found Connectors |
ListConnectorsRequest Message
A request message of the ListConnectors method.
| Name | Type | Description |
|---|
| parent | string (parent name of Connector) | Parent name of ntt.ai.v1.Connector |
| page_size | int32 | Requested page size. Server may return fewer Connectors than requested. If unspecified, server will pick an appropriate default. |
| page_token | string (cursor of Connector) | A token identifying a page of results the server should return. Typically, this is the value of ListConnectorsResponse.next_page_token. |
| order_by | string (orderBy of Connector) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
| filter | string (filter of Connector) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
| include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListConnectorsResponse Message
A response message of the ListConnectors method.
| Name | Type | Description |
|---|
| connectors | repeated Connector | The list of Connectors |
| prev_page_token | string (cursor of Connector) | A token to retrieve previous page of results. Pass this value in the ListConnectorsRequest.page_token. |
| next_page_token | string (cursor of Connector) | A token to retrieve next page of results. Pass this value in the ListConnectorsRequest.page_token. |
| current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
| total_results_count | int32 | Number of total Connectors across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchConnectorRequest Message
A request message of the WatchConnector method.
| Name | Type | Description |
|---|
| name | string (name of Connector) | Name of ntt.ai.v1.Connector |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchConnectorResponse Message
A response message of the WatchConnector method.
WatchConnectorsRequest Message
A request message of the WatchConnectors method.
| Name | Type | Description |
|---|
| type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
| parent | string (parent name of Connector) | Parent name of ntt.ai.v1.Connector |
| page_size | int32 | Requested page size. Server may return fewer Connectors than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
| page_token | string (cursor of Connector) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
| order_by | string (orderBy of Connector) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
| resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
| starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
| filter | string (filter of Connector) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to Connector that don’t affect any of masked fields won’t be sent back. |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to Connector that don’t affect any of masked fields won’t be sent back. |
| max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchConnectorsResponse Message
A response message of the WatchConnectors method.
| Name | Type | Description |
|---|
| connector_changes | repeated ConnectorChange | Changes of Connectors |
| is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All Connectors will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
| page_token_change | WatchConnectorsResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
| resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
| snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
| is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
| is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (Connectors will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchConnectorsResponse.PageTokenChange Message
| Name | Type | Description |
|---|
| prev_page_token | string (cursor of Connector) | New token to retrieve previous page of results. |
| next_page_token | string (cursor of Connector) | New token to retrieve next page of results. |
CreateConnectorRequest Message
A request message of the CreateConnector method.
CreateConnectorRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
| Name | Type | Description |
|---|
| skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
| body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdateConnectorRequest Message
A request message of the UpdateConnector method.
| Name | Type | Description |
|---|
| connector | Connector | Connector resource body |
| update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
| cas | UpdateConnectorRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
| allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
| response_mask | UpdateConnectorRequest.ResponseMask | reduce message response size. |
UpdateConnectorRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update
conditional based upon previous resource version.
| Name | Type | Description |
|---|
| conditional_state | Connector | Conditional desired state of a resource before update. |
| field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateConnectorRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
| Name | Type | Description |
|---|
| skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
| updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
| body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteConnectorRequest Message
A request message of the DeleteConnector method.
| Name | Type | Description |
|---|
| name | string (name of Connector) | Name of ntt.ai.v1.Connector |
| allow_missing | bool | If set to true, and the resource is not found, method will be successful and will not return NotFound error. |
ConnectOauthRequest Message
A request message of the ConnectOauth method.
ConnectOauthResponse Message
A response message of the ConnectOauth method.
Connector Enumerations
Here is the list of Connector resource enumerations:
Connector.Type Enumeration
Connector type
ConnectorUserToken Resource
ConnectorUserToken Resource
Name patterns:
connectorUserTokens/{connector_user_token}projects/{project}/connectorUserTokens/{connector_user_token}
Parent resources:
This section covers the methods
and messages to interact
with ConnectorUserToken resource.
ConnectorUserToken Methods
Here is the list of ConnectorUserToken resource methods:
GetConnectorUserToken Method
GetConnectorUserToken
rpc GetConnectorUserToken(GetConnectorUserTokenRequest) returns (ConnectorUserToken)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/connectorUserTokens.get
The equivalent REST API is:
GET /v1/{name=connectorUserTokens/*}
GET /v1/{name=projects/*/connectorUserTokens/*}
BatchGetConnectorUserTokens Method
BatchGetConnectorUserTokens
rpc BatchGetConnectorUserTokens(BatchGetConnectorUserTokensRequest) returns (BatchGetConnectorUserTokensResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/connectorUserTokens.batchGet
The equivalent REST API is:
GET /v1/connectorUserTokens:batchGet
ListConnectorUserTokens Method
ListConnectorUserTokens
rpc ListConnectorUserTokens(ListConnectorUserTokensRequest) returns (ListConnectorUserTokensResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/connectorUserTokens.list
The equivalent REST API is:
GET /v1/connectorUserTokens
GET /v1/{parent=projects/*}/connectorUserTokens
WatchConnectorUserToken Method
WatchConnectorUserToken
rpc WatchConnectorUserToken(WatchConnectorUserTokenRequest) returns (WatchConnectorUserTokenResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/connectorUserTokens.watch
The equivalent REST API is:
POST /v1/{name=connectorUserTokens/*}:watch
POST /v1/{name=projects/*/connectorUserTokens/*}:watch
WatchConnectorUserTokens Method
WatchConnectorUserTokens
rpc WatchConnectorUserTokens(WatchConnectorUserTokensRequest) returns (WatchConnectorUserTokensResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/connectorUserTokens.watch
The equivalent REST API is:
POST /v1/connectorUserTokens:watch
POST /v1/{parent=projects/*}/connectorUserTokens:watch
CreateConnectorUserToken Method
CreateConnectorUserToken
rpc CreateConnectorUserToken(CreateConnectorUserTokenRequest) returns (ConnectorUserToken)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/connectorUserTokens.create
The equivalent REST API is:
POST /v1/connectorUserTokens (BODY: connector_user_token)
POST /v1/{parent=projects/*}/connectorUserTokens
UpdateConnectorUserToken Method
UpdateConnectorUserToken
rpc UpdateConnectorUserToken(UpdateConnectorUserTokenRequest) returns (ConnectorUserToken)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/connectorUserTokens.update
The equivalent REST API is:
PUT /v1/{connector_user_token.name=connectorUserTokens/*} (BODY: connector_user_token)
PUT /v1/{connector_user_token.name=projects/*/connectorUserTokens/*}
DeleteConnectorUserToken Method
DeleteConnectorUserToken
rpc DeleteConnectorUserToken(DeleteConnectorUserTokenRequest) returns (Empty)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/connectorUserTokens.delete
The equivalent REST API is:
DELETE /v1/{name=connectorUserTokens/*}
DELETE /v1/{name=projects/*/connectorUserTokens/*}
ConnectorUserToken Messages
Here is the list of ConnectorUserToken resource messages:
ConnectorUserToken Message
| Name | Type | Description |
|---|
| name | string (name of ConnectorUserToken) | Name of ConnectorUserToken When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9] |
| metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
| connector | string (name of Connector) | Connector resource this token authorizes against. |
| owner_email | string | IAM user email that established this token. |
| provider_subject | string | Provider specific identifier for the linked account (e.g. subject claim). |
| provider_display_name | string | Provider supplied display name for the linked identity. |
| provider_avatar_url | string | Provider supplied avatar URL for the linked identity. |
| granted_scopes | repeated string | OAuth scopes that were granted for this token. |
| access_token_expires_at | .google.protobuf.Timestamp | Expiration (if any) for the current access token. |
| refresh_token_expires_at | .google.protobuf.Timestamp | Expiration (if any) for the refresh token. |
| last_refresh_time | .google.protobuf.Timestamp | Last time the backend refreshed token material. |
| revoked | bool | Indicates whether this token has been revoked server-side. |
| revoked_time | .google.protobuf.Timestamp | When the token was revoked server-side. |
| revocation_reason | string | Optional human readable reason for revocation. |
| consent_obtained | bool | True once the user has completed any configured downstream consent flow for this connector (for example, granting access to additional provider resources such as Azure Data Explorer). This allows the backend to distinguish between initial connector login and subsequent provider-level consent requirements. |
| secret | ConnectorUserTokenSecret | Encrypted token material, only accepted from the server-side control plane. |
GetConnectorUserTokenRequest Message
A request message of the GetConnectorUserToken method.
| Name | Type | Description |
|---|
| name | string (name of ConnectorUserToken) | Name of ntt.ai.v1.ConnectorUserToken |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetConnectorUserTokensRequest Message
A request message of the BatchGetConnectorUserTokens method.
| Name | Type | Description |
|---|
| names | repeated string (name of ConnectorUserToken) | Names of ConnectorUserTokens |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetConnectorUserTokensResponse Message
A response message of the BatchGetConnectorUserTokens method.
| Name | Type | Description |
|---|
| connector_user_tokens | repeated ConnectorUserToken | found ConnectorUserTokens |
| missing | repeated string (name of ConnectorUserToken) | list of not found ConnectorUserTokens |
ListConnectorUserTokensRequest Message
A request message of the ListConnectorUserTokens method.
| Name | Type | Description |
|---|
| parent | string (parent name of ConnectorUserToken) | Parent name of ntt.ai.v1.ConnectorUserToken |
| page_size | int32 | Requested page size. Server may return fewer ConnectorUserTokens than requested. If unspecified, server will pick an appropriate default. |
| page_token | string (cursor of ConnectorUserToken) | A token identifying a page of results the server should return. Typically, this is the value of ListConnectorUserTokensResponse.next_page_token. |
| order_by | string (orderBy of ConnectorUserToken) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
| filter | string (filter of ConnectorUserToken) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
| include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListConnectorUserTokensResponse Message
A response message of the ListConnectorUserTokens method.
| Name | Type | Description |
|---|
| connector_user_tokens | repeated ConnectorUserToken | The list of ConnectorUserTokens |
| prev_page_token | string (cursor of ConnectorUserToken) | A token to retrieve previous page of results. Pass this value in the ListConnectorUserTokensRequest.page_token. |
| next_page_token | string (cursor of ConnectorUserToken) | A token to retrieve next page of results. Pass this value in the ListConnectorUserTokensRequest.page_token. |
| current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
| total_results_count | int32 | Number of total ConnectorUserTokens across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchConnectorUserTokenRequest Message
A request message of the WatchConnectorUserToken method.
| Name | Type | Description |
|---|
| name | string (name of ConnectorUserToken) | Name of ntt.ai.v1.ConnectorUserToken |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchConnectorUserTokenResponse Message
A response message of the WatchConnectorUserToken method.
WatchConnectorUserTokensRequest Message
A request message of the WatchConnectorUserTokens method.
| Name | Type | Description |
|---|
| type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
| parent | string (parent name of ConnectorUserToken) | Parent name of ntt.ai.v1.ConnectorUserToken |
| page_size | int32 | Requested page size. Server may return fewer ConnectorUserTokens than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
| page_token | string (cursor of ConnectorUserToken) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
| order_by | string (orderBy of ConnectorUserToken) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
| resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
| starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
| filter | string (filter of ConnectorUserToken) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to ConnectorUserToken that don’t affect any of masked fields won’t be sent back. |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to ConnectorUserToken that don’t affect any of masked fields won’t be sent back. |
| max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchConnectorUserTokensResponse Message
A response message of the WatchConnectorUserTokens method.
| Name | Type | Description |
|---|
| connector_user_token_changes | repeated ConnectorUserTokenChange | Changes of ConnectorUserTokens |
| is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All ConnectorUserTokens will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
| page_token_change | WatchConnectorUserTokensResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
| resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
| snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
| is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
| is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (ConnectorUserTokens will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchConnectorUserTokensResponse.PageTokenChange Message
| Name | Type | Description |
|---|
| prev_page_token | string (cursor of ConnectorUserToken) | New token to retrieve previous page of results. |
| next_page_token | string (cursor of ConnectorUserToken) | New token to retrieve next page of results. |
CreateConnectorUserTokenRequest Message
A request message of the CreateConnectorUserToken method.
CreateConnectorUserTokenRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
| Name | Type | Description |
|---|
| skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
| body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdateConnectorUserTokenRequest Message
A request message of the UpdateConnectorUserToken method.
| Name | Type | Description |
|---|
| connector_user_token | ConnectorUserToken | ConnectorUserToken resource body |
| update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
| cas | UpdateConnectorUserTokenRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
| allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
| response_mask | UpdateConnectorUserTokenRequest.ResponseMask | reduce message response size. |
UpdateConnectorUserTokenRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update
conditional based upon previous resource version.
| Name | Type | Description |
|---|
| conditional_state | ConnectorUserToken | Conditional desired state of a resource before update. |
| field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateConnectorUserTokenRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
| Name | Type | Description |
|---|
| skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
| updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
| body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteConnectorUserTokenRequest Message
A request message of the DeleteConnectorUserToken method.
| Name | Type | Description |
|---|
| name | string (name of ConnectorUserToken) | Name of ntt.ai.v1.ConnectorUserToken |
| allow_missing | bool | If set to true, and the resource is not found, method will be successful and will not return NotFound error. |
Conversation Resource
Conversation Resource
Name patterns:
projects/{project}/conversations/{conversation}users/{user}/conversations/{conversation}
Parent resources:
This section covers the methods
and messages to interact
with Conversation resource.
Conversation Methods
Here is the list of Conversation resource methods:
GetConversation Method
GetConversation
rpc GetConversation(GetConversationRequest) returns (Conversation)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/conversations.get
The equivalent REST API is:
GET /v1/{name=projects/*/conversations/*}
GET /v1/{name=users/*/conversations/*}
BatchGetConversations Method
BatchGetConversations
rpc BatchGetConversations(BatchGetConversationsRequest) returns (BatchGetConversationsResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/conversations.batchGet
The equivalent REST API is:
GET /v1/conversations:batchGet
ListConversations Method
ListConversations
rpc ListConversations(ListConversationsRequest) returns (ListConversationsResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/conversations.list
The equivalent REST API is:
GET /v1/{parent=projects/*}/conversations
GET /v1/{parent=users/*}/conversations
WatchConversation Method
WatchConversation
rpc WatchConversation(WatchConversationRequest) returns (WatchConversationResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/conversations.watch
The equivalent REST API is:
POST /v1/{name=projects/*/conversations/*}:watch
POST /v1/{name=users/*/conversations/*}:watch
WatchConversations Method
WatchConversations
rpc WatchConversations(WatchConversationsRequest) returns (WatchConversationsResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/conversations.watch
The equivalent REST API is:
POST /v1/{parent=projects/*}/conversations:watch
POST /v1/{parent=users/*}/conversations:watch
CreateConversation Method
CreateConversation
rpc CreateConversation(CreateConversationRequest) returns (Conversation)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/conversations.create
The equivalent REST API is:
POST /v1/{parent=projects/*}/conversations (BODY: conversation)
POST /v1/{parent=users/*}/conversations
UpdateConversation Method
UpdateConversation
rpc UpdateConversation(UpdateConversationRequest) returns (Conversation)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/conversations.update
The equivalent REST API is:
PUT /v1/{conversation.name=projects/*/conversations/*} (BODY: conversation)
PUT /v1/{conversation.name=users/*/conversations/*}
DeleteConversation Method
DeleteConversation
rpc DeleteConversation(DeleteConversationRequest) returns (Empty)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/conversations.delete
The equivalent REST API is:
DELETE /v1/{name=projects/*/conversations/*}
DELETE /v1/{name=users/*/conversations/*}
SearchConversations Method
SearchConversations
rpc SearchConversations(SearchConversationsRequest) returns (SearchConversationsResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/conversations.search
The equivalent REST API is:
GET /v1/{parent=projects/*}/conversations:search
GET /v1/{parent=users/*}/conversations:search
CreateConversationFromPrompt Method
CreateConversationFromPrompt
rpc CreateConversationFromPrompt(CreateConversationFromPromptRequest) returns (Conversation)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/conversations.create
The equivalent REST API is:
POST /v1/{parent=projects/*}/conversations:createFromPrompt (BODY: conversation)
POST /v1/{parent=users/*}/conversations:createFromPrompt
Conversation Messages
Here is the list of Conversation resource messages:
Conversation Message
| Name | Type | Description |
|---|
| name | string (name of Conversation) | Name of Conversation When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9] |
| metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
| title | string | Auto generated display title for the conversation |
| configured_title | string | User configured display title for the conversation |
| archived | bool | Whether the conversation has been archived |
| is_private | bool | Privacy level - if true, only visible to creator Private conversations are only accessible to the user who created them Shared (non-private) conversations are visible to all project members |
| last_activity_time | .google.protobuf.Timestamp | Timestamp of the last activity |
| turns | repeated ConversationTurn | Core conversation data - sequence of turns (each turn = one CreateResponse API call) |
| usage_by_model | map<string, ModelUsageStats> | Aggregate statistics by model (for easy analytics/billing) |
| failed_turns | repeated ConversationTurn | Failed turns - stored separately for audit/debugging These turns ended with STOP_REASON_ERROR and should not be replayed |
| replaced_turn_groups | repeated ReplacedTurnGroup | Groups of replaced turns from resume operations Each resume operation creates a new group, preserving context and order |
| capability_template | string (name of CapabilityTemplate) | Capability template used for this conversation |
GetConversationRequest Message
A request message of the GetConversation method.
| Name | Type | Description |
|---|
| name | string (name of Conversation) | Name of ntt.ai.v1.Conversation |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetConversationsRequest Message
A request message of the BatchGetConversations method.
| Name | Type | Description |
|---|
| names | repeated string (name of Conversation) | Names of Conversations |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetConversationsResponse Message
A response message of the BatchGetConversations method.
| Name | Type | Description |
|---|
| conversations | repeated Conversation | found Conversations |
| missing | repeated string (name of Conversation) | list of not found Conversations |
ListConversationsRequest Message
A request message of the ListConversations method.
| Name | Type | Description |
|---|
| parent | string (parent name of Conversation) | Parent name of ntt.ai.v1.Conversation |
| page_size | int32 | Requested page size. Server may return fewer Conversations than requested. If unspecified, server will pick an appropriate default. |
| page_token | string (cursor of Conversation) | A token identifying a page of results the server should return. Typically, this is the value of ListConversationsResponse.next_page_token. |
| order_by | string (orderBy of Conversation) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
| filter | string (filter of Conversation) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
| include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListConversationsResponse Message
A response message of the ListConversations method.
| Name | Type | Description |
|---|
| conversations | repeated Conversation | The list of Conversations |
| prev_page_token | string (cursor of Conversation) | A token to retrieve previous page of results. Pass this value in the ListConversationsRequest.page_token. |
| next_page_token | string (cursor of Conversation) | A token to retrieve next page of results. Pass this value in the ListConversationsRequest.page_token. |
| current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
| total_results_count | int32 | Number of total Conversations across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchConversationRequest Message
A request message of the WatchConversation method.
| Name | Type | Description |
|---|
| name | string (name of Conversation) | Name of ntt.ai.v1.Conversation |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchConversationResponse Message
A response message of the WatchConversation method.
WatchConversationsRequest Message
A request message of the WatchConversations method.
| Name | Type | Description |
|---|
| type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
| parent | string (parent name of Conversation) | Parent name of ntt.ai.v1.Conversation |
| page_size | int32 | Requested page size. Server may return fewer Conversations than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
| page_token | string (cursor of Conversation) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
| order_by | string (orderBy of Conversation) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
| resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
| starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
| filter | string (filter of Conversation) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to Conversation that don’t affect any of masked fields won’t be sent back. |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to Conversation that don’t affect any of masked fields won’t be sent back. |
| max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchConversationsResponse Message
A response message of the WatchConversations method.
| Name | Type | Description |
|---|
| conversation_changes | repeated ConversationChange | Changes of Conversations |
| is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All Conversations will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
| page_token_change | WatchConversationsResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
| resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
| snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
| is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
| is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (Conversations will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchConversationsResponse.PageTokenChange Message
| Name | Type | Description |
|---|
| prev_page_token | string (cursor of Conversation) | New token to retrieve previous page of results. |
| next_page_token | string (cursor of Conversation) | New token to retrieve next page of results. |
CreateConversationRequest Message
A request message of the CreateConversation method.
CreateConversationRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
| Name | Type | Description |
|---|
| skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
| body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdateConversationRequest Message
A request message of the UpdateConversation method.
| Name | Type | Description |
|---|
| conversation | Conversation | Conversation resource body |
| update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
| cas | UpdateConversationRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
| allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
| response_mask | UpdateConversationRequest.ResponseMask | reduce message response size. |
UpdateConversationRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update
conditional based upon previous resource version.
| Name | Type | Description |
|---|
| conditional_state | Conversation | Conditional desired state of a resource before update. |
| field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateConversationRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
| Name | Type | Description |
|---|
| skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
| updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
| body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteConversationRequest Message
A request message of the DeleteConversation method.
| Name | Type | Description |
|---|
| name | string (name of Conversation) | Name of ntt.ai.v1.Conversation |
| allow_missing | bool | If set to true, and the resource is not found, method will be successful and will not return NotFound error. |
SearchConversationsRequest Message
A request message of the SearchConversations method.
| Name | Type | Description |
|---|
| parent | string (parent name of Conversation) | Parent name of ntt.ai.v1.Conversation |
| page_size | int32 | Requested page size. Server may return fewer Conversations than requested. If unspecified, server will pick an appropriate default. |
| page_token | string (cursor of Conversation) | A token identifying a page of results the server should return. Typically, this is the value of SearchConversationsResponse.next_page_token. |
| order_by | string (orderBy of Conversation) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
| filter | string (filter of Conversation) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
| phrase | string | Optional search phrase used to further filter results. |
SearchConversationsResponse Message
A response message of the SearchConversations method.
| Name | Type | Description |
|---|
| conversations | repeated Conversation | The list of Conversations |
| prev_page_token | string (cursor of Conversation) | A token to retrieve previous page of results. Pass this value in the SearchConversationsRequest.page_token. |
| next_page_token | string (cursor of Conversation) | A token to retrieve next page of results. Pass this value in the SearchConversationsRequest.page_token. |
| current_offset | int32 | Current offset from the first page (0 if no page tokens were given). Page index can be computed from offset and limit provided in a request |
| total_results_count | int32 | Number of total Conversations across all pages. |
CreateConversationFromPromptRequest Message
A request message of the CreateConversationFromPrompt method.
| Name | Type | Description |
|---|
| parent | string (parent name of Conversation) | Parent name of ntt.ai.v1.Conversation |
| conversation | Conversation | Conversation resource body |
| user_prompt | string | Initial user prompt used for title generation. Not automatically stored as a turn; server decides how to use it. |
ConversationFeedback Resource
ConversationFeedback Resource
Name patterns:
projects/{project}/conversations/{conversation}/conversationFeedbacks/{conversation_feedback}users/{user}/conversations/{conversation}/conversationFeedbacks/{conversation_feedback}
Parent resources:
This section covers the methods
and messages to interact
with ConversationFeedback resource.
ConversationFeedback Methods
Here is the list of ConversationFeedback resource methods:
GetConversationFeedback Method
GetConversationFeedback
rpc GetConversationFeedback(GetConversationFeedbackRequest) returns (ConversationFeedback)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/conversationFeedbacks.get
The equivalent REST API is:
GET /v1/{name=projects/*/conversations/*/conversationFeedbacks/*}
GET /v1/{name=users/*/conversations/*/conversationFeedbacks/*}
BatchGetConversationFeedbacks Method
BatchGetConversationFeedbacks
rpc BatchGetConversationFeedbacks(BatchGetConversationFeedbacksRequest) returns (BatchGetConversationFeedbacksResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/conversationFeedbacks.batchGet
The equivalent REST API is:
GET /v1/conversationFeedbacks:batchGet
ListConversationFeedbacks Method
ListConversationFeedbacks
rpc ListConversationFeedbacks(ListConversationFeedbacksRequest) returns (ListConversationFeedbacksResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/conversationFeedbacks.list
The equivalent REST API is:
GET /v1/{parent=projects/*/conversations/*}/conversationFeedbacks
GET /v1/{parent=users/*/conversations/*}/conversationFeedbacks
WatchConversationFeedback Method
WatchConversationFeedback
rpc WatchConversationFeedback(WatchConversationFeedbackRequest) returns (WatchConversationFeedbackResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/conversationFeedbacks.watch
The equivalent REST API is:
POST /v1/{name=projects/*/conversations/*/conversationFeedbacks/*}:watch
POST /v1/{name=users/*/conversations/*/conversationFeedbacks/*}:watch
WatchConversationFeedbacks Method
WatchConversationFeedbacks
rpc WatchConversationFeedbacks(WatchConversationFeedbacksRequest) returns (WatchConversationFeedbacksResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/conversationFeedbacks.watch
The equivalent REST API is:
POST /v1/{parent=projects/*/conversations/*}/conversationFeedbacks:watch
POST /v1/{parent=users/*/conversations/*}/conversationFeedbacks:watch
CreateConversationFeedback Method
CreateConversationFeedback
rpc CreateConversationFeedback(CreateConversationFeedbackRequest) returns (ConversationFeedback)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/conversationFeedbacks.create
The equivalent REST API is:
POST /v1/{parent=projects/*/conversations/*}/conversationFeedbacks (BODY: conversation_feedback)
POST /v1/{parent=users/*/conversations/*}/conversationFeedbacks
UpdateConversationFeedback Method
UpdateConversationFeedback
rpc UpdateConversationFeedback(UpdateConversationFeedbackRequest) returns (ConversationFeedback)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/conversationFeedbacks.update
The equivalent REST API is:
PUT /v1/{conversation_feedback.name=projects/*/conversations/*/conversationFeedbacks/*} (BODY: conversation_feedback)
PUT /v1/{conversation_feedback.name=users/*/conversations/*/conversationFeedbacks/*}
DeleteConversationFeedback Method
DeleteConversationFeedback
rpc DeleteConversationFeedback(DeleteConversationFeedbackRequest) returns (Empty)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/conversationFeedbacks.delete
The equivalent REST API is:
DELETE /v1/{name=projects/*/conversations/*/conversationFeedbacks/*}
DELETE /v1/{name=users/*/conversations/*/conversationFeedbacks/*}
ConversationFeedback Messages
Here is the list of ConversationFeedback resource messages:
ConversationFeedback Message
| Name | Type | Description |
|---|
| name | string (name of ConversationFeedback) | Name of ConversationFeedback When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9] |
| metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
| rating | int32 | Rating scale 1 to 10 |
| comment | string | Optional free-form comment |
| tags | repeated string | Structured tags for analytics (e.g., “helpful”, “incorrect”) |
| created_at | .google.protobuf.Timestamp | Server-populated timestamp when feedback was created |
| user_email | string | Server-populated email of the user who submitted feedback |
GetConversationFeedbackRequest Message
A request message of the GetConversationFeedback method.
| Name | Type | Description |
|---|
| name | string (name of ConversationFeedback) | Name of ntt.ai.v1.ConversationFeedback |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetConversationFeedbacksRequest Message
A request message of the BatchGetConversationFeedbacks method.
| Name | Type | Description |
|---|
| names | repeated string (name of ConversationFeedback) | Names of ConversationFeedbacks |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetConversationFeedbacksResponse Message
A response message of the BatchGetConversationFeedbacks method.
ListConversationFeedbacksRequest Message
A request message of the ListConversationFeedbacks method.
| Name | Type | Description |
|---|
| parent | string (parent name of ConversationFeedback) | Parent name of ntt.ai.v1.ConversationFeedback |
| page_size | int32 | Requested page size. Server may return fewer ConversationFeedbacks than requested. If unspecified, server will pick an appropriate default. |
| page_token | string (cursor of ConversationFeedback) | A token identifying a page of results the server should return. Typically, this is the value of ListConversationFeedbacksResponse.next_page_token. |
| order_by | string (orderBy of ConversationFeedback) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
| filter | string (filter of ConversationFeedback) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
| include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListConversationFeedbacksResponse Message
A response message of the ListConversationFeedbacks method.
| Name | Type | Description |
|---|
| conversation_feedbacks | repeated ConversationFeedback | The list of ConversationFeedbacks |
| prev_page_token | string (cursor of ConversationFeedback) | A token to retrieve previous page of results. Pass this value in the ListConversationFeedbacksRequest.page_token. |
| next_page_token | string (cursor of ConversationFeedback) | A token to retrieve next page of results. Pass this value in the ListConversationFeedbacksRequest.page_token. |
| current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
| total_results_count | int32 | Number of total ConversationFeedbacks across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchConversationFeedbackRequest Message
A request message of the WatchConversationFeedback method.
| Name | Type | Description |
|---|
| name | string (name of ConversationFeedback) | Name of ntt.ai.v1.ConversationFeedback |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchConversationFeedbackResponse Message
A response message of the WatchConversationFeedback method.
WatchConversationFeedbacksRequest Message
A request message of the WatchConversationFeedbacks method.
| Name | Type | Description |
|---|
| type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
| parent | string (parent name of ConversationFeedback) | Parent name of ntt.ai.v1.ConversationFeedback |
| page_size | int32 | Requested page size. Server may return fewer ConversationFeedbacks than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
| page_token | string (cursor of ConversationFeedback) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
| order_by | string (orderBy of ConversationFeedback) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
| resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
| starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
| filter | string (filter of ConversationFeedback) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to ConversationFeedback that don’t affect any of masked fields won’t be sent back. |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to ConversationFeedback that don’t affect any of masked fields won’t be sent back. |
| max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchConversationFeedbacksResponse Message
A response message of the WatchConversationFeedbacks method.
| Name | Type | Description |
|---|
| conversation_feedback_changes | repeated ConversationFeedbackChange | Changes of ConversationFeedbacks |
| is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All ConversationFeedbacks will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
| page_token_change | WatchConversationFeedbacksResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
| resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
| snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
| is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
| is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (ConversationFeedbacks will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchConversationFeedbacksResponse.PageTokenChange Message
| Name | Type | Description |
|---|
| prev_page_token | string (cursor of ConversationFeedback) | New token to retrieve previous page of results. |
| next_page_token | string (cursor of ConversationFeedback) | New token to retrieve next page of results. |
CreateConversationFeedbackRequest Message
A request message of the CreateConversationFeedback method.
CreateConversationFeedbackRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
| Name | Type | Description |
|---|
| skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
| body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdateConversationFeedbackRequest Message
A request message of the UpdateConversationFeedback method.
| Name | Type | Description |
|---|
| conversation_feedback | ConversationFeedback | ConversationFeedback resource body |
| update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
| cas | UpdateConversationFeedbackRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
| allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
| response_mask | UpdateConversationFeedbackRequest.ResponseMask | reduce message response size. |
UpdateConversationFeedbackRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update
conditional based upon previous resource version.
| Name | Type | Description |
|---|
| conditional_state | ConversationFeedback | Conditional desired state of a resource before update. |
| field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateConversationFeedbackRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
| Name | Type | Description |
|---|
| skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
| updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
| body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteConversationFeedbackRequest Message
A request message of the DeleteConversationFeedback method.
| Name | Type | Description |
|---|
| name | string (name of ConversationFeedback) | Name of ntt.ai.v1.ConversationFeedback |
| allow_missing | bool | If set to true, and the resource is not found, method will be successful and will not return NotFound error. |
Document Resource
Document Resource represents specific document in a search index.
When uploaded to the service, it is automatically tokenized
and chunked in search service.
As of now, each Document must be some kind of text file (markdown,
protobuf, source code, json, yaml…).
Name patterns:
searchDbs/{search_db}/searchIndices/{search_index}/documents/{document}projects/{project}/searchDbs/{search_db}/searchIndices/{search_index}/documents/{document}
Parent resources:
This section covers the methods
and messages to interact
with Document resource.
Document Methods
Here is the list of Document resource methods:
GetDocument Method
GetDocument
rpc GetDocument(GetDocumentRequest) returns (Document)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/documents.get
The equivalent REST API is:
GET /v1/{name=searchDbs/*/searchIndices/*/documents/*}
GET /v1/{name=projects/*/searchDbs/*/searchIndices/*/documents/*}
BatchGetDocuments Method
BatchGetDocuments
rpc BatchGetDocuments(BatchGetDocumentsRequest) returns (BatchGetDocumentsResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/documents.batchGet
The equivalent REST API is:
GET /v1/documents:batchGet
ListDocuments Method
ListDocuments
rpc ListDocuments(ListDocumentsRequest) returns (ListDocumentsResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/documents.list
The equivalent REST API is:
GET /v1/{parent=searchDbs/*/searchIndices/*}/documents
GET /v1/{parent=projects/*/searchDbs/*/searchIndices/*}/documents
WatchDocument Method
WatchDocument
rpc WatchDocument(WatchDocumentRequest) returns (WatchDocumentResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/documents.watch
The equivalent REST API is:
POST /v1/{name=searchDbs/*/searchIndices/*/documents/*}:watch
POST /v1/{name=projects/*/searchDbs/*/searchIndices/*/documents/*}:watch
WatchDocuments Method
WatchDocuments
rpc WatchDocuments(WatchDocumentsRequest) returns (WatchDocumentsResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/documents.watch
The equivalent REST API is:
POST /v1/{parent=searchDbs/*/searchIndices/*}/documents:watch
POST /v1/{parent=projects/*/searchDbs/*/searchIndices/*}/documents:watch
CreateDocument Method
CreateDocument
rpc CreateDocument(CreateDocumentRequest) returns (Document)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/documents.create
The equivalent REST API is:
POST /v1/{parent=searchDbs/*/searchIndices/*}/documents (BODY: document)
POST /v1/{parent=projects/*/searchDbs/*/searchIndices/*}/documents
UpdateDocument Method
UpdateDocument
rpc UpdateDocument(UpdateDocumentRequest) returns (Document)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/documents.update
The equivalent REST API is:
PUT /v1/{document.name=searchDbs/*/searchIndices/*/documents/*} (BODY: document)
PUT /v1/{document.name=projects/*/searchDbs/*/searchIndices/*/documents/*}
DeleteDocument Method
DeleteDocument
rpc DeleteDocument(DeleteDocumentRequest) returns (Empty)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/documents.delete
The equivalent REST API is:
DELETE /v1/{name=searchDbs/*/searchIndices/*/documents/*}
DELETE /v1/{name=projects/*/searchDbs/*/searchIndices/*/documents/*}
Document Messages
Here is the list of Document resource messages:
Document Message
| Name | Type | Description |
|---|
| name | string (name of Document) | Name of Document When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9] |
| metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
| content | bytes | Document contents. |
| checksum | string | Computed based on checksum. Checksum can be used to later determine if file needs to be updated or not. |
| title | string | |
| title_prefix | string | |
| file_type | Document.FileType | |
GetDocumentRequest Message
A request message of the GetDocument method.
| Name | Type | Description |
|---|
| name | string (name of Document) | Name of ntt.ai.v1.Document |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetDocumentsRequest Message
A request message of the BatchGetDocuments method.
| Name | Type | Description |
|---|
| names | repeated string (name of Document) | Names of Documents |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetDocumentsResponse Message
A response message of the BatchGetDocuments method.
| Name | Type | Description |
|---|
| documents | repeated Document | found Documents |
| missing | repeated string (name of Document) | list of not found Documents |
ListDocumentsRequest Message
A request message of the ListDocuments method.
| Name | Type | Description |
|---|
| parent | string (parent name of Document) | Parent name of ntt.ai.v1.Document |
| page_size | int32 | Requested page size. Server may return fewer Documents than requested. If unspecified, server will pick an appropriate default. |
| page_token | string (cursor of Document) | A token identifying a page of results the server should return. Typically, this is the value of ListDocumentsResponse.next_page_token. |
| order_by | string (orderBy of Document) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
| filter | string (filter of Document) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
| include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListDocumentsResponse Message
A response message of the ListDocuments method.
| Name | Type | Description |
|---|
| documents | repeated Document | The list of Documents |
| prev_page_token | string (cursor of Document) | A token to retrieve previous page of results. Pass this value in the ListDocumentsRequest.page_token. |
| next_page_token | string (cursor of Document) | A token to retrieve next page of results. Pass this value in the ListDocumentsRequest.page_token. |
| current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
| total_results_count | int32 | Number of total Documents across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchDocumentRequest Message
A request message of the WatchDocument method.
| Name | Type | Description |
|---|
| name | string (name of Document) | Name of ntt.ai.v1.Document |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchDocumentResponse Message
A response message of the WatchDocument method.
WatchDocumentsRequest Message
A request message of the WatchDocuments method.
| Name | Type | Description |
|---|
| type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
| parent | string (parent name of Document) | Parent name of ntt.ai.v1.Document |
| page_size | int32 | Requested page size. Server may return fewer Documents than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
| page_token | string (cursor of Document) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
| order_by | string (orderBy of Document) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
| resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
| starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
| filter | string (filter of Document) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to Document that don’t affect any of masked fields won’t be sent back. |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to Document that don’t affect any of masked fields won’t be sent back. |
| max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchDocumentsResponse Message
A response message of the WatchDocuments method.
| Name | Type | Description |
|---|
| document_changes | repeated DocumentChange | Changes of Documents |
| is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All Documents will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
| page_token_change | WatchDocumentsResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
| resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
| snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
| is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
| is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (Documents will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchDocumentsResponse.PageTokenChange Message
| Name | Type | Description |
|---|
| prev_page_token | string (cursor of Document) | New token to retrieve previous page of results. |
| next_page_token | string (cursor of Document) | New token to retrieve next page of results. |
CreateDocumentRequest Message
A request message of the CreateDocument method.
| Name | Type | Description |
|---|
| parent | string (parent name of Document) | Parent name of ntt.ai.v1.Document |
| document | Document | Document resource body |
| response_mask | CreateDocumentRequest.ResponseMask | Optional masking applied to response object to reduce message response size. |
CreateDocumentRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
| Name | Type | Description |
|---|
| skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
| body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdateDocumentRequest Message
A request message of the UpdateDocument method.
| Name | Type | Description |
|---|
| document | Document | Document resource body |
| update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
| cas | UpdateDocumentRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
| allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
| response_mask | UpdateDocumentRequest.ResponseMask | reduce message response size. |
UpdateDocumentRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update
conditional based upon previous resource version.
| Name | Type | Description |
|---|
| conditional_state | Document | Conditional desired state of a resource before update. |
| field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateDocumentRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
| Name | Type | Description |
|---|
| skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
| updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
| body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteDocumentRequest Message
A request message of the DeleteDocument method.
| Name | Type | Description |
|---|
| name | string (name of Document) | Name of ntt.ai.v1.Document |
| allow_missing | bool | If set to true, and the resource is not found, method will be successful and will not return NotFound error. |
Document Enumerations
Here is the list of Document resource enumerations:
Document.FileType Enumeration
| Name | Description |
|---|
| UNDEFINED | |
| MARKDOWN | |
| GOLANG | |
| PROTOBUF | |
SearchDb Resource
SearchDb Resource represents access to Search Service,
which typically should be some kind of Vector database.
It is a container for search indices, which can be used
for chat purposes (RAG).
Name patterns:
searchDbs/{search_db}projects/{project}/searchDbs/{search_db}
Parent resources:
This section covers the methods
and messages to interact
with SearchDb resource.
SearchDb Methods
Here is the list of SearchDb resource methods:
GetSearchDb Method
GetSearchDb
rpc GetSearchDb(GetSearchDbRequest) returns (SearchDb)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/searchDbs.get
The equivalent REST API is:
GET /v1/{name=searchDbs/*}
GET /v1/{name=projects/*/searchDbs/*}
BatchGetSearchDbs Method
BatchGetSearchDbs
rpc BatchGetSearchDbs(BatchGetSearchDbsRequest) returns (BatchGetSearchDbsResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/searchDbs.batchGet
The equivalent REST API is:
GET /v1/searchDbs:batchGet
ListSearchDbs Method
ListSearchDbs
rpc ListSearchDbs(ListSearchDbsRequest) returns (ListSearchDbsResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/searchDbs.list
The equivalent REST API is:
GET /v1/{parent=projects/*}/searchDbs
WatchSearchDb Method
WatchSearchDb
rpc WatchSearchDb(WatchSearchDbRequest) returns (WatchSearchDbResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/searchDbs.watch
The equivalent REST API is:
POST /v1/{name=searchDbs/*}:watch
POST /v1/{name=projects/*/searchDbs/*}:watch
WatchSearchDbs Method
WatchSearchDbs
rpc WatchSearchDbs(WatchSearchDbsRequest) returns (WatchSearchDbsResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/searchDbs.watch
The equivalent REST API is:
POST /v1/{parent=projects/*}/searchDbs:watch
CreateSearchDb Method
CreateSearchDb
rpc CreateSearchDb(CreateSearchDbRequest) returns (SearchDb)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/searchDbs.create
The equivalent REST API is:
POST /v1/searchDbs (BODY: search_db)
POST /v1/{parent=projects/*}/searchDbs
UpdateSearchDb Method
UpdateSearchDb
rpc UpdateSearchDb(UpdateSearchDbRequest) returns (SearchDb)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/searchDbs.update
The equivalent REST API is:
PUT /v1/{search_db.name=searchDbs/*} (BODY: search_db)
PUT /v1/{search_db.name=projects/*/searchDbs/*}
DeleteSearchDb Method
DeleteSearchDb
rpc DeleteSearchDb(DeleteSearchDbRequest) returns (Empty)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/searchDbs.delete
The equivalent REST API is:
DELETE /v1/{name=searchDbs/*}
DELETE /v1/{name=projects/*/searchDbs/*}
SearchDb Messages
Here is the list of SearchDb resource messages:
SearchDb Message
| Name | Type | Description |
|---|
| name | string (name of SearchDb) | Name of SearchDb When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9] |
| metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
| azure_ai_search | SearchDb.AzureAiSearch | |
SearchDb.AzureAiSearch Message
| Name | Type | Description |
|---|
| endpoint | string | |
| api_key | string (reference to Secret) | |
| enable_semantic | bool | Whether to enable semantic search features (requires Basic+ tier with semantic enabled) |
GetSearchDbRequest Message
A request message of the GetSearchDb method.
| Name | Type | Description |
|---|
| name | string (name of SearchDb) | Name of ntt.ai.v1.SearchDb |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetSearchDbsRequest Message
A request message of the BatchGetSearchDbs method.
| Name | Type | Description |
|---|
| names | repeated string (name of SearchDb) | Names of SearchDbs |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetSearchDbsResponse Message
A response message of the BatchGetSearchDbs method.
| Name | Type | Description |
|---|
| search_dbs | repeated SearchDb | found SearchDbs |
| missing | repeated string (name of SearchDb) | list of not found SearchDbs |
ListSearchDbsRequest Message
A request message of the ListSearchDbs method.
| Name | Type | Description |
|---|
| parent | string (parent name of SearchDb) | Parent name of ntt.ai.v1.SearchDb |
| page_size | int32 | Requested page size. Server may return fewer SearchDbs than requested. If unspecified, server will pick an appropriate default. |
| page_token | string (cursor of SearchDb) | A token identifying a page of results the server should return. Typically, this is the value of ListSearchDbsResponse.next_page_token. |
| order_by | string (orderBy of SearchDb) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
| filter | string (filter of SearchDb) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
| include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListSearchDbsResponse Message
A response message of the ListSearchDbs method.
| Name | Type | Description |
|---|
| search_dbs | repeated SearchDb | The list of SearchDbs |
| prev_page_token | string (cursor of SearchDb) | A token to retrieve previous page of results. Pass this value in the ListSearchDbsRequest.page_token. |
| next_page_token | string (cursor of SearchDb) | A token to retrieve next page of results. Pass this value in the ListSearchDbsRequest.page_token. |
| current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
| total_results_count | int32 | Number of total SearchDbs across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchSearchDbRequest Message
A request message of the WatchSearchDb method.
| Name | Type | Description |
|---|
| name | string (name of SearchDb) | Name of ntt.ai.v1.SearchDb |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchSearchDbResponse Message
A response message of the WatchSearchDb method.
WatchSearchDbsRequest Message
A request message of the WatchSearchDbs method.
| Name | Type | Description |
|---|
| type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
| parent | string (parent name of SearchDb) | Parent name of ntt.ai.v1.SearchDb |
| page_size | int32 | Requested page size. Server may return fewer SearchDbs than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
| page_token | string (cursor of SearchDb) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
| order_by | string (orderBy of SearchDb) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
| resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
| starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
| filter | string (filter of SearchDb) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to SearchDb that don’t affect any of masked fields won’t be sent back. |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to SearchDb that don’t affect any of masked fields won’t be sent back. |
| max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchSearchDbsResponse Message
A response message of the WatchSearchDbs method.
| Name | Type | Description |
|---|
| search_db_changes | repeated SearchDbChange | Changes of SearchDbs |
| is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All SearchDbs will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
| page_token_change | WatchSearchDbsResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
| resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
| snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
| is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
| is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (SearchDbs will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchSearchDbsResponse.PageTokenChange Message
| Name | Type | Description |
|---|
| prev_page_token | string (cursor of SearchDb) | New token to retrieve previous page of results. |
| next_page_token | string (cursor of SearchDb) | New token to retrieve next page of results. |
CreateSearchDbRequest Message
A request message of the CreateSearchDb method.
| Name | Type | Description |
|---|
| parent | string (parent name of SearchDb) | Parent name of ntt.ai.v1.SearchDb |
| search_db | SearchDb | SearchDb resource body |
| response_mask | CreateSearchDbRequest.ResponseMask | Optional masking applied to response object to reduce message response size. |
CreateSearchDbRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
| Name | Type | Description |
|---|
| skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
| body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdateSearchDbRequest Message
A request message of the UpdateSearchDb method.
| Name | Type | Description |
|---|
| search_db | SearchDb | SearchDb resource body |
| update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
| cas | UpdateSearchDbRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
| allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
| response_mask | UpdateSearchDbRequest.ResponseMask | reduce message response size. |
UpdateSearchDbRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update
conditional based upon previous resource version.
| Name | Type | Description |
|---|
| conditional_state | SearchDb | Conditional desired state of a resource before update. |
| field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateSearchDbRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
| Name | Type | Description |
|---|
| skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
| updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
| body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteSearchDbRequest Message
A request message of the DeleteSearchDb method.
| Name | Type | Description |
|---|
| name | string (name of SearchDb) | Name of ntt.ai.v1.SearchDb |
| allow_missing | bool | If set to true, and the resource is not found, method will be successful and will not return NotFound error. |
SearchIndex Resource
SearchIndex Resource represents set of related documents focused on
concrete topic. Such an index can be used with Chat service (RAG).
Index fields in search database are:
- ID (contains chunk index with document file name, or url/title)
- DocumentChecksum (string, maps one to 1 with Document resource).
- Parent ID (applicable for some documents, like markdown file split by
titles).
- Content (text content after chunking)
- Title (string, if applicable, depending on a file)
- URL (string, if applicable, depending on document type)
- Filepath (string, if applicable, depending on document type)
Name patterns:
searchDbs/{search_db}/searchIndices/{search_index}projects/{project}/searchDbs/{search_db}/searchIndices/{search_index}
Parent resources:
This section covers the methods
and messages to interact
with SearchIndex resource.
SearchIndex Methods
Here is the list of SearchIndex resource methods:
GetSearchIndex Method
GetSearchIndex
rpc GetSearchIndex(GetSearchIndexRequest) returns (SearchIndex)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/searchIndices.get
The equivalent REST API is:
GET /v1/{name=searchDbs/*/searchIndices/*}
GET /v1/{name=projects/*/searchDbs/*/searchIndices/*}
BatchGetSearchIndices Method
BatchGetSearchIndices
rpc BatchGetSearchIndices(BatchGetSearchIndicesRequest) returns (BatchGetSearchIndicesResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/searchIndices.batchGet
The equivalent REST API is:
GET /v1/searchIndices:batchGet
ListSearchIndices Method
ListSearchIndices
rpc ListSearchIndices(ListSearchIndicesRequest) returns (ListSearchIndicesResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/searchIndices.list
The equivalent REST API is:
GET /v1/{parent=searchDbs/*}/searchIndices
GET /v1/{parent=projects/*/searchDbs/*}/searchIndices
WatchSearchIndex Method
WatchSearchIndex
rpc WatchSearchIndex(WatchSearchIndexRequest) returns (WatchSearchIndexResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/searchIndices.watch
The equivalent REST API is:
POST /v1/{name=searchDbs/*/searchIndices/*}:watch
POST /v1/{name=projects/*/searchDbs/*/searchIndices/*}:watch
WatchSearchIndices Method
WatchSearchIndices
rpc WatchSearchIndices(WatchSearchIndicesRequest) returns (WatchSearchIndicesResponse)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/searchIndices.watch
The equivalent REST API is:
POST /v1/{parent=searchDbs/*}/searchIndices:watch
POST /v1/{parent=projects/*/searchDbs/*}/searchIndices:watch
CreateSearchIndex Method
CreateSearchIndex
rpc CreateSearchIndex(CreateSearchIndexRequest) returns (SearchIndex)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/searchIndices.create
The equivalent REST API is:
POST /v1/{parent=searchDbs/*}/searchIndices (BODY: search_index)
POST /v1/{parent=projects/*/searchDbs/*}/searchIndices
UpdateSearchIndex Method
UpdateSearchIndex
rpc UpdateSearchIndex(UpdateSearchIndexRequest) returns (SearchIndex)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/searchIndices.update
The equivalent REST API is:
PUT /v1/{search_index.name=searchDbs/*/searchIndices/*} (BODY: search_index)
PUT /v1/{search_index.name=projects/*/searchDbs/*/searchIndices/*}
DeleteSearchIndex Method
DeleteSearchIndex
rpc DeleteSearchIndex(DeleteSearchIndexRequest) returns (Empty)
with the following messages:
Required Permissions:
- services/ai.edgelq.com/permissions/searchIndices.delete
The equivalent REST API is:
DELETE /v1/{name=searchDbs/*/searchIndices/*}
DELETE /v1/{name=projects/*/searchDbs/*/searchIndices/*}
SearchIndex Messages
Here is the list of SearchIndex resource messages:
SearchIndex Message
| Name | Type | Description |
|---|
| name | string (name of SearchIndex) | Name of SearchIndex When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9] |
| metadata | Meta | Metadata is an object with information like create, update and delete time (for async deleted resources), has user labels/annotations, sharding information, multi-region syncing information and may have non-schema owners (useful for taking ownership of resources belonging to lower level services by higher ones). |
| index_name | string | |
| display_name | string | Human-readable display name for this search index |
| description | string | Description of what content this index contains |
| tokens_per_chunk | int32 | |
| overlap_tokens | int32 | |
GetSearchIndexRequest Message
A request message of the GetSearchIndex method.
| Name | Type | Description |
|---|
| name | string (name of SearchIndex) | Name of ntt.ai.v1.SearchIndex |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetSearchIndicesRequest Message
A request message of the BatchGetSearchIndices method.
| Name | Type | Description |
|---|
| names | repeated string (name of SearchIndex) | Names of SearchIndices |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
BatchGetSearchIndicesResponse Message
A response message of the BatchGetSearchIndices method.
| Name | Type | Description |
|---|
| search_indices | repeated SearchIndex | found SearchIndices |
| missing | repeated string (name of SearchIndex) | list of not found SearchIndices |
ListSearchIndicesRequest Message
A request message of the ListSearchIndices method.
| Name | Type | Description |
|---|
| parent | string (parent name of SearchIndex) | Parent name of ntt.ai.v1.SearchIndex |
| page_size | int32 | Requested page size. Server may return fewer SearchIndices than requested. If unspecified, server will pick an appropriate default. |
| page_token | string (cursor of SearchIndex) | A token identifying a page of results the server should return. Typically, this is the value of ListSearchIndicesResponse.next_page_token. |
| order_by | string (orderBy of SearchIndex) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme” |
| filter | string (filter of SearchIndex) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
| include_paging_info | bool | Indicates if list response should contain total count and offset (fields current_offset and total_results_count). |
ListSearchIndicesResponse Message
A response message of the ListSearchIndices method.
| Name | Type | Description |
|---|
| search_indices | repeated SearchIndex | The list of SearchIndices |
| prev_page_token | string (cursor of SearchIndex) | A token to retrieve previous page of results. Pass this value in the ListSearchIndicesRequest.page_token. |
| next_page_token | string (cursor of SearchIndex) | A token to retrieve next page of results. Pass this value in the ListSearchIndicesRequest.page_token. |
| current_offset | int32 | Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request. |
| total_results_count | int32 | Number of total SearchIndices across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it. |
WatchSearchIndexRequest Message
A request message of the WatchSearchIndex method.
| Name | Type | Description |
|---|
| name | string (name of SearchIndex) | Name of ntt.ai.v1.SearchIndex |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask |
WatchSearchIndexResponse Message
A response message of the WatchSearchIndex method.
WatchSearchIndicesRequest Message
A request message of the WatchSearchIndices method.
| Name | Type | Description |
|---|
| type | WatchType | Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant. |
| parent | string (parent name of SearchIndex) | Parent name of ntt.ai.v1.SearchIndex |
| page_size | int32 | Requested page size. Server may return fewer SearchIndices than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type. |
| page_token | string (cursor of SearchIndex) | A token identifying a page of results the server should return. Can be populated only for stateful watch type. |
| order_by | string (orderBy of SearchIndex) | Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type. |
| resume_token | string | A token identifying watch resume point from previous session. Can be populated only for stateless watch type. |
| starting_time | .google.protobuf.Timestamp | Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection. |
| filter | string (filter of SearchIndex) | Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL |
| field_mask | .google.protobuf.FieldMask | A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to SearchIndex that don’t affect any of masked fields won’t be sent back. |
| view | View | View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to SearchIndex that don’t affect any of masked fields won’t be sent back. |
| max_chunk_size | int32 | Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default. |
WatchSearchIndicesResponse Message
A response message of the WatchSearchIndices method.
| Name | Type | Description |
|---|
| search_index_changes | repeated SearchIndexChange | Changes of SearchIndices |
| is_current | bool | If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All SearchIndices will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0. |
| page_token_change | WatchSearchIndicesResponse.PageTokenChange | When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk). |
| resume_token | string | Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk). |
| snapshot_size | int64 | Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags. |
| is_soft_reset | bool | In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size. |
| is_hard_reset | bool | In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (SearchIndices will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size. |
WatchSearchIndicesResponse.PageTokenChange Message
| Name | Type | Description |
|---|
| prev_page_token | string (cursor of SearchIndex) | New token to retrieve previous page of results. |
| next_page_token | string (cursor of SearchIndex) | New token to retrieve next page of results. |
CreateSearchIndexRequest Message
A request message of the CreateSearchIndex method.
CreateSearchIndexRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
| Name | Type | Description |
|---|
| skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. |
| body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. |
UpdateSearchIndexRequest Message
A request message of the UpdateSearchIndex method.
| Name | Type | Description |
|---|
| search_index | SearchIndex | SearchIndex resource body |
| update_mask | .google.protobuf.FieldMask | FieldMask applied to request - change will be applied only for fields in the mask |
| cas | UpdateSearchIndexRequest.CAS | Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned. |
| allow_missing | bool | If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update |
| response_mask | UpdateSearchIndexRequest.ResponseMask | reduce message response size. |
UpdateSearchIndexRequest.CAS Message
CAS - Compare and Swap. This object is used if user wants to make update
conditional based upon previous resource version.
| Name | Type | Description |
|---|
| conditional_state | SearchIndex | Conditional desired state of a resource before update. |
| field_mask | .google.protobuf.FieldMask | Field paths from conditional state of resource server should check and compare. |
UpdateSearchIndexRequest.ResponseMask Message
ResponseMask allows client to reduce response message size.
| Name | Type | Description |
|---|
| skip_entire_response_body | bool | If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set. |
| updated_fields_only | bool | Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well. |
| body_mask | .google.protobuf.FieldMask | If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored. |
DeleteSearchIndexRequest Message
A request message of the DeleteSearchIndex method.
| Name | Type | Description |
|---|
| name | string (name of SearchIndex) | Name of ntt.ai.v1.SearchIndex |
| allow_missing | bool | If set to true, and the resource is not found, method will be successful and will not return NotFound error. |
AI Service Shared Methods and Messages
AI Service Shared Methods
Here is the list of AI service shared methods:
Completion Method
Completion
rpc Completion(CompletionRequest) returns (CompletionResponse)
CreateResponse Method
CreateResponse
rpc CreateResponse(CreateResponseRequest) returns (CreateResponseResult)
ChatStream Method
ChatStream
rpc ChatStream(ChatStreamRequest) returns (ChatStreamResponse)
ExecuteTools
rpc ExecuteTools(ExecuteToolsRequest) returns (ExecuteToolsResponse)
AI Service Shared Messages
Here is the list of AI service shared messages:
AnthropicConfig Message
| Name | Type | Description |
|---|
| thinking | ThinkingConfig | Extended thinking configuration |
| beta_features | repeated string | Beta features to enable (e.g., [“prompt-caching-2024-07-31”, “pdfs-2024-09-25”]) |
| disable_input_token_cache | bool | When true, disables prompt caching |
AudioContent Message
| Name | Type | Description |
|---|
| url | string | |
| data | bytes | |
| mime_type | string | |
AzureConfig Message
| Name | Type | Description |
|---|
| search | AzureSearchConfig | |
| parallel_tool_calls | bool | |
| max_completion_tokens | int32 | |
| reasoning_effort | string | |
AzureSearchConfig Message
| Name | Type | Description |
|---|
| endpoint | string | |
| index | string | |
| api_key | string | |
| enable_semantic | bool | |
BlockEnd Message
Block end signal - indicates a content or thinking block has completed
CancelOauth Message
Allows the client to cancel an in-flight OAuth attempt.
| Name | Type | Description |
|---|
| login_id | string | login_id returned in the Redirect event to correlate cancellation. |
CapabilityTemplateChange Message
CapabilityTemplateChange is used by Watch notifications Responses to describe
change of single CapabilityTemplate One of Added, Modified, Removed
CapabilityTemplateChange.Added Message
CapabilityTemplate has been added to query view
| Name | Type | Description |
|---|
| capability_template | CapabilityTemplate | |
| view_index | int32 | Integer describing index of added CapabilityTemplate in resulting query view. |
CapabilityTemplateChange.Current Message
CapabilityTemplate has been added or modified in a query view. Version used
for stateless watching
CapabilityTemplateChange.Modified Message
CapabilityTemplate changed some of it’s fields - contains either full
document or masked change
| Name | Type | Description |
|---|
| name | string (name of CapabilityTemplate) | Name of modified CapabilityTemplate |
| capability_template | CapabilityTemplate | New version of CapabilityTemplate or masked difference, depending on mask_changes instrumentation of issued [WatchCapabilityTemplateRequest] or [WatchCapabilityTemplatesRequest] |
| field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
| previous_view_index | int32 | Previous view index specifies previous position of modified CapabilityTemplate. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
| view_index | int32 | Integer specifying CapabilityTemplate new index in resulting query view. |
CapabilityTemplateChange.Removed Message
Removed is returned when CapabilityTemplate is deleted or leaves Query view
| Name | Type | Description |
|---|
| name | string (name of CapabilityTemplate) | |
| view_index | int32 | Integer specifying removed CapabilityTemplate index. Not populated in stateless watch type. |
CharacterRange Message
Character range in source document
| Name | Type | Description |
|---|
| start | int64 | |
| end | int64 | |
Full-transcript input per turn with optional overrides
ChatModelChange Message
ChatModelChange is used by Watch notifications Responses to describe change
of single ChatModel One of Added, Modified, Removed
ChatModelChange.Added Message
ChatModel has been added to query view
| Name | Type | Description |
|---|
| chat_model | ChatModel | |
| view_index | int32 | Integer describing index of added ChatModel in resulting query view. |
ChatModelChange.Current Message
ChatModel has been added or modified in a query view. Version used for
stateless watching
ChatModelChange.Modified Message
ChatModel changed some of it’s fields - contains either full document or
masked change
| Name | Type | Description |
|---|
| name | string (name of ChatModel) | Name of modified ChatModel |
| chat_model | ChatModel | New version of ChatModel or masked difference, depending on mask_changes instrumentation of issued [WatchChatModelRequest] or [WatchChatModelsRequest] |
| field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
| previous_view_index | int32 | Previous view index specifies previous position of modified ChatModel. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
| view_index | int32 | Integer specifying ChatModel new index in resulting query view. |
ChatModelChange.Removed Message
Removed is returned when ChatModel is deleted or leaves Query view
| Name | Type | Description |
|---|
| name | string (name of ChatModel) | |
| view_index | int32 | Integer specifying removed ChatModel index. Not populated in stateless watch type. |
ChatParameters Message
Provider-specific parameters
| Name | Type | Description |
|---|
| max_tokens | int32 | Maximum tokens to generate |
| temperature | float | Temperature (0.0 - 2.0) |
| top_p | float | Top-p nucleus sampling |
| top_k | int32 | Top-k sampling (Anthropic, Gemini) |
| presence_penalty | float | Presence penalty (OpenAI) |
| frequency_penalty | float | Frequency penalty (OpenAI) |
| seed | int64 | |
| stop_sequences | repeated string | |
| response_format | ResponseFormat | Response format |
| logprobs | bool | Whether to return log probabilities |
| top_logprobs | int32 | Number of most likely tokens to return |
ChatStreamRequest Message
Client → Server messages for ChatStream
ChatStreamResponse Message
Server → Client messages for ChatStream
Citation Message
Citation - reference to source material (provider-agnostic)
| Name | Type | Description |
|---|
| start_index | int64 | Text reference in AI response (which part is cited) |
| end_index | int64 | |
| text | string | |
| source | CitationSource | Source information |
CitationDelta Message
| Name | Type | Description |
|---|
| citation | Citation | Citation from common.proto |
CitationSource Message
Citation source information
| Name | Type | Description |
|---|
| title | string | Core fields (all providers) |
| id | string | |
| quoted_text | string | |
| char_range | CharacterRange | |
| page | PageReference | |
| url | URLReference | |
| metadata | map<string, string> | Generic metadata (extensible for any provider-specific data) |
Tool source types (shared across chat and conversation persistence)
Client tool - executed by client locally
| Name | Type | Description |
|---|
| none | none | none |
CompletionRequest Message
A request message of the Completion method.
CompletionRequest.Init Message
CompletionResponse Message
A response message of the Completion method.
| Name | Type | Description |
|---|
| response | Msg | |
| complete | bool | |
ConnectorAuthError Message
Per-connector auth failure for the current user in a single API call.
| Name | Type | Description |
|---|
| connector | string | Full connector resource name, e.g. “connectors/projects/…/connectorId” |
| code | ConnectorAuthErrorCode | |
ConnectorChange Message
ConnectorChange is used by Watch notifications Responses to describe change
of single Connector One of Added, Modified, Removed
ConnectorChange.Added Message
Connector has been added to query view
| Name | Type | Description |
|---|
| connector | Connector | |
| view_index | int32 | Integer describing index of added Connector in resulting query view. |
ConnectorChange.Current Message
Connector has been added or modified in a query view. Version used for
stateless watching
ConnectorChange.Modified Message
Connector changed some of it’s fields - contains either full document or
masked change
| Name | Type | Description |
|---|
| name | string (name of Connector) | Name of modified Connector |
| connector | Connector | New version of Connector or masked difference, depending on mask_changes instrumentation of issued [WatchConnectorRequest] or [WatchConnectorsRequest] |
| field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
| previous_view_index | int32 | Previous view index specifies previous position of modified Connector. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
| view_index | int32 | Integer specifying Connector new index in resulting query view. |
ConnectorChange.Removed Message
Removed is returned when Connector is deleted or leaves Query view
| Name | Type | Description |
|---|
| name | string (name of Connector) | |
| view_index | int32 | Integer specifying removed Connector index. Not populated in stateless watch type. |
Connector tool - executed via MCP/other connector
| Name | Type | Description |
|---|
| connector_name | string (name of Connector) | |
ConnectorUserTokenChange Message
ConnectorUserTokenChange is used by Watch notifications Responses to describe
change of single ConnectorUserToken One of Added, Modified, Removed
ConnectorUserTokenChange.Added Message
ConnectorUserToken has been added to query view
| Name | Type | Description |
|---|
| connector_user_token | ConnectorUserToken | |
| view_index | int32 | Integer describing index of added ConnectorUserToken in resulting query view. |
ConnectorUserTokenChange.Current Message
ConnectorUserToken has been added or modified in a query view. Version used
for stateless watching
ConnectorUserTokenChange.Modified Message
ConnectorUserToken changed some of it’s fields - contains either full
document or masked change
| Name | Type | Description |
|---|
| name | string (name of ConnectorUserToken) | Name of modified ConnectorUserToken |
| connector_user_token | ConnectorUserToken | New version of ConnectorUserToken or masked difference, depending on mask_changes instrumentation of issued [WatchConnectorUserTokenRequest] or [WatchConnectorUserTokensRequest] |
| field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
| previous_view_index | int32 | Previous view index specifies previous position of modified ConnectorUserToken. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
| view_index | int32 | Integer specifying ConnectorUserToken new index in resulting query view. |
ConnectorUserTokenChange.Removed Message
Removed is returned when ConnectorUserToken is deleted or leaves Query view
| Name | Type | Description |
|---|
| name | string (name of ConnectorUserToken) | |
| view_index | int32 | Integer specifying removed ConnectorUserToken index. Not populated in stateless watch type. |
ConnectorUserTokenSecret Message
Secret payload maintained by the server - not returned to clients.
| Name | Type | Description |
|---|
| ciphertext | bytes | Ciphertext returned from the configured encrypter backend. |
| encryption_key_name | string | Name of the crypto key used to encrypt/decrypt the payload. |
| payload_version | string | Version marker for the serialized payload stored in ciphertext. |
| updated_at | .google.protobuf.Timestamp | Timestamp when the secret payload was last updated. |
ConnectorsList Message
List of connectors for direct specification
| Name | Type | Description |
|---|
| connector | repeated string (name of Connector) | |
ContentDelta Message
| Name | Type | Description |
|---|
| text | string | |
ContentDone Message
| Name | Type | Description |
|---|
| text | string | |
ContentPart Message
Multimodal content part
ConversationChange Message
ConversationChange is used by Watch notifications Responses to describe
change of single Conversation One of Added, Modified, Removed
ConversationChange.Added Message
Conversation has been added to query view
| Name | Type | Description |
|---|
| conversation | Conversation | |
| view_index | int32 | Integer describing index of added Conversation in resulting query view. |
ConversationChange.Current Message
Conversation has been added or modified in a query view. Version used for
stateless watching
ConversationChange.Modified Message
Conversation changed some of it’s fields - contains either full document or
masked change
| Name | Type | Description |
|---|
| name | string (name of Conversation) | Name of modified Conversation |
| conversation | Conversation | New version of Conversation or masked difference, depending on mask_changes instrumentation of issued [WatchConversationRequest] or [WatchConversationsRequest] |
| field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
| previous_view_index | int32 | Previous view index specifies previous position of modified Conversation. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
| view_index | int32 | Integer specifying Conversation new index in resulting query view. |
ConversationChange.Removed Message
Removed is returned when Conversation is deleted or leaves Query view
| Name | Type | Description |
|---|
| name | string (name of Conversation) | |
| view_index | int32 | Integer specifying removed Conversation index. Not populated in stateless watch type. |
ConversationFeedbackChange Message
ConversationFeedbackChange is used by Watch notifications Responses to
describe change of single ConversationFeedback One of Added, Modified,
Removed
ConversationFeedbackChange.Added Message
ConversationFeedback has been added to query view
| Name | Type | Description |
|---|
| conversation_feedback | ConversationFeedback | |
| view_index | int32 | Integer describing index of added ConversationFeedback in resulting query view. |
ConversationFeedbackChange.Current Message
ConversationFeedback has been added or modified in a query view. Version
used for stateless watching
ConversationFeedbackChange.Modified Message
ConversationFeedback changed some of it’s fields - contains either full
document or masked change
| Name | Type | Description |
|---|
| name | string (name of ConversationFeedback) | Name of modified ConversationFeedback |
| conversation_feedback | ConversationFeedback | New version of ConversationFeedback or masked difference, depending on mask_changes instrumentation of issued [WatchConversationFeedbackRequest] or [WatchConversationFeedbacksRequest] |
| field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
| previous_view_index | int32 | Previous view index specifies previous position of modified ConversationFeedback. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
| view_index | int32 | Integer specifying ConversationFeedback new index in resulting query view. |
ConversationFeedbackChange.Removed Message
Removed is returned when ConversationFeedback is deleted or leaves Query
view
| Name | Type | Description |
|---|
| name | string (name of ConversationFeedback) | |
| view_index | int32 | Integer specifying removed ConversationFeedback index. Not populated in stateless watch type. |
ConversationTurn Message
Represents one CreateResponse API call
| Name | Type | Description |
|---|
| turn_number | int32 | Sequential turn number (0-indexed) |
| timestamp | .google.protobuf.Timestamp | When this turn started |
| messages | repeated Message | Messages added in THIS turn only (not full history) Typically: [user_msg, assistant_msg] or [tool_result_msg, assistant_msg] |
| config | TurnConfig | Configuration used for this specific API call |
| usage | TokenUsage | Token usage for this specific turn |
| stop_reason | StopReason | How this turn ended |
| duration | .google.protobuf.Duration | Duration of the API call |
| available_tools_by_source | repeated TurnToolsBySourceGroup | Tools grouped by source (authoritative for resume) |
| replaced_turn_number | int32 | If this turn replaced a previous turn (from resume operation) Points to the turn number that was replaced |
| error_details | string | Error details if stop_reason is ERROR |
CreateRequest Message
| Name | Type | Description |
|---|
| messages | repeated Message | The conversation |
| model | string (name of ChatModel) | Model selection |
| client_tools | repeated ToolDefinition | Client explicitly declares its tools |
| capability_template | string (name of CapabilityTemplate) | Option 1: Use a pre-configured capability template |
| connectors | ConnectorsList | Option 2: Directly specify connectors |
| max_tokens | int32 | Standard LLM params |
| temperature | float | |
| conversation_name | string (name of Conversation) | Optional: reference to existing conversation |
| parent | string | Scope for authorization and tracking. Can be project, organization, or empty. Format: “projects/{project}”, “organizations/{org}”, or "" |
| reasoning_level | ReasoningLevel | Requested reasoning level (optional, capped by template max) |
| disable_input_token_cache | bool | Override to disable Anthropic prompt caching for this request |
| prompt_variables | map<string, string> | Optional prompt variables passed by the client for template rendering Used by capability templates’ system_prompt_append when variables use request_key source Server applies automatic sanitization: - Max 8KB per value, 64KB total - Control characters stripped (except \n and \t) - Values are treated as untrusted user input |
| resume_config | ResumeConfig | Resume configuration for editing conversation history When set, resumes conversation from a specific turn Requires conversation_name to be set Incompatible with direct messages array |
| skip_tool_discovery | bool | When true, skips server-side tool discovery from connectors and templates. The capability template is still loaded for system prompt, model config, reasoning settings, etc. — only tool discovery is skipped. Useful for one-shot request/response flows that don’t need tool calls. |
| response_format | ResponseFormat | Response format constraint (e.g., JSON output) |
CreateResponseRequest Message
Client → Server messages
CreateResponseResult Message
Server → Client messages
DocumentChange Message
DocumentChange is used by Watch notifications Responses to describe change of
single Document One of Added, Modified, Removed
DocumentChange.Added Message
Document has been added to query view
| Name | Type | Description |
|---|
| document | Document | |
| view_index | int32 | Integer describing index of added Document in resulting query view. |
DocumentChange.Current Message
Document has been added or modified in a query view. Version used for
stateless watching
DocumentChange.Modified Message
Document changed some of it’s fields - contains either full document or
masked change
| Name | Type | Description |
|---|
| name | string (name of Document) | Name of modified Document |
| document | Document | New version of Document or masked difference, depending on mask_changes instrumentation of issued [WatchDocumentRequest] or [WatchDocumentsRequest] |
| field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
| previous_view_index | int32 | Previous view index specifies previous position of modified Document. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
| view_index | int32 | Integer specifying Document new index in resulting query view. |
DocumentChange.Removed Message
Removed is returned when Document is deleted or leaves Query view
| Name | Type | Description |
|---|
| name | string (name of Document) | |
| view_index | int32 | Integer specifying removed Document index. Not populated in stateless watch type. |
Error Message
| Name | Type | Description |
|---|
| code | string | |
| message | string | |
| connector_auth_errors | repeated ConnectorAuthError | Connector authentication errors that blocked this request for the current user. Empty for non-connector-related failures. |
A request message of the ExecuteTools method.
| Name | Type | Description |
|---|
| tool_executions | repeated ToolExecution | |
| client_request_id | string | Client-provided request ID for idempotency and log correlation |
| parent | string | Scope for authorization and tracking. Can be project, organization, or empty. Format: “projects/{project}”, “organizations/{org}”, or "" |
A response message of the ExecuteTools method.
FileContent Message
| Name | Type | Description |
|---|
| name | string | |
| mime_type | string | |
| url | string | |
| data | bytes | |
GeminiConfig Message
| Name | Type | Description |
|---|
| none | none | none |
GenerationParameters Message
Grouped generation parameters
| Name | Type | Description |
|---|
| max_tokens | int32 | |
| temperature | float | |
| reasoning_level | ReasoningLevel | |
| disable_input_token_cache | .google.protobuf.BoolValue | |
| response_format | ResponseFormat | Response format constraint (e.g., JSON output) |
ImageContent Message
| Name | Type | Description |
|---|
| url | string | |
| data | bytes | |
| mime_type | string | |
IndexingPolicy Message
| Name | Type | Description |
|---|
| chunk_size_tokens | uint32s | |
| chunk_overlap_tokens | uint32s | |
| embedding_model | string | |
| chunking_strategy | string | |
InitializeSession Message
Heavy initialization message - sent once at session start
| Name | Type | Description |
|---|
| model | string (name of ChatModel) | Model selection |
| capability_template | string (name of CapabilityTemplate) | Required capability template for ChatStream (connectors not supported here) |
| client_tools | repeated ToolDefinition | Optional: Client declared tools |
| parameters | GenerationParameters | Default generation parameters |
| prompt_variables | map<string, string> | Default prompt variables for template rendering |
| conversation_name | string (name of Conversation) | Optional: bind to existing conversation (stateful mode) |
| parent | string | Scope for authorization and tracking. Can be project, organization, or empty. |
Per-input overrides grouped for clarity
Universal input token breakdown (all providers map here)
| Name | Type | Description |
|---|
| fresh_input | int32 | |
| cached_input | int32 | |
| cache_write_five_min | int32 | |
| cache_write_one_hour | int32 | |
| audio_input | int32 | |
| tool_use_input | int32 | |
Internal server tool (e.g., RAG)
| Name | Type | Description |
|---|
| type | InternalToolSource.Type | |
| template_name | string | Capability Template name for internal tools Server knows how to extract the right config from the template |
MCPConfig Message
MCP-specific configuration
| Name | Type | Description |
|---|
| endpoint | string | Connection endpoint (transport determined by scheme) - stdio://command - Local process, no auth - http(s)://host/path - HTTP/HTTPS, OAuth required - sse://host/path - SSE, OAuth required |
| args | repeated string | Command arguments (only for stdio:// transport) |
| environment | map<string, string> | Environment variables (only for stdio:// transport) |
Message Message
Message structure for conversations
ModelCapabilities Message
Model capabilities information
| Name | Type | Description |
|---|
| context_window | int32 | |
| max_output_tokens | int32 | |
| supports_tools | bool | |
| supports_thinking | bool | |
| supported_modalities | repeated string | |
ModelUsageStats Message
Per-model usage statistics
| Name | Type | Description |
|---|
| turn_count | int32 | |
| aggregated_usage | TokenUsage | Aggregated token usage for this model (sum of all turns) |
Msg Message
| Name | Type | Description |
|---|
| content | string | |
| type | Msg.Type | |
OAuthConfig Message
OAuth configuration for a connector. This is the effective configuration used
by the service, regardless of whether fields were provided statically by the
user or auto-populated from discovery / DCR / CIMD.
| Name | Type | Description |
|---|
| client_id | string | Pre-registered OAuth client ID (or URL for CIMD). |
| client_secret | string | Reference to secret containing client secret (for confidential clients). |
| authorization_endpoint | string | Effective authorization endpoint. |
| token_endpoint | string | Effective token endpoint. |
| additional_scopes | repeated string | Additional scopes beyond what MCP server declares. |
| issuer | string | Issuer for this configuration (from discovery or static config). |
| resource_url | string | Resource URL used for discovery (typically the MCP protected resource origin). |
| resource_param | string | Effective resource parameter to send in auth/token/PAR requests. |
| par_endpoint | string | Pushed Authorization Request endpoint, if available. |
| token_endpoint_auth_methods | repeated string | Token endpoint authentication methods supported by this AS. |
| preferred_token_endpoint_auth_method | string | Preferred token endpoint auth method for this client (from CIMD or DCR), if any. |
| scopes_supported | repeated string | Supported scopes advertised by the AS. |
| dpop_signing_algs | repeated string | Supported DPoP signing algorithms. |
| downstream_consent_scopes | repeated string | Optional downstream consent scopes that require a separate consent flow after the primary connector token has been obtained. These are typically provider-specific resource scopes (for example, “https://kusto.kusto.windows.net/.default") that cannot be mixed with the main connector API scopes. |
| auto_populated | bool | True if this configuration was auto-populated (fully or partially) by the backend (discovery, DCR, CIMD). When false, fields are presumed user-specified. |
| auto_populated_at | int64 | Unix timestamp (seconds) of last successful auto-population. |
| auto_source | string | Source of auto-population (e.g., “discovery”, “discovery+dcr”, “discovery+cimd”). |
OauthCompletion Message
Final completion event once the callback finishes (success, timeout, etc.).
| Name | Type | Description |
|---|
| login_id | string | |
| status | OauthCompletion.Status | |
| message | string | Optional human readable message (e.g., error details). |
| user_email | string | Populated on success to describe the linked user identity. |
| display_name | string | |
| avatar_url | string | |
OauthError Message
Error event when the backend fails to initiate the handshake.
| Name | Type | Description |
|---|
| login_id | string | |
| code | string | |
| message | string | |
OauthKeepAlive Message
Periodic server-side keep-alive to reassure the client the stream is active.
| Name | Type | Description |
|---|
| none | none | none |
OauthPing Message
Lightweight keep-alive to keep the stream open through long-running logins.
| Name | Type | Description |
|---|
| none | none | none |
OauthRedirect Message
Server response instructing the client to redirect the browser.
| Name | Type | Description |
|---|
| login_id | string | Opaque identifier correlating this login attempt. |
| authorization_url | string | Where the SPA should redirect the browser to continue the flow. |
| expires_at_epoch | int64 | Expiration timestamp (seconds since epoch) for this login attempt. |
OpenAIConfig Message
Provider-specific configurations
| Name | Type | Description |
|---|
| parallel_tool_calls | bool | |
| max_completion_tokens | int32 | |
| reasoning_effort | string | |
OutputTokenBreakdown Message
Universal output token breakdown (all providers map here)
| Name | Type | Description |
|---|
| regular_output | int32 | |
| reasoning_output | int32 | |
| audio_output | int32 | |
Page reference in source document
| Name | Type | Description |
|---|
| page_number | int32 | |
Payload Message
Payload for data with media type
| Name | Type | Description |
|---|
| json | string | |
| data | bytes | |
| media_type | string | |
PromptAppendTemplate Message
Templated append to the system prompt using Go template syntax ({{.var}})
The server always renders templates - clients supply variable
values via CreateRequest.prompt_variables
- Server applies automatic sanitization (8000 chars per value, 64000 chars
total, control chars stripped)
Example (server variables - auto-detected):
text: “User: {{.userEmail}}, Project: {{.projectName}}”
mode: MODE_SERVER
on_missing: PROMPT_MISSING_VAR_POLICY_ERROR
Example (client variables with optional sections):
text: “Task: {{.task}}{{if .priority}}, Priority: {{.priority}}{{end}}”
mode: MODE_CLIENT
on_missing: PROMPT_MISSING_VAR_POLICY_SKIP_APPEND
// Variables automatically detected: task, priority
// Use {{if}} for optional sections instead of defaults
ProviderChatRequest Message
Provider chat request
ProviderContentDelta Message
Provider content delta for streaming
ProviderDone Message
Stream completion event
ProviderStreamEvent Message
Provider streaming event
RAGConfig Message
RAG (Retrieval-Augmented Generation) configuration
| Name | Type | Description |
|---|
| search_indices | repeated string (reference to SearchIndex) | Search indices available for RAG tool to search |
| indexing_policy | IndexingPolicy | Indexing configuration |
| retrieval_limits | RetrievalLimits | Retrieval limits |
| use_azure_native_rag | bool | When true and using Azure OpenAI models, use Azure’s native “On Your Data” extensions instead of tool-based RAG. When false, RAG is exposed as “internal.rag.search” tool. |
ReasoningConfig Message
Reasoning configuration for AI models
| Name | Type | Description |
|---|
| max_level | ReasoningLevel | Maximum allowed reasoning level for requests using this template |
| default_level | ReasoningLevel | Default level if not specified in request |
ReplacedTurnGroup Message
Group of turns replaced during a single resume operation
| Name | Type | Description |
|---|
| replaced_at | .google.protobuf.Timestamp | When this resume operation happened |
| resumed_from_turn | int32 | Which turn the conversation was resumed from (0-indexed) |
| turns | repeated ConversationTurn | The turns that were replaced/discarded in this operation Ordered by turn_number |
| had_message_edit | bool | Whether the message was edited when resuming (applies to user or tool messages) |
| resume_reason | string | Optional: User comment/reason for the resume |
ResponseComplete Message
| Name | Type | Description |
|---|
| requires_tool_results | bool | |
| stop_reason | StopReason | |
| usage | TokenUsage | |
| cumulative_usage | TokenUsage | Cumulative usage across entire conversation (aggregates all turns) Only set for conversation requests, not set for non-conversation requests |
Response format configuration
ResponseStarted Message
ResumeConfig Message
Resume configuration for editing conversation history
| Name | Type | Description |
|---|
| from_turn | int32 | Resume conversation from this turn (0-indexed) The turn at from_turn and all turns after will be moved to replaced_turn_groups |
| replace_message | Message | Optional: Replacement message for this turn Can be role=“user” or role=“tool” depending on turn type If not set, uses the original message from that turn Must match the role of the first message in the original turn |
| resume_reason | string | Optional: User comment/reason for the resume operation Will be stored in ReplacedTurnGroup.resume_reason |
| resume_enabled | bool | Explicit enable flag to avoid ambiguity when clients send an empty struct If false or unset, server must treat this as not a resume request |
RetrievalLimits Message
| Name | Type | Description |
|---|
| max_documents | uint32s | |
| max_context_tokens | uint32s | |
| min_relevance_score | float | |
| require_citations | bool | |
SearchDbChange Message
SearchDbChange is used by Watch notifications Responses to describe change of
single SearchDb One of Added, Modified, Removed
SearchDbChange.Added Message
SearchDb has been added to query view
| Name | Type | Description |
|---|
| search_db | SearchDb | |
| view_index | int32 | Integer describing index of added SearchDb in resulting query view. |
SearchDbChange.Current Message
SearchDb has been added or modified in a query view. Version used for
stateless watching
SearchDbChange.Modified Message
SearchDb changed some of it’s fields - contains either full document or
masked change
| Name | Type | Description |
|---|
| name | string (name of SearchDb) | Name of modified SearchDb |
| search_db | SearchDb | New version of SearchDb or masked difference, depending on mask_changes instrumentation of issued [WatchSearchDbRequest] or [WatchSearchDbsRequest] |
| field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
| previous_view_index | int32 | Previous view index specifies previous position of modified SearchDb. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
| view_index | int32 | Integer specifying SearchDb new index in resulting query view. |
SearchDbChange.Removed Message
Removed is returned when SearchDb is deleted or leaves Query view
| Name | Type | Description |
|---|
| name | string (name of SearchDb) | |
| view_index | int32 | Integer specifying removed SearchDb index. Not populated in stateless watch type. |
SearchIndexChange Message
SearchIndexChange is used by Watch notifications Responses to describe change
of single SearchIndex One of Added, Modified, Removed
SearchIndexChange.Added Message
SearchIndex has been added to query view
| Name | Type | Description |
|---|
| search_index | SearchIndex | |
| view_index | int32 | Integer describing index of added SearchIndex in resulting query view. |
SearchIndexChange.Current Message
SearchIndex has been added or modified in a query view. Version used for
stateless watching
SearchIndexChange.Modified Message
SearchIndex changed some of it’s fields - contains either full document or
masked change
| Name | Type | Description |
|---|
| name | string (name of SearchIndex) | Name of modified SearchIndex |
| search_index | SearchIndex | New version of SearchIndex or masked difference, depending on mask_changes instrumentation of issued [WatchSearchIndexRequest] or [WatchSearchIndicesRequest] |
| field_mask | .google.protobuf.FieldMask | Used when mask_changes is set, contains field paths of modified properties. |
| previous_view_index | int32 | Previous view index specifies previous position of modified SearchIndex. When modification doesn’t affect sorted order, value will remain identical to [view_index]. |
| view_index | int32 | Integer specifying SearchIndex new index in resulting query view. |
SearchIndexChange.Removed Message
Removed is returned when SearchIndex is deleted or leaves Query view
| Name | Type | Description |
|---|
| name | string (name of SearchIndex) | |
| view_index | int32 | Integer specifying removed SearchIndex index. Not populated in stateless watch type. |
SessionInitialized Message
Session initialization confirmation
| Name | Type | Description |
|---|
| conversation_name | string | Conversation name (created or resumed) |
| model_used | string | Model that will be used for this session |
| capabilities | ModelCapabilities | Model capabilities |
StartOauth Message
Initial event to kick off the OAuth handshake.
| Name | Type | Description |
|---|
| return_to | string | SPA-relative path the backend should redirect back to after login. |
| scopes | repeated string | Optional additional scopes requested by the client. |
| login_hint | string | Optional login hint for the upstream Authorization Server. |
| prompt_params | map<string, string> | Provider-specific prompt parameters (prompt=consent, access_type=offline, etc). |
| parent | string (parent name of ConnectorUserToken) | Parent name of ntt.ai.v1.ConnectorUserToken. When provided, this determines the project scope under which the connector user token will be stored after a successful OAuth callback. |
StreamError Message
Stream error information
TemplateVariable Message
Variable definition with UI guidance
| Name | Type | Description |
|---|
| label | string | Form label (e.g., “Time range”) |
| help_text | string | Placeholder/help text |
| input_type | InputType | |
| suggestions | repeated string | Suggested values for SELECT or DURATION inputs |
| default_value | string | Optional client-side default value |
| resource_type | string | when input_type == RESOURCE |
TextContent Message
| Name | Type | Description |
|---|
| text | string | |
ThinkingConfig Message
Thinking configuration for Anthropic models
| Name | Type | Description |
|---|
| type | ThinkingConfig.Type | |
| budget_tokens | int32 | Budget for thinking tokens (must be ≥1024 and < max_tokens) |
ThinkingContent Message
Thinking/reasoning content with optional signature
| Name | Type | Description |
|---|
| text | string | |
| signature | string | |
ThinkingDelta Message
| Name | Type | Description |
|---|
| text | string | |
ThinkingDone Message
| Name | Type | Description |
|---|
| text | string | |
| signature | string | |
TokenUsage Message
Token usage information
| Name | Type | Description |
|---|
| input_tokens | int32 | === TOKEN TOTALS === |
| output_tokens | int32 | |
| total_tokens | int32 | |
| input_breakdown | InputTokenBreakdown | === UNIVERSAL BREAKDOWNS (all providers map here) === |
| output_breakdown | OutputTokenBreakdown | |
| metadata | TokenUsageMetadata | |
| input_cost | .google.type.Money | === COST BREAKDOWN (1:1 mapping to breakdown categories) === Costs are zero when pricing is unknown. |
| cached_input_cost | .google.type.Money | |
| cache_write_five_min_cost | .google.type.Money | |
| cache_write_one_hour_cost | .google.type.Money | |
| output_cost | .google.type.Money | |
| total_cost | .google.type.Money | |
Metadata about the request (provider, model, service tier)
| Name | Type | Description |
|---|
| provider | string | |
| model | string | |
| service_tier | string | |
Tool call for execution
| Name | Type | Description |
|---|
| id | string | |
| name | string | |
| arguments | string | |
Tool calls container
| Name | Type | Description |
|---|
| calls | repeated ToolCall | |
Tool definition
| Name | Type | Description |
|---|
| name | string | |
| description | string | |
| input_schema | string | |
| provider | string | |
| Name | Type | Description |
|---|
| tool_call_id | string | |
| tool_name | string | |
| arguments | string | “github.createIssue”, “internal.rag.search”) |
| connector_name | string (name of Connector) | |
| capability_template_name | string (name of CapabilityTemplate) | For internal tools: just the template name Server will load the template and extract RAG config |
| Name | Type | Description |
|---|
| tool_call_id | string | TODO: replace with common ToolResponse once all clients accept the richer proto. |
| tool_name | string | |
| output | string | |
| error | string | |
| mime_type | string | |
| connector_auth_errors | repeated ConnectorAuthError | Connector authentication errors that blocked this tool execution. Empty for non-connector-related failures. |
Tool information including source
Tool response
| Name | Type | Description |
|---|
| tool_call_id | string | |
| tool | string | |
| output | Payload | |
| error | string | |
Tool safety configuration for loop detection
| Name | Type | Description |
|---|
| max_consecutive_tool_calls | uint32s | Maximum consecutive tool-calling assistant messages (default: 20) This detects infinite tool loops, NOT total tool usage. Counter resets when assistant message doesn’t contain tool calls. Example: 20 consecutive turns with tools → blocked 19 turns with tools + 1 text-only turn + 19 more → allowed |
| max_consecutive_identical_tool_calls | uint32s | Maximum consecutive identical tool+args calls (default: 3) This detects stuck loops where same tool+args is called repeatedly. Example: search_docs(“query”) called 3 times in a row → blocked search_docs(“query1”), search_docs(“query2”), … → allowed |
| max_consecutive_same_tool_calls | uint32s | Maximum consecutive calls to the same tool name (default: 6) Similar to the identical check but ignores arguments, only tool names. Example: search_docs(“q1”), search_docs(“q2”), … (same tool name) → blocked weather_lookup(…), search_docs(…), weather_lookup(…) → allowed |
TurnConfig Message
Configuration snapshot for a single turn
Group tools by source to avoid duplicating source per tool
URLReference Message
URL reference
| Name | Type | Description |
|---|
| url | string | |
| filepath | string | |
UserPromptTemplate Message
Prompt template for user-selectable prompt snippets
These are client-side only - server stores metadata, client renders/executes
| Name | Type | Description |
|---|
| display_name | string | Display name shown in template picker |
| description | string | Short explanation shown alongside the template picker entry |
| tags | repeated string | Tags for filtering/categorization (e.g., [“rca”, “historical”, “live-troubleshooting”]) |
| template_text | string | The actual prompt text with {{placeholders}} Example: “Review this {{language}} code:\n\n{{code}}” |
| variables | map<string, TemplateVariable> | Template variables keyed by placeholder name |
AI Service Shared Enumerations
Here is the list of AI service shared enumerations:
ConnectorAuthErrorCode Enumeration
ConnectorAuthErrorCode describes why connector OAuth auth failed
for the current user in the context of a single API call.
| Name | Description |
|---|
| CONNECTOR_AUTH_ERROR_CODE_UNSPECIFIED | |
| CONNECTOR_AUTH_ERROR_CODE_REQUIRED | No connector OAuth token is available for this user. |
| CONNECTOR_AUTH_ERROR_CODE_EXPIRED | Token exists but is expired and cannot be automatically refreshed. |
| CONNECTOR_AUTH_ERROR_CODE_REFRESH_FAILED | Refresh attempt failed (e.g. provider returned invalid_grant/401). |
| CONNECTOR_AUTH_ERROR_CODE_DOWNSTREAM_CONSENT_REQUIRED | Connector token exists and is still valid, but the provider requires an additional consent flow (e.g. downstream resource scopes) before it can be used successfully. |
ContentChannel Enumeration
Content channel type
| Name | Description |
|---|
| CONTENT_CHANNEL_UNSPECIFIED | |
| CONTENT_CHANNEL_CONTENT | |
| CONTENT_CHANNEL_THINKING | |
Supported input widgets for template variables
| Name | Description |
|---|
| INPUT_TYPE_UNSPECIFIED | |
| TEXT | |
| LONG_TEXT | |
| SELECT | |
| DATETIME | |
| DATE_RANGE | |
| DURATION | |
| DURATION_OR_DATE_RANGE | |
| NUMBER | |
| RESOURCE | |
| FILE | |
| BOOL | |
| URL | |
| EMAIL | |
| Name | Description |
|---|
| TYPE_UNSPECIFIED | |
| RAG | |
LLMError Enumeration
LLM/Provider specific errors
| Name | Description |
|---|
| LLM_ERROR_UNSPECIFIED | |
| LLM_RATE_LIMIT | |
| LLM_CONTENT_FILTER | |
| LLM_PROVIDER_ERROR | |
| LLM_TOOL_ERROR | |
Msg.Type Enumeration
| Name | Description |
|---|
| UNDEFINED | |
| SYSTEM | |
| ASSISTANT | |
| USER | |
| SEARCH_ITEMS | |
OauthCompletion.Status Enumeration
| Name | Description |
|---|
| STATUS_UNSPECIFIED | |
| STATUS_SUCCESS | |
| STATUS_CANCELLED | |
| STATUS_TIMEOUT | |
| STATUS_ERROR | |
PromptMissingVarPolicy Enumeration
Policy for how to handle missing variables during rendering
| Name | Description |
|---|
| PROMPT_MISSING_VAR_POLICY_ERROR | |
| PROMPT_MISSING_VAR_POLICY_SKIP_APPEND | |
PromptVariableMode Enumeration
Variable source mode - determines where template variables come from
Variables are auto-detected from template text (e.g., {{.userEmail}})
| Name | Description |
|---|
| MODE_SERVER | Server-provided variables (trusted, from auth context) Rendered text is injected into the system prompt Known server variables: userEmail, projectName |
| MODE_CLIENT | Client-provided variables (untrusted, sanitized) Rendered text is injected into the system prompt Variables looked up from CreateRequest.prompt_variables map |
ProviderDone.StopReason Enumeration
Why the generation stopped
| Name | Description |
|---|
| STOP_REASON_UNSPECIFIED | |
| STOP | |
| LENGTH | |
| TOOL_CALLS | |
| CONTENT_FILTER | |
| ERROR | |
ReasoningLevel Enumeration
Reasoning/thinking level for AI models
| Name | Description |
|---|
| REASONING_LEVEL_DEFAULT | |
| REASONING_LEVEL_LOW | |
| REASONING_LEVEL_MEDIUM | |
| REASONING_LEVEL_HIGH | |
| Name | Description |
|---|
| MODE_UNSPECIFIED | |
| TEXT | |
| JSON_OBJECT | |
| JSON_SCHEMA | |
StopReason Enumeration
Stop reason for response generation
| Name | Description |
|---|
| STOP_REASON_UNSPECIFIED | |
| STOP_REASON_COMPLETED | |
| STOP_REASON_MAX_TOKENS | |
| STOP_REASON_TOOL_CALLS | |
| STOP_REASON_ERROR | |
| STOP_REASON_CONTENT_FILTER | |
StreamError.ErrorType Enumeration
| Name | Description |
|---|
| ERROR_TYPE_UNSPECIFIED | |
| RATE_LIMIT | |
| CONTENT_FILTER | |
| PROVIDER_ERROR | |
ThinkingConfig.Type Enumeration
| Name | Description |
|---|
| TYPE_UNSPECIFIED | |
| ENABLED | |
| DISABLED | |