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