xref: /aosp_15_r20/external/googleapis/google/chat/v1/chat_service.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC
2*d5c09012SAndroid Build Coastguard Worker//
3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d5c09012SAndroid Build Coastguard Worker//
7*d5c09012SAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
8*d5c09012SAndroid Build Coastguard Worker//
9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d5c09012SAndroid Build Coastguard Worker// limitations under the License.
14*d5c09012SAndroid Build Coastguard Worker
15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3";
16*d5c09012SAndroid Build Coastguard Worker
17*d5c09012SAndroid Build Coastguard Workerpackage google.chat.v1;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/chat/v1/attachment.proto";
22*d5c09012SAndroid Build Coastguard Workerimport "google/chat/v1/membership.proto";
23*d5c09012SAndroid Build Coastguard Workerimport "google/chat/v1/message.proto";
24*d5c09012SAndroid Build Coastguard Workerimport "google/chat/v1/reaction.proto";
25*d5c09012SAndroid Build Coastguard Workerimport "google/chat/v1/space.proto";
26*d5c09012SAndroid Build Coastguard Workerimport "google/chat/v1/space_read_state.proto";
27*d5c09012SAndroid Build Coastguard Workerimport "google/chat/v1/space_setup.proto";
28*d5c09012SAndroid Build Coastguard Workerimport "google/chat/v1/thread_read_state.proto";
29*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto";
30*d5c09012SAndroid Build Coastguard Worker
31*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Apps.Chat.V1";
32*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/chat/apiv1/chatpb;chatpb";
33*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
34*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ChatServiceProto";
35*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.chat.v1";
36*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Apps\\Chat\\V1";
37*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Apps::Chat::V1";
38*d5c09012SAndroid Build Coastguard Worker
39*d5c09012SAndroid Build Coastguard Worker// Enables developers to build Chat apps and
40*d5c09012SAndroid Build Coastguard Worker// integrations on Google Chat Platform.
41*d5c09012SAndroid Build Coastguard Workerservice ChatService {
42*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "chat.googleapis.com";
43*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
44*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/chat.bot,"
45*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/chat.delete,"
46*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/chat.import,"
47*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/chat.memberships,"
48*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/chat.memberships.app,"
49*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/chat.memberships.readonly,"
50*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/chat.messages,"
51*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/chat.messages.create,"
52*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/chat.messages.reactions,"
53*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/chat.messages.reactions.create,"
54*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/chat.messages.reactions.readonly,"
55*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/chat.messages.readonly,"
56*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/chat.spaces,"
57*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/chat.spaces.create,"
58*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/chat.spaces.readonly,"
59*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/chat.users.readstate,"
60*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/chat.users.readstate.readonly";
61*d5c09012SAndroid Build Coastguard Worker
62*d5c09012SAndroid Build Coastguard Worker  // Creates a message in a Google Chat space. For an example, see [Send a
63*d5c09012SAndroid Build Coastguard Worker  // message](https://developers.google.com/workspace/chat/create-messages).
64*d5c09012SAndroid Build Coastguard Worker  //
65*d5c09012SAndroid Build Coastguard Worker  // Calling this method requires
66*d5c09012SAndroid Build Coastguard Worker  // [authentication](https://developers.google.com/workspace/chat/authenticate-authorize)
67*d5c09012SAndroid Build Coastguard Worker  // and supports the following authentication types:
68*d5c09012SAndroid Build Coastguard Worker  //
69*d5c09012SAndroid Build Coastguard Worker  // - For text messages, user authentication or app authentication are
70*d5c09012SAndroid Build Coastguard Worker  // supported.
71*d5c09012SAndroid Build Coastguard Worker  // - For card messages, only app authentication is supported. (Only Chat apps
72*d5c09012SAndroid Build Coastguard Worker  // can create card messages.)
73*d5c09012SAndroid Build Coastguard Worker  rpc CreateMessage(CreateMessageRequest) returns (Message) {
74*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
75*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=spaces/*}/messages"
76*d5c09012SAndroid Build Coastguard Worker      body: "message"
77*d5c09012SAndroid Build Coastguard Worker    };
78*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,message,message_id";
79*d5c09012SAndroid Build Coastguard Worker  }
80*d5c09012SAndroid Build Coastguard Worker
81*d5c09012SAndroid Build Coastguard Worker  // Lists messages in a space that the caller is a member of, including
82*d5c09012SAndroid Build Coastguard Worker  // messages from blocked members and spaces. For an example, see
83*d5c09012SAndroid Build Coastguard Worker  // [List messages](/chat/api/guides/v1/messages/list).
84*d5c09012SAndroid Build Coastguard Worker  // Requires [user
85*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
86*d5c09012SAndroid Build Coastguard Worker  rpc ListMessages(ListMessagesRequest) returns (ListMessagesResponse) {
87*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
88*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{parent=spaces/*}/messages"
89*d5c09012SAndroid Build Coastguard Worker    };
90*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
91*d5c09012SAndroid Build Coastguard Worker  }
92*d5c09012SAndroid Build Coastguard Worker
93*d5c09012SAndroid Build Coastguard Worker  // Lists memberships in a space. For an example, see [List users and Google
94*d5c09012SAndroid Build Coastguard Worker  // Chat apps in a
95*d5c09012SAndroid Build Coastguard Worker  // space](https://developers.google.com/workspace/chat/list-members). Listing
96*d5c09012SAndroid Build Coastguard Worker  // memberships with [app
97*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
98*d5c09012SAndroid Build Coastguard Worker  // lists memberships in spaces that the Chat app has
99*d5c09012SAndroid Build Coastguard Worker  // access to, but excludes Chat app memberships,
100*d5c09012SAndroid Build Coastguard Worker  // including its own. Listing memberships with
101*d5c09012SAndroid Build Coastguard Worker  // [User
102*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
103*d5c09012SAndroid Build Coastguard Worker  // lists memberships in spaces that the authenticated user has access to.
104*d5c09012SAndroid Build Coastguard Worker  //
105*d5c09012SAndroid Build Coastguard Worker  // Requires
106*d5c09012SAndroid Build Coastguard Worker  // [authentication](https://developers.google.com/workspace/chat/authenticate-authorize).
107*d5c09012SAndroid Build Coastguard Worker  // Supports
108*d5c09012SAndroid Build Coastguard Worker  // [app
109*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
110*d5c09012SAndroid Build Coastguard Worker  // and [user
111*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
112*d5c09012SAndroid Build Coastguard Worker  rpc ListMemberships(ListMembershipsRequest)
113*d5c09012SAndroid Build Coastguard Worker      returns (ListMembershipsResponse) {
114*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
115*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{parent=spaces/*}/members"
116*d5c09012SAndroid Build Coastguard Worker    };
117*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
118*d5c09012SAndroid Build Coastguard Worker  }
119*d5c09012SAndroid Build Coastguard Worker
120*d5c09012SAndroid Build Coastguard Worker  // Returns details about a membership. For an example, see
121*d5c09012SAndroid Build Coastguard Worker  // [Get details about a user's or Google Chat app's
122*d5c09012SAndroid Build Coastguard Worker  // membership](https://developers.google.com/workspace/chat/get-members).
123*d5c09012SAndroid Build Coastguard Worker  //
124*d5c09012SAndroid Build Coastguard Worker  // Requires
125*d5c09012SAndroid Build Coastguard Worker  // [authentication](https://developers.google.com/workspace/chat/authenticate-authorize).
126*d5c09012SAndroid Build Coastguard Worker  // Supports
127*d5c09012SAndroid Build Coastguard Worker  // [app
128*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
129*d5c09012SAndroid Build Coastguard Worker  // and [user
130*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
131*d5c09012SAndroid Build Coastguard Worker  rpc GetMembership(GetMembershipRequest) returns (Membership) {
132*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
133*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=spaces/*/members/*}"
134*d5c09012SAndroid Build Coastguard Worker    };
135*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
136*d5c09012SAndroid Build Coastguard Worker  }
137*d5c09012SAndroid Build Coastguard Worker
138*d5c09012SAndroid Build Coastguard Worker  // Returns details about a message.
139*d5c09012SAndroid Build Coastguard Worker  // For an example, see [Get details about a
140*d5c09012SAndroid Build Coastguard Worker  // message](https://developers.google.com/workspace/chat/get-messages).
141*d5c09012SAndroid Build Coastguard Worker  //
142*d5c09012SAndroid Build Coastguard Worker  // Requires
143*d5c09012SAndroid Build Coastguard Worker  // [authentication](https://developers.google.com/workspace/chat/authenticate-authorize).
144*d5c09012SAndroid Build Coastguard Worker  // Supports
145*d5c09012SAndroid Build Coastguard Worker  // [app
146*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
147*d5c09012SAndroid Build Coastguard Worker  // and [user
148*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
149*d5c09012SAndroid Build Coastguard Worker  //
150*d5c09012SAndroid Build Coastguard Worker  // Note: Might return a message from a blocked member or space.
151*d5c09012SAndroid Build Coastguard Worker  rpc GetMessage(GetMessageRequest) returns (Message) {
152*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
153*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=spaces/*/messages/*}"
154*d5c09012SAndroid Build Coastguard Worker    };
155*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
156*d5c09012SAndroid Build Coastguard Worker  }
157*d5c09012SAndroid Build Coastguard Worker
158*d5c09012SAndroid Build Coastguard Worker  // Updates a message. There's a difference between the `patch` and `update`
159*d5c09012SAndroid Build Coastguard Worker  // methods. The `patch`
160*d5c09012SAndroid Build Coastguard Worker  // method uses a `patch` request while the `update` method uses a `put`
161*d5c09012SAndroid Build Coastguard Worker  // request. We recommend using the `patch` method. For an example, see
162*d5c09012SAndroid Build Coastguard Worker  // [Update a
163*d5c09012SAndroid Build Coastguard Worker  // message](https://developers.google.com/workspace/chat/update-messages).
164*d5c09012SAndroid Build Coastguard Worker  //
165*d5c09012SAndroid Build Coastguard Worker  // Requires
166*d5c09012SAndroid Build Coastguard Worker  // [authentication](https://developers.google.com/workspace/chat/authenticate-authorize).
167*d5c09012SAndroid Build Coastguard Worker  // Supports
168*d5c09012SAndroid Build Coastguard Worker  // [app
169*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
170*d5c09012SAndroid Build Coastguard Worker  // and [user
171*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
172*d5c09012SAndroid Build Coastguard Worker  // When using app authentication, requests can only update messages
173*d5c09012SAndroid Build Coastguard Worker  // created by the calling Chat app.
174*d5c09012SAndroid Build Coastguard Worker  rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
175*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
176*d5c09012SAndroid Build Coastguard Worker      put: "/v1/{message.name=spaces/*/messages/*}"
177*d5c09012SAndroid Build Coastguard Worker      body: "message"
178*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
179*d5c09012SAndroid Build Coastguard Worker        patch: "/v1/{message.name=spaces/*/messages/*}"
180*d5c09012SAndroid Build Coastguard Worker        body: "message"
181*d5c09012SAndroid Build Coastguard Worker      }
182*d5c09012SAndroid Build Coastguard Worker    };
183*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "message,update_mask";
184*d5c09012SAndroid Build Coastguard Worker  }
185*d5c09012SAndroid Build Coastguard Worker
186*d5c09012SAndroid Build Coastguard Worker  // Deletes a message.
187*d5c09012SAndroid Build Coastguard Worker  // For an example, see [Delete a
188*d5c09012SAndroid Build Coastguard Worker  // message](https://developers.google.com/workspace/chat/delete-messages).
189*d5c09012SAndroid Build Coastguard Worker  //
190*d5c09012SAndroid Build Coastguard Worker  // Requires
191*d5c09012SAndroid Build Coastguard Worker  // [authentication](https://developers.google.com/workspace/chat/authenticate-authorize).
192*d5c09012SAndroid Build Coastguard Worker  // Supports
193*d5c09012SAndroid Build Coastguard Worker  // [app
194*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
195*d5c09012SAndroid Build Coastguard Worker  // and [user
196*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
197*d5c09012SAndroid Build Coastguard Worker  // When using app authentication, requests can only delete messages
198*d5c09012SAndroid Build Coastguard Worker  // created by the calling Chat app.
199*d5c09012SAndroid Build Coastguard Worker  rpc DeleteMessage(DeleteMessageRequest) returns (google.protobuf.Empty) {
200*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
201*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/{name=spaces/*/messages/*}"
202*d5c09012SAndroid Build Coastguard Worker    };
203*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
204*d5c09012SAndroid Build Coastguard Worker  }
205*d5c09012SAndroid Build Coastguard Worker
206*d5c09012SAndroid Build Coastguard Worker  // Gets the metadata of a message attachment. The attachment data is fetched
207*d5c09012SAndroid Build Coastguard Worker  // using the [media
208*d5c09012SAndroid Build Coastguard Worker  // API](https://developers.google.com/workspace/chat/api/reference/rest/v1/media/download).
209*d5c09012SAndroid Build Coastguard Worker  // For an example, see
210*d5c09012SAndroid Build Coastguard Worker  // [Get metadata about a message
211*d5c09012SAndroid Build Coastguard Worker  // attachment](https://developers.google.com/workspace/chat/get-media-attachments).
212*d5c09012SAndroid Build Coastguard Worker  // Requires [app
213*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
214*d5c09012SAndroid Build Coastguard Worker  rpc GetAttachment(GetAttachmentRequest) returns (Attachment) {
215*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
216*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=spaces/*/messages/*/attachments/*}"
217*d5c09012SAndroid Build Coastguard Worker    };
218*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
219*d5c09012SAndroid Build Coastguard Worker  }
220*d5c09012SAndroid Build Coastguard Worker
221*d5c09012SAndroid Build Coastguard Worker  // Uploads an attachment. For an example, see
222*d5c09012SAndroid Build Coastguard Worker  // [Upload media as a file
223*d5c09012SAndroid Build Coastguard Worker  // attachment](https://developers.google.com/workspace/chat/upload-media-attachments).
224*d5c09012SAndroid Build Coastguard Worker  // Requires user
225*d5c09012SAndroid Build Coastguard Worker  // [authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
226*d5c09012SAndroid Build Coastguard Worker  //
227*d5c09012SAndroid Build Coastguard Worker  // You can upload attachments up to 200 MB. Certain file types aren't
228*d5c09012SAndroid Build Coastguard Worker  // supported. For details, see [File types blocked by Google
229*d5c09012SAndroid Build Coastguard Worker  // Chat](https://support.google.com/chat/answer/7651457?&co=GENIE.Platform%3DDesktop#File%20types%20blocked%20in%20Google%20Chat).
230*d5c09012SAndroid Build Coastguard Worker  rpc UploadAttachment(UploadAttachmentRequest)
231*d5c09012SAndroid Build Coastguard Worker      returns (UploadAttachmentResponse) {
232*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
233*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=spaces/*}/attachments:upload"
234*d5c09012SAndroid Build Coastguard Worker      body: "*"
235*d5c09012SAndroid Build Coastguard Worker    };
236*d5c09012SAndroid Build Coastguard Worker  }
237*d5c09012SAndroid Build Coastguard Worker
238*d5c09012SAndroid Build Coastguard Worker  // Lists spaces the caller is a member of. Group chats and DMs aren't listed
239*d5c09012SAndroid Build Coastguard Worker  // until the first message is sent. For an example, see
240*d5c09012SAndroid Build Coastguard Worker  // [List
241*d5c09012SAndroid Build Coastguard Worker  // spaces](https://developers.google.com/workspace/chat/list-spaces).
242*d5c09012SAndroid Build Coastguard Worker  //
243*d5c09012SAndroid Build Coastguard Worker  // Requires
244*d5c09012SAndroid Build Coastguard Worker  // [authentication](https://developers.google.com/workspace/chat/authenticate-authorize).
245*d5c09012SAndroid Build Coastguard Worker  // Supports
246*d5c09012SAndroid Build Coastguard Worker  // [app
247*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
248*d5c09012SAndroid Build Coastguard Worker  // and [user
249*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
250*d5c09012SAndroid Build Coastguard Worker  //
251*d5c09012SAndroid Build Coastguard Worker  // Lists spaces visible to the caller or authenticated user. Group chats
252*d5c09012SAndroid Build Coastguard Worker  // and DMs aren't listed until the first message is sent.
253*d5c09012SAndroid Build Coastguard Worker  rpc ListSpaces(ListSpacesRequest) returns (ListSpacesResponse) {
254*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
255*d5c09012SAndroid Build Coastguard Worker      get: "/v1/spaces"
256*d5c09012SAndroid Build Coastguard Worker    };
257*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "";
258*d5c09012SAndroid Build Coastguard Worker  }
259*d5c09012SAndroid Build Coastguard Worker
260*d5c09012SAndroid Build Coastguard Worker  // Returns details about a space. For an example, see
261*d5c09012SAndroid Build Coastguard Worker  // [Get details about a
262*d5c09012SAndroid Build Coastguard Worker  // space](https://developers.google.com/workspace/chat/get-spaces).
263*d5c09012SAndroid Build Coastguard Worker  //
264*d5c09012SAndroid Build Coastguard Worker  // Requires
265*d5c09012SAndroid Build Coastguard Worker  // [authentication](https://developers.google.com/workspace/chat/authenticate-authorize).
266*d5c09012SAndroid Build Coastguard Worker  // Supports
267*d5c09012SAndroid Build Coastguard Worker  // [app
268*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
269*d5c09012SAndroid Build Coastguard Worker  // and [user
270*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
271*d5c09012SAndroid Build Coastguard Worker  rpc GetSpace(GetSpaceRequest) returns (Space) {
272*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
273*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=spaces/*}"
274*d5c09012SAndroid Build Coastguard Worker    };
275*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
276*d5c09012SAndroid Build Coastguard Worker  }
277*d5c09012SAndroid Build Coastguard Worker
278*d5c09012SAndroid Build Coastguard Worker  // Creates a named space. Spaces grouped by topics aren't supported. For an
279*d5c09012SAndroid Build Coastguard Worker  // example, see [Create a
280*d5c09012SAndroid Build Coastguard Worker  // space](https://developers.google.com/workspace/chat/create-spaces).
281*d5c09012SAndroid Build Coastguard Worker  //
282*d5c09012SAndroid Build Coastguard Worker  //  If you receive the error message `ALREADY_EXISTS` when creating
283*d5c09012SAndroid Build Coastguard Worker  //  a space, try a different `displayName`. An existing space within
284*d5c09012SAndroid Build Coastguard Worker  //  the Google Workspace organization might already use this display name.
285*d5c09012SAndroid Build Coastguard Worker  //
286*d5c09012SAndroid Build Coastguard Worker  // Requires [user
287*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
288*d5c09012SAndroid Build Coastguard Worker  rpc CreateSpace(CreateSpaceRequest) returns (Space) {
289*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
290*d5c09012SAndroid Build Coastguard Worker      post: "/v1/spaces"
291*d5c09012SAndroid Build Coastguard Worker      body: "space"
292*d5c09012SAndroid Build Coastguard Worker    };
293*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "space";
294*d5c09012SAndroid Build Coastguard Worker  }
295*d5c09012SAndroid Build Coastguard Worker
296*d5c09012SAndroid Build Coastguard Worker  // Creates a space and adds specified users to it. The calling user is
297*d5c09012SAndroid Build Coastguard Worker  // automatically added to the space, and shouldn't be specified as a
298*d5c09012SAndroid Build Coastguard Worker  // membership in the request. For an example, see
299*d5c09012SAndroid Build Coastguard Worker  // [Set up a space with initial
300*d5c09012SAndroid Build Coastguard Worker  // members](https://developers.google.com/workspace/chat/set-up-spaces).
301*d5c09012SAndroid Build Coastguard Worker  //
302*d5c09012SAndroid Build Coastguard Worker  // To specify the human members to add, add memberships with the appropriate
303*d5c09012SAndroid Build Coastguard Worker  // `member.name` in the `SetUpSpaceRequest`. To add a human user, use
304*d5c09012SAndroid Build Coastguard Worker  // `users/{user}`, where `{user}` can be the email address for the user. For
305*d5c09012SAndroid Build Coastguard Worker  // users in the same Workspace organization `{user}` can also be the `id` for
306*d5c09012SAndroid Build Coastguard Worker  // the person from the People API, or the `id` for the user in the Directory
307*d5c09012SAndroid Build Coastguard Worker  // API. For example, if the People API Person profile ID for
308*d5c09012SAndroid Build Coastguard Worker  // `[email protected]` is `123456789`, you can add the user to the space by
309*d5c09012SAndroid Build Coastguard Worker  // setting the `membership.member.name` to `users/user@example.com` or
310*d5c09012SAndroid Build Coastguard Worker  // `users/123456789`.
311*d5c09012SAndroid Build Coastguard Worker  //
312*d5c09012SAndroid Build Coastguard Worker  // For a space or group chat, if the caller blocks or is blocked by some
313*d5c09012SAndroid Build Coastguard Worker  // members, then those members aren't added to the created space.
314*d5c09012SAndroid Build Coastguard Worker  //
315*d5c09012SAndroid Build Coastguard Worker  // To create a direct message (DM) between the calling user and another human
316*d5c09012SAndroid Build Coastguard Worker  // user, specify exactly one membership to represent the human user. If
317*d5c09012SAndroid Build Coastguard Worker  // one user blocks the other, the request fails and the DM isn't created.
318*d5c09012SAndroid Build Coastguard Worker  //
319*d5c09012SAndroid Build Coastguard Worker  // To create a DM between the calling user and the calling app, set
320*d5c09012SAndroid Build Coastguard Worker  // `Space.singleUserBotDm` to `true` and don't specify any memberships. You
321*d5c09012SAndroid Build Coastguard Worker  // can only use this method to set up a DM with the calling app. To add the
322*d5c09012SAndroid Build Coastguard Worker  // calling app as a member of a space or an existing DM between two human
323*d5c09012SAndroid Build Coastguard Worker  // users, see
324*d5c09012SAndroid Build Coastguard Worker  // [Invite or add a user or app to a
325*d5c09012SAndroid Build Coastguard Worker  // space](https://developers.google.com/workspace/chat/create-members).
326*d5c09012SAndroid Build Coastguard Worker  //
327*d5c09012SAndroid Build Coastguard Worker  // If a DM already exists between two users, even when one user blocks the
328*d5c09012SAndroid Build Coastguard Worker  // other at the time a request is made, then the existing DM is returned.
329*d5c09012SAndroid Build Coastguard Worker  //
330*d5c09012SAndroid Build Coastguard Worker  // Spaces with threaded replies aren't supported. If you receive the error
331*d5c09012SAndroid Build Coastguard Worker  // message `ALREADY_EXISTS` when setting up a space, try a different
332*d5c09012SAndroid Build Coastguard Worker  // `displayName`. An existing space within the Google Workspace organization
333*d5c09012SAndroid Build Coastguard Worker  // might already use this display name.
334*d5c09012SAndroid Build Coastguard Worker  //
335*d5c09012SAndroid Build Coastguard Worker  // Requires [user
336*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
337*d5c09012SAndroid Build Coastguard Worker  rpc SetUpSpace(SetUpSpaceRequest) returns (Space) {
338*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
339*d5c09012SAndroid Build Coastguard Worker      post: "/v1/spaces:setup"
340*d5c09012SAndroid Build Coastguard Worker      body: "*"
341*d5c09012SAndroid Build Coastguard Worker    };
342*d5c09012SAndroid Build Coastguard Worker  }
343*d5c09012SAndroid Build Coastguard Worker
344*d5c09012SAndroid Build Coastguard Worker  // Updates a space. For an example, see
345*d5c09012SAndroid Build Coastguard Worker  // [Update a
346*d5c09012SAndroid Build Coastguard Worker  // space](https://developers.google.com/workspace/chat/update-spaces).
347*d5c09012SAndroid Build Coastguard Worker  //
348*d5c09012SAndroid Build Coastguard Worker  // If you're updating the `displayName` field and receive the error message
349*d5c09012SAndroid Build Coastguard Worker  // `ALREADY_EXISTS`, try a different display name.. An existing space within
350*d5c09012SAndroid Build Coastguard Worker  // the Google Workspace organization might already use this display name.
351*d5c09012SAndroid Build Coastguard Worker  //
352*d5c09012SAndroid Build Coastguard Worker  // Requires [user
353*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
354*d5c09012SAndroid Build Coastguard Worker  rpc UpdateSpace(UpdateSpaceRequest) returns (Space) {
355*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
356*d5c09012SAndroid Build Coastguard Worker      patch: "/v1/{space.name=spaces/*}"
357*d5c09012SAndroid Build Coastguard Worker      body: "space"
358*d5c09012SAndroid Build Coastguard Worker    };
359*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "space,update_mask";
360*d5c09012SAndroid Build Coastguard Worker  }
361*d5c09012SAndroid Build Coastguard Worker
362*d5c09012SAndroid Build Coastguard Worker  // Deletes a named space. Always performs a cascading delete, which means
363*d5c09012SAndroid Build Coastguard Worker  // that the space's child resources—like messages posted in the space and
364*d5c09012SAndroid Build Coastguard Worker  // memberships in the space—are also deleted. For an example, see
365*d5c09012SAndroid Build Coastguard Worker  // [Delete a
366*d5c09012SAndroid Build Coastguard Worker  // space](https://developers.google.com/workspace/chat/delete-spaces).
367*d5c09012SAndroid Build Coastguard Worker  // Requires [user
368*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
369*d5c09012SAndroid Build Coastguard Worker  // from a user who has permission to delete the space.
370*d5c09012SAndroid Build Coastguard Worker  rpc DeleteSpace(DeleteSpaceRequest) returns (google.protobuf.Empty) {
371*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
372*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/{name=spaces/*}"
373*d5c09012SAndroid Build Coastguard Worker    };
374*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
375*d5c09012SAndroid Build Coastguard Worker  }
376*d5c09012SAndroid Build Coastguard Worker
377*d5c09012SAndroid Build Coastguard Worker  // Completes the
378*d5c09012SAndroid Build Coastguard Worker  // [import process](https://developers.google.com/workspace/chat/import-data)
379*d5c09012SAndroid Build Coastguard Worker  // for the specified space and makes it visible to users.
380*d5c09012SAndroid Build Coastguard Worker  // Requires app authentication and domain-wide delegation. For more
381*d5c09012SAndroid Build Coastguard Worker  // information, see [Authorize Google Chat apps to import
382*d5c09012SAndroid Build Coastguard Worker  // data](https://developers.google.com/workspace/chat/authorize-import).
383*d5c09012SAndroid Build Coastguard Worker  rpc CompleteImportSpace(CompleteImportSpaceRequest)
384*d5c09012SAndroid Build Coastguard Worker      returns (CompleteImportSpaceResponse) {
385*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
386*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{name=spaces/*}:completeImport"
387*d5c09012SAndroid Build Coastguard Worker      body: "*"
388*d5c09012SAndroid Build Coastguard Worker    };
389*d5c09012SAndroid Build Coastguard Worker  }
390*d5c09012SAndroid Build Coastguard Worker
391*d5c09012SAndroid Build Coastguard Worker  // Returns the existing direct message with the specified user. If no direct
392*d5c09012SAndroid Build Coastguard Worker  // message space is found, returns a `404 NOT_FOUND` error. For an example,
393*d5c09012SAndroid Build Coastguard Worker  // see
394*d5c09012SAndroid Build Coastguard Worker  // [Find a direct message](/chat/api/guides/v1/spaces/find-direct-message).
395*d5c09012SAndroid Build Coastguard Worker  //
396*d5c09012SAndroid Build Coastguard Worker  // With [user
397*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user),
398*d5c09012SAndroid Build Coastguard Worker  // returns the direct message space between the specified user and the
399*d5c09012SAndroid Build Coastguard Worker  // authenticated user.
400*d5c09012SAndroid Build Coastguard Worker  //
401*d5c09012SAndroid Build Coastguard Worker  // With [app
402*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app),
403*d5c09012SAndroid Build Coastguard Worker  // returns the direct message space between the specified user and the calling
404*d5c09012SAndroid Build Coastguard Worker  // Chat app.
405*d5c09012SAndroid Build Coastguard Worker  //
406*d5c09012SAndroid Build Coastguard Worker  // Requires [user
407*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
408*d5c09012SAndroid Build Coastguard Worker  // or [app
409*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
410*d5c09012SAndroid Build Coastguard Worker  rpc FindDirectMessage(FindDirectMessageRequest) returns (Space) {
411*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
412*d5c09012SAndroid Build Coastguard Worker      get: "/v1/spaces:findDirectMessage"
413*d5c09012SAndroid Build Coastguard Worker    };
414*d5c09012SAndroid Build Coastguard Worker  }
415*d5c09012SAndroid Build Coastguard Worker
416*d5c09012SAndroid Build Coastguard Worker  // Creates a human membership or app membership for the calling app. Creating
417*d5c09012SAndroid Build Coastguard Worker  // memberships for other apps isn't supported. For an example, see
418*d5c09012SAndroid Build Coastguard Worker  // [Invite or add a user or a Google Chat app to a
419*d5c09012SAndroid Build Coastguard Worker  // space](https://developers.google.com/workspace/chat/create-members).
420*d5c09012SAndroid Build Coastguard Worker  // When creating a membership, if the specified member has their auto-accept
421*d5c09012SAndroid Build Coastguard Worker  // policy turned off, then they're invited, and must accept the space
422*d5c09012SAndroid Build Coastguard Worker  // invitation before joining. Otherwise, creating a membership adds the member
423*d5c09012SAndroid Build Coastguard Worker  // directly to the specified space. Requires [user
424*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
425*d5c09012SAndroid Build Coastguard Worker  //
426*d5c09012SAndroid Build Coastguard Worker  // To specify the member to add, set the `membership.member.name` in the
427*d5c09012SAndroid Build Coastguard Worker  // `CreateMembershipRequest`:
428*d5c09012SAndroid Build Coastguard Worker  //
429*d5c09012SAndroid Build Coastguard Worker  // - To add the calling app to a space or a direct message between two human
430*d5c09012SAndroid Build Coastguard Worker  //   users, use `users/app`. Unable to add other
431*d5c09012SAndroid Build Coastguard Worker  //   apps to the space.
432*d5c09012SAndroid Build Coastguard Worker  //
433*d5c09012SAndroid Build Coastguard Worker  // - To add a human user, use `users/{user}`, where `{user}` can be the email
434*d5c09012SAndroid Build Coastguard Worker  // address for the user. For users in the same Workspace organization `{user}`
435*d5c09012SAndroid Build Coastguard Worker  // can also be the `id` for the person from the People API, or the `id` for
436*d5c09012SAndroid Build Coastguard Worker  // the user in the Directory API. For example, if the People API Person
437*d5c09012SAndroid Build Coastguard Worker  // profile ID for `[email protected]` is `123456789`, you can add the user to
438*d5c09012SAndroid Build Coastguard Worker  // the space by setting the `membership.member.name` to
439*d5c09012SAndroid Build Coastguard Worker  // `users/user@example.com` or `users/123456789`.
440*d5c09012SAndroid Build Coastguard Worker  rpc CreateMembership(CreateMembershipRequest) returns (Membership) {
441*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
442*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=spaces/*}/members"
443*d5c09012SAndroid Build Coastguard Worker      body: "membership"
444*d5c09012SAndroid Build Coastguard Worker    };
445*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,membership";
446*d5c09012SAndroid Build Coastguard Worker  }
447*d5c09012SAndroid Build Coastguard Worker
448*d5c09012SAndroid Build Coastguard Worker  // Updates a membership. Requires [user
449*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/chat/api/guides/auth/users).
450*d5c09012SAndroid Build Coastguard Worker  rpc UpdateMembership(UpdateMembershipRequest) returns (Membership) {
451*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
452*d5c09012SAndroid Build Coastguard Worker      patch: "/v1/{membership.name=spaces/*/members/*}"
453*d5c09012SAndroid Build Coastguard Worker      body: "membership"
454*d5c09012SAndroid Build Coastguard Worker    };
455*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "membership,update_mask";
456*d5c09012SAndroid Build Coastguard Worker  }
457*d5c09012SAndroid Build Coastguard Worker
458*d5c09012SAndroid Build Coastguard Worker  // Deletes a membership. For an example, see
459*d5c09012SAndroid Build Coastguard Worker  // [Remove a user or a Google Chat app from a
460*d5c09012SAndroid Build Coastguard Worker  // space](https://developers.google.com/workspace/chat/delete-members).
461*d5c09012SAndroid Build Coastguard Worker  //
462*d5c09012SAndroid Build Coastguard Worker  // Requires [user
463*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
464*d5c09012SAndroid Build Coastguard Worker  rpc DeleteMembership(DeleteMembershipRequest) returns (Membership) {
465*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
466*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/{name=spaces/*/members/*}"
467*d5c09012SAndroid Build Coastguard Worker    };
468*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
469*d5c09012SAndroid Build Coastguard Worker  }
470*d5c09012SAndroid Build Coastguard Worker
471*d5c09012SAndroid Build Coastguard Worker  // Creates a reaction and adds it to a message. Only unicode emojis are
472*d5c09012SAndroid Build Coastguard Worker  // supported. For an example, see
473*d5c09012SAndroid Build Coastguard Worker  // [Add a reaction to a
474*d5c09012SAndroid Build Coastguard Worker  // message](https://developers.google.com/workspace/chat/create-reactions).
475*d5c09012SAndroid Build Coastguard Worker  // Requires [user
476*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
477*d5c09012SAndroid Build Coastguard Worker  rpc CreateReaction(CreateReactionRequest) returns (Reaction) {
478*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
479*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=spaces/*/messages/*}/reactions"
480*d5c09012SAndroid Build Coastguard Worker      body: "reaction"
481*d5c09012SAndroid Build Coastguard Worker    };
482*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,reaction";
483*d5c09012SAndroid Build Coastguard Worker  }
484*d5c09012SAndroid Build Coastguard Worker
485*d5c09012SAndroid Build Coastguard Worker  // Lists reactions to a message. For an example, see
486*d5c09012SAndroid Build Coastguard Worker  // [List reactions for a
487*d5c09012SAndroid Build Coastguard Worker  // message](https://developers.google.com/workspace/chat/list-reactions).
488*d5c09012SAndroid Build Coastguard Worker  // Requires [user
489*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
490*d5c09012SAndroid Build Coastguard Worker  rpc ListReactions(ListReactionsRequest) returns (ListReactionsResponse) {
491*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
492*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{parent=spaces/*/messages/*}/reactions"
493*d5c09012SAndroid Build Coastguard Worker    };
494*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
495*d5c09012SAndroid Build Coastguard Worker  }
496*d5c09012SAndroid Build Coastguard Worker
497*d5c09012SAndroid Build Coastguard Worker  // Deletes a reaction to a message. Only unicode emojis are supported.
498*d5c09012SAndroid Build Coastguard Worker  // For an example, see
499*d5c09012SAndroid Build Coastguard Worker  // [Delete a
500*d5c09012SAndroid Build Coastguard Worker  // reaction](https://developers.google.com/workspace/chat/delete-reactions).
501*d5c09012SAndroid Build Coastguard Worker  // Requires [user
502*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
503*d5c09012SAndroid Build Coastguard Worker  rpc DeleteReaction(DeleteReactionRequest) returns (google.protobuf.Empty) {
504*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
505*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/{name=spaces/*/messages/*/reactions/*}"
506*d5c09012SAndroid Build Coastguard Worker    };
507*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
508*d5c09012SAndroid Build Coastguard Worker  }
509*d5c09012SAndroid Build Coastguard Worker
510*d5c09012SAndroid Build Coastguard Worker  // Returns details about a user's read state within a space, used to identify
511*d5c09012SAndroid Build Coastguard Worker  // read and unread messages.
512*d5c09012SAndroid Build Coastguard Worker  //
513*d5c09012SAndroid Build Coastguard Worker  // Requires [user
514*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
515*d5c09012SAndroid Build Coastguard Worker  rpc GetSpaceReadState(GetSpaceReadStateRequest) returns (SpaceReadState) {
516*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
517*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=users/*/spaces/*/spaceReadState}"
518*d5c09012SAndroid Build Coastguard Worker    };
519*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
520*d5c09012SAndroid Build Coastguard Worker  }
521*d5c09012SAndroid Build Coastguard Worker
522*d5c09012SAndroid Build Coastguard Worker  // Updates a user's read state within a space, used to identify read and
523*d5c09012SAndroid Build Coastguard Worker  // unread messages.
524*d5c09012SAndroid Build Coastguard Worker  //
525*d5c09012SAndroid Build Coastguard Worker  // Requires [user
526*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
527*d5c09012SAndroid Build Coastguard Worker  rpc UpdateSpaceReadState(UpdateSpaceReadStateRequest)
528*d5c09012SAndroid Build Coastguard Worker      returns (SpaceReadState) {
529*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
530*d5c09012SAndroid Build Coastguard Worker      patch: "/v1/{space_read_state.name=users/*/spaces/*/spaceReadState}"
531*d5c09012SAndroid Build Coastguard Worker      body: "space_read_state"
532*d5c09012SAndroid Build Coastguard Worker    };
533*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "space_read_state,update_mask";
534*d5c09012SAndroid Build Coastguard Worker  }
535*d5c09012SAndroid Build Coastguard Worker
536*d5c09012SAndroid Build Coastguard Worker  // Returns details about a user's read state within a thread, used to identify
537*d5c09012SAndroid Build Coastguard Worker  // read and unread messages.
538*d5c09012SAndroid Build Coastguard Worker  //
539*d5c09012SAndroid Build Coastguard Worker  // Requires [user
540*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
541*d5c09012SAndroid Build Coastguard Worker  rpc GetThreadReadState(GetThreadReadStateRequest) returns (ThreadReadState) {
542*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
543*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=users/*/spaces/*/threads/*/threadReadState}"
544*d5c09012SAndroid Build Coastguard Worker    };
545*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
546*d5c09012SAndroid Build Coastguard Worker  }
547*d5c09012SAndroid Build Coastguard Worker}
548