Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@stewartmcgown
Created February 12, 2022 15:30
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save stewartmcgown/9efc06e56cc04bbc29ffab50a305d38a to your computer and use it in GitHub Desktop.
Save stewartmcgown/9efc06e56cc04bbc29ffab50a305d38a to your computer and use it in GitHub Desktop.
Google Web SMS Private API
This file has been truncated, but you can view the full file.
{
"version_module": true,
"title": "Instant Messaging Private API",
"ownerName": "Google",
"basePath": "",
"version": "v1",
"resources": {
"group": {
"methods": {
"kickgroupusers": {
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1KickGroupUsersRequest"
},
"parameterOrder": [],
"path": "v1/group:kickgroupusers",
"id": "instantmessaging_pa.group.kickgroupusers",
"description": "Kick users from a group. The client kicks themself to leave the group.",
"httpMethod": "POST",
"flatPath": "v1/group:kickgroupusers",
"parameters": {},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1KickGroupUsersResponse"
}
},
"getgroupcountrycode": {
"parameters": {},
"parameterOrder": [],
"id": "instantmessaging_pa.group.getgroupcountrycode",
"flatPath": "v1/group:getgroupcountrycode",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupCountryCodeRequest"
},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupCountryCodeResponse"
},
"httpMethod": "POST",
"description": "Get group country code for specified group IDs",
"path": "v1/group:getgroupcountrycode"
},
"deletegroup": {
"parameterOrder": [],
"path": "v1/group:deletegroup",
"id": "instantmessaging_pa.group.deletegroup",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeleteGroupResponse"
},
"description": "Deletes a group",
"parameters": {},
"httpMethod": "POST",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeleteGroupRequest"
},
"flatPath": "v1/group:deletegroup"
},
"changegroupprofile": {
"description": "Change group profile",
"parameterOrder": [],
"id": "instantmessaging_pa.group.changegroupprofile",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ChangeGroupProfileRequest"
},
"httpMethod": "POST",
"path": "v1/group:changegroupprofile",
"flatPath": "v1/group:changegroupprofile",
"parameters": {},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ChangeGroupProfileResponse"
}
},
"getgroupids": {
"parameters": {},
"flatPath": "v1/group:getgroupids",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupIdsRequest"
},
"id": "instantmessaging_pa.group.getgroupids",
"path": "v1/group:getgroupids",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupIdsResponse"
},
"parameterOrder": [],
"description": "Get group IDs to which a user belong to.",
"httpMethod": "POST"
},
"changegroupmemberrole": {
"httpMethod": "POST",
"parameterOrder": [],
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ChangeGroupMemberRoleResponse"
},
"id": "instantmessaging_pa.group.changegroupmemberrole",
"parameters": {},
"flatPath": "v1/group:changegroupmemberrole",
"description": "Change group member role",
"path": "v1/group:changegroupmemberrole",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ChangeGroupMemberRoleRequest"
}
},
"getgroupinfos": {
"path": "v1/group:getgroupinfos",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupInfosRequest"
},
"parameterOrder": [],
"id": "instantmessaging_pa.group.getgroupinfos",
"httpMethod": "POST",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupInfosResponse"
},
"parameters": {},
"flatPath": "v1/group:getgroupinfos",
"description": "Get group info for specified group IDs. If a group does not exist, or if the caller is not a member of the group, it'll be omitted from the result."
},
"creategroup": {
"flatPath": "v1/group:creategroup",
"id": "instantmessaging_pa.group.creategroup",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CreateGroupResponse"
},
"httpMethod": "POST",
"description": "Create a group.",
"parameterOrder": [],
"path": "v1/group:creategroup",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CreateGroupRequest"
},
"parameters": {}
},
"getgroupinvitelinkdetails": {
"id": "instantmessaging_pa.group.getgroupinvitelinkdetails",
"path": "v1/group:getgroupinvitelinkdetails",
"httpMethod": "POST",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupInviteLinkDetailsRequest"
},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupInviteLinkDetailsResponse"
},
"flatPath": "v1/group:getgroupinvitelinkdetails",
"parameters": {},
"parameterOrder": [],
"description": "When received a group invite link, Allo clients will use this API to resolve group Id and other details about the group in order to show the pre-join confirmation page. The request contains a group invite link Id, and response has the group name/thumbnail/size..."
},
"joingroupvialink": {
"parameters": {},
"parameterOrder": [],
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1JoinGroupViaLinkResponse"
},
"description": "Join a group via a group invite link",
"flatPath": "v1/group:joingroupvialink",
"id": "instantmessaging_pa.group.joingroupvialink",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1JoinGroupViaLinkRequest"
},
"httpMethod": "POST",
"path": "v1/group:joingroupvialink"
},
"getgroupinfo": {
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupInfoResponse"
},
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupInfoRequest"
},
"parameters": {},
"flatPath": "v1/group:getgroupinfo",
"description": "Get group info for a single group ID. If the group does not exist, returns NOT_FOUND error. If the caller is not a member, returns PERMISSION_DENIED error.",
"parameterOrder": [],
"httpMethod": "POST",
"id": "instantmessaging_pa.group.getgroupinfo",
"path": "v1/group:getgroupinfo"
},
"addgroupusers": {
"httpMethod": "POST",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddGroupUsersResponse"
},
"path": "v1/group:addgroupusers",
"description": "Add users to a group.",
"flatPath": "v1/group:addgroupusers",
"parameters": {},
"id": "instantmessaging_pa.group.addgroupusers",
"parameterOrder": [],
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddGroupUsersRequest"
}
}
}
},
"media": {
"methods": {
"revokemediaaccess": {
"id": "instantmessaging_pa.media.revokemediaaccess",
"description": "RevokeMediaAccess removes access to a media for the caller.",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RevokeMediaAccessResponse"
},
"flatPath": "v1/media:revokemediaaccess",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RevokeMediaAccessRequest"
},
"httpMethod": "POST",
"path": "v1/media:revokemediaaccess",
"parameters": {},
"parameterOrder": []
},
"changemediattl": {
"parameters": {},
"description": "Change the TTL on a media for the caller. Returns Permission Denied if the user doesn't have access to the media.",
"id": "instantmessaging_pa.media.changemediattl",
"flatPath": "v1/media:changemediattl",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ChangeMediaTTLRequest"
},
"path": "v1/media:changemediattl",
"httpMethod": "POST",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ChangeMediaTTLResponse"
},
"parameterOrder": []
},
"grantmediaaccess": {
"httpMethod": "POST",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GrantMediaAccessResponse"
},
"parameterOrder": [],
"path": "v1/media:grantmediaaccess",
"parameters": {},
"description": "Grant media access to additional users after upload.",
"id": "instantmessaging_pa.media.grantmediaaccess",
"flatPath": "v1/media:grantmediaaccess",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GrantMediaAccessRequest"
}
}
}
},
"peertopeer": {
"methods": {
"geticeserver": {
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetICEServerRequest"
},
"parameters": {},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetICEServerResponse"
},
"flatPath": "v1/peertopeer:geticeserver",
"parameterOrder": [],
"id": "instantmessaging_pa.peertopeer.geticeserver",
"path": "v1/peertopeer:geticeserver",
"description": "GetICEServer returns config and credentials for Lens.",
"httpMethod": "POST"
}
}
},
"encryptionKey": {
"methods": {
"get": {
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetWebEncryptionKeyRequest"
},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetWebEncryptionKeyResponse"
},
"id": "instantmessaging_pa.encryptionKey.get",
"parameterOrder": [],
"flatPath": "v1/encryptionKey:get",
"parameters": {},
"path": "v1/encryptionKey:get",
"description": "Retrieve the encryption key for a particular web client.",
"httpMethod": "POST"
}
}
},
"duogroupcall": {
"methods": {
"sendduogroupmessage": {
"httpMethod": "POST",
"description": "Send a message to a group. Initially this will do server side fanout of the group invite to Tachystick registrations in the group.",
"id": "instantmessaging_pa.duogroupcall.sendduogroupmessage",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DuoSendDuoGroupMessageRequest"
},
"parameters": {},
"parameterOrder": [],
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DuoSendDuoGroupMessageResponse"
},
"path": "v1/duogroupcall:sendduogroupmessage",
"flatPath": "v1/duogroupcall:sendduogroupmessage"
}
}
},
"v1": {
"methods": {
"getfiuserstanding": {
"parameters": {},
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetFiUserStandingRequest"
},
"description": "Get the Fi user's status",
"path": "v1/getfiuserstanding",
"httpMethod": "POST",
"parameterOrder": [],
"flatPath": "v1/getfiuserstanding",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetFiUserStandingResponse"
},
"id": "instantmessaging_pa.getfiuserstanding"
},
"sendfimessage": {
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SendFiMessageRequest"
},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SendFiMessageResponse"
},
"id": "instantmessaging_pa.sendfimessage",
"description": "Send an xMS message via the Fi network",
"httpMethod": "POST",
"parameterOrder": [],
"flatPath": "v1/sendfimessage",
"path": "v1/sendfimessage",
"parameters": {}
},
"echo": {
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1EchoRequest"
},
"flatPath": "v1:echo",
"parameters": {},
"parameterOrder": [],
"httpMethod": "POST",
"description": "Echo is used for clients to check the connectivity to the Tachyon backend.",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1EchoResponse"
},
"id": "instantmessaging_pa.echo",
"path": "v1:echo"
},
"getmdmstatus": {
"parameterOrder": [],
"flatPath": "v1/getmdmstatus",
"parameters": {},
"id": "instantmessaging_pa.getmdmstatus",
"httpMethod": "POST",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetMultiDeviceStatusResponse"
},
"path": "v1/getmdmstatus",
"description": "Get the user's multidevice status",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetMultiDeviceStatusRequest"
}
},
"mdmlistcontactpeople": {
"description": "Lists contact people using people API ListContactPeople",
"id": "instantmessaging_pa.mdmlistcontactpeople",
"flatPath": "v1/mdmlistcontactpeople",
"path": "v1/mdmlistcontactpeople",
"httpMethod": "POST",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MdmListContactPeopleRequest"
},
"parameters": {},
"parameterOrder": [],
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MdmListContactPeopleResponse"
}
},
"mdmliststarredpeople": {
"path": "v1/mdmliststarredpeople",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MdmListStarredPeopleRequest"
},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MdmListStarredPeopleResponse"
},
"description": "Lists starred people using people API ListStarredPeople",
"id": "instantmessaging_pa.mdmliststarredpeople",
"flatPath": "v1/mdmliststarredpeople",
"httpMethod": "POST",
"parameters": {},
"parameterOrder": []
},
"mdmlistpeoplebyknownid": {
"parameters": {},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MdmListPeopleByKnownIdResponse"
},
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MdmListPeopleByKnownIdRequest"
},
"httpMethod": "POST",
"flatPath": "v1/mdmlistpeoplebyknownid",
"id": "instantmessaging_pa.mdmlistpeoplebyknownid",
"path": "v1/mdmlistpeoplebyknownid",
"parameterOrder": [],
"description": "Lists people by known ID using people API ListPeopleByKnownId"
}
}
},
"publicKey": {
"methods": {
"set": {
"description": "Called by web client to add public key to registrations table.",
"flatPath": "v1/publicKey:set",
"httpMethod": "POST",
"parameters": {},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetWebPublicKeyResponse"
},
"parameterOrder": [],
"path": "v1/publicKey:set",
"id": "instantmessaging_pa.publicKey.set",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetWebPublicKeyRequest"
}
}
}
},
"groupcall": {
"methods": {
"modifymediasession": {
"description": "Modifies the server-side state of the media session, indicating client preferences for receiving media.",
"httpMethod": "POST",
"id": "instantmessaging_pa.groupcall.modifymediasession",
"path": "v1/groupcall:modifymediasession",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ModifyMediaSessionRequest"
},
"parameterOrder": [],
"parameters": {},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ModifyMediaSessionResponse"
},
"flatPath": "v1/groupcall:modifymediasession"
},
"createmediasession": {
"parameterOrder": [],
"description": "Creates and gets the remote description for a media session. This also resets any group calling state by leaving all calls the user is in.",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CreateMediaSessionResponse"
},
"path": "v1/groupcall:createmediasession",
"httpMethod": "POST",
"id": "instantmessaging_pa.groupcall.createmediasession",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CreateMediaSessionRequest"
},
"parameters": {},
"flatPath": "v1/groupcall:createmediasession"
},
"join": {
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1JoinGroupCallResponse"
},
"flatPath": "v1/groupcall:join",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1JoinGroupCallRequest"
},
"parameters": {},
"httpMethod": "POST",
"description": "Joins the call identified by the group ID in the request. Will fail with FAILED_PRECONDITION if the client doesn't have a media session.",
"id": "instantmessaging_pa.groupcall.join",
"path": "v1/groupcall:join",
"parameterOrder": []
},
"deletemediasession": {
"path": "v1/groupcall:deletemediasession",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeleteMediaSessionRequest"
},
"parameterOrder": [],
"parameters": {},
"flatPath": "v1/groupcall:deletemediasession",
"description": "Deletes the media session, and leaves all calls the client is in.",
"httpMethod": "POST",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeleteMediaSessionResponse"
},
"id": "instantmessaging_pa.groupcall.deletemediasession"
},
"getstreams": {
"flatPath": "v1/groupcall:getstreams",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupCallStreamsRequest"
},
"parameterOrder": [],
"id": "instantmessaging_pa.groupcall.getstreams",
"path": "v1/groupcall:getstreams",
"description": "Gets stream information in the group call.",
"parameters": {},
"httpMethod": "POST",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupCallStreamsResponse"
}
},
"updatestate": {
"parameterOrder": [],
"httpMethod": "POST",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UpdateGroupCallStateResponse"
},
"description": "Updates this client's call state. Will fail with FAILED_PRECONDITION if the client isn't in a call.",
"parameters": {},
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UpdateGroupCallStateRequest"
},
"flatPath": "v1/groupcall:updatestate",
"path": "v1/groupcall:updatestate",
"id": "instantmessaging_pa.groupcall.updatestate"
},
"getstatus": {
"path": "v1/groupcall:getstatus",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupCallsStatusResponse"
},
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupCallsStatusRequest"
},
"parameterOrder": [],
"flatPath": "v1/groupcall:getstatus",
"parameters": {},
"httpMethod": "POST",
"id": "instantmessaging_pa.groupcall.getstatus",
"description": "Gets all clients in calls, in the specified group IDs. The server will limit the number of groups a maximum of 50."
},
"getmediasessionparams": {
"id": "instantmessaging_pa.groupcall.getmediasessionparams",
"parameterOrder": [],
"path": "v1/groupcall:getmediasessionparams",
"parameters": {},
"httpMethod": "POST",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetMediaSessionParamsRequest"
},
"description": "Gets the latest remote description for an existing media session. The remote description can change for a variety of reasons, such as MR handover, or codec negotiation (in the future). Fails with FAILED_PRECONDITION if there is no existing media session.",
"flatPath": "v1/groupcall:getmediasessionparams",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetMediaSessionParamsResponse"
}
}
}
},
"messages": {
"methods": {
"ack": {
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AckMessagesResponse"
},
"description": "Acknowledges that Inbox messages are received. Deprecated",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AckMessagesRequest"
},
"parameters": {},
"parameterOrder": [],
"flatPath": "v1/messages:ack",
"path": "v1/messages:ack",
"id": "instantmessaging_pa.messages.ack",
"httpMethod": "POST"
},
"pull": {
"id": "instantmessaging_pa.messages.pull",
"path": "v1/messages:pull",
"httpMethod": "POST",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PullMessagesResponse"
},
"parameterOrder": [],
"parameters": {},
"flatPath": "v1/messages:pull",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PullMessagesRequest"
},
"description": "Pull all un-acked messages from Tachyon. This method should be called whenever the client gets a tickle from GCM or APNS. This method is paginated. When a response has pulled_all == false, it should ack the messages and then call this method again."
},
"receiveExpress": {
"flatPath": "v1/messages:receiveExpress",
"httpMethod": "POST",
"parameterOrder": [],
"path": "v1/messages:receiveExpress",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiveMessagesExpressRequest"
},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiveMessagesResponse"
},
"id": "instantmessaging_pa.messages.receiveExpress",
"description": "Open a bind channel to Tachyon server to receive streamed push messages. No registration nor auth token is required. This method is for Tachyon Express enabled Apps only.",
"parameters": {}
},
"revoke_by_sender": {
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RevokeMessagesBySenderResponse"
},
"httpMethod": "POST",
"flatPath": "v1/messages:revoke_by_sender",
"path": "v1/messages:revoke_by_sender",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RevokeMessagesBySenderRequest"
},
"parameters": {},
"id": "instantmessaging_pa.messages.revoke_by_sender",
"description": "Revokes pending Inbox messages from a set of recipients. A timestamp will come with each recipient specified, and all pending messages received before this timestamp for this recipient will get revoked.",
"parameterOrder": []
},
"prewarmreceiver": {
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PrewarmReceiverResponse"
},
"parameterOrder": [],
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PrewarmReceiverRequest"
},
"description": "PrewarmReceiver wakes up potential contacts (see go/duo-prewarming) This is a best effort request to wake up the target ID's device to receive messages before messaging begins. To prevent spam and overloading the backend servers, PrewarmReceiverRequest must contain no more than 20 contacts to prewarm.",
"flatPath": "v1/messages:prewarmreceiver",
"parameters": {},
"httpMethod": "POST",
"path": "v1/messages:prewarmreceiver",
"id": "instantmessaging_pa.messages.prewarmreceiver"
},
"receive": {
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiveMessagesResponse"
},
"httpMethod": "POST",
"id": "instantmessaging_pa.messages.receive",
"flatPath": "v1/messages:receive",
"description": "Create a long lasting server streaming channel using which the server can push new messages to the client. Unlike Bind which is bi-directional, ReceiveMessages is server-streaming.",
"parameters": {},
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiveMessagesRequest"
},
"path": "v1/messages:receive",
"parameterOrder": []
},
"revoke_by_id": {
"path": "v1/messages:revoke_by_id",
"parameters": {},
"parameterOrder": [],
"description": "Revokes the specified pending Inbox messages. Return PERMISSION_DENIED if the requester is not the message sender, and NOT_FOUND if the message is not in the inbox or is already ACKed. If the destination is for an external RCS user, forward the request to Jibe, and return OK.",
"id": "instantmessaging_pa.messages.revoke_by_id",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RevokeMessagesByIdRequest"
},
"flatPath": "v1/messages:revoke_by_id",
"httpMethod": "POST",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RevokeMessagesByIdResponse"
}
},
"batchAckMessages": {
"flatPath": "v1/messages:batchAckMessages",
"parameterOrder": [],
"httpMethod": "POST",
"parameters": {},
"path": "v1/messages:batchAckMessages",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BatchAckMessagesResponse"
},
"description": "Acknowledges that Inbox messages are received.",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BatchAckMessagesRequest"
},
"id": "instantmessaging_pa.messages.batchAckMessages"
}
}
},
"cloudStoreEnryptionKey": {
"methods": {
"get": {
"path": "v1/cloudStoreEnryptionKey:get",
"description": "Retrieve the Cloud Store encryption key for a particular client. Called by web client.",
"flatPath": "v1/cloudStoreEnryptionKey:get",
"httpMethod": "POST",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetCloudStoreEncryptionKeyRequest"
},
"id": "instantmessaging_pa.cloudStoreEnryptionKey.get",
"parameters": {},
"parameterOrder": [],
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetCloudStoreEncryptionKeyResponse"
}
}
}
},
"relay": {
"methods": {
"register": {
"httpMethod": "POST",
"description": "Retrieve a short-term unverified auth token for desktop phone relay client. The token can only be used to bind and receive pairing completion message. If the ID requested already exists, the API will fail with ALREADY_EXIST. If the registered ID does not pair with a phone client after 24 hours, it may be cleaned up.",
"path": "v1/relay:register",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterPhoneRelayResponse"
},
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterPhoneRelayRequest"
},
"flatPath": "v1/relay:register",
"parameters": {},
"id": "instantmessaging_pa.relay.register",
"parameterOrder": []
},
"refresh": {
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RefreshPhoneRelayResponse"
},
"path": "v1/relay:refresh",
"httpMethod": "POST",
"parameters": {},
"description": "Refresh the retrieval token from RegisterPhoneRelay. Called by desktop and when refreshing the QR code.",
"parameterOrder": [],
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RefreshPhoneRelayRequest"
},
"id": "instantmessaging_pa.relay.refresh",
"flatPath": "v1/relay:refresh"
}
}
},
"registration": {
"methods": {
"setprekey": {
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetPreKeysRequest"
},
"id": "instantmessaging_pa.registration.setprekey",
"path": "v1/registration:setprekey",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetPreKeysResponse"
},
"parameters": {},
"description": "Set the available prekeys for the currently authorized user.",
"httpMethod": "POST",
"flatPath": "v1/registration:setprekey",
"parameterOrder": []
},
"registertrusted": {
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterByAgentRequest"
},
"httpMethod": "POST",
"flatPath": "v1/registration:registertrusted",
"parameters": {},
"parameterOrder": [],
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterByAgentResponse"
},
"description": "Register a device with the request that has been authenticated/verified by a trusted agent. The trusted agent is identified by its Gaia credential, which is required for this RPC.",
"id": "instantmessaging_pa.registration.registertrusted",
"path": "v1/registration:registertrusted"
},
"registeranonymous": {
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterAnonymousRequest"
},
"parameters": {},
"description": "Register a device using only device ID. RegisterAnonymous is called only by Matchstick after it fails with RegisterSilent. RegisterAnonymous returns an auth token, which can be used by RegisterSilent, PeriodicRegisterSilent, RegisterRefresh, and SendMessage. If RegisterSilent or PeriodicRegisterSilent passes the token and succeeds, it inherits the account from RegisterAnonymous.",
"flatPath": "v1/registration:registeranonymous",
"parameterOrder": [],
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterAnonymousResponse"
},
"httpMethod": "POST",
"id": "instantmessaging_pa.registration.registeranonymous",
"path": "v1/registration:registeranonymous"
},
"upgradeaccount": {
"description": "Upgrade the current account to GAIA user. The user is currently registered with PN or Android ID. The client needs to pass EUC with API scope: TACHYON. The backend will support multi-device GAIA registrations. TBD: What is the expected behavior if there is another GAIA associated with the account? For now, the backend will fail the request if there is another GAIA associated with the account (error TachyonError.ACCOUNT_OTHER_GAIA_EXISTS)",
"httpMethod": "POST",
"parameters": {},
"path": "v1/registration:upgradeaccount",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UpgradeAccountResponse"
},
"parameterOrder": [],
"flatPath": "v1/registration:upgradeaccount",
"id": "instantmessaging_pa.registration.upgradeaccount",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UpgradeAccountRequest"
}
},
"verifygaia": {
"description": "Verifies a pending registration with Gaia oauth token. The client needs to pass EUC with API scope: TACHYON. If the provided Gaia ID doesn't match Tachyon DB record, TachyonError.GAIA_ID_MISMATCH will be returned. Called after Register(mode=LOOKUP_AND_REGISTER) and the returned challenge type = GAIA_SIGN_IN",
"id": "instantmessaging_pa.registration.verifygaia",
"parameterOrder": [],
"path": "v1/registration:verifygaia",
"httpMethod": "POST",
"parameters": {},
"flatPath": "v1/registration:verifygaia",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1VerifyGaiaResponse"
},
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1VerifyGaiaRequest"
}
},
"downgradeaccount": {
"path": "v1/registration:downgradeaccount",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DowngradeAccountRequest"
},
"parameterOrder": [],
"httpMethod": "POST",
"id": "instantmessaging_pa.registration.downgradeaccount",
"parameters": {},
"flatPath": "v1/registration:downgradeaccount",
"description": "Downgrade the current GAIA account. PN-only users will get result=REGISTRATION_DOWNGRADED. The client can be PN-only account from the beginning or from downgrading account. The client needs to pass EUC with API scope: TACHYON.",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DowngradeAccountResponse"
}
},
"lookupsheddable": {
"path": "v1/registration:lookupsheddable",
"id": "instantmessaging_pa.registration.lookupsheddable",
"parameterOrder": [],
"description": "Same as LookupRegistered, but with criticality SHEDDABLE.",
"parameters": {},
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LookupRegisteredRequest"
},
"httpMethod": "POST",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LookupRegisteredResponse"
},
"flatPath": "v1/registration:lookupsheddable"
},
"unregistergooglercs": {
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UnregisterGoogleRCSResponse"
},
"parameters": {},
"id": "instantmessaging_pa.registration.unregistergooglercs",
"parameterOrder": [],
"httpMethod": "POST",
"path": "v1/registration:unregistergooglercs",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UnregisterGoogleRCSRequest"
},
"description": "Unregister the Google RCS portion of a unified registration. To be successful, the AM client must have verified its phone number with Tachyon before.",
"flatPath": "v1/registration:unregistergooglercs"
},
"replacephonereachability": {
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReplacePhoneReachabilityResponse"
},
"httpMethod": "POST",
"parameters": {},
"description": "Replace phone reachability of the Gaia account. PN-only users will get PermissionDenied error. Gaia-only users will be added with the phone reachability. Gaia users with phone numbers will be replaced with this one phone number. The client needs to pass EUC with API scope: TACHYON.",
"flatPath": "v1/registration:replacephonereachability",
"parameterOrder": [],
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReplacePhoneReachabilityRequest"
},
"path": "v1/registration:replacephonereachability",
"id": "instantmessaging_pa.registration.replacephonereachability"
},
"getaccountinfo": {
"httpMethod": "POST",
"path": "v1/registration:getaccountinfo",
"parameterOrder": [],
"flatPath": "v1/registration:getaccountinfo",
"parameters": {},
"id": "instantmessaging_pa.registration.getaccountinfo",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetAccountInfoResponse"
},
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetAccountInfoRequest"
},
"description": "Get the user's account information. For example, registrations list under the same account."
},
"registerGaiaSilent": {
"flatPath": "v1/registration:RegisterGaiaSilent",
"path": "v1/registration:RegisterGaiaSilent",
"id": "instantmessaging_pa.registration.registerGaiaSilent",
"description": "Silently register a device or create a Gaia account based on Gaia credentials. The registration request does not carry any user entered phone number but only requires a Gaia EUC with API scope: TACHYON. The API mainly uses GAIA credential for registration. If the existing account is found, calling RegisterGaiaSilent will register the device under that; Otherwise, a new account will be created. If the device is already a PN user, the request will fail.",
"parameters": {},
"httpMethod": "POST",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterGaiaSilentRequest"
},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterGaiaSilentResponse"
},
"parameterOrder": []
},
"verifyphonereachability": {
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1VerifyPhoneReachabilityResponse"
},
"path": "v1/registration:verifyphonereachability",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1VerifyPhoneReachabilityRequest"
},
"flatPath": "v1/registration:verifyphonereachability",
"parameters": {},
"parameterOrder": [],
"httpMethod": "POST",
"description": "Verifies a pending phone number for the Gaia account. If pin does not match with IDV, INVALID_ARGUMENT error will be returned. The client needs to pass EUC with API scope: TACHYON.",
"id": "instantmessaging_pa.registration.verifyphonereachability"
},
"periodicregistersilent": {
"path": "v1/registration:periodicregistersilent",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterSilentRequest"
},
"httpMethod": "POST",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterSilentResponse"
},
"id": "instantmessaging_pa.registration.periodicregistersilent",
"parameters": {},
"parameterOrder": [],
"flatPath": "v1/registration:periodicregistersilent",
"description": "Register a device using Gaia credentials without a phone number. PeriodicRegisterSilent is called periodically for retry. We separate this from RegisterSilent, which should have much lower QPS, for better monitoring and throttling."
},
"setcapabilities": {
"parameters": {},
"parameterOrder": [],
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetCapabilitiesResponse"
},
"id": "instantmessaging_pa.registration.setcapabilities",
"httpMethod": "POST",
"path": "v1/registration:setcapabilities",
"description": "Set capabilities for the currently authorized user. The capabilities are pushed to other related users and can also be retrieved via GetProfile.",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetCapabilitiesRequest"
},
"flatPath": "v1/registration:setcapabilities"
},
"lookup": {
"httpMethod": "POST",
"flatPath": "v1/registration:lookup",
"id": "instantmessaging_pa.registration.lookup",
"description": "Lookup registered users from a given user list.",
"parameterOrder": [],
"path": "v1/registration:lookup",
"parameters": {},
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LookupRegisteredRequest"
},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LookupRegisteredResponse"
}
},
"addphonereachability": {
"id": "instantmessaging_pa.registration.addphonereachability",
"httpMethod": "POST",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddPhoneReachabilityResponse"
},
"parameters": {},
"path": "v1/registration:addphonereachability",
"parameterOrder": [],
"description": "Add phone reachability to the Gaia account. PN-only users will get PermissionDenied error. The client needs to pass EUC with API scope: TACHYON.",
"flatPath": "v1/registration:addphonereachability",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddPhoneReachabilityRequest"
}
},
"deleteaccount": {
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeleteAccountResponse"
},
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeleteAccountRequest"
},
"parameterOrder": [],
"parameters": {},
"id": "instantmessaging_pa.registration.deleteaccount",
"path": "v1/registration:deleteaccount",
"httpMethod": "POST",
"flatPath": "v1/registration:deleteaccount",
"description": "DeleteAccount unregisters the device and delete any data associated with the account."
},
"getprekeybatch": {
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetPreKeyBatchResponse"
},
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetPreKeyBatchRequest"
},
"id": "instantmessaging_pa.registration.getprekeybatch",
"path": "v1/registration:getprekeybatch",
"flatPath": "v1/registration:getprekeybatch",
"parameters": {},
"parameterOrder": [],
"description": "Get a single prekey for each specified user/device pair.",
"httpMethod": "POST"
},
"registerrefresh": {
"id": "instantmessaging_pa.registration.registerrefresh",
"httpMethod": "POST",
"parameterOrder": [],
"description": "Retrieve a new access token by signing the request using a private key. Optionally update public key, GCM token or APN token.",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterRefreshRequest"
},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterRefreshResponse"
},
"flatPath": "v1/registration:registerrefresh",
"parameters": {},
"path": "v1/registration:registerrefresh"
},
"signingaia": {
"parameterOrder": [],
"description": "Sign in or create a new GAIA account. The client needs to pass EUC with API scope: TACHYON. The API mainly uses GAIA credential for registration. If the device is already a PN user, calling SignInGaia will create another account for the device. When maximum number (default 32) of registrations per account is reached, this will result in deleting the oldest updated registration (WEB/DESKTOP before other platforms).",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SignInGaiaResponse"
},
"flatPath": "v1/registration:signingaia",
"id": "instantmessaging_pa.registration.signingaia",
"httpMethod": "POST",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SignInGaiaRequest"
},
"parameters": {},
"path": "v1/registration:signingaia"
},
"getprekey": {
"httpMethod": "POST",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetPreKeyRequest"
},
"flatPath": "v1/registration:getprekey",
"id": "instantmessaging_pa.registration.getprekey",
"parameters": {},
"description": "Get a single prekey for the specified user.",
"path": "v1/registration:getprekey",
"parameterOrder": [],
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetPreKeyResponse"
}
},
"signingaiasilent": {
"httpMethod": "POST",
"parameterOrder": [],
"id": "instantmessaging_pa.registration.signingaiasilent",
"description": "Register a device silently or manually based on Gaia credentials. Whether silent or manual, the registration request does not carry any user entered phone number but only requires a Gaia EUC with API scope: TACHYON. (1) A Gaia (with linked PNs) account, using the (required) Gaia credential, if it does not already exist. (2) a registration for this device will be created, if it does not already exist, or updated if it does exist. For Matchstick only: Matchstick client will call this method when it turns on Gaia registration. Generator will query Numberer to get PNs linked with the Gaia in the request, then Generator will make changes in Tachyon DB to exactly align with the response. I.e. If any PN in the Numberer response is not linked to the account, Generator will link it. If any linked PN is not in the Numberer response, Generator will unlink it from the account.",
"parameters": {},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SignInGaiaSilentResponse"
},
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SignInGaiaSilentRequest"
},
"flatPath": "v1/registration:signingaiasilent",
"path": "v1/registration:signingaiasilent"
}
}
},
"abuse": {
"methods": {
"unblockusers": {
"id": "instantmessaging_pa.abuse.unblockusers",
"path": "v1/abuse:unblockusers",
"flatPath": "v1/abuse:unblockusers",
"parameters": {},
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UnblockUsersRequest"
},
"httpMethod": "POST",
"description": "Remove users to the block list for the currently authorized user.",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UnblockUsersResponse"
},
"parameterOrder": []
},
"addspamsignalv2": {
"path": "v1/abuse:addspamsignalv2",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddSpamSignalV2Request"
},
"flatPath": "v1/abuse:addspamsignalv2",
"id": "instantmessaging_pa.abuse.addspamsignalv2",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddSpamSignalV2Response"
},
"httpMethod": "POST",
"description": "AddSpamSignalV2 is the same as AddSpamSignal, but is used for apps with unauthenticated users. If our app registers and verifies, prefer to use AddSpamSignal.",
"parameters": {},
"parameterOrder": []
},
"blockusers": {
"path": "v1/abuse:blockusers",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BlockUsersResponse"
},
"httpMethod": "POST",
"parameters": {},
"flatPath": "v1/abuse:blockusers",
"description": "Add users to the block list for the currently authorized user.",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BlockUsersRequest"
},
"parameterOrder": [],
"id": "instantmessaging_pa.abuse.blockusers"
},
"getblockedusers": {
"path": "v1/abuse:getblockedusers",
"flatPath": "v1/abuse:getblockedusers",
"id": "instantmessaging_pa.abuse.getblockedusers",
"parameterOrder": [],
"parameters": {},
"httpMethod": "POST",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetBlockedUsersResponse"
},
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetBlockedUsersRequest"
},
"description": "Get the list of blocked users for the currently authenticated user."
},
"geturlstate": {
"httpMethod": "POST",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetURLStateRequest"
},
"id": "instantmessaging_pa.abuse.geturlstate",
"parameters": {},
"path": "v1/abuse:geturlstate",
"flatPath": "v1/abuse:geturlstate",
"parameterOrder": [],
"description": "Get the current URL state of the target URL.",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetURLStateResponse"
}
},
"getspamstate": {
"description": "Get the current spam state of the target user without signaling the Ares. This is designed for spam verdicts fast followup for AM.",
"httpMethod": "POST",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetSpamStateResponse"
},
"parameters": {},
"id": "instantmessaging_pa.abuse.getspamstate",
"path": "v1/abuse:getspamstate",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetSpamStateRequest"
},
"parameterOrder": [],
"flatPath": "v1/abuse:getspamstate"
},
"addspamsignal": {
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddSpamSignalResponse"
},
"httpMethod": "POST",
"description": "Add spam signal for users.",
"path": "v1/abuse:addspamsignal",
"parameterOrder": [],
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddSpamSignalRequest"
},
"id": "instantmessaging_pa.abuse.addspamsignal",
"parameters": {},
"flatPath": "v1/abuse:addspamsignal"
}
}
},
"message": {
"methods": {
"sendExpress": {
"parameters": {},
"parameterOrder": [],
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SendMessageExpressRequest"
},
"description": "Send a message through fast-path push only. Neither the sender nor the receiver need to be registered with Tachyon, and the auth token is not required. The recipient needs to have an open bind channel to receive push messages at the time when this method is called. Otherwise this returns a NOT_FOUND error. This method is for Tachyon Express enabled Apps only.",
"httpMethod": "POST",
"path": "v1/message:sendExpress",
"flatPath": "v1/message:sendExpress",
"id": "instantmessaging_pa.message.sendExpress",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SendMessageExpressResponse"
}
},
"send": {
"parameterOrder": [],
"parameters": {},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1InboxSendResponse"
},
"description": "Send an Inbox message.",
"flatPath": "v1/message:send",
"httpMethod": "POST",
"id": "instantmessaging_pa.message.send",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1InboxSendRequest"
},
"path": "v1/message:send"
}
}
},
"pairing": {
"methods": {
"revoke": {
"id": "instantmessaging_pa.pairing.revoke",
"flatPath": "v1/pairing:revoke",
"description": "Revoke pairing for phone to desktop relay. Called by mobile client.",
"parameters": {},
"httpMethod": "POST",
"parameterOrder": [],
"path": "v1/pairing:revoke",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RevokeRelayPairingRequest"
},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RevokeRelayPairingResponse"
}
}
}
},
"bots": {
"methods": {
"groupcalladdbots": {
"description": "GroupCallAddBots creates group call bots.",
"parameterOrder": [],
"flatPath": "v1/bots:groupcalladdbots",
"path": "v1/bots:groupcalladdbots",
"id": "instantmessaging_pa.bots.groupcalladdbots",
"httpMethod": "POST",
"parameters": {},
"response": {
"$ref": "InstantmessagingPaTachyonBosonAddBotsResponse"
},
"request": {
"$ref": "InstantmessagingPaTachyonBosonAddBotsRequest"
}
},
"getbotmetadata": {
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetBotMetadataRequest"
},
"id": "instantmessaging_pa.bots.getbotmetadata",
"description": "Look up bot metadata based on an identifier.",
"flatPath": "v1/bots:getbotmetadata",
"path": "v1/bots:getbotmetadata",
"parameters": {},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetBotMetadataResponse"
},
"httpMethod": "POST",
"parameterOrder": []
},
"groupcallsendaction": {
"request": {
"$ref": "InstantmessagingPaTachyonBosonSendActionRequest"
},
"path": "v1/bots:groupcallsendaction",
"parameters": {},
"response": {
"$ref": "InstantmessagingPaTachyonBosonSendActionResponse"
},
"description": "GroupCallSendAction sends an action to the group call bot to execute.",
"parameterOrder": [],
"id": "instantmessaging_pa.bots.groupcallsendaction",
"httpMethod": "POST",
"flatPath": "v1/bots:groupcallsendaction"
},
"groupcallgetgroups": {
"request": {
"$ref": "InstantmessagingPaTachyonBosonGetGroupsRequest"
},
"flatPath": "v1/bots:groupcallgetgroups",
"description": "GroupCallGetGroups retrieves all groups belonging to a specific user. User ID has to be allowed. Only for internal use.",
"path": "v1/bots:groupcallgetgroups",
"response": {
"$ref": "InstantmessagingPaTachyonBosonGetGroupsResponse"
},
"id": "instantmessaging_pa.bots.groupcallgetgroups",
"httpMethod": "POST",
"parameterOrder": [],
"parameters": {}
}
}
},
"userdata": {
"methods": {
"setcontacts": {
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetContactsRequest"
},
"description": "Set contacts for the currently authorized user replacing the existing set of contacts. The response contains IDs for the subset of users that are registered. An empty contact set will clear all contacts. Only 50 contacts may be set in a single request. If not, server will return TOO_MANY_CONTACT_ACTIONS_IN_REQUEST error. SetContacts flow: Client Tachyon backend Other clients |-- SetContactsRequest --\u003e| | |\u003c- SetContactsResponse --|---- SetContactsPush ----\u003e|",
"parameterOrder": [],
"httpMethod": "POST",
"path": "v1/userdata:setcontacts",
"id": "instantmessaging_pa.userdata.setcontacts",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetContactsResponse"
},
"parameters": {},
"flatPath": "v1/userdata:setcontacts"
},
"createshortlinks": {
"parameters": {},
"id": "instantmessaging_pa.userdata.createshortlinks",
"flatPath": "v1/userdata:createshortlinks",
"parameterOrder": [],
"httpMethod": "POST",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CreateShortLinksRequest"
},
"path": "v1/userdata:createshortlinks",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CreateShortLinksResponse"
},
"description": "Create FDL short links"
},
"getselfuserinvitelink": {
"httpMethod": "POST",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetSelfUserInviteLinkResponse"
},
"flatPath": "v1/userdata:getselfuserinvitelink",
"path": "v1/userdata:getselfuserinvitelink",
"parameterOrder": [],
"description": "Create a general invite link or get the existing one.",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetSelfUserInviteLinkRequest"
},
"parameters": {},
"id": "instantmessaging_pa.userdata.getselfuserinvitelink"
},
"lookupuserinviterid": {
"path": "v1/userdata:lookupuserinviterid",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LookupUserInviterIdResponse"
},
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LookupUserInviterIdRequest"
},
"id": "instantmessaging_pa.userdata.lookupuserinviterid",
"flatPath": "v1/userdata:lookupuserinviterid",
"httpMethod": "POST",
"description": "Lookup registrations by an inviter id. Only registration ids are returned instead of the actual inviter user id. Deprecates GetUserInviteLinkDetails.",
"parameterOrder": [],
"parameters": {}
},
"getonlinestatus": {
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetOnlineStatusRequest"
},
"id": "instantmessaging_pa.userdata.getonlinestatus",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetOnlineStatusResponse"
},
"description": "GetOnlineStatus gets the online status of the user. Currently, it is used to get the RCS availability of the user.",
"httpMethod": "POST",
"parameters": {},
"path": "v1/userdata:getonlinestatus",
"flatPath": "v1/userdata:getonlinestatus",
"parameterOrder": []
},
"lookupcontactlite": {
"path": "v1/userdata:lookupcontactlite",
"parameters": {},
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LookupContactLiteRequest"
},
"parameterOrder": [],
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LookupContactLiteResponse"
},
"flatPath": "v1/userdata:lookupcontactlite",
"id": "instantmessaging_pa.userdata.lookupcontactlite",
"description": "LookupContactLite looks up the contact(s) from all sources and returns all the contact info grouped by source. Also, this doesnt include the registration info.",
"httpMethod": "POST"
},
"updateaccountsetting": {
"path": "v1/userdata:updateaccountsetting",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UpdateAccountSettingRequest"
},
"parameterOrder": [],
"id": "instantmessaging_pa.userdata.updateaccountsetting",
"parameters": {},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UpdateAccountSettingResponse"
},
"flatPath": "v1/userdata:updateaccountsetting",
"httpMethod": "POST",
"description": "UpdateAccountSetting updates the setting under the account. Partial update is allowed with fields unset, and full snapshot of setting will be returned in the response."
},
"resetselfuserinvitelink": {
"parameters": {},
"parameterOrder": [],
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResetSelfUserInviteLinkResponse"
},
"description": "Create a new general invite link, replace existing one.",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResetSelfUserInviteLinkRequest"
},
"id": "instantmessaging_pa.userdata.resetselfuserinvitelink",
"httpMethod": "POST",
"path": "v1/userdata:resetselfuserinvitelink",
"flatPath": "v1/userdata:resetselfuserinvitelink"
},
"getcontacts": {
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetContactsResponse"
},
"path": "v1/userdata:getcontacts",
"description": "Get the user's contacts connected to the account. For further updates after this download, the server will send {Add/Remove/Set}ContactsPush notifications. Note: This API will return a PERMISSION_DENIED if the registration doesnt belong to the authenticated user.",
"parameterOrder": [],
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetContactsRequest"
},
"flatPath": "v1/userdata:getcontacts",
"httpMethod": "POST",
"id": "instantmessaging_pa.userdata.getcontacts",
"parameters": {}
},
"getuserinviterid": {
"httpMethod": "POST",
"parameterOrder": [],
"id": "instantmessaging_pa.userdata.getuserinviterid",
"flatPath": "v1/userdata:getuserinviterid",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetUserInviterIdRequest"
},
"path": "v1/userdata:getuserinviterid",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetUserInviterIdResponse"
},
"parameters": {},
"description": "Get an inviter id for the user. The id is for the account, not for individual reachability id. Deprecates GetSelfUserInviteLink."
},
"addcontacts": {
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddContactsResponse"
},
"description": "Add contacts for the currently authorized user. If the PN/Email for a contact doesn't exist it is added automatically. If the PN/Email already exists the name will be updated. The response will always contain the subset of users sent up that are registered. Note: Only 50 contacts may be added in a single request. If not, server will return TOO_MANY_CONTACT_ACTIONS_IN_REQUEST error. AddContacts flow: Client Tachyon backend Other clients |-- AddContactsRequest --\u003e| | |\u003c- AddContactsResponse --|---- AddContactsPush ----\u003e|",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddContactsRequest"
},
"id": "instantmessaging_pa.userdata.addcontacts",
"flatPath": "v1/userdata:addcontacts",
"parameters": {},
"httpMethod": "POST",
"path": "v1/userdata:addcontacts",
"parameterOrder": []
},
"setprofile": {
"description": "Set profile for the currently authorized user replacing the current profile.",
"httpMethod": "POST",
"parameters": {},
"flatPath": "v1/userdata:setprofile",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetProfileRequest"
},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetProfileResponse"
},
"path": "v1/userdata:setprofile",
"id": "instantmessaging_pa.userdata.setprofile",
"parameterOrder": []
},
"getprofile": {
"description": "Get profile for specified users.",
"parameterOrder": [],
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetProfileRequest"
},
"flatPath": "v1/userdata:getprofile",
"path": "v1/userdata:getprofile",
"id": "instantmessaging_pa.userdata.getprofile",
"httpMethod": "POST",
"parameters": {},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetProfileResponse"
}
},
"lookupcontacts": {
"description": "LookupContact looks up the contact from any specific contact source This call should be used to resolve contact updates pushes (Add/Set/Remove) received on the client that are out of order. Clients may request no more than 50 Ids in a single request. If not, server will return TOO_MANY_CONTACT_ACTIONS_IN_REQUEST error.",
"id": "instantmessaging_pa.userdata.lookupcontacts",
"parameters": {},
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LookupContactsRequest"
},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LookupContactsResponse"
},
"parameterOrder": [],
"httpMethod": "POST",
"path": "v1/userdata:lookupcontacts",
"flatPath": "v1/userdata:lookupcontacts"
},
"setdevicemute": {
"httpMethod": "POST",
"parameterOrder": [],
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetDeviceMuteResponse"
},
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetDeviceMuteRequest"
},
"description": "Set mute state for the sender device replacing the current mute state.",
"parameters": {},
"flatPath": "v1/userdata:setdevicemute",
"id": "instantmessaging_pa.userdata.setdevicemute",
"path": "v1/userdata:setdevicemute"
},
"applystatemutations": {
"description": "ApplyStateMutations applies the mutations to the state of the account. The server doesn't guarantee that the mutations will be applied in the same order as the request. If order is important, consider splitting into multiple requests and chain the RPCs. The client must not send more than 50 mutations in a request. The server will send TOO_MANY_MUTATIONS_IN_REQUEST error if it does. ApplyStateMutations flow: Client Tachyon backend Other clients |-- ApplyStateMutationsRequest --\u003e| | |\u003c- ApplyStateMutationsResponse --|---- StateUpdatedPush ----\u003e|",
"id": "instantmessaging_pa.userdata.applystatemutations",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ApplyStateMutationsResponse"
},
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ApplyStateMutationsRequest"
},
"parameterOrder": [],
"parameters": {},
"flatPath": "v1/userdata:applystatemutations",
"path": "v1/userdata:applystatemutations",
"httpMethod": "POST"
},
"sendnotification": {
"httpMethod": "POST",
"path": "v1/userdata:sendnotification",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SendNotificationRequest"
},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SendNotificationResponse"
},
"parameterOrder": [],
"flatPath": "v1/userdata:sendnotification",
"id": "instantmessaging_pa.userdata.sendnotification",
"description": "SendNotification sends notifications to contacts. Currently, it is used to trigger the sending of mutual Contact Joined Notification (i.e., both the sender and receiver are in the contact list of each other.)",
"parameters": {}
},
"getstates": {
"parameters": {},
"parameterOrder": [],
"path": "v1/userdata:getstates",
"flatPath": "v1/userdata:getstates",
"id": "instantmessaging_pa.userdata.getstates",
"description": "GetStates returns the latest states of the Account like most recently used contacts, etc..",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetStatesResponse"
},
"httpMethod": "POST",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetStatesRequest"
}
},
"removecontacts": {
"flatPath": "v1/userdata:removecontacts",
"parameters": {},
"id": "instantmessaging_pa.userdata.removecontacts",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RemoveContactsRequest"
},
"description": "Remove a set of contacts based on PN/Email for the currently authorized user. Will succeed regardless of whether contacts exist already. Only 50 contacts may be removed in a single request. If not, server will return TOO_MANY_CONTACT_ACTIONS_IN_REQUEST error. RemoveContacts flow: Client Tachyon backend Other clients |-- RemoveContactsRequest --\u003e| | |\u003c- RemoveContactsResponse --|---- RemoveContactsPush ----\u003e|",
"parameterOrder": [],
"httpMethod": "POST",
"path": "v1/userdata:removecontacts",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RemoveContactsResponse"
}
},
"informinviter": {
"path": "v1/userdata:informinviter",
"flatPath": "v1/userdata:informinviter",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1InformInviterRequest"
},
"description": "Send messages to the inviter and get registration list about the inviter. Tachyon server will send UserDataMessage:InviteeMessage to the inviter.",
"parameterOrder": [],
"httpMethod": "POST",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1InformInviterResponse"
},
"id": "instantmessaging_pa.userdata.informinviter",
"parameters": {}
},
"getdevicemute": {
"path": "v1/userdata:getdevicemute",
"parameters": {},
"parameterOrder": [],
"description": "Get mute state for the requesting device",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetDeviceMuteRequest"
},
"id": "instantmessaging_pa.userdata.getdevicemute",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetDeviceMuteResponse"
},
"flatPath": "v1/userdata:getdevicemute",
"httpMethod": "POST"
},
"getuserinvitelinkdetails": {
"id": "instantmessaging_pa.userdata.getuserinvitelinkdetails",
"flatPath": "v1/userdata:getuserinvitelinkdetails",
"parameters": {},
"path": "v1/userdata:getuserinvitelinkdetails",
"description": "Get the user profile with the invite link.",
"httpMethod": "POST",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetUserInviteLinkDetailsResponse"
},
"parameterOrder": [],
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetUserInviteLinkDetailsRequest"
}
}
}
},
"duo": {
"methods": {
"applystatemutations": {
"parameterOrder": [],
"flatPath": "v1/duo:applystatemutations",
"parameters": {},
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ApplyStateMutationsRequest"
},
"path": "v1/duo:applystatemutations",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ApplyStateMutationsResponse"
},
"id": "instantmessaging_pa.duo.applystatemutations",
"description": "ApplyStateMutations applies the mutations to the state of the account. The server doesn't guarantee that the mutations will be applied in the same order as the request. If order is important, consider splitting into multiple requests and chain the RPCs. The client must not send more than 50 mutations in a request. The server will send TOO_MANY_MUTATIONS_IN_REQUEST error if it does. ApplyStateMutations flow: Client Tachyon backend Other clients |-- ApplyStateMutationsRequest --\u003e| | |\u003c- ApplyStateMutationsResponse --|---- StateUpdatedPush ----\u003e| Currently, this is only used for Duo to sync MRU state. For new state, new enum needs to be added. See AccountState in media/webrtc/server/tachyon/proto/tachyon_enums.proto.",
"httpMethod": "POST"
},
"registerguestvialink": {
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterGuestViaLinkRequest"
},
"parameters": {},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterGuestViaLinkResponse"
},
"path": "v1/duo:registerguestvialink",
"flatPath": "v1/duo:registerguestvialink",
"parameterOrder": [],
"description": "RegisterGuestViaLink allows a user to register to Tachyon using a group invite link. The user does not need to be authenticated in any way, and will receive a temporary, randomly generated id. The API will also return a group-scoped authentication token together with the group information. Following a successful response from this API, the guest can choose to join the group. The client cannot refresh the authentication token returned by this API, which will be valid for 24 hours. If the invite link is invalid an InvalidArg error will be returned. If the group is not found then a NotFound error will be returned.",
"id": "instantmessaging_pa.duo.registerguestvialink",
"httpMethod": "POST"
},
"signInDuo": {
"description": "Sign in or create a new Duo account. The client needs to pass EUC with API scope: TACHYON. The API uses GAIA credential for registration and potentially add a Constellation verified phone number. If the device is already a PN user, calling SignInDuo will create another account for the device.",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SignInDuoRequest"
},
"path": "v1/duo:SignInDuo",
"parameterOrder": [],
"flatPath": "v1/duo:SignInDuo",
"id": "instantmessaging_pa.duo.signInDuo",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SignInDuoResponse"
},
"parameters": {},
"httpMethod": "POST"
}
}
},
"rcsusage": {
"methods": {
"reportfiData": {
"description": "Report client side RCS Fi data usage",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RcsUsageResponse"
},
"path": "v1/rcsusage:reportfiData",
"parameters": {},
"parameterOrder": [],
"httpMethod": "POST",
"id": "instantmessaging_pa.rcsusage.reportfiData",
"flatPath": "v1/rcsusage:reportfiData",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RcsUsageRequest"
}
}
}
},
"smartmessaging": {
"methods": {
"getGifSuggestions": {
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGifSuggestionsRequest"
},
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGifSuggestionsResponse"
},
"path": "v1/smartmessaging:getGifSuggestions",
"description": "Get gif suggestions from ContentWizardGifServer for ContentWizard, based on a snippet of text. Design doc: go/fireball-gif-search.",
"id": "instantmessaging_pa.smartmessaging.getGifSuggestions",
"httpMethod": "POST",
"flatPath": "v1/smartmessaging:getGifSuggestions",
"parameters": {},
"parameterOrder": []
},
"getcontentdecoration": {
"id": "instantmessaging_pa.smartmessaging.getcontentdecoration",
"description": "Get message content decorations (such as link previews) from ChatContentDecoratorServer.",
"flatPath": "v1/smartmessaging:getcontentdecoration",
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetDecorationResponse"
},
"httpMethod": "POST",
"parameterOrder": [],
"parameters": {},
"path": "v1/smartmessaging:getcontentdecoration",
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetDecorationRequest"
}
},
"getsuggestions": {
"request": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetSuggestionsRequest"
},
"parameters": {},
"flatPath": "v1/smartmessaging:getsuggestions",
"httpMethod": "POST",
"parameterOrder": [],
"response": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetSuggestionsResponse"
},
"path": "v1/smartmessaging:getsuggestions",
"description": "Get smart reply suggestions. Called by mobile client.",
"id": "instantmessaging_pa.smartmessaging.getsuggestions"
}
}
}
},
"documentationLink": "https://goto.google.com/tachyon-backend",
"icons": {
"x16": "http://www.google.com/images/icons/product/search-16.gif",
"x32": "http://www.google.com/images/icons/product/search-32.gif"
},
"protocol": "rest",
"id": "instantmessaging_pa:v1",
"schemas": {
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiContactStateInfo": {
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiContactStateInfo",
"description": "Contact state and related metadata. See go/fbs-contacts-trash. This message is a pure wrapper of the shared ContactState message so that it can be a top-level person field. No other fields should be added to the message.",
"properties": {
"contactState": {
"$ref": "InstantmessagingPaSocialGraphApiProtoContactState"
},
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpoint": {
"properties": {
"day": {
"description": "A day of the week, as an integer in the range 0-6. 0 is Sunday, 1 is Monday, etc.",
"format": "uint32",
"type": "integer"
},
"time": {
"type": "string",
"description": "A time in 24-hour \"hhmm\" format (i.e. range is 0000 to 2359)."
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpoint",
"type": "object"
},
"InstantmessagingPaSocialGraphApiProtoPronounData": {
"properties": {
"pronounEntry": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaSocialGraphApiProtoPronounEntry"
}
}
},
"id": "InstantmessagingPaSocialGraphApiProtoPronounData",
"description": "Design doc: go/pronouns-backend Represents a user's preferred pronouns.",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DuoSendDuoGroupMessageResponse": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DuoSendDuoGroupMessageResponse",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
},
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiChannelData": {
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiChannelData",
"properties": {
"description": {
"type": "string",
"description": "Description of the channel."
},
"subscriberCount": {
"format": "int64",
"type": "string",
"description": "Number of subscribers for a given Youtube channel."
},
"usesYoutubeNames": {
"description": "Whether or not the channel's profile has a title/avatar that is canonical in YouTube. Used to determine if the product profile card should be part of the core persona or have their own persona.",
"type": "boolean"
},
"commentCount": {
"format": "int64",
"description": "Number of comments for a given Youtube channel.",
"type": "string"
},
"videoCount": {
"description": "Number of videos uploaded in a given Youtube channel.",
"format": "int64",
"type": "string"
},
"profileUrl": {
"type": "string",
"description": "URL of user's Youtube channel profile."
},
"playlistCount": {
"type": "string",
"format": "int64"
},
"profilePictureUrl": {
"description": "A FIFE URL pointing to the channel's profile image (go/avatar-fife-urls) with default fife url options. Also refer to go/people-api-concepts:photos for People API's FIFE best practices. The image could be up to a couple of days stale, though it is much fresher in practice. If a fresh image is required, contact the YouTubeAccountProfileService. The URL itself expires ~30 days after generation.",
"type": "string"
},
"channelId": {
"type": "string",
"description": "Unique ID that corresponds to a Youtube channel."
},
"title": {
"type": "string",
"description": "Title of the YouTube channel"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupCallStreamsResponse": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupCallStreamsResponse",
"properties": {
"clientReceiveStream": {
"description": "Streams the client receives from the server",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ClientReceiveStream"
},
"type": "array"
},
"syncMetadata": {
"description": "This message contains version number/synchronization information for the remote streams from MediaRouter. This is needed since the remote streams (ClientReceiveStream list) can also be sent using StreamsPush. Using the sync_metadata a client can handle races between GetRemoteStreamsResponse and StreamsPush in MediaState data channel pushes. This is independent of session_sync_metadata.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SyncMetadata"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"sessionSyncMetadata": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SyncMetadata",
"description": "This message contains version number/synchronization information for the media session from MediaController. This is needed since the negotiated codecs (SupportedCodec list) can also be sent using CodecsPush. Using the session_sync_metadata a client can handle races between GetRemoteStreamsResponse and CodecsPush in MediaState data channel pushes. This is independent of sync_metadata."
},
"supportedCodecs": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SupportedCodec"
},
"description": "The codecs the client can send with, as decided by the server, in order of preference. Clients can choose codec(s) to send with based on their local conditions, such as battery life, temperature, HW acceleration, etc.",
"type": "array"
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BlockUsersRequest": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BlockUsersRequest",
"type": "object",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"userIds": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"type": "array"
}
}
},
"InstantmessagingPaSocialGraphApiProtoThirdPartyInfo": {
"id": "InstantmessagingPaSocialGraphApiProtoThirdPartyInfo",
"properties": {
"clientName": {
"type": "string",
"description": "Not to be used. We have since moved to a lookup string at read time approach as opposed to storing data at write time. b/146072927"
},
"projectNumber": {
"format": "int64",
"type": "string",
"description": "Project number of the third party application performing the delete to be looked up via ClientAuthConfig during display time for users to know the current name of an application which has deleted contact data."
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PlaceData": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PlaceData",
"type": "object",
"properties": {
"coordinates": {
"description": "Latitude and longitude.",
"$ref": "InstantmessagingPaGoogleTypeLatLng"
},
"id": {
"description": "Place ID.",
"type": "string"
},
"types": {
"type": "array",
"description": "Place types.",
"items": {
"type": "integer",
"format": "int32"
}
},
"rating": {
"description": "Star rating from 1.0 to 5.0.",
"type": "number",
"format": "float"
},
"name": {
"type": "string",
"description": "Display name. It's either place name street address."
}
},
"description": "Data received from the Places API. See https://developers.google.com/android/reference/com/google/android/gms/location/places/Place."
},
"InstantmessagingPaAppsDynamiteSharedOrganizationInfo": {
"type": "object",
"properties": {
"customerInfo": {
"$ref": "InstantmessagingPaAppsDynamiteSharedOrganizationInfoCustomerInfo"
},
"consumerInfo": {
"$ref": "InstantmessagingPaAppsDynamiteSharedOrganizationInfoConsumerInfo"
}
},
"id": "InstantmessagingPaAppsDynamiteSharedOrganizationInfo",
"description": "Contains info about the entity that something is, or is owned by."
},
"InstantmessagingPaPeoplestackFlexorgsProtoInternalExternal": {
"id": "InstantmessagingPaPeoplestackFlexorgsProtoInternalExternal",
"type": "object",
"properties": {
"stateStatus": {
"description": "* There can be multiple states based on the context: 1. AUTOCOMPLETE + Gmail - context 1 2. AUTOCOMPLETE + Chat/Dynamite - context 2 3. \"SOME OTHER ACTION\" + Gmail - context 3 A client should identify whether a patrticular context is present in the list and only if one is found - use the state that goes alogn with the context, otherwise the client should default to whatever is the safe assumption about \"internality/externality\" the application should be making (likely, consider everything not explicitly \"internal\" as \"external\").",
"type": "array",
"items": {
"$ref": "InstantmessagingPaPeoplestackFlexorgsProtoInternalExternalStateStatus"
}
},
"application": {
"type": "string",
"enumDescriptions": [
"Cannot just use UNKNOWN because enum values use C++ scoping rules. Therefore, \"UNKNOWN\" must be unique within \"apps.people.logs.proto\".",
"G+ application Generic app that represents all G+ applications that don't have specific app below. Because of this, this value does NOT represent all G+ applications in analytics data: Clients interested in analytics data for all G+ applications (for example, both GPLUS and GPLUS_WEB), should generally use the synthetic values defined later in this enum, like TOTAL_GPLUS. Replacement for \"s:oz\".",
"G+ web application (codename Tau: go/tauplus) App that represents all G+ traffic coming from boq web. This is meant to replace the application id GPLUS for web traffic when Oz is completely deprectaed.",
"Feature provider for go/ares",
"Photos app within G+ such as lighthouse. Replacement for \"s:lh2\".",
"Hangout app within G+ Replacement for \"s:talk\" that is used for hangout requests.",
"Events app within G+. Replacement for \"s:events\".",
"Squares(community) app within G+. Replacement for \"s:squares\".",
"Notifications app within G+. Replacement for \"s:notifications\".",
"Games activities. Replacement for \"s:gadgets:*\" (source_id).",
"Explore app within G+.",
"Local app within G+.",
"+Pages app within G+.",
"RSS to +Page syndicator.",
"Profile app within G+.",
"Find People app within G+.",
"Edit photos within Photos within G+, see also http://go/snapseed",
"G+ consumption stream integration with Chromecast. see also http://go/+socialcast",
"G+ For Work Interaction Event Sync. go/kerr-prd and go/gplus_interaction_event_sync.",
"G+ Entity Transfer. See go/gplus-entity-transfer-design.",
"G+ LIS. See b/77638423.",
"G+ Drawbridge. See go/drawbridge-dd.",
"Currents (G+ for Enterprise) App An alternative to GPLUS that indicates this is in a build for Currents.",
"Domain Wide Takeout (go/dwt-d3doc) for Currents/G+. See go/g+-takeout-filters. Note that GPLUS_DASHER_TAKEOUT is G+ and Currents agnostic, even though GPLUS_DASHER refers to Currents only.",
"Paisa Merchant Console http://go/paisa Team contact: paisa-merchant-eng-blr@google.com",
"GEO_DATA_UPLOADS is an internal-use-only staging corpus for geo_data_upload (above). See go/gdu-design-1.2",
"GEO_DATA_UPLOADS consists of discussions between 3rd parties and Google about uploaded data. See go/gdu-design-1.2",
"Google Play services, used when doing background tasks like log posting and background sync that aren't initiated by any external app.",
"Google Settings app.",
"Third party clients who use apiary to work with G+. Replacement for \"s:chili\".",
"External First party. Picasa photos app.",
"The G+ widget served off Oz and rendered in gmail for hangout integration. Replacement for \"s:oz:gadget-gmail\".",
"The G+ widget served off Oz and rendered in any page EXCEPT Youtube. Replacement for \"s:fountain\".",
"The comment widget served off youtube video page. Replacement for \"s:fountain:youtube\".",
"Legacy youtube video watch page comments. See go/stollen for details.",
"The G+ widget served off Oz and rendered in youtube channel discuss page. It's the \"DISTILLER\" project. Replacement for \"s:fountain:youtube:channel\".",
"YouTube private messages built on top of distiller comments. Replacement for \"s:fountain:youtube:private\".",
"Public posts generated automatically if a YT user who has been merged with their G+ account uploads a public video. Replacement for request_header.application_id=\"s:oz\" and mutate_data.activity.stream_id.source_id= \"a:ext:client.sharebox.261207059221.",
"Used for comment writes sent to the legacy YouTube GData API by clients that have not switched to the G+ commenting API.",
"Used for the Youtube channel ownership pipeline. Replacement for \"s:youtube:distiller\". go/youtube-chown-pipeline",
"Used for youtube's comment history page.",
"Used for youtube comments admin pages.",
"Used for comment expiry. go/ytc-studio-held-comment-expiry",
"Onemarket Calendar Team contact: omc-team@google.com",
"Focus Frontend which is serving G+ profile. Replacement for \"s:focus\".",
"URL sharebox served off Oz on /share and rendered in 1P/3P, on both desktop & mobile. For mobile sharebox, this app id is set in //java/com/google/apps/people/oz/sharebox/client/mobile/shell.js",
"Google Reader. Replacement for \"s:reader\".",
"Google Email. Replacement for \"s:google_mail\".",
"Plusone Application. Replace for \"s:plusshare\".",
"Connection with G+ through YouTube. e.g. YT mobile native apps.",
"Checkin within G+. Replacement for \"s:friendview:checkin\" (source_id).",
"Oz Frames. Replacement for \"s:frames\".",
"Pulsar native app.",
"Mobile basic traffic for clients hitting \"plus.google.com/app/basic\".",
"The Google Glass Mirror API: https://developers.google.com/glass/. Replacement for \"s:glass\".",
"Play Games related clients. (e.g. Games destination app.)",
"Embeddable widgets, part of Stream Everywhere project. http://go/streameverywheredesign",
"Google Play Store.",
"Interactive email notifications in Gmail.",
"Right hand side widget in Gmail.",
"Third party \"sidecar\" widgets. http://go/embeddedstreamsdesign DEPRECATED, DO NOT USE.",
"Google Quick Search Box. https://sites.google.com/a/google.com/android-qsb.",
"Google Wallet (Android and iOS clients).",
"Sharebox that is populated via URL params, suitable for use in a popup. This sharebox is accessible to 3p, although in practice it is mostly used by 1p. https://sites.google.com/a/google.com/es-sharing/",
"YouTube Capture (iOS client). http://go/kubrik",
"Posts generated from the share window launched by share menu on the YouTube watch page. yt-social-dev@",
"Youtube Real-time group chat, also known as 'Reactr'. http://go/reactr Team contact: reactr-dev@google.com.",
"YouTube Go - android app for the next billion users. http://go/ytgo Team contact: mango-eng@google.com",
"YouTube Reactr Takeout. See b/69636706 http://go/reactr Team contact: reactr-dev@google.com.",
"Youtube Comments go/ytcci Team contact: yt-comments-team@google.com",
"Youtube Comments: Timed Comments go/ytcci Team contact: yt-comments-team@google.com",
"Youtube Comments: Engagements go/ytcci Team contact: yt-comments-team@google.com",
"Youtube Comments: Comments legal takeout go/ytcci Team contact: yt-comments-team@google.com",
"Youtube Comments: Top comments indexing go/ytcci Team contact: yt-comments-team@google.com",
"Google Keep. https://sites.google.com/a/google.com/keep/",
"Vega / Google+ for Business (Android and iOS clients). http://go/vega",
"Reviews (Local and others) sr-eng@",
"Google Play Movies & TV, Android app. Team contact: videosapp-android@google.com.",
"Gmail",
"Hub as Gmail Go",
"Google Helpouts http://go/tee-team",
"Google Maps Mobile: http://go/gmm Desktop: http://go/tactile",
"Google Maps Engine Mobile http://go/gmemobile",
"Calendar Android: https://sites.google.com/a/google.com/android-calendar/ Desktop: https://sites.google.com/a/google.com/timely/",
"Google Play Newsstand http://go/dots Team contact: gnews-infra@google.com.",
"Google Fitness http://go/heart Team contact: android-fitness-eng@google.com.",
"Google Health http://go/wear-health Team contact: wear-health@google.com.",
"Google Wear Health Provisioning http://go/wear-health Team contact: wear-health@google.com.",
"Google Play Books (Android and iOS clients) http://go/android-books http://go/ios-books",
"Google Instore http://go/instore-wallet",
"Google Play Music (Android and iOS clients) http://go/android-music Team contact: music-app-eng@google.com",
"Google Chrome iOS: http://go/blingy (bling-team@google.com)",
"Location Flare http://go/location-flare",
"Google News Weather Android App http://go/android-core-utilities Team contact: android-news-eng@google.com.",
"Promoted Posts http://go/promotedposts",
"Cloud Print http://go/cloudprinting Team contact: cloudprint-team@google.com",
"Cloud Devices http://go/cloud-devices Team contact: cloud-devices-team@google.com",
"CPanel (Google Admin) for Enterprise http://go/cpanel-mobile Team contact: cpanel-mobile-eng@google.com",
"Google Drive http://go/docs-site Android part: http://go/cakemix Team contact: cakemix-eng@google.com",
"Classroom http://go/homeroom Team contact: homeroom-eng@google.com",
"Google+ Stories aka Boswell go/bozdd Team contact: boswell-eng@google.com",
"Google Analytics Android Client http://go/giant-site Team contact: ga-mobile-app-eng@",
"Sample app for Location team Team contact: location-lon@google.com",
"BigTop Android https://wiki.corp.google.com/twiki/bin/view/Main/BigtopAndroid",
"Google Cast Android Client http://go/dongle Team contact: eureka-setup-team@",
"Authzen http://go/authzen Team contact: authzen-team@google.com",
"Google Parental Supervision Android Client http://go/parentapp DEPRECATED, DO NOT USE.",
"Google Search",
"Google News",
"Google Docs NOTE: Docs is a separate app from DRIVE.",
"Google Photos standalone experience (not included with the G+ app). http://go/photos Team contact: photos-backend@google.com",
"Google Photos Takeout export http://go/photos Team contact: photos-backend@google.com",
"Simba android client http://sites/simba",
"Google Jobs android client http://go/garage-wiki Team contact: garage-android@google.com",
"Google Cloud Platform Android and iOS apps http://go/vespa Team contact: vespa-eng@google.com",
"Google Cloud Platform Android web app http://go/pantheon Team contact: pantheon-client@google.com",
"Shares integrated into Firefox browser. Contact: carnold@mozilla.com, sharekit-eng@google.com",
"MovieMaker component of G+. http://go/aamovie Contact: photos-movies@google.com",
"MovieMaker component of Photos. http://go/aamoive Contact: photos-movies@google.com",
"Google Stars Android Client (go/stars) Team contact: collecting-eng@google.com",
"Edit photos, consumer app. see http://go/snapseed Team contact: snapseed-eng@google.com",
"Blogger for Android http://go/bloggerandroid Team contact: blogger-tech@google.com",
"Google Apps Device Policy for Enterprise http://go/mdm Team contact: mdm-eng@google.com",
"Doubleclick Creative Preview app http://go/audition Team contact: mob-h5-eng@google.com",
"Unicorn kids app http://go/unicorn-infra Team contact: unicorn-infra-eng@google.com DEPRECATED, DO NOT USE.",
"AdWords mobile app for Android http://go/awm Team contact: awm-eng@google.com",
"Unicorn Family Compass http://go/family-compass Team contact: family-compass-eng@google.com DEPRECATED, DO NOT USE.",
"Android grant credential Team contact: android-auth-eng@google.com",
"Hallway mobile app for Android and iOS http://go/hallway-prd Team contact: adventurelabs-eng@google.com",
"Unicorn Family Camera http://go/family-camera Team contact: unicorn-famcam-eng@google.com DEPRECATED, DO NOT USE.",
"Ender http://go/ender Team contact: ender-eng@google.com",
"Google Maps Views (Mostly deprecated, but lives as SVApp server) http://go/streetview-apps Team contact: streetview-apps@google.com",
"Tablescape app (internally codenamed FoodEyes) http://go/tablescape Team contact: foodeyes-team@google.com",
"Enterprise Topaz http://go/topaz Team contact: topaz-team@google.com",
"gFiber app http://go/fiberapp Team contact: gfiber-mobile-android@google.com",
"Atari app (The next Google Sites) http://go/atari http://go/atari-mobile Team contact: atari-mobile@google.com",
"Ridematch app http://go/ridematch Team contact: ridematch-team@google.com",
"Google GMoney (Android and iOS clients).",
"Google Express app (Android) http://go/sameday Team contact: gsx-mobilemall@google.com",
"Consumer photo editor http://go/photo-editing Team contact: photos-editing@google.com",
"Jetstream consumer app http://go/jetstream-team and http://go/jetstream Team contact: jetstream-team@google.com",
"Social Serendipity (Social content in Google Now) http://go/serendipity Team contact: serendipity-team@google.com",
"One Today by Google http://go/onetoday Team contact: onetoday-eng@google.com",
"Google Profiles - SmartProfiles for viewing, Me View for editing. http://sites/profiles Team contact: people-frontend-team@google.com",
"Social Polls - surfaced in G+ site/app http://go/es-polls Team contact: es-polls@google.com",
"Spaces App http://go/spaces Team contact: spaces-eng@google.com",
"AdWords Express App http://go/awxv2 Team contact: boost-eng@google.com",
"iOS Identity Library http://go/ios-id Team contact: ios-id-library-team@google.com",
"Identity Frontend. http://go/idfe Team contact: id-fe-infra@google.com.",
"Youtube Backstage. http://go/backstage Team contact: yt-posts-team@google.com.",
"Youtube Backstage Admin Service. http://go/backstage-admin-service Team contact: yt-posts-team@google.com.",
"YouTube Unplugged http://go/unplugged-eng Team contact: yt-unplugged-eng@google.com",
"Youtube Music http://go/music Team contact: woodstock-ios-eng@google.com",
"Android Enterprise Hub App http://go/afwhub Team contact: afwhub@google.com",
"Android Education Device Initializer App. http://go/android-edu-platform Team contact: android-edu-platform-eng@google.com",
"Android Wear app. http://go/clockwork Contact: ewol@, flerda@, clockwork-eng@",
"Chromecast app. http://go/cast-apps Team contact: cast-apps-eng@google.com",
"OnTheGo app. http://go/onthego Team contact: otg-eng@google.com",
"Google AdSense app. Team contact: publisher-android-app@google.com",
"Project Fi app. http://go/nova-eng Team contact: tycho-atlas@google.com",
"Karma team's Jam app. http://go/jam Team contact: karma-eng@google.com",
"Huddle app. http://go/huddle Team contact: huddle-eng@google.com",
"Chauffeur Car app. http://go/chauffeur Team contact: chauffeur-ux-eng@google.com",
"Tailormade app. http://go/tailormade Team contact: tailormade-eng@google.com",
"Activity Log - surfaced in G+ site/app. Currently for G+ only but may expand to support other apps. http://go/activitylog-design Team contact: sps-activitylog@google.com",
"Activity Log in the Spaces product. http://go/activity-log-spaces-dd Team contact: spaces-team@google.com",
"Activity Log in the Google Photos product. http://go/envelope-comments-design-doc Team contact: photos-backend@google.com",
"Memegen! https://memegen.googleplex.com Team contact: memgegen-team@google.com",
"Society App http://go/society Team contact: society-team@google.com",
"Society chat application. http://go/society Team contact: society-team@google.com",
"Search Highlight http://go/seng-highlight Team contact: search-engagement-team@google.com",
"YouTube Live Chat. http://go/livechat-redesign Team contact: yt-live-chat@google.com",
"YouTube Live Activity log. http://go/live-chat-history-design Team contact: yt-live-chat@google.com",
"YouTube Live Takeout. http://go/livechat-takeout Team contact: yt-live-chat@google.com",
"Cardboard camera app http://go/cyclops Team contact: tp-cyclops@google.com",
"Google Play Developer Console http://go/foxcub Team contact: play-apps-devex@google.com",
"Google+ Mixx UI. http://go/mixx Team contact: jeffschiller@google.com",
"Chrome Remote Desktop app http://go/chromoting Team contact: chromoting-team@google.com",
"Hot Lane, Enterprise Meetings App http://go/hotlane Team contact: hangout-enterprise-eng@google.com",
"Web Contacts UI. http://go/web-contacts Team contact: contactsplus-eng@google.com",
"Contactsheet (Web, Android, iOS). http://go/peopleweb-docs Team contact: smartprofile-eng@google.com, contactsheet@google.com",
"Hovercard (Web). http://go/peopleweb-docs Team contact: contactsplus-eng@google.com",
"Dory is a tool for crowdsourcing and ranking user-submitted questions, suggestions, and ideas.",
"Spectrum app. http://go/spectrum-site Team contact: speedtest-eng@google.com",
"Dynamite App http://go/dynamite Team contact: dynamite-eng@google.com",
"Enterprise end user UI http://go/novitas Team contact: novitas-eng@google.com",
"Google Arts & Culture app. http://go/ci-mobile Team contact: ci-mobile-eng@google.com",
"Boond app http://go/village-mobile Team contact: village@google.com",
"Expeditions app http://go/vr-expeditions Team contact: vr-expeditions@google.com",
"Photo Album Archive app http://go/albumarchive Team contact: social-parc-eng@google.com",
"GammaGo app http://go/gammago Team contact: gammax-mobile-eng@google.com",
"Fireball message app. contact: fireball-android@google.com",
"Supply Chain Central http://go/scc-site Team contact: scc-infra@google.com",
"Paisa app http://go/paisa Team contact: paisa-eng@google.com",
"SandClock app http://go/sandclock Team contact: sandclock-eng@google.com",
"Account Settings Mobile http://go/asm Team contact: myaccount-mobile-eng@google.com",
"The telephony application! Contact voice-team@ or voice-fe@",
"Wing Marketplace http://go/xwma Team contact: wing-software-function@google.com",
"Chime http://go/chime Team contact: chime-team@google.com",
"Verily Lifescience Frontends http://go/csp-eng Team contact: csp-eng@google.com",
"Where You Left Off (WYLO) Today extension for iOS http://go/wylo-dd Team contact: tempeh@google.com",
"Naksha Consumer Android App (Areo) http://go/naksha-android Team contact: naksha-dev@google.com",
"Enterprise enrollment app for Chromebooks http://go/eeapp Team contact: bootstrap-dev@google.com",
"Improv (Material Gallery) mobile app. http://go/material-gallery Team contact: gallery-eng@google.com",
"Google Translate http://go/translate-eng Team contact: translate-team@google.com",
"Social G+ Engage http://go/social-engage Team contact:social-engage-eng@google.com",
"CorpCam http://go/corpcam Team contact: plus-ios-team@google.com",
"Android Contacts http://go/android-contacts Team contact: android-contacts-eng@google.com",
"Curator app. http://go/curator Team contact: curator-eng@google.com",
"Travel Booking. http://go/travel-booking Team contact: travel-booking-eng@google.com",
"People ranking and discovery. http://go/das Team contact: es-disco-eng@google.com",
"GPost (Pony Express) http://go/gpost Team contact: gpost-eng@google.com docs: http://go/gpost-android-analytics",
"Paidtasks (Google Opinion Rewards, Google Surveys) http://go/402 Team contact: 402-eng@google.com docs: http://g3doc/paidtasks/app/README.md",
"Primer http://go/primerapp Team contact: vkes@google.com",
"Local Discovery social features http://go/local-stream Team contact: dgajda@google.com, local-discovery-team@google.com",
"Baseline http://go/baseline-android Team contact: verily-mobile-team@google.com",
"Opa on Quartz http://go/opa Team contact: lmirelmann@google.com, opa-quartz-team@google.com",
"Device Management Panel http://go/dpanel-eng Team contact: dpanel-eng@google.com",
"Google Trips http://go/otg Team contact: oace@",
"Google home services http://go/homeservices Team contact: sab-eng@google.com",
"Social Good / donations http://go/socialgood Team contact: socialgood-eng-team@google.com",
"Camera by Google photos Team contact: loupe-eng@google.com",
"Live comments in sport onebox",
"Family Link http://go/familylink Team contact: familylink-eng@google.com",
"g3doc comments http://go/g3doc-comments",
"Moma http://go/moma-site",
"Dasher Admin Console. There is a separate id for DASHER_USER_HUB = 535 http://go/novitas Team contact: novitas-eng@google.com",
"Dasher Commerce Console. http://go/job314 Team contact: job314-eng@google.com",
"Travel Vacations. http://go/travel-vacations Team contact: travel-packages-eng@google.com",
"Trends http://go/trends Team contact: trends-narrator@google.com",
"Tasks http://go/accomplice Team contact: tasks-eng@google.com",
"Vimes http://go/vimes-doc Team contact: vimes-eng@google.com",
"Security Event Manager http://go/sem-doc Team contact: sem-eng@google.com",
"Eva, the wally camera companion app http://go/wally-camera Team contact: tp-wally@google.com",
"Mindsearch-QA: http://go/mindsearch and g/sbe-mindsearch.",
"Power user for Mindsearch: http://go/mindsearch and http://go/ms-sbe-power-options Team contact: mindsearch-team@google.com",
"Android Auto http://go/android-auto Team contact: gearhead-team@google.com",
"Application for live chat when playing games. go/yeti-gg.",
"Application for the Apps Assistant Overlay. http://go/awr Team contact: awr@google.com",
"Search Console. http://go/wmx Team contact: wmx-fe@google.com",
"Chrome Web Store http://go/cws Team contact: webstore-eng@google.com",
"Saves (http://go/saves) Team contact: saves-web-eng@google.com",
"Food Ordering http://go/fopa Team contact: fopa-eng@google.com",
"Social Recovery http://go/social-recovery-update Team contact: aczeskis@google.com",
"Android Onboard Website (Growth MWeb) http://go/android-mweb-dd Team contact: campaign-il@google.com",
"Android Wear (Clockwork) http://go/clockwork Team contact: clockwork-eng@google.com",
"Fact Check Explorer web app http://go/fc-explorer Team contact: fact-checking-dev@google.com",
"Allo app http://go/allo Team contact: allo-discuss@google.com",
"Family Link Helper companion app for kids/teens http://go/familylink Team contact: familylink-eng@google.com",
"Proxy Gal Provider. http://go/gal-provider-migration Team contact: contacts-sync-eng@google.com",
"OneGoogle bar (web). http://go/og Team contact: og-team@google.com",
"OneGoogle async widgets (web). http://go/og-stack-redesign Team contact: og-team@google.com",
"Wicked video uploads http://go/wicked-prd Team contact: wicked-team@google.com",
"Google Sheets NOTE: Sheets is a separate app from DRIVE.",
"Google Slides NOTE: Slides is a separate app from DRIVE.",
"Assistant Explore Web http://go/assistant-agents-web Team contact: assistant-explore-eng@google.com",
"Assistant Settings Web http://go/assistant-settings-web-ui-design Team contact: assistant-settings-web-eng-team@google.com",
"Android Dialer app http://go/dialer Team contact: android-dialer@google.com",
"Klopfklopf Roomtablet app. see http://go/klopfklopf Team contact: klopfklopf-eng@google.com",
"Klopfklopf Hallwaytablet app. see http://go/lageplan Team contact: lageplan-eng@google.com",
"Science Journal app. see http://go/sciencejournal Team contact: science-journal@google.com",
"Hire app. http://go/hire-mobile Team contact: bebop-mobile-dev@google.com",
"Poly (Zandria) app. http://poly.google.com/ Team contact: poly-team@google.com",
"Dasher Reseller Frontend. http://g3doc/ccc/hosted/g3doc/teams/reseller/ Team contact: dasher-reseller-eng@google.com",
"Zoomsights. http://go/zs-prd-tt-v2 Team contact: zoomsights-eng@google.com",
"Live comments for take out Team contact: search-ugc@google.com",
"Patient Guardian http://go/patient-guardian-site Team contact: g4c-eng@google.com",
"Patient Guardian http://go/patient-guardian-site Team contact: g4c-eng@google.com",
"Google My Business (go/gmb) Team contact: geomerchant-data-measurement@google.com",
"Presto Ads Landing Page (go/alp-v0) Team contact: sb-ads@google.com",
"Presto consumer FE http://go/presto-eng Team contact: geomerchant-presto@google.com",
"Kids Home app for young kids android home experience Team contact: hogsmeade-eng@google.com",
"Google assistant (OPA) app http://go/opa Team contact: opa-android-eng@google.com",
"Subscribe with Google Client (SwG) http://go/swg Team contact: swg-eng@google.com",
"Lookout app http://go/reveal Team contact: reveal-eng@google.com",
"Android Native Onboarding http://go/android-onboarding-dd Team contact: growth-il-eng@google.com",
"AMP Actions go/aog-amp-actions Team contact: aog-amp-actions@google.com",
"Spot app go/spot Team contact: spot-eng@google.com",
"Medical Scribe go/medical-scribe Team contact: medical-scribe-frontend-eng@google.com",
"Medical Scribe Tasking go/medical-scribe-tasking-overview Team contact: medical-scribe-tasking@google.com",
"Dasher Rules Platform go/project-raven Team contact: rules-platform-eng@google.com",
"Android TV LauncherX app go/launcherx Team contact: atv-launcher-engineering@google.com",
"Android TV Setup Wizard app go/atv-eng-setup Team contact: android-tv-setup-team-eng@google.com",
"Live comments in Google search results page when an SOS Alert is triggered go/ugc-live-comments-for-crisis Team contact: google-sos-eng@google.com",
"Gmail Locker UI go/gmail-locker Team contact: locker-eng@google.com",
"Google-built translation editor. go/polyglot Team contact: polyglot-team@google.com",
"Plx go/plx Team contact: plx-explorer-team@google.com",
"Google Groups Frontend http://go/groups-doc Team contact: groups-eng-team@google.com",
"Managed Street View Collection app go/msvApp Team contact: streetview-apps@google.com",
"Google voice for enterprise go/wolverine Team contact: wonlverine-eng@",
"G Suite Alert Center (MIC) go/project-mic Team contact: mic-eng@google.com",
"Google Forms go/freebird Team contact: freebird-eng@google.com",
"ARCore go/arcore Team contact: arcore-team@google.com",
"Deprecated. Use ANDROID_SAFETY.",
"Google Lens 1p Lenslets go/lenslets-g3doc Team contact: lenslets-eng@google.com",
"Medical Labeling go/maple Team contact: maple-eng@google.com",
"G Suite Add-on go/gsuite-addons Team contact: gsuite-addons-eng@google.com",
"Android library for Location History consent, part of Mobile Consent Flows. go/lohiboshe, go/consent-flows Team contact: consent-flows-team@google.com",
"Payments Platform Web UI http://go/payments-web-5 Team contact: payments-web-infra-eng@google.com",
"Cattery (Apps Developer Platform Console UI server) go/cattery-g3 Team contact: cattery-eng@google.com",
"Source of truth for Alphabet legal entities go/legal-entities Team contact: introspect-eng@google.com",
"Nga Suggestion Resolution Team contact: nga-app-integration",
"Hot Orders Ui Team contact: hw17eng@google.com",
"Duc Companion Team contact: duc-eng",
"Automon http://go/automon Team contact: monitoring-platform-team@google.com",
"TV Live comments in Google search results page for TV program/episode. go/tv-live-comments-dd Team contact: tvm-features@google.com",
"Guppeeps Team contact: gup-tech-apps-eng@google.com",
"Proxy for focus sync adapter. Team contact: contacts-sync-eng@google.com",
"Nova / Google Fi Team contact: fi-growth-eng@google.com",
"",
"Dasher Data Classification Platform go/dasher-data-classification Team contact: smarttags-eng@google.com",
"App for debugging G+ user data go/googleadmin. Replacement for \"s:googleadmin\".",
"Different apps that are run by the notifications team. Replacement for \"s:messageprocessor\".",
"Replacement for \"s:emailprocessor\".",
"Replacement for \"s:reengagement:pipeline\".",
"Stream backend monitoring tool go/lorelei101.",
"",
"FrameService delete synchronization flume job. The ASBE requests use \"s:frames\" (as do online frames requests).",
"Embeds migration flume job. Covers the multiple MR's for that project (V0 -\u003e V1, V1 -\u003e V2, diffing, verifying ...). At any point in time only one of the jobs should be running. Doesn't issue any rpc requests.",
"SocialReviews sync flume job. Synchronizes reviews from zipit to ASBE.",
"Guns notifications delivery.",
"One-off flumes run by the PostBox team. Team contact: es-postbox@google.com.",
"One-off flumes run by the G+ API team. Team contact: plus-api-core@google.com.",
"Stanza delete synchronization flume job.",
"Social graph index monitoring tool. go/graphprober.",
"Stanza periodic flume jobs. Team contact: stanza-team.",
"Madison accounts periodic flume jobs. http://go/madison-accounts Team contact: madison-eng",
"Papyrus periodic flume jobs. Team contact: papyrus-team",
"Photos-backend flume jobs. Team contact: photos-backend",
"Redbox storage backend go/redbox",
"Photos FIFE flume jobs. Team contact: fife-eng",
"Classifies abuse. Replaced by Ares (see below). go/abuseiam",
"Classifies abuse go/ares",
"Sends cliends Goops notifications. go/streamindexing",
"Computes Additional KV Pairs for Stanza's go/stanza-indexing",
"Stanza service: go/stanza. Team contact: stanza-team.",
"Stanza moonshine indexing. Team contact: es-stream-delivery",
"StreamActions service: go/streamactionsservice Team contact: stream-team",
"StreamConfig service: go/socialstreamconfigservice Team contact: stream-team",
"Stream service: go/stream-service Team contact: stream-team",
"Stream delete service: go/delete-stream Team contact: stream-team",
"Legal Investigations Support matter management http://go/kwyjibo",
"Test stanzas for internal integration tests. Clients who want to prototype on Stanza should use SBE_PLAYGROUND instead. Team contact: stanza-team",
"Use for test applications and unit tests",
"AnnotationServiceV2, see go/as2-design. Team contact: social-stream-delivery",
"Stanza Listener for AnnotationServiceV2: go/as2-design Team contact: social-stream-delivery",
"Stanza App for clients to prototype on. Team contact: stanza-team",
"Expo uses the Yenta autocomplete lib (go/EXPO, go/yenta). Team contact: weaver-expo@google.com, yenta-team@google.com",
"Android VR Home app. http://go/vr-home",
"YouTube BlarneyStone; automated abuse and moderation classification http://go/blarneystone",
"Social Events http://go/social-events Team contact: eventsapp@google.com",
"Deprecated name for http://go/pomeroy.",
"Deprecated name for ENFORCEMENT_MANAGER DEPRECATED, DO NOT USE.",
"Ads Integrity's Enforcement Manager client (go/hidoc)",
"Ads Integrity's Explorer client (go/hidoc)",
"Ads Integrity's Reviewer client (go/hidoc)",
"G+ Collections pipeline. This application id is used for internal cleanup. Please DO NOT use it for frontend or backend logging. Team contact: es-collections-eng@google.com.",
"Application used by G+-owned pipelines. Contact: plus-server-eng@.",
"Papyrus service (go/papyrus). Team contact: papyrus-team",
"App for administration of Youtube entities at admin.youtube.com Team contact: yt-force@google.com",
"App for Youtube Review Infra Pacing. Team contact: yt-review-queue-eng@google.com",
"YouTube Decider (go/yt-tns-dna) Team contact: yt-force-decision-platform@google.com",
"Application for actions enforcing TnS policies due to TnS violations. It's used in both the read and write path (go/yt-tns-dna). Team contact: yt-force-decision-platform@google.com",
"YouTube External Links (go/abusivelinks). Team contact: youtube-url-defenses@google.com",
"Batch jobs run by the Focus Backend team (go/fbs) Team contact: focus-backend-eng@google.com",
"Teamspaces Team contact: teamspaces-eng@google.com",
"Assistant Opa Team contact: assistant-a4w-client@google.com",
"Translation Memory Manager Team contact: tm-team-core@google.com",
"Threadit Team contact: paulmalolepsy@google.com",
"Resource Symphony Team contact: fdo-fe-eng@google.com",
"L10n Infra Shared Team contact: tm-team-core@google.com",
"Work Tracker Team contact: planr-eng@google.com",
"Ariane Team contact: launch-team@google.com",
"Colab Internal Team contact: colab-team@google.com",
"Colab External Team contact: colab-team@google.com",
"Talent Grow Team contact: grow-eng@google.com",
"Rocket Labs Team contact: traditionalgti-coach-dev-team@google.com",
"My Google Families Team contact: id-iff-eng@google.com",
"Data Studio Team contact: ga-lego-fe-eng@google.com",
"Legal Contracts Team contact: nala-eng@google.com",
"Brief Api Team contact: brief-team@google.com",
"Hardware Mfg Data Venus Team contact: cte-data-eng@google.com",
"Betterbug Team contact: betterbug-team@google.com",
"Dcms Team contact: dcms@google.com",
"Play Books Pubeng Team contact: playbooks-pubeng-core@google.com",
"Yaqs Team contact: yaqs-eng@google.com",
"Prosper Team contact: corp-comp-eng@google.com",
"Campaign Management Tool Team contact: subhamidipati@google.com",
"",
"Duo Client Team contact: duo-eng@google.com",
"Project albert (go/albert-frontend) Team contact: albert-eng@google.com",
"People Playground (go/people-playground-design) Team contact: project-buffet@google.com",
"Recommended posts pipeline (go/topics-web-gplus) Team contact: stream-ranking-team@google.com",
"Image Search http://go/images Team contact: images-ui-eng@google.com",
"Google Store http://go/smashberry Team contact: smashberry-eng@google.com",
"NBU GConnect Mustard http://go/mustard Team contact: gconnect-mustard-eng@google.com",
"Madden (http://go/madden) Team contact: madden-eng@google.com",
"MobDog (http://go/mobdog) Team contact: ph-eng@google.com",
"GBOARD (http://go/gboard) Team contact: gboard-eng@google.com",
"Recorder (http://go/recorder) Team contact: recorder-eng-team@google.com",
"All legacy g+ posts which currently does not have an application to map to.",
"Podium (http://go/podium)",
"FUSE targets at younger user base who is extensively using Visual/Photo and location as input for searching. go/fuse-sbe-v0-integration. Team Contact: igsa-visual@google.com",
"Honeyphish (http://go/honeyphish)",
"Offline backfill job for annotations generated by go/asv2.",
"Pops Support (Contact HR) go/contacthr-design Team contact: boq-contacthr-eng@google.com",
"Paisa Wander (http://go/paisa-tools) Team Contact: paisa-tools@google.com",
"NextGen Retail Self Order (go/nextgenretail) Team Contact: nextgenretail-eng@google.com",
"Application not set by client. Only used internally.",
"First Party Application which is not mapped to the already defined enums.",
"DEPRECATED DO NOT USE.",
"VIDEO_HANGOUT represents the gcomm application (javascript/apps/gcomm). Hangout Video Calls (rtc-eng@).",
"Legacy (lite) hangouts (rtc-eng@).",
"GVC hangouts calls (gvc-team@).",
"go/present hangouts (gvc-team@).",
"Hangouts on Air (rtc-audience@).",
"Helpouts Hangouts (tee-team@).",
"Shoe SDK (etnu@).",
"Envoy (go/envoy). Contact: noahric@, envoy-eng@.",
"Babel's chat client (aka Hangouts Chat).",
"Babel's Nova client. Used for NOVA related logging through BABEL. Contact: mlei@",
"Media calling embedded in Wabel. Contact: efernandez@, dalesat@",
"Hangouts landing page (hangouts.google.com). Contact: jdudder@, jchord@",
"Express Lane (go/express-lane) Contact: efernandez@, pauldean@, qaz@",
"Enterprise Meetings App for Android http://go/thor-android Team contact: c4w-mobile-eng@google.com",
"Express Lane on Boq. Contact: efernandez@, pauldean@, qaz@, segu@",
"Hangout Meet Hardware management Team contact: rtc-fleet-mgmt-eng@google.com --------------------------- END HANGOUT APPLICATIONS ----------------------",
"Stax database (go/stax). Contact: stax-eng@",
"Hangouts Immersive Client. Contact: pawong@, plancarte@",
"Scanner app. http://go/photos-scanner Team contact: photos-draper-eng@google.com",
"Photos Library API http://go/photos-3p-g3docs Team contact: photos-3p-eng@google.com",
"Photos Library API http://go/photos-3p-g3docs Team contact: photos-3p-eng@google.com",
"Vault (go/vault) Team contact: vault-eng@",
"Course Kit (go/prof) Team contact: prof-eng@",
"TOTAL is for all application traffic.",
"TOTAL_ZERO_PARTY is for all traffic from plus.google.com or its counterparts such as the native mobile G+ app or mobile web.",
"TOTAL_FIRST_PARTY is all non-G+ Google properties, such as Gmail and YouTube.",
"TOTAL_THIRD_PARTY is all third-party site traffic.",
"TOTAL_INTERNAL is all Google-internal traffic. e.g. prober, monitoring, mapreduces.",
"TOTAL_UNKNOWN is all unknown traffic.",
"TOTAL_MINUS_YOUTUBE is all traffic excluding any traffic from YOUTUBE.",
"TOTAL_FIRST_PARTY_WITH_PRIMARY_INTENT_TO_SHARE_TO_GPLUS is all first party traffic with primary intent to share to Google+. All applications that belong to TOTAL_FIRST_PARTY and do not belong to TOTAL_FIRST_PARTY_WITH_SECONDARY_INTENT_TO_SHARE_TO_GPLUS belong to this category.",
"TOTAL_FIRST_PARTY_WITH_SECONDARY_INTENT_TO_SHARE_TO_GPLUS is all first party traffic with no primary intent to share to Google+. The applications that belong to the category are defined in google3/logs/lib/social/content_creation/blacklist_apps.pb.",
"TOTAL_GPLUS is all variations of gplus app under TOTAL_SOCIAL_APPS",
"TOTAL_SOCIAL_APPS is all core social Google apps.",
"CROWD_COMPUTE is a Google-internal crowd-sourcing platform.",
"KHAZANA is an NBU app for document organization. http://go/khazana Team contact: khazana-eng@google.com",
"Lighter is a cross-platform messaging platform to enable applications to build rich in-app messaging experiences. GMM (Google Maps for Mobile) chatting is built on top of Lighter. Team contact: sbe-lighter@google.com",
"Lighter is a cross-platform messaging platform to enable applications to build rich in-app messaging experiences. GMB (Google My Business) chatting is built on top of Lighter. Team contact: sbe-lighter@google.com",
"MYACTIVITY is myactivity.google.com http://go/myactivity Team contact: footprints-team@google.com",
"BLOG_COMPASS is an app that helps bloggers manage their site and find topics to write about. http://go/blog-compass Team: blog-compass@google.com",
"CONCORD measures business and product usage metrics across Google Cloud Platform. http://go/concord Team: concord-dev@google.com",
"Navstar is an app that helps googlers to understand how users are interacting with Search & Assistant features. http://go/navstar2 Team: navstar-eng@google.com",
"Settings Intelligence is an app that contains updatable module for Pixel Settings. http://go/hacking-on-settings Team: android-settings-core@google.com",
"Topaz teams is a team under Topaz (aka Google Cloud Search) with a mission to externalize the Teams product we have here at Google under Moma. http://go/topaz-teams Team: topaz-teams-eng@google.com",
"Google Endpoint Management Android Agent go/emm-extension Team: mdm-core-eng@google.com",
"DUMBLEDORE is an app that helps kids learn through relevant interest based informal interactions across Google's products http://go/dumbledore Team: dumbledore-team",
"Google One is a subscriptions plan that unlocks premium experiences across Google products. go/googleone Team: subscriptions",
"NBU GConnect Kimchi Google Station Partner Console http://go/gstation-partner-console Team: mdb.nbu-gconnect-kimchi-team@google.com",
"FASTDASH is a near real-time reporting system that processes front-end logs go/fastdash Team:fastdash-infra",
"Clockwork (Aquarius Lapis) go/aquarius-eng Team: aquarius-eng@google.com",
"Dasher Reporting go/dasher-reporting-g3doc Team: dasher-bip-eng@google.com",
"NBU GConnect Picard http://go/gconnect-picard Team contact: gstation-web@google.com",
"go/jacquard",
"Google go http://go/googlego Team: googleit-eng-team@google.com",
"Used in Buganizer.",
"Used in Docos Mentions.",
"Used in Trix Waffle. go/trixwaffle.",
"Used in Share Service. go/apps-share",
"Android Safety go/android-safety-g3doc",
"Yeti text chat for Takeout. go/yeti-takeout-integration Team contact: yeti-textchat@google.com",
"Assistant Go http://go/goopa Team: assistant-lite-android-eng@google.com",
"Flourish App. go/flourish",
"ALECS go/project-mic Team contact: mic-eng@google.com",
"Nandhi Test Scheduler Team contact: people-sharing-engprod@google.com",
"Audio Recorder Team contact: pixel-apps-recorder@google.com",
"ContactStore traffic with unknown client.",
"Profile Card go/yt-profile-card-prd Team contact: yt-identity-core",
"Espresso Team contact: readiness-devs",
"People Companion http://go/people-companion-dd Team contact: people-sheet-web@google.com",
"Photos Go (go/photos-go) Team contact: photos-go-eng",
"yeti go/yeti Team contact: yeti-analytics-eng",
"Bloom go/bloom Team contact: bloom-edu-eng@google.com",
"Field Officer Android app. Team contact: corp-physicalsecurity-mobile-eng@google.com",
"Google Roads & Transit go/urbanmobility Team contact: urban-mobility-eng@google.com",
"Google Health Familycare go/hydrangea Team contact: health-familycare-apps-eng@google.com",
"Intuitive Platform go/intuitive Team contact: ml4nt-dev@google.com",
"Paisa microapps cricket. go/wc-2019 Team contact: payments-microapps-pek-team@google.com",
"Integration Platform Team contact: cloud-crm-platform-eng@prod.google.com",
"CrOS Scaling & Services staging apps generic commenting service. go/cros3 Team contact: chromeos-peng-eng@google.com.",
"CrOS Scaling & Services prod apps generic commenting service go/cros3 Team contact: chromeos-peng-eng@google.com.",
"Assistant Proactive Suggestions. go/opacros-proactive-design Team contact: assistant-proactive-suggestions-team@google.com",
"Privacy One Suite of Applications go/privacy-one Team contact: privacy-one-dev-team@google.com",
"Paisa app http://go/paisa Team contact: paisa-eng@google.com",
"Assist JS go/aog-assistjs-logging Team contact: aog-amp-actions@google.com",
"Hotelier go/hotelier-frontend Team contact: hotels-hotelier-eng@google.com",
"Photos Kindygram (Photos for Edu) app go/kindy Team contact: kindygram-eng@google.com",
"Messages SMS/MMS/RCS messaging app for Android go/messages Team contact: am-shell-team@google.com",
"HKB hotel editor go/hkb Team contact: hkb-eng@google.com",
"Vistaar web app go/vistaar Team contact: vistaar-eng@google.com",
"Vistaar web app, non-prod instances go/vistaar Team contact: vistaar-eng@google.com",
"G Suite Growth go/dasher-growth Team contact: dasher-growth-eng@google.com",
"Eldar go/eldar Team contact: eldar-dev@google.com",
"GMB Android client http://go/gmb-android Team contact: gmb-android@google.com",
"Shopping List go/shoppinglist Team contact: shoppinglist-eng@google.com",
"Earth Team contact: earth-ios",
"Instant Loans Microapp go/instant-loans-ui-v2-dd Team contact: paisa-credit-eng@google.com",
"Assistant Go Web (Citadel) go/goopa-citadel Team contact: assistant-nbu-android-eng@googoe.com",
"Showtime Team contact: ecp-platform-team",
"Admin Console - Compliance Center (go/konark) go/konark Team contact: konark-eng@google.com",
"Exo Refserver go/exo Team contact: exo-core@google.com",
"Monitoring Platform go/monitoring-platform Team contact: monitoring-platform-team@google.com",
"Autocap go/autocap Team contact: capmgmt-team@google.com",
"Payments Orchestration go/orchestration Team contact: payments-platform-discuss@google.com",
"Google My Business iOS http://go/gmb Team contact: geomerchant-data-measurement@google.com",
"Assistant on KaiOS go/nbu-dcf-dd Team contact: assistant-nbu-features-eng@google.com",
"AdMob companion app go/admob-mobile-dd Team contact: admob-mobile-app-eng",
"Health Screeners app go/screeners-prd Team contact: health-screeners-dev@google.com",
"Meetings intelligence http://go/meetings-intelligence Team contact: meetings-intelligence-eng@google.com",
"gHire go/ghire, go/ghire-g3doc Team contact: rp2-crm-eng@google.com",
"Translate Community go/translate-community Team contact: translate-community@google.com",
"Road Mapper http://go/road-mapper Team contact: maps-ugc-mtwr@google.com",
"Nest Team contact: vkandamath@google.com",
"Rollouts UI go/releases-rollouts Team contact: releases-rollouts-ui@google.com",
"Shopping Property go/compass-infra Team contact: compass-infra@google.com",
"Shopping Property non prod environment. go/compass-infra Team contact: compass-infra@google.com",
"Payments Gas Microapp http://go/gas-microapp-engdoc Team contact: microapps-transportation-eng@google.com",
"Paisa Movies Microapp go/microapp-movies-prd Team contact: mdb.paisa-movies-dev@google.com",
"Hub Call Team contact: voice-fe-ios@google.com",
"Waymo simulation results dashboard go/waymo-sim-results Team contact: chauffeur-sw-quality-eng@google.com",
"Gsuite Workflow Team contact: apps-workflow-editor-eng-team@google.com",
"Corp Eng Finance Workflows Team contact: introspect-eng@google.com",
"Payments Parking Microapp go/gpay-microapp-parking Team contact: spots-parking-team@google.com",
"Travel Team contact: mayflower-eng@google.com",
"Gabble: *G*oogle *A*ssistant *B*ig *BL*uetooth *E*valuator An internal-only Android application to expedite Bluetooth feature development for the Assistant Auto team. See go/morris-bt for more information. Team contact: gabble-app-eng@google.com",
"Prof (go/prof) and Originality (go/originality). Team contact: prof-eng@google.com, plagiarism-eng@google.com",
"MyFi go/myfi Team contact: sumer-myfi-eng@google.com",
"Chomchom content first experience app. go/chomchom-deck Team contact: chomchom-eng@google.com",
"Assistant Toolchain - Dialog Central Team contact: dialog-central-eng@google.com",
"YouTube Ansible - Abuse platform, go/ansible Team contact: yt-kapla-ansible@google.com",
"YouTube Community Inteligence Kapla integration. b/186151755. Team contact: yt-kapla-team@google.com, yt-kapla-ansible@google.com",
"Gantry Team contact: gmscore-gantry-team@google.com",
"Payments merchant console (go/merchant-console-design) Team contact: merchant-console-infra-eng@google.com",
"Ta'veren - Splinter Team contact: taveren-team@google.com",
"Kintaro Team contact: kintaro-eng@google.com",
"MDM Admin Console Team contact: mdm-eng@google.com",
"Payments consumer core products. Team contact: gpay-android-eng@google.com",
"Incidentflow Team contact: im-tools-eng@google.com",
"OneGoogle Mobile. http://go/og Team contact: og-mobile@google.com",
"Anura App Team contact: anura-eng@google.com",
"FGC Google Finance (go/sumer-fgc) Team contact: fgc-eng@google.com",
"Podcasts Manager Team contact: speakachu-team@google.com",
"Files by Google Team contact: files-eng@google.com",
"YouTube Post API Team contact: yt-post-api-eng@google.com",
"GSuite Hub Team contact: g/hub-eng",
"ATV Analytics Watson go/atv-analytics-design-launcher Team contact: atv-analytics-team@google.com",
"New paidtasks (Surveys) frontend go/402surveys2 Team contact: 402-surf@google.com",
"One Reviewer Tool Team contact: onereviewertool-eng@google.com",
"Meet Quality Tool go/thor-mqt Team contact: rtc-upsight-team@google.com",
"",
"Google Meet http://go/thor-eng Team contact: hangout-enterprise-eng@google.com",
"Paisa Nearby Merchant go/gpay_nearby_prd Team contact: nbu-paisa-merchants-verticals-team@google.com",
"",
"Vantage Fieldofficer app go/fieldofficer Team contact: corp-physicalsecurity-mobile-eng@google.com",
"Lens Web (go/lens-web). Team contact: lens-web@google.com.",
"Herald app (go/herald-g3doc) Team contact: herald-eng@google.com",
"Paisa Microapps Web Projects. Includes landing page, microtab and other web related projects. go/microapps, go/microapp-landing-page, go/microapps-store Team contact: microapps-platform-team@google.com",
"BugObserver go/bugobserver-help, bugobserver-eng@google.com",
"Atlas Team contact: atlas-eng@google.com",
"Dharma Initiative go/dharma Team contact: dharma-team@google.com",
"Snipit Team contact: snipit-dev@google.com",
"Premium Assistant (go/premium-assistant) Team contact: premium-assistant-eng@google.com",
"OneReviewerTool (go/ORT-doc) Team contact: onereviewertool-eng@google.com",
"Coronado Team contact: rpui-eng-team@google.com",
"Intake go/systemone Team contact: system1-team@google.com",
"Pumice Team contact: pumice-team@google.com",
"Backlight Team contact: jsuite-eng@google.com",
"Glossary Manager Team contact: tm-team-core@google.com",
"Google Growth - UpgradeParty go/upgradeparty Team contact: google-growth-eng@google.com",
"Onedev Workflow Team contact: one-developer-workflow+people-stack@google.com",
"Avalanche Team contact: cpe-surveys-eng@google.com",
"Kormo Team contact: kormo-eng@google.com",
"Assistant Profile Yourpeople Team contact: assistant-family-eng@google.com",
"Smart Display Web go/sdweb Team contact: sdweb-eng@google.com",
"Deskbooking Team contact: desktopia-open@google.com",
"Food Vertical go/payments-merchant-verticals Team contact: nextgenretail-eng@google.com",
"Valuables Merchant Center go/valuables-merchant-ui Team contact: tp2-valuables@google.com",
"Offsec Team contact: redgate@google.com",
"Staffing Works Schedule Tool go/schedule-docs Team contact: rp2-schedule-eng@google.com",
"Paisa social campaigns platform. go/gpay-campaign-generalization Team contact: pc-social@google.com",
"Wordflow Team contact: wordflow-eng@google.com",
"Plan-for-Care web immersive (go/p4c-immersive-design) Team contact: care-planning-eng@google.com",
"DeepMind AlphaSchedule (go/alphaschedule-docs) Team contact: deepmind-alphaschedule-eng@google.com",
"Hoolichat go/hoolichat Team contact: hoolichat-eng@google.com",
"Youtube Creator Studio Team contact: creator-studio-eng@google.com",
"Bricks Team contact: cloudx-bricks-team@google.com",
"Payments Merchant Business Insight (go/mechant-business-insight-home).",
"Recall https://recall.googleplex.com Team contact: recall@google.com",
"Nest Green Energy Web go/apollo-web-ui",
"Frap go/frap-docs Team contact: frap-eng@google.com",
"Payments Grocery Microapp go/grocery-deals Team contact: spots-grocery-team@google.com",
"Reviews Widget API go/reviews-widget Team contact: wugc@google.com",
"go/incidentflow Team contact: im-tools-eng@google.com",
"Area 120 - PromoDay go/promoday Team Contact: area120-promoday-eng@google.com",
"Pinpoint go/jsuite-pinpoint Team contact: backlight-eng@google.com",
"Translation Console go/transconsole Team contact: transconsole-eng@google.com",
"Google Workspace Marketplace go/gsm-eng Team contact: gsm-team@google.com",
"Drive desktop Photos uploader go/spork-prd Team contact: spork-eng@google.com"
],
"description": "All evaluations are done within the context of a given application, e.g., \"Gmail\" and should not be reused in other apps.",
"enum": [
"UNKNOWN_APPLICATION",
"GPLUS",
"GPLUS_WEB",
"GPLUS_ARES_FEATURE_PROVIDER",
"GPLUS_PHOTOS",
"GPLUS_HANGOUT",
"GPLUS_EVENTS",
"GPLUS_SQUARES",
"GPLUS_NOTIFICATIONS",
"GPLUS_GAMES",
"GPLUS_WHATS_HOT",
"GPLUS_LOCAL",
"GPLUS_PLUS_PAGES",
"GPLUS_PLUS_PAGES_RSS",
"GPLUS_PROFILE",
"GPLUS_FIND_PEOPLE",
"GPLUS_PHOTO_EDITOR",
"GPLUS_SOCIALCAST",
"GPLUS_INTERACTION_EVENTS",
"GPLUS_ENTITY_TRANSFER",
"GPLUS_LIS",
"GPLUS_DRAWBRIDGE",
"GPLUS_DASHER",
"GPLUS_DASHER_TAKEOUT",
"PAISA_MERCHANT_CONSOLE",
"GEO_DATA_UPLOAD_STAGING",
"GEO_DATA_UPLOAD",
"GOOGLE_PLAY_SERVICES",
"GOOGLE_SETTINGS",
"THIRD_PARTY",
"PICASA_PHOTOS",
"GMAIL_HANGOUT",
"FOUNTAIN",
"FOUNTAIN_YOUTUBE",
"YOUTUBE_LEGACY_COMMENT_MIGRATION",
"FOUNTAIN_YOUTUBE_DISCUSS",
"FOUNTAIN_YOUTUBE_MESSAGES",
"YOUTUBE_AUTOSHARES",
"FOUNTAIN_YOUTUBE_LEGACY_GDATA",
"YOUTUBE_CHOWN_PIPELINE",
"FOUNTAIN_YOUTUBE_ACTIVITY_LOG",
"FOUNTAIN_YOUTUBE_ADMIN",
"YOUTUBE_HELD_COMMENT_EXPIRY",
"ONEMARKET_CALENDAR",
"FOCUS_FRONTEND",
"URL_SHAREBOX",
"READER",
"GOOGLE_MAIL",
"PLUS_SHARE",
"YOUTUBE",
"CHECKIN",
"FRAMES",
"PHOTOS_CHROMEAPP",
"MOBILE_BASIC",
"GLASSWARE",
"GAMES",
"THIRD_PARTY_STREAM_EVERYWHERE_SINGLE_POST_WIDGET",
"PLAY_STORE",
"GMAIL_INBOX_POSTS",
"GMAIL_RECENT_POSTS",
"SIDECAR",
"GOOGLE_QUICK_SEARCH_BOX",
"WALLET",
"FRAMELESS_SHAREBOX",
"YOUTUBE_CAPTURE",
"YOUTUBE_WATCH_PAGE_SHARE",
"YOUTUBE_REACTR",
"YOUTUBE_MANGO",
"YOUTUBE_REACTR_TAKEOUT",
"YOUTUBE_COMMENTS_NOTIFICATION",
"YOUTUBE_COMMENTS_TIMED",
"YOUTUBE_COMMENTS_ENGAGEMENT_P13N",
"YOUTUBE_COMMENTS_LEGAL_TAKEOUT",
"YOUTUBE_COMMENTS_INDEXING",
"GOOGLE_KEEP",
"VEGA",
"SOCIAL_REVIEWS",
"PLAY_MOVIES",
"GMAIL",
"GMAIL_GO",
"HELPOUTS",
"MAPS",
"MAPS_ENGINE_MOBILE",
"CALENDAR",
"PLAY_NEWSSTAND",
"FITNESS",
"WEAR_HEALTH",
"WEAR_HEALTH_PROVISIONING",
"PLAY_BOOKS",
"INSTORE",
"PLAY_MUSIC",
"GOOGLE_CHROME",
"LOCATION_FLARE",
"NEWS_WEATHER",
"PROMOTED_POSTS",
"CLOUD_PRINT",
"CLOUD_DEVICES",
"CPANEL",
"DRIVE",
"CLASSROOM",
"STORIES",
"GOOGLE_ANALYTICS",
"LOCATION_SAMPLE",
"BIGTOP",
"GOOGLE_CAST",
"AUTHZEN",
"PARENTS",
"SEARCH",
"NEWS",
"DOCS",
"PHOTOS",
"PHOTOS_TAKEOUT",
"SIMBA_MOBILE",
"GOOGLE_JOBS",
"CLOUD_PLATFORM",
"CLOUD_PLATFORM_WEB",
"FIREFOX_BROWSER",
"MOVIEMAKER",
"MOVIEMAKER_PHOTOS",
"GOOGLE_STARS",
"SNAPSEED",
"BLOGGER",
"DEVICE_POLICY",
"DOUBLECLICK_CREATIVE_PREVIEW",
"UNICORN",
"ADWORDS_MOBILE",
"FAMILY_COMPASS",
"AUTH_GRANT_CREDENTIAL",
"HALLWAY",
"FAMILY_CAMERA",
"ENDER",
"MAPS_VIEWS",
"TABLESCAPE",
"TOPAZ",
"FIBER",
"ATARI",
"RIDEMATCH",
"GMONEY",
"GOOGLE_EXPRESS",
"CONSUMER_PHOTO_EDITOR",
"JETSTREAM",
"SOCIAL_SERENDIPITY",
"ONE_TODAY",
"PROFILES",
"SOCIAL_POLLS",
"SPACES",
"ADWORDS_EXPRESS",
"IDENTITY",
"IDENTITY_FRONTEND_VISUAL_ELEMENTS",
"YOUTUBE_BACKSTAGE",
"YOUTUBE_BACKSTAGE_ADMIN",
"YOUTUBE_UNPLUGGED",
"YOUTUBE_MUSIC",
"HUB",
"ANDROID_EDU_PROVISIONING",
"ANDROID_WEAR",
"CHROMECAST",
"ONTHEGO",
"ADSENSE",
"PROJECT_FI",
"JAM",
"HUDDLE",
"CAR_APP",
"TAILORMADE",
"ACTIVITY_LOG",
"SPACES_ACTIVITY_LOG",
"PHOTOS_ACTIVITY_LOG",
"MEMEGEN",
"SOCIETY",
"SOCIETY_CHAT",
"HIGHLIGHT",
"YOUTUBE_LIVE",
"YOUTUBE_LIVE_ACTIVITY_LOG",
"YOUTUBE_LIVE_TAKEOUT",
"CARDBOARD_CAMERA",
"PLAY_DEVELOPER_CONSOLE",
"MIXX",
"CHROME_REMOTE_DESKTOP",
"HOT_LANE",
"CONTACTS",
"CONTACTSHEET",
"HOVERCARD",
"DORY",
"SPECTRUM",
"DYNAMITE",
"DASHER_USER_HUB",
"CULTURAL",
"BOOND",
"EXPEDITIONS",
"PHOTO_ALBUM_ARCHIVE",
"GAMMAGO",
"FIREBALL",
"SUPPLY_CHAIN_CENTRAL",
"PAISA",
"SANDCLOCK",
"ACCOUNT_SETTINGS_MOBILE",
"GOOGLE_VOICE",
"WING_MARKETPLACE",
"CHIME",
"LIFESCIENCE_FRONTENDS",
"WYLO_TODAY",
"NAKSHA_CONSUMER",
"ENTERPRISE_ENROLLMENT",
"IMPROV",
"TRANSLATE",
"SOCIAL_ENGAGE",
"CORPCAM",
"ANDROID_CONTACTS",
"CURATOR",
"TRAVEL_BOOKING",
"SOCIAL_DISCOVERY",
"GPOST",
"PAIDTASKS",
"PRIMER",
"LOCAL_DISCOVERY",
"BASELINE",
"QUARTZ",
"DPANEL",
"TRIPS",
"HOME_SERVICES",
"SOCIALGOOD",
"LOUPE",
"UGC_LIVE_COMMENTS",
"FAMILY_LINK",
"G3DOC",
"MOMA",
"DASHER_ADMIN_CONSOLE",
"DASHER_COMMERCE_CONSOLE",
"TRAVEL_VACATIONS",
"TRENDS",
"TASKS",
"VIMES",
"SECURITY_EVENT_MANAGER",
"VR_EVA",
"MINDSEARCH",
"MINDSEARCH_ADMIN",
"ANDROID_AUTO",
"CLOUDCAST_TEXTCHAT",
"APPS_ASSISTANT_OVERLAY",
"SEARCH_CONSOLE",
"CHROME_WEB_STORE",
"SAVE",
"FOOD_ORDERING",
"SOCIAL_RECOVERY",
"ANDROID_ONBOARD_WEB",
"WEAR_HOME",
"FACT_CHECK_EXPLORER",
"ALLO",
"FAMILY_LINK_HELPER",
"PROXY_GAL_PROVIDER",
"ONEGOOGLE",
"ONEGOOGLE_ASYNC",
"WICKED",
"SHEETS",
"SLIDES",
"ASSISTANT_EXPLORE_WEB",
"ASSISTANT_SETTINGS_WEB_UI",
"ANDROID_DIALER",
"KLOPFKLOPF",
"LAGEPLAN",
"SCIENCE_JOURNAL",
"HIRE",
"ZANDRIA",
"DASHER_RESELLER_FRONTEND",
"ZOOMSIGHTS",
"UGC_LIVE_COMMENTS_TAKEOUT",
"GUARDIAN",
"GUARDIAN_CORP",
"GOOGLE_MY_BUSINESS",
"PRESTO_ALP",
"PRESTO_FE",
"KIDS_HOME",
"OPA",
"SUBSCRIBEWITHGOOGLE_CLIENT",
"REVEAL",
"ANDROID_NATIVE_ONBOARDING",
"AMP_ACTIONS",
"SPOT",
"MEDICAL_SCRIBE",
"MEDICAL_SCRIBE_TASKING",
"DASHER_RULES_FRONTEND",
"ANDROID_TV_LAUNCHERX",
"ANDROID_TV_SETUP_WIZARD",
"SOS_LIVE_COMMENTS",
"GMAIL_LOCKER_UI",
"POLYGLOT",
"PLX",
"GROUPS_UI",
"MSV",
"WOLVERINE",
"MIC",
"FORMS",
"ARCORE",
"ANDROID_EMERGENCY",
"LENSLET",
"MEDICAL_LABELING",
"G_SUITE_ADD_ONS",
"LOCATION_HISTORY_CONSENT_ANDROID_LIBRARY",
"PAYMENTS_WEB_5",
"APPS_PLATFORM_CONSOLE",
"INTROSPECT",
"NGA",
"SUPPLY_CHAIN_HW_CHP2",
"DUC_COMPANION",
"AUTOMON",
"TV_LIVE_COMMENTS",
"GUP_PEEPS",
"FOCUS_SYNC_ADAPTER_V1",
"NOVA",
"NOVA_STAGING",
"DASHER_DATA_CLASSIFICATION_FRONTEND",
"GOOGLE_ADMIN",
"MESSAGE_PROCESSOR",
"EMAIL_PROCESSOR",
"ENGAGE_PIPELINE",
"AUTO_DOC_PROBER",
"DOC_PROBER",
"FRAMES_DELETE_SYNC",
"EMBEDS_MIGRATION",
"SOCIAL_REVIEWS_SYNC",
"GUNS",
"POSTBOX_ONEOFF",
"PLUS_API_ONEOFF",
"STANZA_ACTIVITY_POST_DELETE_SYNC",
"GRAPH_PROBER",
"STANZA_PERIODIC",
"MADISON_PERIODIC",
"PAPYRUS_PERIODIC",
"PHOTOS_BACKEND",
"REDBOX_BACKEND",
"PHOTOS_FIFE",
"ABUSEIAM",
"ARES",
"STREAM_INDEXING",
"STANZA_INDEXING",
"STANZA",
"STANZA_MOONSHINE_INDEXING",
"STREAM_ACTIONS",
"STREAM_CONFIG",
"STREAM_SERVICE",
"STREAM_DELETE",
"KWYJIBO",
"STANZA_TEST",
"TEST_APPLICATION",
"SOCIAL_ANNOTATION_SERVICE",
"ANNOTATION_SERVICE_STANZA_LISTENER",
"SBE_PLAYGROUND",
"EXPO",
"ANDROID_VR_HOME",
"YOUTUBE_BLARNEY_STONE",
"SOCIAL_EVENTS",
"EMERGENCY_ASSIST",
"ADS_INTEGRITY_ENFORCER",
"ADS_INTEGRITY_ENFORCEMENT_MANAGER",
"ADS_INTEGRITY_EXPLORER",
"ADS_INTEGRITY_REVIEWER",
"GPLUS_COLLEXION_PIPELINE",
"GPLUS_OFFLINE",
"PAPYRUS",
"YOUTUBE_ADMIN",
"YOUTUBE_ADMIN_REVIEW_QUEUE_PACING",
"YOUTUBE_DECIDER",
"YOUTUBE_TNS_ACTION",
"YOUTUBE_EXTERNAL_LINKS",
"FOCUS_BACKEND_BATCH",
"TEAMSPACES",
"ASSISTANT_OPA",
"TRASNLATION_MEMORY_MANAGER",
"THREADIT",
"RESOURCE_SYMPHONY",
"L10N_INFRA_SHARED",
"WORK_TRACKER",
"ARIANE",
"COLAB_INTERNAL",
"COLAB_EXTERNAL",
"TALENT_GROW",
"ROCKET_LABS",
"MY_GOOGLE_FAMILIES",
"DATA_STUDIO",
"LEGAL_CONTRACTS",
"BRIEF",
"HARDWARE_MFG_DATA_VENUS",
"BETTERBUG",
"DCMS",
"PLAY_BOOKS_PUBENG",
"YAQS",
"PROSPER",
"CAMPAIGN_AUTOMATION_TOOL",
"DEPRECATED_QUICKSTART_FLUME",
"DUO_CLIENT",
"ALBERT",
"PEOPLE_PLAYGROUND",
"GPLUS_POST_RECOMMENDER",
"IMAGES",
"GOOGLE_STORE",
"GCONNECT_MUSTARD",
"MADDEN",
"MOBDOG",
"GBOARD",
"RECORDER",
"UNMAPPED_LEGACY_GPLUS_SOURCE",
"PODIUM",
"GSA_FUSE",
"HONEYPHISH",
"SOCIAL_ANNOTATION_SERVICE_BACKFILL",
"CONTACT_HR",
"PAISA_WANDER",
"NEXTGENRETAIL_SELF_ORDER",
"UNSET_APPLICATION",
"UNKNOWN_FIRST_PARTY_APPLICATION",
"WABEL",
"VIDEO_HANGOUT",
"VIDEO_HANGOUT_LITE",
"VIDEO_HANGOUT_GVC",
"VIDEO_HANGOUT_PRESENT",
"VIDEO_HANGOUT_HOA",
"VIDEO_HANGOUT_TEE",
"VIDEO_HANGOUT_SDK",
"VIDEO_HANGOUT_ENVOY",
"BABEL",
"BABEL_NOVA",
"WABEL_MEDIACALL",
"HANGOUT_START_PAGE",
"EXPRESS_LANE",
"MEETINGS_ANDROID",
"EXPRESS_LANE_BOQ",
"RTC_FLEET_MGMT",
"STAX",
"RIGEL",
"PHOTOS_SCANNER",
"PHOTOS_LIBRARY_API",
"PHOTOS_PARTNER_API",
"VAULT",
"PROF",
"TOTAL",
"TOTAL_ZERO_PARTY",
"TOTAL_FIRST_PARTY",
"TOTAL_THIRD_PARTY",
"TOTAL_INTERNAL",
"TOTAL_UNKNOWN",
"TOTAL_MINUS_YOUTUBE",
"TOTAL_FIRST_PARTY_WITH_PRIMARY_INTENT_TO_SHARE_TO_GPLUS",
"TOTAL_FIRST_PARTY_WITH_SECONDARY_INTENT_TO_SHARE_TO_GPLUS",
"TOTAL_GPLUS",
"TOTAL_SOCIAL_APPS",
"CROWD_COMPUTE",
"KHAZANA",
"LIGHTER_GMM",
"LIGHTER_GMB",
"MYACTIVITY",
"BLOG_COMPASS",
"CONCORD",
"NAVSTAR",
"SETTINGS_INTELLIGENCE",
"TOPAZ_TEAMS",
"GEMAGENT",
"DUMBLEDORE",
"GOOGLE_ONE",
"NBU_GCONNECT_KIMCHI",
"FASTDASH",
"AQUARIUS_LAPIS",
"DASHER_REPORTING",
"GCONNECT_PICARD",
"GOOGLE_JACQUARD",
"GOOGLE_GO",
"BUGANIZER",
"DOCOS_MENTIONS",
"TRIX_WAFFLE",
"SHARE_SERVICE",
"ANDROID_SAFETY",
"CLOUDCAST_TEXTCHAT_TAKEOUT",
"ASSISTANT_GO",
"FLOURISH",
"ALECS",
"NANDHI",
"GOOGLE_RECORDER",
"CONTACT_STORE",
"PROFILE_CARD",
"ESPRESSO",
"PEOPLE_COMPANION",
"PHOTOS_GO",
"YETI",
"BLOOM",
"FIELD_OFFICER",
"URBAN_MOBILITY",
"FAMILYCARE",
"INTUITIVE_PLATFORM",
"NBU_CRICKET_WORLD_CUP",
"INTEGRATION_PLATFORM",
"CROS_SCALING_STAGING",
"CROS_SCALING_PROD",
"ASSISTANT_PROACTIVE_SUGGESTIONS",
"PRIVACY_ONE",
"PAISA_MERCHANT",
"ASSISTJS",
"TRAVEL_HOTELIER",
"PHOTOS_KINDYGRAM",
"ANDROID_MESSAGES",
"TRAVEL_HOTEL_EDITOR",
"VISTAAR",
"VISTAAR_DEV",
"GSUITE_GROWTH",
"ELDAR",
"GMB_ANDROID",
"SHOPPING_LIST",
"EARTH",
"PAISA_CREDIT_INSTANT_LOAN",
"ASSISTANT_GO_WEB",
"SHOWTIME_EVENTS",
"KONARK",
"EXO_REFSERVER",
"MONITORING_PLATFORM",
"AUTOCAP",
"PAYMENTS_ORCHESTRATION",
"GMB_IOS",
"ASSISTANT_KAIOS",
"ADMOB_MOBILE",
"SCREENERS",
"MILTON",
"GHIRE",
"TRANSLATE_COMMUNITY_UI",
"ROAD_MAPPER",
"NEST",
"ROLLOUTS_UI",
"SHOPPING_PROPERTY",
"SHOPPING_PROPERTY_NONPROD",
"PAYMENTS_MERCHANT_VERTICALS_GAS",
"PAISA_MOVIES",
"HUB_CALL",
"WAYMO_SIMULATION_RESULTS",
"GSUITE_WORKFLOWS",
"FINANCE_WORKFLOWS",
"PAYMENTS_MERCHANT_VERTICALS_PARKING_UI",
"TRAVEL",
"GABBLE",
"APPS_EDU",
"MYFI",
"CHOMCHOM",
"ASSISTANT_TOOLCHAIN",
"YOUTUBE_ANSIBLE",
"YOUTUBE_CI_KAPLA",
"GANTRY",
"PAYMENTS_MERCHANT_CONSOLE",
"SPLINTER",
"KINTARO",
"MDM_ADMIN_CONSOLE",
"PAYMENTS_CONSUMER_CORE",
"INCIDENT_MANAGEMENT",
"ONEGOOGLE_MOBILE",
"ANURA",
"FINANCE_FGC",
"PODCASTS_MANAGER",
"FILES",
"YOUTUBE_POST_API",
"GSUITE_HUB",
"TV_LAUNCHER",
"PAIDTASKS_FRONTEND",
"ONE_REVIEWER_TOOL",
"MEET_QUALITY_TOOL",
"TRAVEL_PLANNING",
"MEET",
"PAISA_FOOD",
"TINYTASK_TASKER",
"FIELDOFFICER",
"LENS_WEB",
"HERALD",
"PAISA_MICROAPPS_WEB",
"BUG_OBSERVER",
"ATLAS",
"DHARMA",
"SNIPIT",
"PREMIUM_ASSISTANT",
"ONEREVIEWERTOOL",
"CORONADO",
"SYSTEM1",
"PUMICE",
"BACKLIGHT",
"GLOSSARY_MANAGER",
"UPGRADEPARTY",
"ONEDEV_WORKFLOW",
"AVALANCHE",
"KORMO_SEEKER",
"ASSISTANT_PROFILE_YOURPEOPLE",
"SMART_DISPLAY_WEB",
"DESKBOOKING",
"PAYMENTS_MERCHANT_VERTICALS_FOOD",
"VALUABLES_MERCHANT_CENTER",
"OFFSEC",
"SCHEDULE",
"PAISA_SOCIAL_CAMPAIGNS",
"WORDFLOW",
"HEALTH_PLANFORCARE",
"DEEPMIND_ALPHASCHEDULE",
"HOOLICHAT_UI",
"YOUTUBE_CREATOR_STUDIO",
"BRICKS",
"PAYMENTS_MERCHANT_DATA_BUSINESS_INSIGHT",
"RECALL",
"NEST_GREENENERGY",
"FRAP",
"PAYMENTS_MERCHANT_VERTICALS_GROCERY",
"REVIEWS_WIDGET_API",
"INCIDENTFLOW",
"AREA120_PROMODAY",
"PINPOINT",
"TRANSCONSOLE",
"MARKETPLACE",
"SPORK"
]
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupCountryCodeResponse": {
"type": "object",
"description": "The server responds to the client who sent GetGroupRegionRequest.",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"groupIds": {
"type": "array",
"description": "group_ids have their country code filled",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
}
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupCountryCodeResponse"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PublicPreKeySet": {
"description": "Set of public keys for a given protocol version.",
"properties": {
"version": {
"description": "Protocol version for these prekeys.",
"format": "int32",
"type": "integer"
},
"preKeys": {
"type": "array",
"description": "A list of one time unsigned prekeys. Replenished as needed.",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PreKey"
}
},
"signedPreKey": {
"description": "A medium-term prekey signed by the identity key. Rotated on a periodic timed basis.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PreKey"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PublicPreKeySet"
},
"InstantmessagingPaSocialGraphApiProtoSearchProfileEntity": {
"type": "object",
"id": "InstantmessagingPaSocialGraphApiProtoSearchProfileEntity",
"description": "This proto represents either a KG-entity, as represented by it's MID, or free-string text.",
"properties": {
"name": {
"type": "array",
"items": {
"type": "string"
},
"description": "Custom name of entity if there is no corresponding place/entity in KG (mid)"
},
"countryCode": {
"type": "string",
"description": "Corresponding country code. Refer to go/people-search-dashboard for code list."
},
"entity": {
"type": "string",
"description": "Corresponding mid in KG."
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetICEServerResponse": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetICEServerResponse",
"type": "object",
"properties": {
"iceConfig": {
"description": "The ice server configuration to use.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ICEConfiguration"
},
"header": {
"description": "header is the response header",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"server": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ICEServer",
"description": "DEPRECATED: Ice server configuration to use. This contains a limited subset of ice_config, use ice_config instead."
},
"iceTransportPolicy": {
"enum": [
"UNKNOWN",
"ALL",
"RELAY"
],
"description": "DEPRECATED: The recommended ICE transport policy to use in the RTC configuration. This contains a limited subset of ice_config, use ice_config instead.",
"type": "string",
"enumDescriptions": [
"ICE transport policy is unspecified.",
"The ICE Agent may use any type of candidate.",
"The ICE Agent must only use media relay candidates such as candidates passing through a TURN server."
]
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiLegacyFields": {
"properties": {
"mobileOwnerId": {
"type": "string",
"description": "Mobile obfuscated gaia id. This is the same gaia id in metadata.owner_id, but obfuscated with the legacy mobile obfuscator."
}
},
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiLegacyFields",
"description": "Fields used in legacy applications. Useful for joining legacy and new data streams. Most applications should not care about these fields."
},
"InstantmessagingPaCommerceBizbuilderMessagingProtoBridgeClientMetadata": {
"description": "Used for passing metadata in CreateBridgeResponse.bridge_client_metadata. When creating a bridge we need to pass the listing_id to the client as metadata for filtering listings on the client.",
"type": "object",
"id": "InstantmessagingPaCommerceBizbuilderMessagingProtoBridgeClientMetadata",
"properties": {
"listingId": {
"format": "int64",
"description": "64bit integers can not be fully handled in JavaScript integer. jstype=STRING losslessly converts it to String.",
"type": "string"
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiClientData": {
"description": "Arbitrary client data that is populated based on the client",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiClientData",
"type": "object",
"properties": {
"namespace": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {
"type": "string"
},
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Fingerprint": {
"type": "object",
"description": "x509 certificate fingerprint used to identify a sender or receiver. See https://tools.ietf.org/html/draft-ietf-rtcweb-security-arch-13 and https://tools.ietf.org/html/rfc4572",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Fingerprint",
"properties": {
"algorithm": {
"type": "string",
"enum": [
"UNKNOWN",
"MD5",
"SHA_1",
"SHA_224",
"SHA_256",
"SHA_384",
"SHA_512"
],
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
""
]
},
"fingerprint": {
"type": "string",
"format": "byte"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1JoinGroupCallResponse": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1JoinGroupCallResponse",
"properties": {
"joinedClients": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GroupCallClientInfo"
},
"description": "The clients that has joined the call at the time when I joined the call.",
"type": "array"
},
"inconsistentSessionExperiments": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1InconsistentSessionExperiment"
},
"description": "Inconsistent session experiments"
},
"groupCallSessionId": {
"description": "The true session ID of the call, which identifies a single call session within the group. This should only be used for logging and analytics. In some race conditions, such as two clients joining at the same time, this may differ from the session ID sent in the request. Clients should start logging with this new ID instead.",
"type": "string"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"txnTimestampUsec": {
"type": "string",
"format": "int64",
"description": "txn_timestamp_usec is the timestamp when JoinGroupCallRequest transaction committed."
},
"callSessionExperiments": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CallSessionExperiments",
"description": "Call session experiments"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ClientInfo": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ClientInfo",
"properties": {
"appVersion": {
"type": "string",
"description": "The APK version name (e.g. \"4.0.006_RC2\"). Fireball Android sends down the version code in the above major field and leaves minor and point empty. The code results in a version that is tough to decipher like \"20011296.0.0\". The version name here is formatted to make versioning easier and safer on the server. Currently, this field is only populated by Fireball Android. See go/fireball-gbot-version."
},
"apiVersion": {
"description": "api_version identifies what api_version the client was built against. This is used by server to: - push warning messages to clients during bind - fail RPCs if client is using a too old version - add backwards compatible code",
"enum": [
"UNKNOWN",
"V1",
"V2",
"V3",
"V4"
],
"enumDescriptions": [
"",
"Initial version.",
"RequestHeaders and AuthToken only.",
"Block leaked playstore APKs.",
"InboxMessage.message bytes are used."
],
"type": "string"
},
"node": {
"type": "string",
"enum": [
"UNKNOWN",
"COLLIDER",
"CLIENT",
"CLEARCUT",
"ENTANGLER",
"DISTRIBUTOR",
"GENERATOR",
"EXTRACTOR",
"CONDENSER",
"SUGGESTER",
"FIREBALL_ANDROID_CLIENT",
"FIREBALL_IOS_CLIENT",
"TACHYON_ANDROID_CLIENT",
"TACHYON_IOS_CLIENT",
"AUDIOWEAR_ANDROID_CLIENT",
"AUDIOWEAR_IOS_CLIENT",
"IRRADIATOR",
"EXCITER",
"MATCHSTICK_ANDROID_CLIENT",
"COLLIDER_PUSHER",
"GCM",
"APNS_PROXY",
"BOT_ROUTER",
"USERDATA",
"JANITOR",
"TEXTER",
"CAP_SMS_RECEIVER",
"TACHYON_PROBER_CLIENT",
"SMS_RELAY",
"MATCHSTICK",
"MATCHBOX",
"COLLIDER_RECEIVER",
"SPAM",
"IRRADIATOR_RECEIVER",
"CLEANER_QUEUERECEIVER",
"MATCHSTICK_PROXY",
"MICRO_MACHINE_PROXY",
"INTERNAL_CONDENSER",
"DUO_API_SERVICE",
"FIREBALL_DESKTOP_CLIENT",
"IRRADIATOR_ABUSE",
"IRRADIATOR_BOTS",
"IRRADIATOR_CONVERSATION",
"IRRADIATOR_FIREBALL",
"IRRADIATOR_GROUP",
"IRRADIATOR_MESSAGING",
"IRRADIATOR_PAIRING",
"IRRADIATOR_PEERTOPEER",
"IRRADIATOR_REGISTRATION",
"IRRADIATOR_USERDATA",
"IRRADIATOR_SMARTMESSAGING",
"SPAM_USER_DATA",
"DUO_DESKTOP_CLIENT",
"DUO_GOOGLE_HOME_CLIENT",
"DUO_WEB_CLIENT",
"DUOCORE_CLIENT",
"IRRADIATOR_REGISTRATION_INTERNAL_SERVICE",
"IRRADIATOR_GROUP_CALLING",
"GLUON",
"IRRADIATOR_SCOTTY_AGENT",
"COLLIDER_RCS_UNREGISTERED_RETRY",
"IRRADIATOR_USERDATA_INTERNAL",
"LIGHTER_FRONTEND_SERVICE",
"LIGHTER_BACKEND_SERVICE",
"MANUAL_SPAM_JOB",
"LIGHTER_ANDROID_CLIENT",
"LIGHTER_IOS_CLIENT",
"GAIA_CONTACTS_QUEUE_RECEIVER",
"CLEANER",
"COLLLIDER_SERVER_DELIVERY_SERVICE",
"EXTERNAL_SERVER",
"CLEANER_QUEUE_RECEIVER",
"IRRADIATOR_DUO_GROUP_CALLING",
"IRRADIATOR_KEY_TRANSPARENCY",
"CHROMOTING_ANDROID_CLIENT",
"CHROMOTING_IOS_CLIENT",
"CHROMOTING_WEB_CLIENT",
"CHROMOTING_HOST",
"IRRADIATOR_DUO_REGISTRATION",
"WHITEPAGES_QUEUE_RECEIVER",
"CHIME",
"LIGHTER_ADMIN_SERVICE",
"USERDATA_PUBSUB_ENDPOINT",
"MESSAGES_MULTI_DEVICE",
"DUO_NOTIFICATION",
"SPAM_FRONT_END",
"CLEANER_BLOBGC_QUEUE_RECEIVER",
"IRRADIATOR_MEDIA_SERVICE",
"CARD_CACHING_SERVER",
"DUBNIUM_SERVER",
"PLATINUM_SERVER",
"SPINEL_SERVER",
"RCS_ANDROID_CLIENT",
"USER_DATA_GAIA_LISTENER",
"IRRADIATOR_DUO",
"SPANNER",
"COMMS_SUITE",
"HOME_ENTERPRISE_SERVER",
"RCS_USAGE_SERVICE",
"IRRADIATOR_RCS_USAGE_SERVICE",
"DUO_ACCOUNT_CHANGE_LISTENER",
"USERDATA_QUEUE_RECEIVER",
"DISTRIBUTOR_FAN_OUT_QUEUE_RECEIVER",
"SPINEL",
"TACHYGRAM_SERVICE",
"DATA_DONATION_SERVICE",
"GAIA_WIPEOUT_NOTIFIER",
"PUBSUB",
"TACHYON_CUSTOM_PROBER",
"NUMBERER",
"ASSISTANT",
"ARES",
"BLOBSTORE",
"GFE_ESF",
"URANIUM_SERVER",
"LIGHTER_BACKEND",
"LIGHTER_FRONTEND",
"SUNSTONE",
"TACHYGRAM_ACTION_QUEUE_RECEIVER",
"IRRADIATOR_MESSAGING_INTERNAL",
"IRRADIATOR_POSTMAN",
"CDPUSH",
"GEO_MERCHANT_MESSAGING_SERVICE",
"IRRADIATOR_CLIENT_BIND",
"MOBILE_IDENTITY",
"RCS_CARRIER_NNI_QUEUE_RECEIVER",
"RCS_CARRIER_CONFIG",
"RCS_CARRIER_NNI_SERVICE",
"IRRADIATOR_GROUP_INTERNAL"
],
"enumDescriptions": [
"",
"",
"A client if we do not know which one below.",
"",
"HTTP connection server",
"group server",
"registration server",
"bot server, deprecated.",
"media server",
"smart suggestion server",
"",
"",
"",
"",
"",
"",
"gRPC connection server",
"Fireball's iOS push notification server",
"",
"Internal RPC node for Collider to push message.",
"GCM server to send GCM tickle to Android device.",
"Google's APNs Proxy that talks to Apple's Push",
"Notification Service. CAP bot router.",
"Profile, blocking and contact list service.",
"Data maintenance service.",
"Gate between Tachyon and GTP SMS RELAY Service.",
"SMS receiver for CAP. Only used for Target Only",
"Numbers. Tachyon prober.",
"GTP SMS RELAY Service to send and receive",
"SMS messages. Matchstick internal server that handles",
"logic specific to Matchstick Client. Matchbox Server exposes App Preview Messaging",
"API to 3P/1P applications to be able to send messages to Matchstick users. Collider implementation of the MessageReceiver",
"service. spam is a node which classifies spam, and",
"provides enforcement mechanisms. Irradiator implementation of the",
"MessageReceiver service. Janitor queue receiver.",
"Matchstick Proxy that routes the rpcs from",
"matchstick and matchbox clients to IM or Matchstick servers correspondingly. Micro machine proxy routes the rpcs to micro",
"machine service. Internal Condenser Scotty Agent node.",
"Public Duo service node - go/truecaller-duo-reachability",
"",
"Irradiator - Abuse frontend",
"Irradiator - Bots frontend",
"Irradiator - Conversation frontend",
"Irradiator - Fireball frontend",
"Irradiator - Group frontend",
"Irradiator - Messaging frontend",
"Irradiator - Pairing frontend",
"Irradiator - Peer to peer frontend",
"Irradiator - Registration frontend",
"Irradiator - Userdata frontend",
"Irradiator - Smart messaging frontend",
"Spam User Data Node",
"",
"",
"",
"Client implemented by DuoCore/TaCL, on any platform",
"Irradiator - Internal",
"registration services Irradiator - Group calling frontend",
"",
"Irradiator - scotty agent",
"Collider implementation of the PushQueueReceiver",
"Irradiator - Internal",
"Lighter Frontend Service Node.",
"Lighter Backend Service Node.",
"Manual Spam Job",
"Lighter Android client node.",
"Lighter iOS client node.",
"Queue receiver for gaia contacts in",
"Cleaner node.",
"Service to deliver message to external server. See: go/tachyon_server_delivery",
"External server Tachyon delivers message to.",
"Cleaner queue receiver.",
"Irradiator - Duo group call frontend",
"Irradiator - Key Transparency frontend",
"Chrome Remote Desktop endpoints.",
"",
"",
"",
"",
"Queue Receiver for syncing Tachyon accounts with Whitepages.",
"Notification platform - go/chime",
"Lighter Backend Admin Service (internal) Node.",
"",
"Android Messages MultiDevice node",
"Internal RPC node called by Exciter for Duo",
"Spam front end node",
"Cleaner queue receiver for deleting media blobs.",
"Media Service in Irradiator.",
"Card Caching Server used by Assistant in Messages.",
"Jibe servers.",
"",
"",
"Bugle RCS client",
"Gaia Listener for Gaia user state change events.",
"Irradiator DuoService for Duo-specific RPCs.",
"",
"",
"",
"RCS Usage Service",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"Geo Merchant (GMB) Messaging Service Node.",
"",
"",
"",
"",
"",
""
],
"description": "node is the client's node type for cross stack logging. For example, Fireball Android client should set this to FIREBALL_ANDROID_CLIENT. To be deprecated after all clients populate platform_type. This will still be used by Tachyon backend internal requests."
},
"androidChannel": {
"type": "string",
"enum": [
"ANDROID_CHANNEL_UNKNOWN",
"ANDROID_CHANNEL_DEV",
"ANDROID_CHANNEL_ALPHA",
"ANDROID_CHANNEL_BETA",
"ANDROID_CHANNEL_GAMMA",
"ANDROID_CHANNEL_PROD"
],
"enumDescriptions": [
"",
"",
"",
"",
"",
""
]
},
"webChannel": {
"type": "string",
"enum": [
"WEB_CHANNEL_UNKNOWN",
"WEB_CHANNEL_DEV",
"WEB_CHANNEL_AUTOPUSH",
"WEB_CHANNEL_STAGING",
"WEB_CHANNEL_PREPROD",
"WEB_CHANNEL_PROD"
],
"enumDescriptions": [
"",
"",
"",
"",
"",
""
]
},
"iosChannel": {
"type": "string",
"enum": [
"UNKNOWN",
"DEV",
"DAILY",
"DOGFOOD",
"RC",
"PROD",
"TESTFLIGHT"
],
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
""
]
},
"minor": {
"type": "integer",
"format": "int32"
},
"major": {
"format": "int32",
"description": "major, minor, point and details carry version information from client.",
"type": "integer"
},
"previousNode": {
"type": "string",
"enum": [
"UNKNOWN",
"COLLIDER",
"CLIENT",
"CLEARCUT",
"ENTANGLER",
"DISTRIBUTOR",
"GENERATOR",
"EXTRACTOR",
"CONDENSER",
"SUGGESTER",
"FIREBALL_ANDROID_CLIENT",
"FIREBALL_IOS_CLIENT",
"TACHYON_ANDROID_CLIENT",
"TACHYON_IOS_CLIENT",
"AUDIOWEAR_ANDROID_CLIENT",
"AUDIOWEAR_IOS_CLIENT",
"IRRADIATOR",
"EXCITER",
"MATCHSTICK_ANDROID_CLIENT",
"COLLIDER_PUSHER",
"GCM",
"APNS_PROXY",
"BOT_ROUTER",
"USERDATA",
"JANITOR",
"TEXTER",
"CAP_SMS_RECEIVER",
"TACHYON_PROBER_CLIENT",
"SMS_RELAY",
"MATCHSTICK",
"MATCHBOX",
"COLLIDER_RECEIVER",
"SPAM",
"IRRADIATOR_RECEIVER",
"CLEANER_QUEUERECEIVER",
"MATCHSTICK_PROXY",
"MICRO_MACHINE_PROXY",
"INTERNAL_CONDENSER",
"DUO_API_SERVICE",
"FIREBALL_DESKTOP_CLIENT",
"IRRADIATOR_ABUSE",
"IRRADIATOR_BOTS",
"IRRADIATOR_CONVERSATION",
"IRRADIATOR_FIREBALL",
"IRRADIATOR_GROUP",
"IRRADIATOR_MESSAGING",
"IRRADIATOR_PAIRING",
"IRRADIATOR_PEERTOPEER",
"IRRADIATOR_REGISTRATION",
"IRRADIATOR_USERDATA",
"IRRADIATOR_SMARTMESSAGING",
"SPAM_USER_DATA",
"DUO_DESKTOP_CLIENT",
"DUO_GOOGLE_HOME_CLIENT",
"DUO_WEB_CLIENT",
"DUOCORE_CLIENT",
"IRRADIATOR_REGISTRATION_INTERNAL_SERVICE",
"IRRADIATOR_GROUP_CALLING",
"GLUON",
"IRRADIATOR_SCOTTY_AGENT",
"COLLIDER_RCS_UNREGISTERED_RETRY",
"IRRADIATOR_USERDATA_INTERNAL",
"LIGHTER_FRONTEND_SERVICE",
"LIGHTER_BACKEND_SERVICE",
"MANUAL_SPAM_JOB",
"LIGHTER_ANDROID_CLIENT",
"LIGHTER_IOS_CLIENT",
"GAIA_CONTACTS_QUEUE_RECEIVER",
"CLEANER",
"COLLLIDER_SERVER_DELIVERY_SERVICE",
"EXTERNAL_SERVER",
"CLEANER_QUEUE_RECEIVER",
"IRRADIATOR_DUO_GROUP_CALLING",
"IRRADIATOR_KEY_TRANSPARENCY",
"CHROMOTING_ANDROID_CLIENT",
"CHROMOTING_IOS_CLIENT",
"CHROMOTING_WEB_CLIENT",
"CHROMOTING_HOST",
"IRRADIATOR_DUO_REGISTRATION",
"WHITEPAGES_QUEUE_RECEIVER",
"CHIME",
"LIGHTER_ADMIN_SERVICE",
"USERDATA_PUBSUB_ENDPOINT",
"MESSAGES_MULTI_DEVICE",
"DUO_NOTIFICATION",
"SPAM_FRONT_END",
"CLEANER_BLOBGC_QUEUE_RECEIVER",
"IRRADIATOR_MEDIA_SERVICE",
"CARD_CACHING_SERVER",
"DUBNIUM_SERVER",
"PLATINUM_SERVER",
"SPINEL_SERVER",
"RCS_ANDROID_CLIENT",
"USER_DATA_GAIA_LISTENER",
"IRRADIATOR_DUO",
"SPANNER",
"COMMS_SUITE",
"HOME_ENTERPRISE_SERVER",
"RCS_USAGE_SERVICE",
"IRRADIATOR_RCS_USAGE_SERVICE",
"DUO_ACCOUNT_CHANGE_LISTENER",
"USERDATA_QUEUE_RECEIVER",
"DISTRIBUTOR_FAN_OUT_QUEUE_RECEIVER",
"SPINEL",
"TACHYGRAM_SERVICE",
"DATA_DONATION_SERVICE",
"GAIA_WIPEOUT_NOTIFIER",
"PUBSUB",
"TACHYON_CUSTOM_PROBER",
"NUMBERER",
"ASSISTANT",
"ARES",
"BLOBSTORE",
"GFE_ESF",
"URANIUM_SERVER",
"LIGHTER_BACKEND",
"LIGHTER_FRONTEND",
"SUNSTONE",
"TACHYGRAM_ACTION_QUEUE_RECEIVER",
"IRRADIATOR_MESSAGING_INTERNAL",
"IRRADIATOR_POSTMAN",
"CDPUSH",
"GEO_MERCHANT_MESSAGING_SERVICE",
"IRRADIATOR_CLIENT_BIND",
"MOBILE_IDENTITY",
"RCS_CARRIER_NNI_QUEUE_RECEIVER",
"RCS_CARRIER_CONFIG",
"RCS_CARRIER_NNI_SERVICE",
"IRRADIATOR_GROUP_INTERNAL"
],
"enumDescriptions": [
"",
"",
"A client if we do not know which one below.",
"",
"HTTP connection server",
"group server",
"registration server",
"bot server, deprecated.",
"media server",
"smart suggestion server",
"",
"",
"",
"",
"",
"",
"gRPC connection server",
"Fireball's iOS push notification server",
"",
"Internal RPC node for Collider to push message.",
"GCM server to send GCM tickle to Android device.",
"Google's APNs Proxy that talks to Apple's Push",
"Notification Service. CAP bot router.",
"Profile, blocking and contact list service.",
"Data maintenance service.",
"Gate between Tachyon and GTP SMS RELAY Service.",
"SMS receiver for CAP. Only used for Target Only",
"Numbers. Tachyon prober.",
"GTP SMS RELAY Service to send and receive",
"SMS messages. Matchstick internal server that handles",
"logic specific to Matchstick Client. Matchbox Server exposes App Preview Messaging",
"API to 3P/1P applications to be able to send messages to Matchstick users. Collider implementation of the MessageReceiver",
"service. spam is a node which classifies spam, and",
"provides enforcement mechanisms. Irradiator implementation of the",
"MessageReceiver service. Janitor queue receiver.",
"Matchstick Proxy that routes the rpcs from",
"matchstick and matchbox clients to IM or Matchstick servers correspondingly. Micro machine proxy routes the rpcs to micro",
"machine service. Internal Condenser Scotty Agent node.",
"Public Duo service node - go/truecaller-duo-reachability",
"",
"Irradiator - Abuse frontend",
"Irradiator - Bots frontend",
"Irradiator - Conversation frontend",
"Irradiator - Fireball frontend",
"Irradiator - Group frontend",
"Irradiator - Messaging frontend",
"Irradiator - Pairing frontend",
"Irradiator - Peer to peer frontend",
"Irradiator - Registration frontend",
"Irradiator - Userdata frontend",
"Irradiator - Smart messaging frontend",
"Spam User Data Node",
"",
"",
"",
"Client implemented by DuoCore/TaCL, on any platform",
"Irradiator - Internal",
"registration services Irradiator - Group calling frontend",
"",
"Irradiator - scotty agent",
"Collider implementation of the PushQueueReceiver",
"Irradiator - Internal",
"Lighter Frontend Service Node.",
"Lighter Backend Service Node.",
"Manual Spam Job",
"Lighter Android client node.",
"Lighter iOS client node.",
"Queue receiver for gaia contacts in",
"Cleaner node.",
"Service to deliver message to external server. See: go/tachyon_server_delivery",
"External server Tachyon delivers message to.",
"Cleaner queue receiver.",
"Irradiator - Duo group call frontend",
"Irradiator - Key Transparency frontend",
"Chrome Remote Desktop endpoints.",
"",
"",
"",
"",
"Queue Receiver for syncing Tachyon accounts with Whitepages.",
"Notification platform - go/chime",
"Lighter Backend Admin Service (internal) Node.",
"",
"Android Messages MultiDevice node",
"Internal RPC node called by Exciter for Duo",
"Spam front end node",
"Cleaner queue receiver for deleting media blobs.",
"Media Service in Irradiator.",
"Card Caching Server used by Assistant in Messages.",
"Jibe servers.",
"",
"",
"Bugle RCS client",
"Gaia Listener for Gaia user state change events.",
"Irradiator DuoService for Duo-specific RPCs.",
"",
"",
"",
"RCS Usage Service",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"Geo Merchant (GMB) Messaging Service Node.",
"",
"",
"",
"",
"",
""
],
"description": "When node is Distributor, previous_node preserves the node that the sender employed to get to distributor (in support of go/bmaapptype, b/33349510)."
},
"point": {
"type": "integer",
"format": "int32"
},
"platformType": {
"enumDescriptions": [
"",
"",
"",
"",
"",
"The request is from internal backend, e.g., Janitor spanner queue. We do not check versions for internal platform.",
"",
"Standalone web client.",
"",
"A device that sets up GOOGLE_HOME devices.",
"A web-based client (e.g. Fork of Firefox OS), which is designed for non-touch devices with modern capabilities, like 4G LTE, GPS, WiFi, and modern web standards support (HTML, CSS, JavaScript, all ran on Gecko).",
"The request is from a geo merchant backend pre-registering the merchant with tachyon. We do not check versions. go/geo-merchant-messaging-preregister"
],
"type": "string",
"description": "platform_type is the type of platform, used to construct user agent string and to determine client node type in logging.",
"enum": [
"UNKNOWN",
"ANDROID",
"IOS",
"PROBER",
"TEST",
"INTERNAL",
"DESKTOP",
"WEB",
"GOOGLE_HOME",
"GOOGLE_HOME_SETUP",
"KAIOS",
"GEO_MERCHANT_PLACE_HOLDER"
]
},
"carrier": {
"description": "Specific to RCS, this is the carrier id. Must be one of the values listed here: http://google3/communication/rcs/configuration/carrierconfig/prodspec_carrier_config.textproto",
"type": "string"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ApiVersionWarning": {
"properties": {
"grumbleAt": {
"enumDescriptions": [
"",
"Initial version.",
"RequestHeaders and AuthToken only.",
"Block leaked playstore APKs.",
"InboxMessage.message bytes are used."
],
"type": "string",
"description": "grumble_at is API version where the server starts to complain.",
"enum": [
"UNKNOWN",
"V1",
"V2",
"V3",
"V4"
]
},
"failAt": {
"enum": [
"UNKNOWN",
"V1",
"V2",
"V3",
"V4"
],
"type": "string",
"description": "fail_at is the API version where the server no longer accepts requests.",
"enumDescriptions": [
"",
"Initial version.",
"RequestHeaders and AuthToken only.",
"Block leaked playstore APKs.",
"InboxMessage.message bytes are used."
]
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ApiVersionWarning",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1VideoCodecCapability": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1VideoCodecCapability",
"properties": {
"role": {
"enum": [
"UNKNOWN_ROLE",
"DECODER",
"ENCODER"
],
"type": "string",
"enumDescriptions": [
"",
"",
""
]
},
"codec": {
"enumDescriptions": [
"",
"",
"8-bit I420.",
"{10, 12}-bit I420.",
"",
"",
"",
"",
""
],
"type": "string",
"enum": [
"UNKNOWN_TYPE",
"VP8",
"VP9",
"VP9_PROFILE2",
"H264",
"H264_CONSTRAINED_HIGH_PROFILE",
"HEVC",
"HEVC_FALLBACK",
"AV1"
]
},
"maxFps": {
"type": "integer",
"format": "int32"
},
"hardwareAccelerated": {
"type": "boolean"
},
"maxWidth": {
"format": "int32",
"type": "integer"
},
"maxHeight": {
"format": "int32",
"type": "integer"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ChangeGroupMemberRolePush": {
"description": "Upon ChangeGroupMemberRoleRequest, the server notifies other group members that the role of certain group members has changed.",
"type": "object",
"properties": {
"txnTimestampUsec": {
"type": "string",
"description": "txn_timestamp_usec is the timestamp, in microseconds since the epoch, when ChangeGroupMemberRoleRequest transaction committed.",
"format": "int64"
},
"groupInfo": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GroupInfo",
"description": "group_info includes group_id and profile name."
},
"requesterId": {
"description": "requester_id identifies the requester who sent ChangeGroupMembersRoleRequest.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"affectedUsers": {
"type": "array",
"description": "affected_members are members who were affected by the request.",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GroupMember"
}
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ChangeGroupMemberRolePush"
},
"InstantmessagingPaGoogleInternalAppsWaldoV1alphaOutOfOffice": {
"description": "The status indicating the user is out of office.",
"id": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaOutOfOffice",
"type": "object",
"properties": {
"eventSummary": {
"description": "The summary of the corresponding OOO block in Calendar. This is entered by the user, so we return it \"as is\" - no i18n.",
"type": "string"
},
"comeBackTime": {
"format": "google-datetime",
"description": "The closest time when the user will be available after this OOO block. This might be different from the end of the OOO block in Calendar, since the OOO block might end on Friday evening, and then the user is outside working hours.",
"type": "string"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddContactsPush": {
"properties": {
"entries": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DetailedContactEntry"
},
"type": "array",
"description": "Contact entries to be updated."
},
"txnTimestampUsec": {
"description": "The timestamp for the read / write transaction of the contact.",
"type": "string",
"format": "int64"
},
"source": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContactSource",
"description": "Source of the contact."
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddContactsPush",
"description": "Push message when some contacts have been added/updated on the server. Called when another client calls AddContacts or contacts have been updated / fetched from Focus backend for Gaia account. Notes: 1. The server will batch the updates into multiple AddContactsPush(s) in case of a large contact update. 2. A contact may be updated while a client is fetching pages of a contacts via GetContacts, in which case a GetContactsResponse may contain stale data. It is up to clients to process the GetContactsResponse and AddContactsPush/RemoveContactsPush/SetContactsPush(s) in the correct order and / or use txn_timestamps to resolve races."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeviceInfo": {
"type": "object",
"properties": {
"os": {
"type": "string",
"description": "The full OS of the device, e.g., 9.3.1 for iOS and google/angler/angler:6.0.1/MHC19I/2590160:user/release-keys for Android."
},
"hardware": {
"type": "string",
"description": "The hardware of the device, e.g., iPhone for iOS and qcom for Android."
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeviceInfo"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupInviteLinkDetailsRequest": {
"description": "Request to get invite link detailed info",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupInviteLinkDetailsRequest",
"type": "object",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"inviteLinkId": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1InviteLinkId"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DuoInviteTombstone": {
"type": "object",
"properties": {
"inviter": {
"description": "The tachyon ID of the person that's sending the Duo invite.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"inviterState": {
"type": "string",
"description": "Duo status of the inviter.",
"enum": [
"UNKNOWN",
"INSTALLED",
"NOT_INSTALLED"
],
"enumDescriptions": [
"",
"",
""
]
},
"inviteeState": {
"enumDescriptions": [
"",
"",
""
],
"type": "string",
"enum": [
"UNKNOWN",
"INSTALLED",
"NOT_INSTALLED"
],
"description": "Duo status of the invitee"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DuoInviteTombstone"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RtpParamsCodec": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RtpParamsCodec",
"properties": {
"payloadType": {
"format": "int32",
"type": "integer"
},
"rtxPayloadType": {
"format": "int32",
"type": "integer"
},
"codecType": {
"enum": [
"UNKNOWN",
"VP8",
"VP9",
"VP9_PROFILE2",
"H264",
"H264_CONSTRAINED_HIGH_PROFILE",
"HEVC",
"OPUS",
"AV1",
"SPEEX",
"ISAC",
"LYRA"
],
"enumDescriptions": [
"",
"",
"8-bit I420.",
"{10, 12}-bit I420.",
"",
"",
"",
"",
"",
"",
"",
""
],
"type": "string"
},
"videoPacketizationFormat": {
"items": {
"enum": [
"UNKNOWN",
"DEFAULT",
"RAW"
],
"type": "string",
"enumDescriptions": [
"Unknown packetization format - should not be used.",
"Default packetization format - e.g. RFC implementation in case of VP8, VP9 and H.264.",
"Raw packetization without added codec payload descriptor/header - must be used with generic frame descriptor RTP header extension."
]
},
"type": "array",
"description": "Supported RTP packetization formats (video only)."
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MessageUpdateInfo": {
"properties": {
"updateMessageId": {
"description": "update_message_id is a client generated id that identifies the message that this message actually refers to on the client. If a message with that ID does not exist, it should be created with this message's content. Content should only be updated if the timestamp of this message is newer than the timestamp of the message that the message for the update message ID was last updated with.",
"type": "string"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MessageUpdateInfo",
"type": "object"
},
"InstantmessagingPaGoogleInternalMothershipSearchcardV1StylesStyleDeclaration": {
"type": "object",
"description": "The style declaration.",
"id": "InstantmessagingPaGoogleInternalMothershipSearchcardV1StylesStyleDeclaration",
"properties": {}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetWebEncryptionKeyRequest": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetWebEncryptionKeyRequest",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalPeopleV2CoreIdParams": {
"properties": {
"enablePrivateAccountEmails": {
"type": "boolean",
"description": "Return private account emails in the results. Use of this feature requires allowlisting and PWG review. Contact people-api-users@."
},
"ignoreAclCondition": {
"description": "Optional params for specifying a condition for which private profile fields should be included in the results. When set, if the requested persons match the specified condition, private profile fields (specified in the `enable_private_fields` or `enable_private_name` request params) will be returned. More information on this field is available in the proto file for IgnoreAclCondition and the design doc (go/google-me-public-acl-squash). Also see go/people-api-howto:bypass-acl for more info on bypassing ACLs. Use of this feature requires allowlisting. Consult people-api-users@ before using this field.",
"$ref": "InstantmessagingPaSocialGraphApiProtoIgnoreAclCondition"
},
"checkIdentityAcl": {
"type": "boolean",
"description": "DEPRECATED. This boolean is deprecated in favor of IdentityAclOptions (b/199787083). Check a fresher Identity ACL implementation to possibly override private name ACLs when a user interaction creates an Identity ACL record. See go/identityacl. Only enable this option if you require O(seconds) freshness as it is considerably more expensive. Otherwise, leave it unset. By default, Identity ACL will be evaluated using a much cheaper implementation but with O(hours) freshness. Once freshness is improved, this option will be deprecated."
},
"useRealtimeNotificationExpandedAcls": {
"type": "boolean",
"description": "Expand name, photo, and email ACLs based on realtime notification settings for the requester. Should only be used by Hangouts, and requires allowlisting. Contact people-api-users@."
},
"identityAclOptions": {
"description": "Optional params for specifying Identity ACL check behavior.",
"$ref": "InstantmessagingPaSocialGraphApiProtoIdentityAclOptions"
},
"enablePrivateNames": {
"description": "Return private profile names in the results. See go/people-api-howto#how-to-work-with-name-visibility. Use of this feature requires allowlisting and PWG review. Contact people-api-users@.",
"type": "boolean"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalPeopleV2CoreIdParams",
"description": "Configures profile-related ACL options such as using Identity ACL for profile data or to bypass ACL checks for certain profile fields where the caller has independently validated that reading private profile data is allowed and appropriate in the application's context. These options do not affect the user's contact data, but do affect the data from profiles that join to contacts (if the join is valid and profile data is requested)."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SessionDescriptionOffer": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SessionDescriptionOffer",
"type": "object",
"properties": {
"description": {
"description": "The raw SDP string.",
"type": "string"
}
}
},
"InstantmessagingPaGoogleInternalAppsWaldoV1alphaCustomLocation": {
"description": "Custom location specified by the user.",
"id": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaCustomLocation",
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "Geographic location as free-form text."
},
"geoCoordinates": {
"$ref": "InstantmessagingPaGoogleTypeLatLng",
"description": "Geographic location as geo coordinates."
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiWebsiteRelationshipInfo": {
"properties": {
"type": {
"enum": [
"UNKNOWN",
"ME",
"NOT_ME",
"CONTRIBUTOR_TO",
"PAST_CONTRIBUTOR_TO"
],
"enumDescriptions": [
"",
"rel=\"me\"",
"rel=\"\"",
"rel=\"contributor-to\"",
"rel=\"past-contributor-to\""
],
"type": "string"
}
},
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiWebsiteRelationshipInfo"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CalendarSuggestion": {
"type": "object",
"properties": {
"eventTime": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1TimePoint",
"description": "The time that the event should be scheduled to start"
},
"eventName": {
"type": "string",
"description": "The name or title of the event (e.g. \"surprise party\")"
},
"eventLocation": {
"description": "The location where the event will take place, if detected Examples values could be an address (1234 Elm St., Tehachapi, CA), or a place name (Kirkland Library)",
"type": "string"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CalendarSuggestion",
"description": "Encapsulates the information about an add to calendar suggestion"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetSelfUserInviteLinkRequest": {
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetSelfUserInviteLinkRequest"
},
"InstantmessagingPaGoogleInternalAppsWaldoV1alphaInMeeting": {
"properties": {
"nextAvailable": {
"format": "google-datetime",
"description": "The next time when the user will be available, i.e., when their status will be neither InMeeting, CalendarBusy, DoNotDisturb, OutsideWorkingHours, nor OutOfOffice.",
"type": "string"
},
"eventSummary": {
"description": "The summary of the corresponding event in Calendar.",
"type": "string"
},
"occupiedUntil": {
"type": "string",
"format": "google-datetime",
"description": "The time when the user will stop being occupied, i.e., when their status will be neither inMeeting, Busy nor DoNotDisturb."
},
"inMeetingsUntil": {
"type": "string",
"format": "google-datetime",
"description": "The time when the user will stop being in a meeting."
}
},
"description": "The status indicating the user is in a meeting.",
"id": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaInMeeting",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AssistantAnnotation": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AssistantAnnotation",
"properties": {
"launchSource": {
"enumDescriptions": [
"",
"",
"",
""
],
"type": "string",
"enum": [
"UNKNOWN_LAUNCH_SOURCE",
"C2O_ROW",
"SUGGESTION",
"ON_DEMAND"
],
"description": "The source of the Assistant launch that resulted in a card share"
},
"status": {
"enum": [
"UNKNOWN",
"PENDING",
"SUCCEEDED",
"TIMED_OUT",
"NO_INTERNET",
"FAILED"
],
"description": "The status should be set by the creator of this annotation explicitly.",
"enumDescriptions": [
"",
"Assistant response has been requested and is pending",
"Assistant request was successful and response was received",
"Assistant response was requested but never received",
"Assistant card was not requested because there was no internet connection",
"Assistant card could not be loaded and should not be retried."
],
"type": "string"
},
"card": {
"description": "RenderedCard that is renderable by ComponentView",
"$ref": "InstantmessagingPaGoogleInternalMothershipSearchcardV1RenderedCard"
},
"agentMessage": {
"$ref": "InstantmessagingPaChatBotPlatformBugleAgentMessage",
"description": "The BugleAgentMessage which contains all of the Assistant card info"
},
"cardType": {
"format": "int64",
"description": "The type of Assistant card, the value will correspond to the enum values in //depot/google3/search/onenamespace/one_namespace_type.proto",
"type": "string"
},
"emlCard": {
"description": "EML card that is renderable by xUiKit",
"$ref": "InstantmessagingPaSearchRenderingXuikitElementsElementsOutput"
},
"entityTypes": {
"items": {
"type": "string"
},
"description": "All of the entity types applicable to this Assistant card",
"type": "array"
}
},
"type": "object",
"description": "Assistant message annotation. NEXT ID: 8"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LighterId": {
"properties": {
"type": {
"type": "string",
"enum": [
"UNKNOWN",
"PHONE_NUMBER",
"GAIA_EMAIL",
"HANDLER",
"TACHYON_GROUP",
"DEVICE_ID",
"UNAUTHENTICATED_USER_ID"
],
"enumDescriptions": [
"",
"E.164 format",
"email with a valid gaia account.",
"a user handled by programmatic API.",
"a Tachyon group id.",
"a Matchstick device id.",
"a random identifier allocated to users without gaia account. more details in go/bm-unauthenticated-user-id"
]
},
"id": {
"type": "string",
"description": "The actual ID representing an entity in Lighter: 1. Email, Phone Number or Device ID for individuals. 2. UUIDs for groups and machine entities."
},
"handlerId": {
"description": "If the type is HANDLER, handler_id is the unique key of all handlers. The handler_id:id is a 2-level hierarchy name to specify an identity. For ex: (type:HANDLER, handler_id:gmb_listing, id:BA3B7ECAFE, app_name:GMB) represents a business in GMB. All messages to this identity are sent to a specific service programmatically.",
"type": "string"
},
"appName": {
"type": "string"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LighterId",
"description": "LighterId represents a Lighter user."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RemoveContactsRequest": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RemoveContactsRequest",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"contactIds": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"type": "array"
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RtpServerParams": {
"description": "Parameters returned by the server needed to connect using RTP. This is similar to RtpParams except: - there's no payload types (this is set in the request) - there's no remote SSRCs (these are returned in a separate API)",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RtpServerParams",
"type": "object",
"properties": {
"headerExtension": {
"type": "array",
"description": "Header extensions in the server stream. The extension ID should be assumed to be the same as sent in the original request, per https://tools.ietf.org/html/rfc5285#section-6",
"items": {
"enum": [
"UNKNOWN",
"TRANSPORT_CC_VIDEO",
"VIDEO_ORIENTATION",
"AUDIO_LEVEL",
"ABS_SEND_TIME",
"GENERIC_FRAME_DESCRIPTOR_V0",
"TRANSPORT_CC_AUDIO",
"SDES_MID",
"SDES_RTP_STREAM_ID",
"SDES_REPAIRED_RTP_STREAM_ID",
"ABS_CAPTURE_TIME"
],
"type": "string",
"enumDescriptions": [
"",
"draft-holmer-rmcat-transport-wide-cc-extensions",
"3gpp:video-orientation",
"ssrc-audio-level",
"abs-send-time",
"generic-frame-descriptor-00",
"draft-holmer-rmcat-transport-wide-cc-extensions",
"urn:ietf:params:rtp-hdrext:sdes:mid",
"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id",
"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id",
"abs-capture-time"
]
}
},
"rtcpCapabilities": {
"description": "The set of RTCP mechanisms supported on the server. Clients are expected to hardcode NACK, FIR, PLI, and REMB locally.",
"items": {
"type": "string",
"enumDescriptions": [
"",
""
],
"enum": [
"UNKNOWN",
"TRANSPORT_CC_FEEDBACK"
]
},
"type": "array"
}
}
},
"InstantmessagingPaGoogleInternalMothershipSearchcardV1StylesStyleRule": {
"id": "InstantmessagingPaGoogleInternalMothershipSearchcardV1StylesStyleRule",
"type": "object",
"properties": {
"styleDeclaration": {
"$ref": "InstantmessagingPaGoogleInternalMothershipSearchcardV1StylesStyleDeclaration",
"description": "Style properties associated with the style rule."
},
"id": {
"type": "string",
"description": "Used to uniquely identify a style rule."
}
},
"description": "Specifies a particular Style rule."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GroupMember": {
"description": "Contains the metadata for each member of the group.",
"properties": {
"joinedGroupTimestamp": {
"format": "google-datetime",
"type": "string",
"description": "timestamp when this member joined the group."
},
"role": {
"type": "string",
"enumDescriptions": [
"Part of Default group. Every member can do everything. You can't have a DEFAULT_ROLE in an Administrated group",
"Part of Administrated group. They have special privileges such as: 1. Change group name 2. Change group photo 3. Remove/kick a user 4. Promote another user to be an administrator 5. Remove administrative power from another user",
"Part of Administrated group. Regular user with no special privileges."
],
"enum": [
"DEFAULT_ROLE",
"ADMIN",
"REGULAR"
]
},
"user": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GroupMember"
},
"InstantmessagingPaGeostoreRectProto": {
"properties": {
"lo": {
"$ref": "InstantmessagingPaGeostorePointProto"
},
"hi": {
"$ref": "InstantmessagingPaGeostorePointProto"
}
},
"id": "InstantmessagingPaGeostoreRectProto",
"type": "object",
"description": "A latitude-longitude rectangle, represented as two diagonally opposite points \"lo\" and \"hi\". The rectangle is considered to be a closed region, i.e. it includes its boundary. The latitude bounds must be in the range -90 to 90 degrees inclusive, and the longitude bounds must be in the range -180 to 180 degrees inclusive. Various cases include: - If lo == hi, the rectangle consists of a single point. - If lo.longitude \u003e hi.longitude, the longitude range is \"inverted\" (the rectangle crosses the 180 degree longitude line). - If lo.longitude == -180 degrees and hi.longitude = 180 degrees, the rectangle includes all longitudes. - If lo.longitude = 180 degrees and hi.longitude = -180 degrees, the longitude range is empty. - If lo.latitude \u003e hi.latitude, the latitude range is empty."
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPhone": {
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPhone",
"type": "object",
"properties": {
"uri": {
"type": "string"
},
"type": {
"type": "string",
"description": "The type of the phone number. The type can be free form or one of these predefined values: * `home` * `work` * `mobile` * `homeFax` * `workFax` * `otherFax` * `pager` * `workMobile` * `workPager` * `main` * `googleVoice` * `other`"
},
"canonicalizedForm": {
"type": "string",
"description": "Canonicalized form that follows ITU-T E.164 international public telecommunication numbering plan."
},
"value": {
"type": "string"
},
"formattedType": {
"type": "string",
"description": "The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage."
},
"emergencyInfo": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiFieldEmergencyInfo",
"description": "Emergency information. See go/emergency-trusted-contacts-papi."
},
"extendedData": {
"description": "Read-only. Field requested by specifying `HANGOUTS_PHONE_DATA` in `extension_set.extension_names`.",
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPhoneExtendedData"
},
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
}
}
},
"InstantmessagingPaGoogleInternalPeopleV2DeviceIdentifier": {
"description": "Contains information to identify a device, e.g. go/client-instance-id.",
"id": "InstantmessagingPaGoogleInternalPeopleV2DeviceIdentifier",
"properties": {
"clientInstanceId": {
"type": "string",
"description": "The client instance ID provided by mobile clients. See go/client-instance-id."
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UpdateAccountSettingResponse": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UpdateAccountSettingResponse",
"type": "object",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"accountSettings": {
"description": "A full snapshot of the account settings.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AccountSettings"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1TranslationInput": {
"description": "The input for message translation.",
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1TranslationInput",
"properties": {
"targetLanguage": {
"description": "The target language for message translation (the device's language). Uses ISO 639-1 Language Code.",
"type": "string"
},
"sourceText": {
"type": "string",
"description": "The text to be translated."
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PushNotificationData": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PushNotificationData",
"description": "Contains the data that should be used to populate a push notification to an iOS or Android device.",
"properties": {
"iosData": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PushNotificationDataIosData"
},
"body": {
"type": "string",
"description": "Value passed in App_Data key 'body' for GCM. Sent as APS alert dictionary 'body' value for iOS10+. Will NOT be used at all for earlier iOS clients."
},
"title": {
"type": "string",
"description": "Value passed in App_Data key 'title' for GCM. Sent as APS alert dictionary 'title' value for iOS10+. Will be used as the entire alert for earlier iOS clients."
},
"priority": {
"enum": [
"PRIORITY_UNSPECIFIED",
"HIGH",
"LOW"
],
"enumDescriptions": [
"",
"",
""
],
"type": "string"
},
"originalMessageId": {
"type": "string",
"description": "Used by Duo and specified in DuoPushNotification. See: http://google3/communication/duo/proto/duo_message.proto?l=30&rcl=315591007"
},
"event": {
"type": "string",
"description": "Value passed in App_Data key 'event' for GCM and top-level json 'event' for iOS, same as the event field used in Exciter NotifyDevice."
}
},
"type": "object"
},
"InstantmessagingPaSocialGraphApiProtoSearchProfileLocationInfo": {
"type": "object",
"properties": {
"lat": {
"format": "double",
"description": "Degrees [-90 .. 90]",
"type": "number"
},
"radius": {
"type": "number",
"format": "double",
"description": "Meters"
},
"lon": {
"format": "double",
"type": "number",
"description": "Degrees [-180 .. 180]"
}
},
"id": "InstantmessagingPaSocialGraphApiProtoSearchProfileLocationInfo"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiSortKeys": {
"properties": {
"name": {
"type": "string"
},
"lastNameRaw": {
"type": "string"
},
"interactionRank": {
"description": "Deprecated. This field is only populated with 0.000 for legacy reasons. Clients should not use this field.",
"type": "string"
},
"nameRaw": {
"type": "string",
"description": "Raw name strings that were used to generate the name and last_name sort keys fields above. Contacts+ need them to generate section headers for list view (b/30642866)."
},
"lastName": {
"type": "string"
},
"affinity": {
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAffinity"
},
"type": "array"
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiSortKeys",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetStatesResponse": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetStatesResponse",
"properties": {
"states": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1State"
}
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContactEntry": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContactEntry",
"properties": {
"affinity": {
"format": "double",
"type": "number",
"description": "affinity is the affinity score of the contact."
},
"contactId": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id",
"description": "User id for a contact."
},
"name": {
"type": "string",
"description": "Name of associated with this number (contact_id) from user's contact list."
},
"type": {
"enumDescriptions": [
"A contact that came from the system's contacts (i.e. address book).",
"A contact that did not come from the system's contacts such as directly dialed number."
],
"enum": [
"DEFAULT",
"NUMBER_ONLY"
],
"type": "string",
"description": "The type of the contact."
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LanguageHint": {
"description": "Language hint for audio transcription. Uses BCP47 language tag.",
"properties": {
"suggestLanguages": {
"description": "List of suggested languages.",
"items": {
"type": "string"
},
"type": "array"
},
"systemLanguage": {
"description": "System language on the client.",
"type": "string"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LanguageHint"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RevokeMessagesBySenderResponse": {
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RevokeMessagesBySenderResponse",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CallerSpecificInfo": {
"properties": {
"dynamiteInfo": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DynamiteInfo"
}
},
"description": "LINT.IfChange Additional request info for specific callers.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CallerSpecificInfo",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SignInGaiaResponse": {
"properties": {
"requirePhoneReachability": {
"type": "boolean",
"description": "This bit indicates that the clients should force the user to add a PN and not leave the client working in a Gaia-only state. "
},
"versionCheckWarning": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1VersionCheckWarning",
"description": "version_check_warning is used to tell clients that they do not have the most up-to-date version combination."
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"accountInfo": {
"description": "If account_found, the device will be registered and the backend will return account info.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AccountInfo"
},
"authToken": {
"description": "auth_token is the access token to be used in future requests to authenticate the client.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AuthToken"
},
"registrationId": {
"format": "byte",
"type": "string",
"description": "The opaque registration id for this device. Set only when the device is registered. The client needs to check against default value. For example, empty bytes."
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SignInGaiaResponse",
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiBestDisplayName": {
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiBestDisplayName",
"properties": {
"containerType": {
"enum": [
"UNKNOWN_CONTAINER",
"PROFILE",
"CONTACT",
"CIRCLE",
"PLACE",
"ACCOUNT",
"EXTERNAL_ACCOUNT",
"DOMAIN_PROFILE",
"DOMAIN_CONTACT",
"DEVICE_CONTACT",
"GOOGLE_GROUP",
"NAMED_CHAT_ROOM",
"UNNAMED_CHAT_ROOM",
"AFFINITY",
"RAW_DEVICE_CONTACT",
"CONTACT_ANNOTATION",
"DELEGATED_CONTACT"
],
"description": "The container the suggested name was sourced from",
"type": "string",
"enumDescriptions": [
"",
"Google Profile. PROFILE fields are editable by the profile owner, unless the field metadata includes writeable=false.",
"Google Contact",
"Deprecated. E-mail only circle membership should be dead. E-mail only circle membership of non-g+ user.",
"A maps place",
"The requester's own Gaia account. ACCOUNT fields are not editable by anyone. They only occur when the requester is \"me\". In the event an ACCOUNT field is ACLed non-private, it will be returned as a PROFILE field when viewed by a requester who is not \"me\".",
"LinkedExternalSites (go/PeopleApiConnectedSites)",
"Google-For-Work Profile. DOMAIN_PROFILE fields are editable by the Dasher administrator of the domain. They are not editable by the profile owner.",
"Domain shared contact. An entity that is owned by a domain and represents a person, but is not a user in the domain. For more details see https://support.google.com/a/answer/9281635.",
"To be deprecated in favor of RAW_DEVICE_CONTACT See go/mergedperson-for-device-contacts Aggregation is represented using person.metadata.device_contact_info",
"Google group. Examples: sales@zara.es.",
"Dynamite \"Named Flat Room\" (NFR). This is a Baggins Roster with label DYNAMITE_SPACE *and* label DYNAMITE_NAMED_SPACE. See go/people-api-concepts#chat-rooms",
"Dynamite \"Unnamed Flat Room\" (UFR). This is a Baggins Roster with label DYNAMITE_SPACE but does *not* have label DYNAMITE_NAMED_SPACE. See go/people-api-concepts#chat-rooms",
"Device contacts that are used in interaction ranking, but have not been uploaded to Google. These are synthesized people from interaction data. This container type is only used in ListRankedPeople and ListRankedTargets actions. See go/TopNWithClusteringPart1.",
"Data from a raw (non-aggregated) device contact. See go/mergedperson-for-device-contacts",
"Data from contact annotation. Contact annotations are currently generated and used by Google Assistant.",
"Data from delegated contacts. Delegated contacts are the contacts delegated to the current requester. The requester can then access those contacts. See go/ph-delegation."
]
},
"displayNameLastFirst": {
"type": "string",
"description": "The display name, always in 'last first' format. This field does not depend on the format of `display_name` and will always be in 'last first' format."
},
"displayName": {
"description": "The display name. This name is intended to be the best name to display for this Person. It may be built from a variety of fields, even if those fields are not explicitly requested in the request mask. Generally, the display name is formatted in 'first last' format. If the name appears to be a CJK name (as determined by a heuristic), the 'last first' format will be used. There may be other cases that the 'last first' format is used which are not documented here. See the code at: http://google3/java/com/google/focus/backend/client/DisplayNameFormatter.java?l=659&rcl=351360938",
"type": "string"
}
},
"description": "The best suggested name to use for the Person from the available source fields, which may include FileAs, Name, Org, Email, IM, Phone, ... Rough source container priority order is Contact, then Profile, then Place."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SignInGaiaSilentResponse": {
"type": "object",
"properties": {
"accountInfo": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AccountInfo",
"description": "account_info contains the registered ID (phone number) linked with Gaia in the request, and info about all registed devices under the same account."
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"isNewAccount": {
"type": "boolean",
"description": "is_new_account indicates whether the account is newly created in this request."
},
"registrationId": {
"description": "The opaque registration id for this device. Set only when the device is registered. The client needs to check against default value. For example, empty bytes.",
"type": "string",
"format": "byte"
},
"authToken": {
"description": "auth_token is the access token to be used in future requests to authenticate the client.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AuthToken"
}
},
"description": "SignInGaiaSilentResponse is the response for SignInGaiaSilentRequest.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SignInGaiaSilentResponse"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetAccountInfoRequest": {
"type": "object",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetAccountInfoRequest"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupInfoResponse": {
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"groupInfo": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GroupInfo"
}
},
"description": "The server responds to the client who sent GetGroupInfoRequest.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupInfoResponse",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GifPrediction": {
"properties": {
"category": {
"type": "string"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GifPrediction",
"description": "Gif suggestion category. See go/am-sa-gif-dd.",
"type": "object"
},
"InstantmessagingPaSocialGraphWireProtoPeopleapiExtensionDynamiteExtendedData": {
"id": "InstantmessagingPaSocialGraphWireProtoPeopleapiExtensionDynamiteExtendedData",
"type": "object",
"description": "Dynamite-related extension data.",
"properties": {
"dndState": {
"type": "string",
"enumDescriptions": [
"",
"",
""
],
"enum": [
"UNKNOWN_DND_STATE",
"AVAILABLE",
"DND"
]
},
"developerName": {
"description": "Display name of bot developer. Only set if EntityType == BOT.",
"type": "string"
},
"memberCount": {
"description": "Number of members (direct or indirect) in a Google Group. Only an estimate for large groups (currently \u003e 1K direct / indirect members).",
"type": "string",
"format": "int64"
},
"description": {
"description": "Short description of this bot. Only set if EntityType == BOT.",
"type": "string"
},
"organizationInfo": {
"description": "NEXT TAG: 9",
"$ref": "InstantmessagingPaAppsDynamiteSharedOrganizationInfo"
},
"presence": {
"type": "string",
"enum": [
"UNDEFINED_PRESENCE",
"ACTIVE",
"INACTIVE",
"UNKNOWN",
"SHARING_DISABLED"
],
"enumDescriptions": [
"",
"",
"",
"Not a Dynamite user, or if the user has been invited but never logged into Dynamite ever before.",
"The user has disabled presence sharing. This is currently only possible via the Classic setting to disable sharing your last active time (see external docs here: https://support.google.com/hangouts/answer/6083257?hl=en)."
]
},
"avatarUrl": {
"type": "string",
"description": "Avatar image URL for a Google Group, based on the member count."
},
"entityType": {
"enumDescriptions": [
"",
"Regular user.",
"Google Group.",
"Dynamite bot."
],
"type": "string",
"enum": [
"UNKNOWN_ENTITY_TYPE",
"PERSON",
"GOOGLE_GROUP",
"BOT"
]
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1KickGroupUsersPush": {
"description": "Upon KickGroupUsersRequest, the server notifies other group members that users were kicked from the group.",
"type": "object",
"properties": {
"groupInfo": {
"description": "group_info includes group_id, profile name, and the members in the group after the update.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GroupInfo"
},
"txnTimestampUsec": {
"format": "int64",
"description": "txn_timestamp_usec is the timestamp, in microseconds since the epoch, when KickGroupUsersRequest transaction committed.",
"type": "string"
},
"kickedUsers": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"description": "kicked_users are members who were kicked from the group. This is a subset of request.users if it contains non group members.",
"type": "array"
},
"requesterId": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id",
"description": "requester_id identifies the requester who sent KickGroupUsersRequest."
},
"kickedAll": {
"type": "boolean",
"description": "Set to true if the remaining users in the group were kicked out. The group becomes empty in this case."
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1KickGroupUsersPush"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiLocation": {
"properties": {
"value": {
"type": "string"
},
"type": {
"type": "string",
"description": "Describes the type of location. For e.g. Grew_up, Desk. Corresponds to FBS backend.proto Location.StandardTag"
},
"current": {
"type": "boolean"
},
"floorSection": {
"type": "string"
},
"buildingId": {
"type": "string"
},
"source": {
"type": "string",
"enumDescriptions": [
"",
"The location was directly set by the user or admin.",
"The location was inferred from available signals (e.g. past rooms usage)."
],
"enum": [
"UNKNOWN",
"EXPLICIT",
"INFERRED"
],
"description": "Value indicates the origin of this location information."
},
"deskCode": {
"description": "Most specific textual description of individual desk location.",
"type": "string"
},
"extendedData": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiLocationExtendedData"
},
"buildingName": {
"type": "string",
"description": "The building_name field is only filled if the DESK_LOCATION_ADDITIONAL_DATA extension is active."
},
"floorName": {
"type": "string"
},
"lastUpdateTime": {
"format": "google-datetime",
"description": "Indicates the time this location was added or last edited.",
"type": "string"
},
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiLocation",
"type": "object"
},
"InstantmessagingPaSocialGraphWireProtoPeopleapiExtensionPaisaExtendedData": {
"description": "Next tag number: 3",
"type": "object",
"properties": {
"actorId": {
"description": "Actor ID of the person, if available (if the person has used the Paisa app).",
"type": "string"
},
"subtitle": {
"description": "Display subtitle, which may be used in suggestion/autocompletion results. Generally, this will be the Actor's registered Paisa phone number, in unmasked or masked form (e.g. +1 ***-***-1234) depending on visibility rules.",
"type": "string"
}
},
"id": "InstantmessagingPaSocialGraphWireProtoPeopleapiExtensionPaisaExtendedData"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SmartTextPrediction": {
"properties": {
"text": {
"type": "string"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SmartTextPrediction",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SendFiMessageResponse": {
"properties": {
"lastModSeq": {
"type": "string",
"description": "The last mod-sequence value associated with the CMS Object. See google/communications/jibemessagestore/v1/box.proto \u003e Object for more context.",
"format": "uint64"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"messageId": {
"type": "string",
"description": "The id of the newly created CMS object"
}
},
"description": "Response message for MessagesMultiDevice.SendFiMessage",
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SendFiMessageResponse"
},
"InstantmessagingPaSocialGraphApiProtoProfilePhotoOptions": {
"type": "object",
"id": "InstantmessagingPaSocialGraphApiProtoProfilePhotoOptions",
"properties": {
"privateUrlFormat": {
"enum": [
"PRIVATE_PHOTO_URL_FORMAT_UNSPECIFIED",
"REDIRECT_COOKIE_CREDENTIAL",
"EMBEDDED_CREDENTIAL",
"OAUTH2_CREDENTIAL"
],
"type": "string",
"description": "Optional, the preferred format to use for private profile photo URLs.",
"enumDescriptions": [
"The URL format will depend on the requester's client agent. For Contact Store, the default is REDIRECT_COOKIE_CREDENTIAL. For all other clients, the default is EMBEDDED_CREDENTIAL.",
"The URL is a google.com hosted avatar URL that will redirect to an avatar URL with embedded credentials. When fetching the photo, credentials must be provided in the form of Gaia session ID cookies on the HTTP request. Web browsers will do this automatically. These are typically called \"short\" URLs.",
"The URL is a googleusercontent.com hosted avatar URL with embedded credentials. Will be significantly larger than other URL formats (~800 characters.) These are typically called \"long\" URLs.",
"The URL is a googleusercontent.com hosted avatar URL without credentials. When fetching the photo, credentials must be provided in the form of an OAuth2 token on the HTTP request. See go/fife-auth for details. This is the preferred format for native mobile apps. These are typically called \"OAuth2\" URLs."
]
}
}
},
"InstantmessagingPaGoogleInternalPeopleV2PlaceParams": {
"properties": {
"requestPhotoTypes": {
"type": "array",
"description": "**UNDER DEVELOPMENT** b/202877138. Please consult amosyuen@ before using. What place photo types to request. NOTE: The `PLACE` RequestMaskContainer in request_mask.include_container must be requested when specifying this param. NOTE: Requesting place data requires allowlisting for the purpose limited access group ganpati/sgbe-ac-d-places-read. See go/sgbe-purpose-limited-access-guide for how to get access. NOTE: Place data has attribution requirements. Attributions are returned in the `person.metadata.attribution` response field. For details, see http://doc/1rWJYyEtJxvtOACWqc0nVx6fizOiXp65KuBB-PuAYGxI. Please consult with go/geo-pcounsel to make sure attribution requirements are fulfilled.",
"items": {
"enumDescriptions": [
"",
"Photos associated with a map place (except for panoramas)."
],
"enum": [
"PLACES_PHOTO_TYPE_UNSPECIFIED",
"PHOTOS"
],
"type": "string"
}
},
"requestPlaces": {
"items": {
"enum": [
"REQUEST_PLACES_UNKNOWN",
"PHONES_TO_UNIQUE_PLACES"
],
"enumDescriptions": [
"",
"Place data is merged into a person if that person has a phone number which joins to a place. Place data is returned only for phone numbers which map to exactly one place."
],
"type": "string"
},
"description": "Ways to merge places into a person. NOTE: The `PLACE` RequestMaskContainer in request_mask.include_container must be requested when specifying this param. NOTE: Requesting place data requires allowlisting for the purpose limited access group ganpati/sgbe-ac-d-places-read. See go/sgbe-purpose-limited-access-guide for how to get access. NOTE: Place data has attribution requirements. Attributions are returned in the `person.metadata.attribution` response field. For details, see http://doc/1rWJYyEtJxvtOACWqc0nVx6fizOiXp65KuBB-PuAYGxI. Please consult with go/geo-pcounsel to make sure attribution requirements are fulfilled.",
"type": "array"
}
},
"description": "Parameters for requesting inclusion of place data in results.",
"id": "InstantmessagingPaGoogleInternalPeopleV2PlaceParams",
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAddress": {
"properties": {
"locality": {
"type": "string"
},
"formatted": {
"type": "string"
},
"streetAddress": {
"type": "string"
},
"extendedAddress": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"type": {
"description": "The type of the address. The type can be free form or one of these predefined values: * `home` * `work` * `other`",
"type": "string"
},
"encodedPlaceId": {
"type": "string",
"description": "FeatureId associated with the address. The format is the same as that used for ids in PLACE containers in SourceIdentity."
},
"country": {
"type": "string"
},
"poBox": {
"type": "string"
},
"pointSpec": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPointSpec"
},
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
},
"region": {
"type": "string"
},
"countryCode": {
"type": "string"
},
"formattedType": {
"type": "string",
"description": "The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage."
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAddress",
"type": "object"
},
"InstantmessagingPaSmartreplyP13nFeatureValue": {
"type": "object",
"properties": {
"name": {
"description": "Feature name.",
"type": "string"
},
"value": {
"description": "The normalized value of the feature. This value should lie in the interval [0, 1].",
"type": "number",
"format": "float"
}
},
"id": "InstantmessagingPaSmartreplyP13nFeatureValue",
"description": "Used to store a mapping between a feature and its corresponding normalized value."
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiContactGroupMembership": {
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiContactGroupMembership",
"type": "object",
"description": "A membership that the person has. The person can be a member of multiple circles and multiple contact-groups. A circle membership is created by adding a person to a circle by person-id or by email. A contact-group membership is created by adding a contact to a contact-group.",
"properties": {
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
},
"systemContactGroupId": {
"description": "This field will be populated when the membership is in a system-reserved contact-group.",
"enum": [
"UNKNOWN",
"MY_CONTACTS",
"STARRED",
"FRIENDS",
"FAMILY",
"COWORKERS"
],
"type": "string",
"enumDescriptions": [
"",
"",
"",
"",
"",
""
]
},
"contactGroupId": {
"type": "string",
"description": "The contact-group that the person belong to. The id can be either a hex-formatted id or a camel-cased SystemContactGroup predefined group name. The id will be predefined group name iff the system_contact_group_id has a value."
},
"delegatedGroupInfo": {
"description": "Information related to delegated group that this contact belongs to.",
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiDelegatedGroupInfo"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PublicKey": {
"type": "object",
"properties": {
"type": {
"description": "The type of the key. Note that this implies the algorithms to use in some cases.",
"enum": [
"UNKNOWN",
"CURVE_25519",
"ECDSA"
],
"enumDescriptions": [
"",
"Public key that must be used with the Ed25519 signature algorithm. See http://ed25519.cr.yp.to/",
""
],
"type": "string"
},
"key": {
"type": "string",
"format": "byte",
"description": "The public key of a party. When type = CURVE_25519, length(key) = 33, and key[0] = 0x05."
}
},
"description": "We prefer to use DER encoded, PKIX formatted public keys, but that option is unavailable for encryption keys and algorithms that aren't fully integrated with PKI yet. As such, store the public keys together with a discriminating enum so that the code can decide safely and reliably which library to use with the public key. This is long term public identity key, which is generated at registration time per device and do not change during the life of registration.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PublicKey"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1NudgeAnnotation": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1NudgeAnnotation",
"type": "object",
"properties": {}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UpdateGroupCallStateResponse": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UpdateGroupCallStateResponse",
"type": "object",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"txnTimestampUsec": {
"type": "string",
"format": "int64",
"description": "txn_timestamp_usec is the timestamp when UpdateGroupCallStateRequest transaction committed."
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeviceProperties": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeviceProperties",
"properties": {
"widthPixels": {
"description": "The width of the display in pixels.",
"type": "integer",
"format": "int32"
},
"heightPixels": {
"format": "int32",
"type": "integer",
"description": "The height of the display in pixels."
},
"densityDpi": {
"type": "integer",
"description": "See http://developer.android.com/reference/android/util/DisplayMetrics.html",
"format": "int32"
}
}
},
"InstantmessagingPaTachyonRcsGroupMetadata": {
"type": "object",
"id": "InstantmessagingPaTachyonRcsGroupMetadata",
"properties": {
"groupUri": {
"description": "URI of Group from Foreign network. The URI is a SIP URI that contains the domain of the terminating network owning the group, plus opaque data that the foreign network uses to properly route it.",
"type": "string"
},
"carrierId": {
"description": "The ID of the carrier hosting the RCS foreign group. Can be used for routing requests to their host of foreign group in Garnet Hub.",
"$ref": "InstantmessagingPaRcsCommonCarrierId"
}
},
"description": "RCS group metadata that are persisted in the Tachyon database."
},
"InstantmessagingPaGoogleInternalMothershipSearchcardV1StylesStyleConfig": {
"description": "Specifies the style config which will be used on client for component styling.",
"type": "object",
"properties": {
"styleRule": {
"description": "The style rule.",
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalMothershipSearchcardV1StylesStyleRule"
}
}
},
"id": "InstantmessagingPaGoogleInternalMothershipSearchcardV1StylesStyleConfig"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SessionDescriptionAnswer": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SessionDescriptionAnswer",
"type": "object",
"properties": {
"description": {
"description": "The raw SDP string.",
"type": "string"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetUserInviteLinkDetailsResponse": {
"properties": {
"profile": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1IdProfile"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetUserInviteLinkDetailsResponse"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Tombstone": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Tombstone",
"description": "Tombstone message appears as a status update in conversations, e.g. \"X left the group\", \"Y changed the conversation theme\"",
"properties": {
"groupUsersAddedChange": {
"description": "a parametrized tombstone message for group membership additions. e.g. X added Y and Z to the group",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GroupMembershipChangeTombstone"
},
"staticMessage": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1StaticTombstone",
"description": "a static tombstone message that isn't parametrized and doesn't change . Set for STATIC type."
},
"groupMemberRoleChange": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GroupMemberRoleChangeTombstone",
"description": "a tombstone message for someone's MemberRole changed in a admin group."
},
"agentSessionEvent": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AgentSessionEventTombstone",
"description": "a tombstone message for agent session start/end event."
},
"groupUsersRemovedChange": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GroupMembershipChangeTombstone",
"description": "a parametrized tombstone message for group membership removals. You removed foo from the group"
},
"incognitoConversationCreation": {
"description": "a parametrized tombstone message for incognito conversation creation. e.g. X started an incognito chat with you",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ConversationCreationTombstone"
},
"groupCreation": {
"description": "a parametrized tombstone message for group creations. e.g. X created a group with Y and Z",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ConversationCreationTombstone"
},
"groupProfileChange": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GroupProfileChangeTombstone",
"description": "a parametrized tombstone message for group profile changes. e.g. X changed the group name to foo"
},
"conversationThemeChange": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ConversationStateChangeTombstone",
"description": "a parametrized tombstone message for conversation theme changes. e.g. X changed the chat theme,"
},
"duoReachabilityChange": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReachabilityChangeTombstone",
"description": "a tombstone message for Duo reachability change for users. e.g. X is now on Duo."
},
"slashMe": {
"description": "a tombstone message for \"/me ...\" type messages.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SlashMeTombstone"
},
"voteBotTombstone": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1VoteBotTombstone",
"description": "a tombstone message for vote bot."
},
"reachabilityChange": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReachabilityChangeTombstone",
"description": "a tombstone message for reachability change of one or more users. e.g. X, Y and Z are chatting on Allo."
},
"incognitoExpirationChange": {
"description": "a parametrized tombstone message for message expiration changes. e.g. X changed message expiry to 10 seconds",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ConversationStateChangeTombstone"
},
"incognitoIdentityChange": {
"description": "a parametrized tombstone message for incognito identity key changes. e.g. X's identity key has changed",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1IncognitoIdentityChangeTombstone"
},
"type": {
"type": "string",
"enum": [
"UNKNOWN",
"STATIC",
"GROUP_CREATED",
"GROUP_USERS_ADDED",
"GROUP_USERS_REMOVED",
"GROUP_PROFILE_CHANGED",
"CONVERSATION_THEME_CHANGED",
"INCOGNITO_CONVERSATION_CREATED",
"INCOGNITO_EXPIRATION_CHANGED",
"INCOGNITO_IDENTITY_KEY_CHANGED",
"REACHABILITY_CHANGED",
"BOT_PROMOTION",
"AGENT_SESSION_EVENT",
"DUO_INVITE",
"DUO_REACHABILITY_CHANGED",
"SLASH_ME",
"VOTE_BOT",
"GROUP_MEMBER_ROLE_CHANGED"
],
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
]
},
"botPromotion": {
"description": "a tombstone message containing promotional content, sent from backend.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BotPromotionTombstone"
},
"duoInvite": {
"description": "a tombstone message for a Duo invite. e.g. X invited you to install Duo so that you can call each other.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DuoInviteTombstone"
}
},
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedData": {
"type": "object",
"description": "Extension data for use in AboutMe.",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedData",
"properties": {
"nameDisplayOptions": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataNameDisplayOptions"
},
"photosCompareData": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareData"
},
"profileEditability": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileEditability"
},
"profileNameModificationHistory": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistory"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ToggleVideoMode": {
"description": "Sent to notify remote of local video state changes (eg. muting).",
"type": "object",
"properties": {
"videoEnabled": {
"type": "boolean"
},
"reason": {
"type": "string",
"enum": [
"REASON_UNDEFINED",
"APPLICATION_IN_BACKGROUND",
"LOW_BATTERY",
"LOW_BWE",
"USER_ACTION",
"CAMERA_DISCONNECTED",
"CALL_KIT",
"VIDEO_CALL_DOWNGRADE",
"NO_CAMERA",
"CAMERA_FAILURE"
],
"enumDescriptions": [
"",
"App was moved to the background without a surface to render remote video. i.e. the user can't see any video and can't send video either so there's no point sending video this this client. Remote side should do the same (symmetric video mute).",
"Device is low on battery and will stop sending video frames to conserve battery. Remote side should do the same (symmetric video mute).",
"Local network is low-bandwidth, but the client will continue attempting to send video so that it can recover. Remote client should do the same. The local client will not render remote video that's received. Remote side should do the same (symmetric video mute).",
"V1 implementation of user turning the camera off. This is considered to be a symmetric mute as clients didn't support asymmetric mute at launch.",
"",
"iOS device is locked and can't render video. This client doesn't send video either. Remote clients should not send video as well. (symmetric mute)",
"Mute used by audio-only callees when caller does not know how to downgrade call type. See go/duo-video-call-downgrade. Remote side should do the same (symmetric video mute).",
"Used by the camera-less devices to mute the local video asymmetrically. See go/duocore-asymmetric-call. Remote side should continue sending the video as these devices can still render video (asymmetric video mute).",
"Used when the we encounter any catastrophic camera errors but would like the call to still continue. Remote side should continue sending the video as these devices can still render video (asymmetric video mute)."
]
},
"localOnly": {
"type": "boolean",
"description": "True if the change only applies to message sender’s local video and the message receiver shouldn’t do anything. If this is false, both the message sender and receiver are expected to toggle their video. The capability LOCAL_ONLY_VIDEO_TOGGLE_AWARE is required to understand this flag."
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ToggleVideoMode"
},
"InstantmessagingPaSocialGraphApiProtoPartialNameOptionsNamePartSpec": {
"id": "InstantmessagingPaSocialGraphApiProtoPartialNameOptionsNamePartSpec",
"properties": {
"showAll": {
"description": "Show the complete name. Note that this does not express the same semantics as show_first_n_chars=length_of_name, because when regenerating a shortened name the new name could have more characters, thus yielding a different result.",
"type": "boolean"
},
"truncationIndicator": {
"type": "string",
"enum": [
"TRUNCATION_INDICATOR_UNSPECIFIED",
"ELLIPSIS",
"PERIOD"
],
"description": "Which truncation indicator to use after the shortened piece of the name. Will be ignored for the `hide_all` or `show_all` options.",
"enumDescriptions": [
"",
"Add an ellipsis after a partial name, e.g., `Joh… Do…`. The actual character(s) that will be used for the ellipsis are locale-aware and will vary according to the provided/inferred language.",
"Add a period after a partial name, e.g. `J. D.`"
]
},
"showFirstNChars": {
"format": "int32",
"type": "integer",
"description": "Show first `n` characters. Same note about characters referring to \"grapheme_clusters\" applies."
},
"showInitial": {
"type": "boolean",
"description": "Show only the initial, i.e., a single character. Note that \"character\" refers to \"user-perceived\" characters, aka a \"grapheme cluster\". See go/morphology for more details."
},
"hideAll": {
"description": "Completely omit that part of the name.",
"type": "boolean"
}
},
"type": "object",
"description": "Specifies how each piece of the name should be handled. Names are structured into given name and family name and this allows an independent specification for each of these pieces. Very limited preprocessing is done for this option (leading whitespace trimming mostly). Composed names are treated as a single unit and are not broken down."
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiInteractionSettings": {
"description": "Defines interactions that are allowed or disallowed with this person.",
"properties": {
"interaction": {
"type": "string",
"enumDescriptions": [
"",
"",
"",
""
],
"enum": [
"UNKNOWN",
"INCOMING_CIRCLE_MEMBERSHIP",
"INCOMING_SOCIAL_EDGE",
"INVITE_TO_EMAIL"
]
},
"allowed": {
"type": "boolean"
},
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
}
},
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiInteractionSettings"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AgentSession": {
"description": "The AgentSession is a sender event used by both Google Assistant and Allo to signal the start or end of a third party agent/action chat session.",
"type": "object",
"properties": {
"type": {
"type": "string",
"enumDescriptions": [
"",
"Notification that the agent session has started.",
"Notification that the agent session has ended.",
"Notification from client to request ending the agent session."
],
"enum": [
"UNKNOWN",
"START",
"END",
"END_REQUEST"
]
},
"agentBotId": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id",
"description": "The tachyon ID of the third party agent this session belongs to."
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AgentSession"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiveMessagesResponse": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiveMessagesResponse",
"properties": {
"fastPathReady": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiveMessagesResponseFastPathReady"
},
"pong": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiveMessagesResponsePong"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiveMessagesResponseHeader"
},
"inboxMessage": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1InboxMessage"
},
"endOfBatch": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiveMessagesResponseEndOfBatch"
},
"refreshResult": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiveMessagesResponseRefreshResult"
},
"startOfBatch": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiveMessagesResponseStartOfBatch"
}
}
},
"InstantmessagingPaGoogleInternalPeopleV2ListPeopleResponse": {
"properties": {
"totalItems": {
"format": "int32",
"description": "DEPRECATED. Use the `total_size` field instead. For List actions, this is total number of items in the list, irrespective of pagination. For Sync actions, this is the total number of items on the server.",
"type": "integer"
},
"partialFailureStates": {
"type": "array",
"description": "DEPRECATED. Failure states that affected the request possibly resulting in a partially complete response. NOTE: This field is only populated for the ListRankedPeople action, which is deprecated.",
"items": {
"enumDescriptions": [
"Unknown failure state.",
"Email lookup was throttled.",
"Phone lookup was throttled."
],
"type": "string",
"enum": [
"PARTIAL_FAILURE_STATE_UNKNOWN",
"EMAIL_LOOKUP_QUOTA_THROTTLED",
"PHONE_LOOKUP_QUOTA_THROTTLED"
]
}
},
"nextSyncToken": {
"description": "Set this token in the request's sync_token field to return only people who have changed since this request. New use cases that want people deltas should use SyncPeopleRequest for this use case. The next_sync_token field may not be set for other responses and only very specific use cases are supported for ListAll sync.",
"type": "string"
},
"people": {
"description": "The people in this collection.",
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPerson"
},
"type": "array"
},
"additionalSyncData": {
"$ref": "InstantmessagingPaGoogleInternalPeopleV2AdditionalSyncData",
"description": "When the response is coming from SyncPeople, the below field will be filled."
},
"totalSize": {
"description": "The total count of items in the list irrespective of pagination. This field replaces 'total_items'. Caveats for 'total_size' field: * ListDirectoryPeople response does not set 'total_size'. * ListRankedPeople response does not set 'total_size'. * SearchDirectoryPeople response 'total_size' value is an approximation. * ListContactPeople with EMERGENCY_CONTACTS contact_list_type response 'total_size' value might be incorrect. LIST action example for paginated response. For a response with 5 items, in which the 1st page contains 3 items and 2nd page contains 2, the responses will be as follows: Page1: { people:{p1, p2, p3}, total_size:5 } Page2: { people:{p4, p5}, total_size:5 }",
"format": "int32",
"type": "integer"
},
"nextPageToken": {
"type": "string",
"description": "Set this token in ListPeopleRequest to return the next set of people from this results set. An empty next_page_token indicates the end of the collection has been reached."
}
},
"description": "Response from a people list request.",
"type": "object",
"id": "InstantmessagingPaGoogleInternalPeopleV2ListPeopleResponse"
},
"InstantmessagingPaChatBotPlatformBusinessHubContext": {
"type": "object",
"properties": {
"locationId": {
"description": "Unique identifier assigned for a location within a store. See the list of location for Lowe's here @deprecated, please use location_in_store",
"type": "string"
},
"storeId": {
"description": "Unique identifier assigned for each store in the chain businesses. @deprecated, please use StoreInfo",
"type": "string"
},
"nearPlaceId": {
"description": "The placeid of the first result of LOCAL_PACK.",
"type": "string"
},
"dialedPhoneNumber": {
"type": "string",
"description": "Normalized phone number used in PHONE entry point to contact business or location."
},
"entryPoint": {
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"TEST_URL indicates that the source intent for a message was generated manually during the onboarding process. Setting this enum allows LBM to differentiate between production and test messages in metrics.",
"Entry point surface for CTM 2.0 ads. More details in go/bm-ctm-design.",
"Entry point surface for Carsheet",
"Entry point surface for Google Shopping (go/shopping-bm-pilot-dd)."
],
"description": "Entry point from where this click is coming.",
"enum": [
"UNKNOWN",
"PLACESHEET",
"MAPS_TACTILE",
"ANSWERS_CARD",
"SITE_LINKS",
"WEB_BUTTON",
"ANDROID_APP",
"PHONE",
"URL",
"LOCAL_PACK_MULTIPLE",
"LOCAL_PACK_SINGLE",
"LOCAL_PACK_ACTION_CAROUSEL",
"RANKED_SEARCH_ENTRY",
"TEST_URL",
"ADS",
"CARSHEET",
"SHOPPING"
],
"type": "string"
},
"deviceType": {
"description": "What type of device this is coming from",
"type": "string"
},
"timeSpentSec": {
"format": "int64",
"description": "Time spent by user in the store.",
"type": "string"
},
"userSemanticLocation": {
"enum": [
"USER_SEMANTIC_LOCATION_UNSPECIFIED",
"OUT_OF_STORE",
"IN_STORE"
],
"enumDescriptions": [
"",
"",
""
],
"description": "User Semantic location. This will be either 'OUT_OF_STORE' or 'IN_STORE'. 'IN_STORE' - user is shopping in store specified in store_info.",
"type": "string"
},
"visualElementClass": {
"description": "The identifier of the visual element (button/div/img/...) on the webpage assigned by the developer through data-goog-bm-id attribute.",
"type": "string"
},
"userLocale": {
"$ref": "InstantmessagingPaChatBotPlatformBusinessHubContextUserLocale"
},
"url": {
"description": "Sanitized/normalized url of webpage where the intent was clicked.",
"type": "string"
},
"version": {
"description": "a version code to ensure backward compatibility while we evolve the proto.",
"type": "string"
},
"extensions": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"description": "Extension without bumping up version E.g. adding a new key \"skills\" without doing proto change. go/context-crm-api For E.g. {\"extenstions\": [{\"skills: \"electronics\"}, {\"member\": \"yes\"}]} for textproto representation http://go/textformat-spec#map-fields"
},
"intent": {
"description": "User intent as determined by Google using various signals from different Google properties.",
"type": "string"
},
"storeInfo": {
"$ref": "InstantmessagingPaChatBotPlatformStoreInfo",
"description": "This will be store user wants to start conversing Passing this information will help 3P CRM to route to correct store."
},
"locationInStore": {
"type": "string",
"description": "User's location within a store. Might be empty if Google doesn't know about the location. E.g. 'Appliances'"
},
"sdkVersion": {
"type": "string",
"description": "JS SDK version rendering the message button."
},
"contextData": {
"description": "The data from the visual element (button/div/img/...) on the webpage which gives contextual inormation given by the web developer about the visual element through the data-goog-bm-context attribute of the element.",
"type": "string"
},
"notificationOrigin": {
"type": "string",
"description": "Where this click is coming from (Geofencing, Bluetooth beacons, NFC, etc)"
}
},
"description": "Next id: 21 Note: If you are adding/removing fields from this Proto, make sure to update it in the LogBusinessHubContext proto if applicable LINT.IfChange",
"id": "InstantmessagingPaChatBotPlatformBusinessHubContext"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RerankerInfo": {
"description": "Metadata about the reranker used to score/sort the suggestion in the list of suggestions.",
"properties": {
"method": {
"description": "Which Reranking method was used (e.g. model-based or the old default heuristic method)",
"type": "string",
"enumDescriptions": [
"This is not a valid value for this flag to take and so it should only occur in the logs if it was not set or there was an error.",
"Corresponds to the legacy reranker behavior that uses simple rules and heuristics to sort suggestions based on their type.",
"Corresponds to a non-personalized reranker model learned via Federated Learning used to score each suggestion individually.",
"Corresponds to a user-profile-based reranker model learned via Federated Learning and personalized inference based on user-profile-based features used to score each suggestion individually.",
"Corresponds to a non-personalized reranker model learned via Federated Learning used to score whole impressions."
],
"enum": [
"UNKNOWN_RERANKER_METHOD",
"LEGACY_RERANKER",
"FL_GLOBAL_RERANKER_PER_SUGGESTION",
"FL_PERSONALIZED_RERANKER_PER_SUGGESTION",
"FL_GLOBAL_RERANKER_PER_IMPRESSION"
]
},
"score": {
"description": "If present, it will be a double score, which is different from the score in the top-level SuggestionInfo which conveys information about the score from the candidate-generating model.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RerankerScore"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RerankerInfo"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1JoinGroupCallRequest": {
"description": "JoinGroupCall flow: Client Server Other Members |-- JoinGroupCallRequest --\u003e| | |\u003c- JoinGroupCallResponse --|------ JoinGroupCallPush -----\u003e| The client sends this request to join the group call. Atomic request.",
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1JoinGroupCallRequest",
"properties": {
"initialCallState": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ClientGroupCallState"
},
"groupId": {
"description": "The group ID of the call join.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"experimentalPushAlsoUsingDatachannel": {
"type": "boolean",
"description": "Send the JoinGroupCallPush also using data channels."
},
"groupCallSessionId": {
"description": "The session ID of the call, which identifies a single call session within the group. This should only be used for logging and analytics. This should be a UUID generated by the first client who joins the call.",
"type": "string"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ApnDataValue": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ApnDataValue",
"description": "ApnDataValue contains the APN app name and push token for a client.",
"type": "object",
"properties": {
"highPriApnPushToken": {
"description": "high_pri_apn_push_token is the push token for high priority notifications.",
"type": "string",
"format": "byte"
},
"highPriApnApp": {
"description": "high_pri_apn_app is the apn app name for high priority notifications.",
"type": "string"
},
"apnApp": {
"description": "apn_app is the APNs Application, usually same as the APNs Bundle ID.",
"type": "string"
},
"apnPushToken": {
"description": "apn_push_token is only used if the registration shall be able to receive APN pushes via ApnsProxyServer or ApnsSandboxProxyServer.",
"type": "string",
"format": "byte"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1NeedPreKeysPush": {
"properties": {},
"type": "object",
"description": "Sent when the server needs more prekeys from the client.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1NeedPreKeysPush"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReachabilityChangeTombstone": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReachabilityChangeTombstone",
"properties": {
"newRegistrationState": {
"description": "new registration state for the users.",
"type": "string",
"enum": [
"UNKNOWN",
"APP",
"NOTIFICATION",
"SMS",
"NONE"
],
"enumDescriptions": [
"",
"APP means the matching app registration was found for the requested user ID.",
"NOTIFICATION means no matching app registration was found for the requested user ID, but a Matchstick registration",
"SMS means no matching app registration was found for the requested user ID, but it is likely reachable through SMS.",
"NONE means no matching app registration was found for the requested user ID, and likely unreachable through SMS."
]
},
"referencedUsers": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"type": "array",
"description": "users referenced in the tombstone."
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SubstitutePrediction": {
"properties": {
"iconUri": {
"description": "Icon for suggestion (required, except for when used with Matchstick Intent when it's optional)",
"type": "string"
},
"suggestionText": {
"type": "string",
"description": "Text displayed to user (required). Similarly to other suggestions, localized to conversation's locale."
},
"messageText": {
"type": "string",
"description": "Text sent as message if suggestion is clicked (required)."
}
},
"type": "object",
"description": "This suggestion type allows to display one text on suggestion chip and send another text as message if chip is clicked. Note that we only surface SubstitutePredictions in-conversation suggestions (not notification suggestions). http://go/allo-music-suggestions-design",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SubstitutePrediction"
},
"InstantmessagingPaGoogleInternalPeopleV2ConnectedSitesOptions": {
"properties": {
"connectedSiteType": {
"type": "array",
"items": {
"enum": [
"CONNECTED_SITE_TYPE_UNKNOWN",
"ALL_TYPES"
],
"type": "string",
"enumDescriptions": [
"",
""
]
},
"description": "The types of connected sites to return crawled contacts from."
}
},
"description": "DEPRECATED. Parameters for enabling read of contacts from connected sites (also known as crawled-contacts). See go/PeopleApiLinkedExternalSites.",
"type": "object",
"id": "InstantmessagingPaGoogleInternalPeopleV2ConnectedSitesOptions"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CreateShortLinksResponse": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CreateShortLinksResponse",
"type": "object",
"description": "Response for CreateShortLinksRequest.",
"properties": {
"shortLinks": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "A map with long_link in CreateShortLinksRequest as key, short link as value. The short links are now Firebase Dynamic Link short URLs start with domain_uri_prefix defined in the request. e.g. https://allo.app.goo.gl/2CAFEBABEmusQjtvucYnoh."
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriod": {
"description": "Whether this field is set or not determines whether an account is in the grace period. While in the grace period, the user is unable to change their birthday on their own, and will be age-disabled if they don't act in a limited amount of time. Applies only to ServiceData Birthday. Users enter the grace period if they choose a birthday below the Age of Consent (go/aoc). After the grace period ends, the account will be age disabled. See go/age-disable-grace-period-dd.",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriod",
"properties": {
"gracePeriodEnd": {
"format": "google-datetime",
"description": "Timestamp which signifies the end of the grace period for this account.",
"type": "string"
},
"gracePeriodType": {
"type": "string",
"enum": [
"UNKNOWN",
"USER_SPECIFIED_BIRTHDAY",
"UNDERAGE_SUSPECTED"
],
"enumDescriptions": [
"",
"When CalendarDay is populated by user specified birthday.",
"Account is marked as underage by other means. The CalendarDay field is not populated."
]
},
"manualGracePeriodInfo": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodManualGracePeriodInfo"
},
"gracePeriodStart": {
"format": "google-datetime",
"description": "Timestamp which signifies the start of the grace period for this account.",
"type": "string"
},
"calendarDay": {
"$ref": "InstantmessagingPaGoogleTypeDate",
"description": "Provisional birthday \u003cAoC the user provided, which made them enter the grace period. The main birthday fields were not altered yet while in the grace period."
}
},
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiOpeningHours": {
"description": "The periods that this place is open during the week. The periods are in chronological order, starting with today in the place-local timezone. An empty (but not absent) value indicates a place that is never open, e.g. because it is closed temporarily for renovations.",
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiOpeningHours",
"properties": {
"periods": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiOpeningHoursPeriod"
}
},
"weekdayTexts": {
"items": {
"type": "string"
},
"description": "Localized strings describing the opening hours of this place, one string for each day of the week. Will be empty if the hours are unknown or could not be converted to localized text. Example: \"Sun: 18:00-06:00\"",
"type": "array"
},
"openNow": {
"type": "boolean",
"description": "Is this place open right now? Always present unless we lack time-of-day or timezone data for these opening hours."
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UnblockUsersResponse": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UnblockUsersResponse",
"properties": {
"header": {
"description": "Clients should use the txn_timestamp_usec field inside the header to resolve conflicts with other updates.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LinkSafety": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LinkSafety",
"type": "object",
"description": "Link safety.",
"properties": {
"initiatedBy": {
"description": "name of rule that initiated the verdict.",
"type": "string"
},
"suspectedType": {
"type": "string",
"description": "Suspected type of the link.",
"enumDescriptions": [
"",
"The content is infected or infects users with malicious software such as a virus, worm, trojan, adware, spyware, etc.",
"The content is used for phishing attacks."
],
"enum": [
"UNSPECIFIED",
"MALWARE",
"PHISHING"
]
},
"action": {
"type": "string",
"enumDescriptions": [
"",
"None is returned by all actions, and is triggered if: 1. No change in spam status of user 2. Duplicate message already sent to Ares, so we already acted on it. 3. No verdict/decision was made",
"Drop happens only on 'Check*Message'. The expected action is to silently drop the message.",
"Throttle indicates that we should begin throttling the subject. Their messaging rpcs will be put in the critical path of Ares.",
"Suspend indicates that we should suspend the user account and not allow them to register or send messages on any platform.",
"Restrict indicates that the user should be restricted to interacting with users in the same app.",
"clears the RESTRICT verdict.",
"clears the SUSPEND and THROTTLE verdicts.",
"Warn happens when we warn a client that a message is suspicious.",
"Drop recommendation with reason happens only on 'Check*Message'. The expected action is to mark the message as Spam and provide a reason.",
"Inverse of Throttle.",
"Positive verdict that would clear any previous client state."
],
"enum": [
"UNKNOWN",
"NONE",
"DROP",
"THROTTLE",
"SUSPEND",
"RESTRICT",
"UNRESTRICT",
"REINSTATE",
"WARN",
"DROP_RECOMMENDATION_WITH_REASON",
"UNTHROTTLE",
"ALLOW"
],
"description": "Spam action (i.e., safety verdict of the content)."
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetCapabilitiesRequest": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetCapabilitiesRequest",
"properties": {
"notificationOptions": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1NotificationOptions"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"caps": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ClientCapabilitiesValue",
"description": "caps is the capabilities to set to for the caller. If it is null, this request does not change capabilities."
}
}
},
"InstantmessagingPaSocialGraphApiProtoSearchProfileEducation": {
"description": "Wraps information about a user's eductational background.",
"type": "object",
"id": "InstantmessagingPaSocialGraphApiProtoSearchProfileEducation",
"properties": {
"endTime": {
"$ref": "InstantmessagingPaGoogleTypeDate"
},
"institution": {
"$ref": "InstantmessagingPaSocialGraphApiProtoSearchProfileEntity"
},
"startTime": {
"$ref": "InstantmessagingPaGoogleTypeDate"
},
"fieldOfStudy": {
"items": {
"$ref": "InstantmessagingPaSocialGraphApiProtoSearchProfileEntity"
},
"type": "array"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1KickGroupUsersResponse": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1KickGroupUsersResponse",
"description": "The server responds to the client who sent KickGroupUsersRequest.",
"type": "object",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"txnTimestampUsec": {
"format": "int64",
"description": "txn_timestamp_usec is the timestamp, in microseconds since the epoch, when KickGroupUsersRequest transaction committed.",
"type": "string"
},
"kickedUsers": {
"description": "kicked_users are members who were kicked from the group. This is a subset of request.users if it contains non group members.",
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
}
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiCalendar": {
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiCalendar",
"properties": {
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
},
"type": {
"description": "The type of the calendar URL. The type can be free form or one of these predefined values: * `home` * `freeBusy` * `work`",
"type": "string"
},
"url": {
"type": "string"
},
"formattedType": {
"description": "The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.",
"type": "string"
}
},
"description": "A url to the person's calendar. As of 03/2018 is not supported for user Profile.",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupCallsStatusRequest": {
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"groupIds": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"type": "array",
"description": "The IDs of the groups to query. Limited to 50 server side."
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupCallsStatusRequest",
"type": "object"
},
"InstantmessagingPaGoogleInternalPeopleV2RequestMaskPhotoOptions": {
"type": "object",
"properties": {
"privateUrlFormat": {
"enumDescriptions": [
"The URL format will depend on the requester's client agent. For Populous and Contact Store, the default is \"short\". For all other clients, the default is \"long\".",
"The URL is a redirect avatar URL. Credentials must be provided on request to view photo.",
"The URL is an avatar URL with embedded credentials. Will be significantly larger than a short URL."
],
"description": "The desired format to use for private profile photo URLs in the response. See go/onephoto-twourls for an in-depth explanation of private profile photo URL formats. Also see go/avatar-fife-urls for a FIFE avatar URL explanation. NOTE: Get approval from peopleforwork-eng@ before using this field!",
"type": "string",
"enum": [
"PRIVATE_PHOTO_URL_FORMAT_UNSPECIFIED",
"SHORT",
"LONG"
]
}
},
"id": "InstantmessagingPaGoogleInternalPeopleV2RequestMaskPhotoOptions"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterGuestViaLinkRequest": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterGuestViaLinkRequest",
"type": "object",
"description": "RegisterGuestViaLinkRequest is the request used by a user to register as guest in order to join a Duo group using an InviteLink.",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"registerData": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterData"
},
"locationHint": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LocationHint",
"description": "location_hint is the region hint from client. The backend will use this field for sharding if this is set, and use RegisterData.Locale or request IP if this is not set."
},
"inviteLinkId": {
"description": "The invite link used by the client to register. The registration will fail if the link is not correct.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1InviteLinkId"
}
}
},
"InstantmessagingPaRcsCommonCarrierId": {
"id": "InstantmessagingPaRcsCommonCarrierId",
"properties": {
"carrierName": {
"type": "string",
"description": "The carrier identifier. Make a valid value here with the literal \"rcs5.googleprod.com/carrier/\" followed by one of the \"_carrier_name\" values in http://google3/communication/rcs/carrierconfig/protoconf/carriers/"
}
},
"description": "LINT.IfChange A carrier identifier message, usually determines which carrier a phone number belongs to. *NOTE* If you're an external (non-RCS-backend) user thinking about using this, you have to reach out to the SRE team first. Likely this is not what you expect it to be. The concept of a carrier in RCS might differ from what you consider a carrier to be. We reserve the right to change the carrier ID without prior notice. *NOTE*",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LookupContactLiteResponse": {
"properties": {
"groups": {
"description": "Contact entries per source.",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LiteContactEntryGroup"
},
"type": "array"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader",
"description": "Clients should use the txn_timestamp_usec field inside the header to resolve conflicts with other updates."
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LookupContactLiteResponse",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PublicPreKeySets": {
"description": "The client should publish a set of prekeys for each supported protocol version. The versions of each set must be unique.",
"type": "object",
"properties": {
"sets": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PublicPreKeySet"
}
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PublicPreKeySets"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BasicMessage": {
"description": "A BasicMessage is a generic message that can be used to send a stringly typed message between two users.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BasicMessage",
"properties": {
"data": {
"type": "string"
}
},
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEmailSignupEmailMetadata": {
"properties": {
"primary": {
"description": "This is considered to be the primary signup email. At most 1 signup email will have this set.",
"type": "boolean"
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEmailSignupEmailMetadata",
"description": "Additional metadata for a signup email. This will only be set if the email's classification is SIGNUP_EMAIL.",
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiRelationRelationDetails": {
"properties": {
"photoUrl": {
"description": "Equivalent to Photo.url for the person_id profile.",
"type": "string"
},
"displayName": {
"type": "string",
"description": "Equivalent to Name.display_name for the person_id profile."
},
"personId": {
"type": "string"
},
"jobTitle": {
"type": "string",
"description": "Equivalent to Organization.title for the primary organization of the person_id profile."
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiRelationRelationDetails",
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonAttribute": {
"properties": {
"value": {
"type": "string"
},
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
},
"attributeKey": {
"type": "string",
"enum": [
"PERSON_ATTRIBUTE_UNKNOWN",
"REJECTED_CLEANUP_CARD_SUGGESTIONS"
],
"enumDescriptions": [
"",
"The value field of a PersonAttribute object with this key will contain a byte serialized RejectedCleanupCardSuggestions proto, see http://shortn/_3KyFdhbZfW"
]
}
},
"description": "Client-specific binary blob stored with Person data. This differs from ClientData, which stores structured, key-value pairs.",
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonAttribute"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MediaParametersRequest": {
"properties": {
"maxAudioBitrate": {
"type": "integer",
"description": "Maximum audio bitrate (in kbps) desired by the other side. 0 means there is no limit.",
"format": "int32"
},
"maxVideoWidth": {
"format": "int32",
"type": "integer",
"description": "Maximum video encoder resolution and frame rate for send video desired by the other side. 0 means there is no limit."
},
"maxVideoHeight": {
"format": "int32",
"type": "integer"
},
"maxVideoBitrate": {
"format": "int32",
"description": "Maximum video bitrate (in kbps) desired by the other side. 0 means there is no limit.",
"type": "integer"
},
"maxVideoFps": {
"format": "int32",
"type": "integer"
},
"networkType": {
"type": "string",
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
""
],
"enum": [
"UNKNOWN",
"WIFI",
"MOBILE_2G",
"MOBILE_3G",
"MOBILE_4G",
"MOBILE_UNKNOWN",
"MOBILE_5G"
]
}
},
"description": "Sent by one side of the call to request the other side to configure specific media parameters.",
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MediaParametersRequest"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEmergencyInfo": {
"type": "object",
"description": "Emergency info for Person. See go/emergency-trusted-contacts-papi.",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEmergencyInfo",
"properties": {
"trustLevel": {
"enum": [
"TRUST_LEVEL_UNSPECIFIED",
"TRUST_LEVEL_EMERGENCY_CONTACT"
],
"type": "string",
"enumDescriptions": [
"The person does not have a specified trust level.",
"The person is an Emergency Contact."
]
},
"pomeroyId": {
"description": "Opaque id from Pomeroy (go/pomeroy). Non-empty pomeroy_id means that this contact has the potential to become trusted contact or it's already trusted contact. Trust is eventually gaia\u003c-\u003egaia link, but when the trust link is initiated gaia might not be known. Until gaia is discovered, pomeroy_id is used to identify the contact uniquely. If trust_level is missing or set to TRUST_LEVEL_UNSPECIFIED pomeroy_id must be empty.",
"type": "string"
},
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScope": {
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScope",
"type": "object",
"properties": {
"domainUsers": {
"description": "This is a \"synthetic\" field. In reality domains are treated as gaia- groups. This field will be 'true' when the field is ACLed to the gaia-group of the requester's domain.",
"type": "boolean"
},
"membership": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAcl"
},
"allUsers": {
"type": "boolean",
"description": "Indicates that the field is accessible to all users including unauthenticated users. For some fields this means \"to everyone except blocked users\"."
},
"person": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopePersonAcl",
"description": "Indicates that the field is accessible to a person."
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetUserInviterIdRequest": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetUserInviterIdRequest",
"type": "object",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
}
},
"description": "GetUserInviterIdRequest is the request to get self inviter id. All registrations for the requester will have the same inviter id."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ImageDimension": {
"properties": {
"height": {
"format": "int32",
"type": "integer"
},
"width": {
"type": "integer",
"format": "int32"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ImageDimension"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiInAppReachabilityReachabilityKey": {
"description": "Information pertaining to how this reachable state was established.",
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiInAppReachabilityReachabilityKey",
"properties": {
"keyType": {
"enumDescriptions": [
"",
"",
""
],
"enum": [
"UNKNOWN_KEY_TYPE",
"PHONE",
"OBFUSCATED_GAIA_ID"
],
"type": "string"
},
"keyValue": {
"type": "string",
"description": "The value of the key by which the user said they may be reachable. E.g., the phone number."
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ImageOptions": {
"properties": {
"maxContentLength": {
"description": "The bytes limit of a gif. If this is set, we will take our best guess at returning a gif that will be under this limit. There is no guarentee however. The compression logic we will be using for this service is based on the fact that gif size is roughly proportional to width * height * #frames.",
"type": "integer",
"format": "int32"
},
"killAnimation": {
"type": "boolean",
"description": "FIFE kill_animation flag. Set to true to request only a single frame of the image if it's animated. See //depot/google3/photos/service/image_url_options.proto for more information."
},
"qualityBucket": {
"format": "int32",
"type": "integer",
"description": "FIFE quality bucket. If unset we request 0 = best quality. See //depot/google3/photos/service/image_url_options.proto for more information."
},
"contentType": {
"type": "string",
"description": "Desired content type (either \"image/webp\" or \"image/gif\") for thumbnails generated by FIFE. GIF will be requested if omitted. FIFE may not respect this param and choose different formats."
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ImageOptions"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiDeviceContactId": {
"description": "Unique id for an aggregated device contact.",
"properties": {
"deviceId": {
"description": "Source device id (go/client-instance-id) of this device contact.",
"type": "string"
},
"contactId": {
"type": "string",
"format": "int64",
"description": "Aggregated device contact id on the source device."
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiDeviceContactId",
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAgeRangeType": {
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAgeRangeType",
"properties": {
"ageOfConsentStatus": {
"enum": [
"AOC_STATUS_UNKNOWN",
"UNDER_AOC",
"AT_OR_ABOVE_AOC"
],
"description": "Deprecated. Use go/supervised-accounts#capabilities-for-child-accounts instead. Denotes whether the user is under the region based Age of Consent. The user's region is based on ClientUserInfo.GlobalTos.AgreedLocation The age is inferred from Birthday field or CertifiedBornBefore field. The region based AoC is specified at go/aoc.",
"enumDescriptions": [
"We do not have enough information to determine the user's age. e.g. user has no declared age or region is not known.",
"The user is under the Age of Consent of the region the user is in.",
"The user is at or older than the Age of Consent of the region the user is in."
],
"type": "string"
},
"ageInYears": {
"type": "integer",
"description": "Please read go/people-api-howto:age on how to get age data. Age of the user. The field is set based on profile storage fields such as account birthday. If the source fields are not present, `age_in_years` will be left unset.",
"format": "int32"
},
"ageRange": {
"enum": [
"UNKNOWN",
"LESS_THAN_EIGHTEEN",
"TWENTY_ONE_OR_OLDER",
"EIGHTEEN_TO_TWENTY"
],
"enumDescriptions": [
"",
"",
"",
""
],
"type": "string",
"description": "Deprecated. Please read go/people-api-howto:age on how to get age data. Age range is populated based on `account_birthday` and `certified_born_before`, which may not be set for dasher users."
},
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
}
},
"type": "object",
"description": "Please read go/people-api-howto:age on how to get age data. Message for the `Person.age_range_repeated` field. Replaces the existing `Person.age_range` field."
},
"InstantmessagingPaYoutubeElementsTemplatesProtoEMLParcel": {
"id": "InstantmessagingPaYoutubeElementsTemplatesProtoEMLParcel",
"properties": {
"emlTemplateData": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaYoutubeElementsTemplatesProtoEMLTemplateData"
}
}
},
"description": "Message for holding any data the EML serving stack needs to transmit to the client so that an Elements response can be correctly rendered. Presently is limited to TemplateConfig data.",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RemoveContactsPush": {
"description": "Push message when some contacts have been removed on the server. Called when another client calls RemoveContacts or some new contacts have been deleted from Focus backend for the Gaia account. Notes: 1. The server will batch the updates into multiple RemoveContactsPush(s) in case of a large contact update. 2. A contact may be updated while a client is fetching pages of a contacts via GetContacts, in which case a GetContactsResponse may contain stale data. It is up to clients to process the GetContactsResponse and AddContactsPush/RemoveContactsPush/SetContactsPush(s) in the correct order and / or use txn_timestamps to resolve races.",
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RemoveContactsPush",
"properties": {
"source": {
"description": "Source of the contact.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContactSource"
},
"txnTimestampUsec": {
"description": "The timestamp for the read / write transaction of the contact.",
"format": "int64",
"type": "string"
},
"contactIds": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"type": "array",
"description": "Contact entries to be removed."
}
}
},
"InstantmessagingPaLogsVeOffsetIdentifier": {
"id": "InstantmessagingPaLogsVeOffsetIdentifier",
"properties": {
"offset": {
"description": "The offset of the VE from the element identified by base (or within the full VE tree, if base is unset).",
"format": "int32",
"type": "integer"
},
"base": {
"type": "array",
"description": "Corresponds to VisualElement.identifier_base. Should be a unique value within a single VE tree. If unset, then the offset of this identifier refers to the global offset within the entire VE tree.",
"items": {
"format": "int32",
"type": "integer"
}
}
},
"description": "Next id: 3",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DatetimeAnnotationDay": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DatetimeAnnotationDay",
"properties": {
"day": {
"format": "int32",
"type": "integer"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetPreKeysResponse": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetPreKeysResponse",
"type": "object",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LinkDecoration": {
"description": "The link decoration.",
"properties": {
"description": {
"type": "string",
"description": "The link description."
},
"safety": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LinkSafety",
"description": "Link safety information."
},
"sourceDomain": {
"type": "string",
"description": "The source domain of the link."
},
"title": {
"type": "string",
"description": "The link title."
},
"canonicalUrl": {
"type": "string",
"description": "The canonical url of the site, or the retrieved url if no canonical url."
},
"imageFifeUrl": {
"description": "The FIFE proxy url of the representative image.",
"type": "string"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LinkDecoration"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1WebPushDataValue": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1WebPushDataValue",
"properties": {
"auth": {
"type": "string",
"description": "The corresponding encryption auth key."
},
"endpoint": {
"type": "string",
"description": "When a service worker subscribes for push notifications, an endpoint is provided, part of which includes the gcm registration id."
},
"p256dh": {
"description": "The p256dh encryption key used when delivering the notification.",
"type": "string"
},
"subscriptionType": {
"description": "The type of push subscription.",
"type": "string",
"enum": [
"SUBSCRIPTION_TYPE_UNSPECIFIED",
"FCM",
"VAPID"
],
"enumDescriptions": [
"",
"Subscription based on legacy FCM sender_project_id.",
"Subscription based on VAPID (go/vapid-spec)."
]
},
"webApp": {
"type": "string",
"description": "web_app is the web Application, this need to be same as the application id passed to the ChimeSubscriber by the client's frontend."
}
},
"description": "WebPushDataValue contains the endpoint, p256dh and auth for a web client. Web clients can get these fields by calling ChimeSubscriber.subscribeToGcm(). See: https://g3doc.corp.google.com/notifications/frontend/g3doc/webpush/how_to_use.md#subscription"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DatetimeAnnotationHour": {
"properties": {
"hour": {
"format": "int32",
"type": "integer"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DatetimeAnnotationHour"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetSelfUserInviteLinkResponse": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetSelfUserInviteLinkResponse",
"type": "object",
"properties": {
"inviteLinkId": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1InviteLinkId"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UnableToDeliverReceiptDetails": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UnableToDeliverReceiptDetails",
"properties": {
"originalSender": {
"description": "Original sender of the message this unable to deliver receipt refers to.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LighterId"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddSpamSignalRequestUserSpamSignal": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddSpamSignalRequestUserSpamSignal",
"properties": {
"appSpecificSignal": {
"type": "string",
"description": "specified by app_specific_signal_type.",
"format": "byte"
},
"groupId": {
"description": "Group Id of the group that triggered this spam signal. (optional)",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"spamMessages": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SpamMessage"
},
"description": "Messages that we send to ARES for analysis. (optional)",
"type": "array"
},
"userId": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id",
"description": "Spam signal are additive and add to any existing signal for the user."
},
"appSpecificSignalType": {
"enumDescriptions": [
"",
"Signal of type",
"http://google3/abuse/ares/storage/proto/features/tachyon/bugle.proto?l=10&rcl=267460823 Signal of type"
],
"enum": [
"EMPTY",
"BUGLE",
"DUO"
],
"type": "string"
},
"messageId": {
"type": "string",
"description": "Message id of the message that triggered this spam signal. (optional) @deprecated"
},
"spamType": {
"type": "string",
"enum": [
"UNKNOWN",
"STRANGER_DANGER",
"USER_MARKED_AS_SPAM",
"USER_BLOCKED",
"USER_UNBLOCKED",
"APP_BLOCKED",
"APP_UNBLOCKED",
"USER_INITIATED_CONVERSATION",
"USER_INVITED_TO_GROUP",
"USER_MARKED_AS_NOT_SPAM",
"USER_SET_CONTACTS",
"USER_ADDED_CONTACTS",
"LOOKUP_REGISTRATION"
],
"enumDescriptions": [
"",
"Reported is not in the contact list of reporter.",
"Reported is marked as spam by reporter.",
"// Reported gets blocked by reporter.",
"Reported gets unblocked by reporter.",
"Reporter blocked entire app. Reported is last sender to reporter.",
"Reporter unblocked entire app. Reported is last sender to reporter.",
"Reported initiated conversation with reporter.",
"Reported invited reporter to a group.",
"Reported is marked as spam by reporter.",
"Reported set the reporter as a contact.",
"Reported added the reporter as a contact.",
"Registration explicitly looked up by another user."
]
},
"messages": {
"description": "Messages that we send to ARES for analysis. (optional) This is deprecated - please use spam_messages",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1InboxMessage"
},
"type": "array"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PeerMediaAccessList": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PeerMediaAccessList",
"type": "object",
"properties": {
"peerMediaAccess": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PeerMediaAccess"
},
"type": "array"
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiMatchInfo": {
"description": "Represents the matching information for a field when there is a query.",
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiMatchInfo",
"properties": {
"match": {
"description": "The list of matches ordered by most relevant matching for autocomplete coming first.",
"type": "array",
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiMatchInfoLookupTokenMatch"
}
},
"query": {
"description": "The query token we are matching against.",
"type": "string"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MediaSessionRequestParameters": {
"properties": {
"rtpParams": {
"description": "RTP parameters - codec parameters, and header extensions.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RtpParams"
},
"downstreamBandwidthParams": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BandwidthParams",
"description": "The requested bandwidth parameters for downstream. (Clients control the upstream locally). Optional Use the top layer downstream_bandwidth_params instead."
},
"clientFingerprint": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Fingerprint",
"description": "Client x509 certificate fingerprint, used for DTLS."
},
"quartcParams": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1QuartcParams",
"description": "Quartc parameters."
},
"videoCodecCapabilities": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1VideoCodecCapability"
},
"description": "The list of codecs and capabilities for codecs that this clients supports. This is different from the codec list in rtp_params, which instead identify the payload type for each codec on the wire.",
"type": "array"
},
"clientIce": {
"description": "ICE configuration parameters.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1IceParams"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MediaSessionRequestParameters",
"description": "Parameters needed to create a WebRTC connection to a media router."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BotEntityPrediction": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BotEntityPrediction",
"properties": {
"botName": {
"type": "string"
},
"entityText": {
"type": "string"
}
},
"description": "Bot Entity prediction."
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiInterest": {
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiInterest",
"properties": {
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
},
"value": {
"type": "string"
}
}
},
"InstantmessagingPaSocialGraphApiDataColumn": {
"properties": {
"value": {
"description": "The value of the data inside column.",
"type": "string"
},
"columnName": {
"type": "string",
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"DATA15 is not included since it is a BLOB."
],
"enum": [
"UNKNOWN_COLUMN",
"DATA1",
"DATA2",
"DATA3",
"DATA4",
"DATA5",
"DATA6",
"DATA7",
"DATA8",
"DATA9",
"DATA10",
"DATA11",
"DATA12",
"DATA13",
"DATA14"
],
"description": "The name of the column in CP2 for raw_contact_data."
}
},
"id": "InstantmessagingPaSocialGraphApiDataColumn",
"description": "LINT.IfChange",
"type": "object"
},
"InstantmessagingPaSocialGraphApiProtoIdentityAclOptions": {
"description": "Params for specifying Identity ACL check behavior.",
"id": "InstantmessagingPaSocialGraphApiProtoIdentityAclOptions",
"properties": {
"mode": {
"type": "string",
"description": "The Identity ACL check mode that should be applied.",
"enumDescriptions": [
"Behavior is same as DEFAULT.",
"Identity ACL will be evaluated. Requests to Zanzibar wil be made with SHEDDABLE_PLUS QoS.",
"Skip Identity ACL checks entirely. Usually there is no downside to checking Identity ACL, so this should only be used for specific reasons. Example: * Very high resource usage in the case of batch processing.",
"The caller is relying on Identity ACL connections to show profile information that is needeed for correctness of their product flow. Typically this is used for clients that are integrated with Identity ACL to create edges. When clients use this option, requests to Zanzibar use CRITICAL QoS."
],
"enum": [
"IDENTITY_ACL_MODE_UNSPECIFIED",
"DEFAULT",
"DISABLED",
"CRITICAL"
]
}
},
"type": "object"
},
"InstantmessagingPaQuiltActionRef": {
"id": "InstantmessagingPaQuiltActionRef",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "e.g. \"click\""
},
"callbackId": {
"description": "Assigned by CallbackRegistry",
"format": "int32",
"type": "integer"
}
},
"description": "NEXT_ID: 3"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareData": {
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareData",
"type": "object",
"properties": {
"privateLowResAcl": {
"type": "boolean",
"description": "True if the low-res photo has a private ACL set."
},
"monogramUrl": {
"type": "string"
},
"highResUrl": {
"type": "string"
},
"diffData": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffData"
},
"inconsistentPhoto": {
"description": "True if photo diff is greater than 0.01 on any color band, or if the user has a low res photo but no high res photo. This field is primarily for use in About Me and for other uses it's recommended to use the DiffData values directly instead. The cutoff is based on a heuristic determined in go/comparing-profile-photos",
"type": "boolean"
},
"lowResData": {
"format": "byte",
"description": "Only present if the photo diff is greater than 0.01 on any color band.",
"type": "string"
},
"lowResUrl": {
"type": "string"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeleteGroupRequest": {
"properties": {
"groupId": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeleteGroupRequest",
"type": "object",
"description": "Deletes a group."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1IceCandidate": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1IceCandidate",
"properties": {
"label": {
"format": "int32",
"type": "integer"
},
"id": {
"type": "string"
},
"candidate": {
"type": "string",
"description": "The raw ICE candidate string."
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Invitation": {
"properties": {
"iceRestartPolicy": {
"type": "string",
"enumDescriptions": [
"Default ICE restart policy - callee triggers ICE restart when user accepts the call.",
"ICE restart is not allowed, relay only connection is established. Used on low end devices (KaiOS).",
"ICE restart is not allowed, but both sides of the call will start gathering of non-relayed ICE candidates when call is accepted."
],
"enum": [
"DEFAULT",
"NO_ICE_RESTART",
"NO_ICE_RESTART_GATHER_P2P_CANDIDATES"
],
"description": "ICE restart policy."
},
"useDataSaver": {
"description": "To indicate to the callee that the caller is using data saver mode and both sides should expect lower video bit rate. The callee should use this to display the information in the incoming call screen.",
"type": "boolean"
},
"callerFriendlyName": {
"type": "string",
"description": "Caller-provided friendly name that callee may display during ring. This field should only be set by callers and consumed by callees in intercom scenarios. All other calls should leave this blank. See go/intercom-device-name."
},
"videoCodecCapabilities": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1VideoCodecCapability"
},
"description": "To maintain compatibility with old clients new clients should use both codec_description and video_codec_capabilities in parallel until old clients will become deprecated. Clients may use this field to pass its local decoder capabilities to the remote side. Remote client may select optimal video encoder codec and resolution based on known other side decoder limitations.",
"type": "array"
},
"requiredFeatures": {
"description": "DEPRECATED: Callee SHOULD ignore the contents of this field. Only SIGNAL_ENCRYPTED_SIGNALING and LIGHTWEIGHT_SIGNALING experiments are known to use this field. No clients are known to auto-decline calls based on this field, which makes it broken for dropping incompatible clients in server fanout.",
"type": "array",
"items": {
"enum": [
"UNKNOWN",
"VOICE_CALL",
"VIDEO_CALL",
"SIMULTANEOUS_CONNECT",
"UAKARI",
"WEBRTC_OVER_QUARTC_AUDIO",
"WEBRTC_OVER_QUARTC_VIDEO",
"WEBRTC_OVER_QUARTC_DATA",
"JINGLE_SIGNALING",
"DEPRECATED_VIDEO_MESSAGE",
"DEPRECATED_AUDIO_MESSAGE",
"XIAOMIPN_SIGNALING",
"TACHYSTICK_INCOMING",
"VIDEO_MESSAGE",
"AUDIO_MESSAGE",
"IMAGE_MESSAGE",
"GROUP_MESSAGE",
"WEBM_VIDEO_MESSAGE",
"WEBM_AUDIO_MESSAGE",
"MULTI_DEVICE_AWARE",
"SIGNAL_ENCRYPTED_SIGNALING",
"SELF_CALLING",
"FIX_SRTP",
"SELF_CLIPS",
"MULTI_DECLINE_AWARE",
"VIDEO_CALL_DOWNGRADE",
"NO_CAMERA_DEVICE",
"RECEIVE_CALLS_FROM_GAIA",
"RECEIVE_CLIPS_FROM_GAIA",
"GAIA_REACHABLE",
"ASYMMETRIC_VIDEO",
"GROUP_CALLING_RECEIVE",
"PUSH_TO_TALK",
"EXTENDED_CAPS_AWARE",
"MEDIA_CAPTURE_AWARE",
"ALLOW_MEDIA_CAPTURE",
"GROUP_MEDIA_CAPTURE_AWARE",
"LOCAL_ONLY_VIDEO_TOGGLE_AWARE",
"RECEIVE_PING",
"ALLOW_RELAY_ONLY",
"RECEIVE_MESSAGE_REACTION",
"ACTIVITY_STATE_LOW",
"ACTIVITY_STATE_HIGH",
"CALLER_CONTROLLED_ICE_CONFIG",
"INCOMING_CODEC_SWITCHING_SUPPORTED",
"RECEIVE_PING_V2",
"RECEIVE_OUTGOING_SYNC_MESSAGES",
"TRANSFER_GROUP_CALLS"
],
"enumDescriptions": [
"Enum range [64..127] are reserved for the values here (others are used by other clients). Do not use values beyond this range.",
"",
"",
"Simultaneous connect is when 2 clients call each other at the same time. Clients with this capability can negotiate which client abandons its outgoing call and accepts the incoming invitation.",
"Client accepts incoming Dialer-\u003eDuo call upgrades. See go/dd-capability.",
"New Quartc Media Transport capabilities. When advertised, caller can request Quartc Media Transport in the invitation. See go/quartc-media-transport",
"",
"",
"Use a PSTN call as a backup notification signaling. See go/project-jingle for more details.",
"Capability of sending/receiving video message. Replaced with 75.",
"Capability of sending/receiving audio message. Replaced with 76.",
"Use Xiaomi push notifications as backup notification signaling. Se go/duo-xiaomi-pn for details.",
"Support receiving tachystick incoming calls.",
"Capability for receiving video message.",
"Capability for receiving audio message.",
"Capability for receiving image message.",
"Capability of receiving group clips.",
"Capability of receiving video clips in WebM format. Sender who sends video clips in webm format should check VIDEO_MESSAGE & WEBM_VIDEO_MESSAGE",
"Capability of receiving audio clips in WebM format.Sender who sends AUDIO clips in webm format should check AUDIO_MESSAGE & WEBM_AUDIO_MESSAGE",
"Capability for clients who are aware if their account has multiple devices and can do client fanout per go/duo-client-fanout. KnockKnock will be disabled if there are multiple devices in the callee's account since these clients don't handle KnockKnock going to multiple devices.",
"Use Signal to encrypt the SDP message to provide a mechanism of key exchange instead of DTLS. go/signal-encrypted-signaling",
"Capability for clients who can place and receive calls from devices in the same account. Clients may or may not have UI to place self-calls.",
"Capability generated by server on behalf of DR32 clients. The other peer, caller or callee, can use this cap to handle SRTP bug by acting as DR32 client (see b/80444587).",
"Capability for clients who can send and receive clips from devices in the same account and have UI support for it (go/duo-self-calls).",
"Indicates that the caller properly implements multi-decline, including but not limited to receipt of a DeclineInvitation with reason DEVICE_BUSY (i.e. doesn't stop ringing or end the call unless all endpoints have declined). See go/duo-multi-decline",
"Caller advertising this can downgrade a video call to audio based on AcceptInvitation.video_enabled. Callee advertising this will set AcceptInvitation.video_enabled as appropriate for the call type. See go/duo-video-call-downgrade.",
"Caller advertising this doesn't have a camera. If both sides of a video call advertise VIDEO_CALL_DOWNGRADE and NO_CAMERA_DEVICE, the video call will downgrade to an audio call. A caller could advertise NO_CAMERA_DEVICE without VIDEO_CALL_DOWNGRADE, and the call won't be able to downgrade to audio. See go/duocore-asymmetric-call.",
"Capability for clients who can receive incoming calls from caller using GAIA identity (i.e. sender=email). For clip support from GAIA see: RECEIVE_CLIPS_FROM_GAIA",
"Capability for clients who can receive incoming clips from caller using GAIA identity (i.e. sender=email). For call support from GAIA see: RECEIVE_CALLS_FROM_GAIA",
"Capability for clients who can be addressed on a GAIA registration (i.e. receiver=email). Includes calls and clips.",
"Capability for clients who support one-way video mutes in response to NO_CAMERA reason. See go/duocore-asymmetric-call.",
"Capability for clients who support receiving group calls.",
"Capability for clients who support push-to-talk sessions.",
"Capability for clients who support omission of the Invitation's 'features' and 'caller_features' fields (leaving only 'caller_features_extended'). Callees registering with this cap MUST prefer the values in 'caller_features_extended' over 'caller_features' and 'features'.",
"Capability for clients who support media capture during calls. DEPRECATED: This field is not being used.",
"Capability for clients who allow media capture during calls.",
"Able to participate in group moments. Note that providing this capability does not guarantee that ALLOW_MEDIA_CAPTURE is turned on. Both this capability and ALLOW_MEDIA_CAPTURE must be present for a user to be captured in a group moment. Note: Needed because of b/163419511.",
"Capability for clients who can understand the boolean flag |local_only| in ToggleVideoMode message.",
"Capability for clients who support receiving v1 ping messages.",
"Capability for clients who support doing relay_only. This will be turned off for clients in some countries that block relay-server.",
"Capability for clients who support receiving message reactions.",
"Capability for clients who have had a small number of active events on Duo. Exact number determined by experiment parameter. Refer to go/duo-activity-indicators.",
"Capability for clients who have had a large number of active events on Duo. Exact number determined by experiment parameter. If this is published, ACTIVITY_STATE_LOW should be published too. Refer to go/duo-activity-indicators.",
"Capability for clients who support sending/handling invitation with ICE config preference. Design doc: go/skylift-duo-cap",
"If the client is capabable of receiving a codec switch mid-stream.",
"Capability for clients who support receiving v2 ping messages.",
"Capability to correctly handle outgoing messages from other sender devices.",
"Capability to end a group call on the local device in response to a transfer call request from another device owned by the local user."
],
"type": "string"
}
},
"iceConfigPreference": {
"type": "string",
"description": "Caller controlled ICE config preference. Design doc: go/skylift-duo-cap"
},
"useVideoRing": {
"type": "boolean"
},
"quartcInvitation": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1QuartcInvitation"
},
"features": {
"type": "array",
"items": {
"enumDescriptions": [
"Enum range [64..127] are reserved for the values here (others are used by other clients). Do not use values beyond this range.",
"",
"",
"Simultaneous connect is when 2 clients call each other at the same time. Clients with this capability can negotiate which client abandons its outgoing call and accepts the incoming invitation.",
"Client accepts incoming Dialer-\u003eDuo call upgrades. See go/dd-capability.",
"New Quartc Media Transport capabilities. When advertised, caller can request Quartc Media Transport in the invitation. See go/quartc-media-transport",
"",
"",
"Use a PSTN call as a backup notification signaling. See go/project-jingle for more details.",
"Capability of sending/receiving video message. Replaced with 75.",
"Capability of sending/receiving audio message. Replaced with 76.",
"Use Xiaomi push notifications as backup notification signaling. Se go/duo-xiaomi-pn for details.",
"Support receiving tachystick incoming calls.",
"Capability for receiving video message.",
"Capability for receiving audio message.",
"Capability for receiving image message.",
"Capability of receiving group clips.",
"Capability of receiving video clips in WebM format. Sender who sends video clips in webm format should check VIDEO_MESSAGE & WEBM_VIDEO_MESSAGE",
"Capability of receiving audio clips in WebM format.Sender who sends AUDIO clips in webm format should check AUDIO_MESSAGE & WEBM_AUDIO_MESSAGE",
"Capability for clients who are aware if their account has multiple devices and can do client fanout per go/duo-client-fanout. KnockKnock will be disabled if there are multiple devices in the callee's account since these clients don't handle KnockKnock going to multiple devices.",
"Use Signal to encrypt the SDP message to provide a mechanism of key exchange instead of DTLS. go/signal-encrypted-signaling",
"Capability for clients who can place and receive calls from devices in the same account. Clients may or may not have UI to place self-calls.",
"Capability generated by server on behalf of DR32 clients. The other peer, caller or callee, can use this cap to handle SRTP bug by acting as DR32 client (see b/80444587).",
"Capability for clients who can send and receive clips from devices in the same account and have UI support for it (go/duo-self-calls).",
"Indicates that the caller properly implements multi-decline, including but not limited to receipt of a DeclineInvitation with reason DEVICE_BUSY (i.e. doesn't stop ringing or end the call unless all endpoints have declined). See go/duo-multi-decline",
"Caller advertising this can downgrade a video call to audio based on AcceptInvitation.video_enabled. Callee advertising this will set AcceptInvitation.video_enabled as appropriate for the call type. See go/duo-video-call-downgrade.",
"Caller advertising this doesn't have a camera. If both sides of a video call advertise VIDEO_CALL_DOWNGRADE and NO_CAMERA_DEVICE, the video call will downgrade to an audio call. A caller could advertise NO_CAMERA_DEVICE without VIDEO_CALL_DOWNGRADE, and the call won't be able to downgrade to audio. See go/duocore-asymmetric-call.",
"Capability for clients who can receive incoming calls from caller using GAIA identity (i.e. sender=email). For clip support from GAIA see: RECEIVE_CLIPS_FROM_GAIA",
"Capability for clients who can receive incoming clips from caller using GAIA identity (i.e. sender=email). For call support from GAIA see: RECEIVE_CALLS_FROM_GAIA",
"Capability for clients who can be addressed on a GAIA registration (i.e. receiver=email). Includes calls and clips.",
"Capability for clients who support one-way video mutes in response to NO_CAMERA reason. See go/duocore-asymmetric-call.",
"Capability for clients who support receiving group calls.",
"Capability for clients who support push-to-talk sessions.",
"Capability for clients who support omission of the Invitation's 'features' and 'caller_features' fields (leaving only 'caller_features_extended'). Callees registering with this cap MUST prefer the values in 'caller_features_extended' over 'caller_features' and 'features'.",
"Capability for clients who support media capture during calls. DEPRECATED: This field is not being used.",
"Capability for clients who allow media capture during calls.",
"Able to participate in group moments. Note that providing this capability does not guarantee that ALLOW_MEDIA_CAPTURE is turned on. Both this capability and ALLOW_MEDIA_CAPTURE must be present for a user to be captured in a group moment. Note: Needed because of b/163419511.",
"Capability for clients who can understand the boolean flag |local_only| in ToggleVideoMode message.",
"Capability for clients who support receiving v1 ping messages.",
"Capability for clients who support doing relay_only. This will be turned off for clients in some countries that block relay-server.",
"Capability for clients who support receiving message reactions.",
"Capability for clients who have had a small number of active events on Duo. Exact number determined by experiment parameter. Refer to go/duo-activity-indicators.",
"Capability for clients who have had a large number of active events on Duo. Exact number determined by experiment parameter. If this is published, ACTIVITY_STATE_LOW should be published too. Refer to go/duo-activity-indicators.",
"Capability for clients who support sending/handling invitation with ICE config preference. Design doc: go/skylift-duo-cap",
"If the client is capabable of receiving a codec switch mid-stream.",
"Capability for clients who support receiving v2 ping messages.",
"Capability to correctly handle outgoing messages from other sender devices.",
"Capability to end a group call on the local device in response to a transfer call request from another device owned by the local user."
],
"type": "string",
"enum": [
"UNKNOWN",
"VOICE_CALL",
"VIDEO_CALL",
"SIMULTANEOUS_CONNECT",
"UAKARI",
"WEBRTC_OVER_QUARTC_AUDIO",
"WEBRTC_OVER_QUARTC_VIDEO",
"WEBRTC_OVER_QUARTC_DATA",
"JINGLE_SIGNALING",
"DEPRECATED_VIDEO_MESSAGE",
"DEPRECATED_AUDIO_MESSAGE",
"XIAOMIPN_SIGNALING",
"TACHYSTICK_INCOMING",
"VIDEO_MESSAGE",
"AUDIO_MESSAGE",
"IMAGE_MESSAGE",
"GROUP_MESSAGE",
"WEBM_VIDEO_MESSAGE",
"WEBM_AUDIO_MESSAGE",
"MULTI_DEVICE_AWARE",
"SIGNAL_ENCRYPTED_SIGNALING",
"SELF_CALLING",
"FIX_SRTP",
"SELF_CLIPS",
"MULTI_DECLINE_AWARE",
"VIDEO_CALL_DOWNGRADE",
"NO_CAMERA_DEVICE",
"RECEIVE_CALLS_FROM_GAIA",
"RECEIVE_CLIPS_FROM_GAIA",
"GAIA_REACHABLE",
"ASYMMETRIC_VIDEO",
"GROUP_CALLING_RECEIVE",
"PUSH_TO_TALK",
"EXTENDED_CAPS_AWARE",
"MEDIA_CAPTURE_AWARE",
"ALLOW_MEDIA_CAPTURE",
"GROUP_MEDIA_CAPTURE_AWARE",
"LOCAL_ONLY_VIDEO_TOGGLE_AWARE",
"RECEIVE_PING",
"ALLOW_RELAY_ONLY",
"RECEIVE_MESSAGE_REACTION",
"ACTIVITY_STATE_LOW",
"ACTIVITY_STATE_HIGH",
"CALLER_CONTROLLED_ICE_CONFIG",
"INCOMING_CODEC_SWITCHING_SUPPORTED",
"RECEIVE_PING_V2",
"RECEIVE_OUTGOING_SYNC_MESSAGES",
"TRANSFER_GROUP_CALLS"
]
},
"description": "DEPRECATED: See caller_features_extended (below)."
},
"useSetTrackForMediaWarmup": {
"type": "boolean",
"description": "DEPRECATED: ignored by callees in Android as of cr/130294769, iOS as of b/127504308, and never used in DuoCore. Clients should set this field to true to support older clients."
},
"inviteReason": {
"enum": [
"UNKNOWN",
"HANDOVER"
],
"enumDescriptions": [
"",
"Handover to upgrade from a PSTN call."
],
"type": "string"
},
"deviceCapabilities": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeviceCapabilities"
},
"videoEnabled": {
"type": "boolean",
"description": "Deprecated: prefer to send TachyonCapability.Feature.AUDIO_CALL in required_features for audio-only calls. This field should still be populated to maintain compatibility with older clients."
},
"callerFeaturesExtended": {
"type": "array",
"items": {
"type": "string",
"enum": [
"UNKNOWN",
"VOICE_CALL",
"VIDEO_CALL",
"SIMULTANEOUS_CONNECT",
"UAKARI",
"WEBRTC_OVER_QUARTC_AUDIO",
"WEBRTC_OVER_QUARTC_VIDEO",
"WEBRTC_OVER_QUARTC_DATA",
"JINGLE_SIGNALING",
"DEPRECATED_VIDEO_MESSAGE",
"DEPRECATED_AUDIO_MESSAGE",
"XIAOMIPN_SIGNALING",
"TACHYSTICK_INCOMING",
"VIDEO_MESSAGE",
"AUDIO_MESSAGE",
"IMAGE_MESSAGE",
"GROUP_MESSAGE",
"WEBM_VIDEO_MESSAGE",
"WEBM_AUDIO_MESSAGE",
"MULTI_DEVICE_AWARE",
"SIGNAL_ENCRYPTED_SIGNALING",
"SELF_CALLING",
"FIX_SRTP",
"SELF_CLIPS",
"MULTI_DECLINE_AWARE",
"VIDEO_CALL_DOWNGRADE",
"NO_CAMERA_DEVICE",
"RECEIVE_CALLS_FROM_GAIA",
"RECEIVE_CLIPS_FROM_GAIA",
"GAIA_REACHABLE",
"ASYMMETRIC_VIDEO",
"GROUP_CALLING_RECEIVE",
"PUSH_TO_TALK",
"EXTENDED_CAPS_AWARE",
"MEDIA_CAPTURE_AWARE",
"ALLOW_MEDIA_CAPTURE",
"GROUP_MEDIA_CAPTURE_AWARE",
"LOCAL_ONLY_VIDEO_TOGGLE_AWARE",
"RECEIVE_PING",
"ALLOW_RELAY_ONLY",
"RECEIVE_MESSAGE_REACTION",
"ACTIVITY_STATE_LOW",
"ACTIVITY_STATE_HIGH",
"CALLER_CONTROLLED_ICE_CONFIG",
"INCOMING_CODEC_SWITCHING_SUPPORTED",
"RECEIVE_PING_V2",
"RECEIVE_OUTGOING_SYNC_MESSAGES",
"TRANSFER_GROUP_CALLS"
],
"enumDescriptions": [
"Enum range [64..127] are reserved for the values here (others are used by other clients). Do not use values beyond this range.",
"",
"",
"Simultaneous connect is when 2 clients call each other at the same time. Clients with this capability can negotiate which client abandons its outgoing call and accepts the incoming invitation.",
"Client accepts incoming Dialer-\u003eDuo call upgrades. See go/dd-capability.",
"New Quartc Media Transport capabilities. When advertised, caller can request Quartc Media Transport in the invitation. See go/quartc-media-transport",
"",
"",
"Use a PSTN call as a backup notification signaling. See go/project-jingle for more details.",
"Capability of sending/receiving video message. Replaced with 75.",
"Capability of sending/receiving audio message. Replaced with 76.",
"Use Xiaomi push notifications as backup notification signaling. Se go/duo-xiaomi-pn for details.",
"Support receiving tachystick incoming calls.",
"Capability for receiving video message.",
"Capability for receiving audio message.",
"Capability for receiving image message.",
"Capability of receiving group clips.",
"Capability of receiving video clips in WebM format. Sender who sends video clips in webm format should check VIDEO_MESSAGE & WEBM_VIDEO_MESSAGE",
"Capability of receiving audio clips in WebM format.Sender who sends AUDIO clips in webm format should check AUDIO_MESSAGE & WEBM_AUDIO_MESSAGE",
"Capability for clients who are aware if their account has multiple devices and can do client fanout per go/duo-client-fanout. KnockKnock will be disabled if there are multiple devices in the callee's account since these clients don't handle KnockKnock going to multiple devices.",
"Use Signal to encrypt the SDP message to provide a mechanism of key exchange instead of DTLS. go/signal-encrypted-signaling",
"Capability for clients who can place and receive calls from devices in the same account. Clients may or may not have UI to place self-calls.",
"Capability generated by server on behalf of DR32 clients. The other peer, caller or callee, can use this cap to handle SRTP bug by acting as DR32 client (see b/80444587).",
"Capability for clients who can send and receive clips from devices in the same account and have UI support for it (go/duo-self-calls).",
"Indicates that the caller properly implements multi-decline, including but not limited to receipt of a DeclineInvitation with reason DEVICE_BUSY (i.e. doesn't stop ringing or end the call unless all endpoints have declined). See go/duo-multi-decline",
"Caller advertising this can downgrade a video call to audio based on AcceptInvitation.video_enabled. Callee advertising this will set AcceptInvitation.video_enabled as appropriate for the call type. See go/duo-video-call-downgrade.",
"Caller advertising this doesn't have a camera. If both sides of a video call advertise VIDEO_CALL_DOWNGRADE and NO_CAMERA_DEVICE, the video call will downgrade to an audio call. A caller could advertise NO_CAMERA_DEVICE without VIDEO_CALL_DOWNGRADE, and the call won't be able to downgrade to audio. See go/duocore-asymmetric-call.",
"Capability for clients who can receive incoming calls from caller using GAIA identity (i.e. sender=email). For clip support from GAIA see: RECEIVE_CLIPS_FROM_GAIA",
"Capability for clients who can receive incoming clips from caller using GAIA identity (i.e. sender=email). For call support from GAIA see: RECEIVE_CALLS_FROM_GAIA",
"Capability for clients who can be addressed on a GAIA registration (i.e. receiver=email). Includes calls and clips.",
"Capability for clients who support one-way video mutes in response to NO_CAMERA reason. See go/duocore-asymmetric-call.",
"Capability for clients who support receiving group calls.",
"Capability for clients who support push-to-talk sessions.",
"Capability for clients who support omission of the Invitation's 'features' and 'caller_features' fields (leaving only 'caller_features_extended'). Callees registering with this cap MUST prefer the values in 'caller_features_extended' over 'caller_features' and 'features'.",
"Capability for clients who support media capture during calls. DEPRECATED: This field is not being used.",
"Capability for clients who allow media capture during calls.",
"Able to participate in group moments. Note that providing this capability does not guarantee that ALLOW_MEDIA_CAPTURE is turned on. Both this capability and ALLOW_MEDIA_CAPTURE must be present for a user to be captured in a group moment. Note: Needed because of b/163419511.",
"Capability for clients who can understand the boolean flag |local_only| in ToggleVideoMode message.",
"Capability for clients who support receiving v1 ping messages.",
"Capability for clients who support doing relay_only. This will be turned off for clients in some countries that block relay-server.",
"Capability for clients who support receiving message reactions.",
"Capability for clients who have had a small number of active events on Duo. Exact number determined by experiment parameter. Refer to go/duo-activity-indicators.",
"Capability for clients who have had a large number of active events on Duo. Exact number determined by experiment parameter. If this is published, ACTIVITY_STATE_LOW should be published too. Refer to go/duo-activity-indicators.",
"Capability for clients who support sending/handling invitation with ICE config preference. Design doc: go/skylift-duo-cap",
"If the client is capabable of receiving a codec switch mid-stream.",
"Capability for clients who support receiving v2 ping messages.",
"Capability to correctly handle outgoing messages from other sender devices.",
"Capability to end a group call on the local device in response to a transfer call request from another device owned by the local user."
]
},
"description": "The set of features which are supported by the caller. The callee MAY use this field to update their cached set of supported features for the caller. Caller MUST set all registration caps, so that the callee may cache these values. In all cases: * Caller MUST set 'caller_features_extended' with all applicable caps. If the callee has advertised EXTENDED_CAPS_AWARE (and the caller is not using server fanout or knows that all callees have EXTENDED_CAPS_AWARE): * Caller SHOULD leave 'features' and 'caller_features' unset. In all other cases: * Caller MUST set 'features' with all applicable caps below 77. * Caller MUST set 'caller_features' with all applicable caps below 89."
},
"callerFeatures": {
"items": {
"type": "string",
"enum": [
"UNKNOWN",
"VOICE_CALL",
"VIDEO_CALL",
"SIMULTANEOUS_CONNECT",
"UAKARI",
"WEBRTC_OVER_QUARTC_AUDIO",
"WEBRTC_OVER_QUARTC_VIDEO",
"WEBRTC_OVER_QUARTC_DATA",
"JINGLE_SIGNALING",
"DEPRECATED_VIDEO_MESSAGE",
"DEPRECATED_AUDIO_MESSAGE",
"XIAOMIPN_SIGNALING",
"TACHYSTICK_INCOMING",
"VIDEO_MESSAGE",
"AUDIO_MESSAGE",
"IMAGE_MESSAGE",
"GROUP_MESSAGE",
"WEBM_VIDEO_MESSAGE",
"WEBM_AUDIO_MESSAGE",
"MULTI_DEVICE_AWARE",
"SIGNAL_ENCRYPTED_SIGNALING",
"SELF_CALLING",
"FIX_SRTP",
"SELF_CLIPS",
"MULTI_DECLINE_AWARE",
"VIDEO_CALL_DOWNGRADE",
"NO_CAMERA_DEVICE",
"RECEIVE_CALLS_FROM_GAIA",
"RECEIVE_CLIPS_FROM_GAIA",
"GAIA_REACHABLE",
"ASYMMETRIC_VIDEO",
"GROUP_CALLING_RECEIVE",
"PUSH_TO_TALK",
"EXTENDED_CAPS_AWARE",
"MEDIA_CAPTURE_AWARE",
"ALLOW_MEDIA_CAPTURE",
"GROUP_MEDIA_CAPTURE_AWARE",
"LOCAL_ONLY_VIDEO_TOGGLE_AWARE",
"RECEIVE_PING",
"ALLOW_RELAY_ONLY",
"RECEIVE_MESSAGE_REACTION",
"ACTIVITY_STATE_LOW",
"ACTIVITY_STATE_HIGH",
"CALLER_CONTROLLED_ICE_CONFIG",
"INCOMING_CODEC_SWITCHING_SUPPORTED",
"RECEIVE_PING_V2",
"RECEIVE_OUTGOING_SYNC_MESSAGES",
"TRANSFER_GROUP_CALLS"
],
"enumDescriptions": [
"Enum range [64..127] are reserved for the values here (others are used by other clients). Do not use values beyond this range.",
"",
"",
"Simultaneous connect is when 2 clients call each other at the same time. Clients with this capability can negotiate which client abandons its outgoing call and accepts the incoming invitation.",
"Client accepts incoming Dialer-\u003eDuo call upgrades. See go/dd-capability.",
"New Quartc Media Transport capabilities. When advertised, caller can request Quartc Media Transport in the invitation. See go/quartc-media-transport",
"",
"",
"Use a PSTN call as a backup notification signaling. See go/project-jingle for more details.",
"Capability of sending/receiving video message. Replaced with 75.",
"Capability of sending/receiving audio message. Replaced with 76.",
"Use Xiaomi push notifications as backup notification signaling. Se go/duo-xiaomi-pn for details.",
"Support receiving tachystick incoming calls.",
"Capability for receiving video message.",
"Capability for receiving audio message.",
"Capability for receiving image message.",
"Capability of receiving group clips.",
"Capability of receiving video clips in WebM format. Sender who sends video clips in webm format should check VIDEO_MESSAGE & WEBM_VIDEO_MESSAGE",
"Capability of receiving audio clips in WebM format.Sender who sends AUDIO clips in webm format should check AUDIO_MESSAGE & WEBM_AUDIO_MESSAGE",
"Capability for clients who are aware if their account has multiple devices and can do client fanout per go/duo-client-fanout. KnockKnock will be disabled if there are multiple devices in the callee's account since these clients don't handle KnockKnock going to multiple devices.",
"Use Signal to encrypt the SDP message to provide a mechanism of key exchange instead of DTLS. go/signal-encrypted-signaling",
"Capability for clients who can place and receive calls from devices in the same account. Clients may or may not have UI to place self-calls.",
"Capability generated by server on behalf of DR32 clients. The other peer, caller or callee, can use this cap to handle SRTP bug by acting as DR32 client (see b/80444587).",
"Capability for clients who can send and receive clips from devices in the same account and have UI support for it (go/duo-self-calls).",
"Indicates that the caller properly implements multi-decline, including but not limited to receipt of a DeclineInvitation with reason DEVICE_BUSY (i.e. doesn't stop ringing or end the call unless all endpoints have declined). See go/duo-multi-decline",
"Caller advertising this can downgrade a video call to audio based on AcceptInvitation.video_enabled. Callee advertising this will set AcceptInvitation.video_enabled as appropriate for the call type. See go/duo-video-call-downgrade.",
"Caller advertising this doesn't have a camera. If both sides of a video call advertise VIDEO_CALL_DOWNGRADE and NO_CAMERA_DEVICE, the video call will downgrade to an audio call. A caller could advertise NO_CAMERA_DEVICE without VIDEO_CALL_DOWNGRADE, and the call won't be able to downgrade to audio. See go/duocore-asymmetric-call.",
"Capability for clients who can receive incoming calls from caller using GAIA identity (i.e. sender=email). For clip support from GAIA see: RECEIVE_CLIPS_FROM_GAIA",
"Capability for clients who can receive incoming clips from caller using GAIA identity (i.e. sender=email). For call support from GAIA see: RECEIVE_CALLS_FROM_GAIA",
"Capability for clients who can be addressed on a GAIA registration (i.e. receiver=email). Includes calls and clips.",
"Capability for clients who support one-way video mutes in response to NO_CAMERA reason. See go/duocore-asymmetric-call.",
"Capability for clients who support receiving group calls.",
"Capability for clients who support push-to-talk sessions.",
"Capability for clients who support omission of the Invitation's 'features' and 'caller_features' fields (leaving only 'caller_features_extended'). Callees registering with this cap MUST prefer the values in 'caller_features_extended' over 'caller_features' and 'features'.",
"Capability for clients who support media capture during calls. DEPRECATED: This field is not being used.",
"Capability for clients who allow media capture during calls.",
"Able to participate in group moments. Note that providing this capability does not guarantee that ALLOW_MEDIA_CAPTURE is turned on. Both this capability and ALLOW_MEDIA_CAPTURE must be present for a user to be captured in a group moment. Note: Needed because of b/163419511.",
"Capability for clients who can understand the boolean flag |local_only| in ToggleVideoMode message.",
"Capability for clients who support receiving v1 ping messages.",
"Capability for clients who support doing relay_only. This will be turned off for clients in some countries that block relay-server.",
"Capability for clients who support receiving message reactions.",
"Capability for clients who have had a small number of active events on Duo. Exact number determined by experiment parameter. Refer to go/duo-activity-indicators.",
"Capability for clients who have had a large number of active events on Duo. Exact number determined by experiment parameter. If this is published, ACTIVITY_STATE_LOW should be published too. Refer to go/duo-activity-indicators.",
"Capability for clients who support sending/handling invitation with ICE config preference. Design doc: go/skylift-duo-cap",
"If the client is capabable of receiving a codec switch mid-stream.",
"Capability for clients who support receiving v2 ping messages.",
"Capability to correctly handle outgoing messages from other sender devices.",
"Capability to end a group call on the local device in response to a transfer call request from another device owned by the local user."
]
},
"description": "DEPRECATED: See caller_features_extended (below).",
"type": "array"
},
"networkType": {
"enum": [
"UNKNOWN",
"WIFI",
"MOBILE_2G",
"MOBILE_3G",
"MOBILE_4G",
"MOBILE_UNKNOWN",
"MOBILE_5G"
],
"type": "string",
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
""
]
}
},
"description": "Next tag: 20",
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Invitation"
},
"InstantmessagingPaCommerceBizbuilderMessagingProtoMessageMetadata": {
"type": "object",
"id": "InstantmessagingPaCommerceBizbuilderMessagingProtoMessageMetadata",
"description": "Merchant message types set in the lighter message metadata. Next id: 33",
"properties": {
"type": {
"enum": [
"UNDEFINED",
"WELCOME",
"UNDELIVERABLE",
"SUPPORT",
"SMS_LEGAL",
"CONSUMER_WELCOME",
"MERCHANT_WELCOME",
"MERCHANT_AWAY",
"MESSAGE_BOT",
"SMART_REPLIES",
"SMART_REPLIES_FOR_MERCHANT",
"SMART_REPLIES_FOR_CONSUMER",
"POLICY_CHANGE_MRR_HIGH",
"POLICY_CHANGE_MRR_LOW",
"POLICY_CHANGE_MRR_NONE",
"SMS_MIGRATION_NOTIFICATION",
"GMB_TRIAGING",
"GMB_TRIAGING_ACK",
"BOOKING_FROM_INTENT",
"BUNDLE_PRIVACY_TOMBSTONE",
"ATO_MESSAGING_ANNOUNCEMENT_DAY1",
"ATO_MESSAGING_WELCOME_DAY3",
"ATO_MESSAGING_OPT_OUT",
"MESSAGING_WELCOME",
"FAQ_CONSUMER_RESULT",
"FAQ_MERCHANT_RESULT",
"MORE_FAQS_RESULT",
"MORE_FAQS_RESET",
"MERCHANT_SETUP_FAQS",
"MERCHANT_ADDRESS_TOMBSTONE",
"REVIEW_PRIVATE_REPLY_MERCHANT_BLOCK_TOMBSTONE"
],
"type": "string",
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"The initial tombstone message for GMB triaging.",
"The second tombstone message for GMB triaging once merchants triaged the conversation.",
"Used by ChattyBook keyword trigger.",
"Used for sending privacy tombstone for bundle subscribed merchant. More detail: go/bundle-gmb-messaging",
"The merchant auto turn on messaging on day 1. go/messaging–ato",
"The merchant auto turn on messaging on day 3. When a listing is enabled in messaging, we send a welcome message to that listing. Never directly send the ATO messsge, enabling messsging will send the proper welcome message. go/messaging–ato",
"The merchant auto turin on opt out of message. go/messaging–ato",
"The welcome email when messaging is turned on for a listing.",
"The FAQ Result Message for consumer",
"The FAQ Result Message for merchant",
"The more FAQ result for consumer",
"The more FAQ reset for consumer",
"The set up FAQs chip attached to the message sent to merchants",
"The merchant address tombstone.",
"Review Private Reply merchant blocking tombstone message"
]
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DatetimeAnnotationMinute": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DatetimeAnnotationMinute",
"properties": {
"minute": {
"type": "integer",
"format": "int32"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MdmListPeopleByKnownIdResponse": {
"properties": {
"listPeopleByKnownIdResponse": {
"$ref": "InstantmessagingPaGoogleInternalPeopleV2ListPeopleByKnownIdResponse"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MdmListPeopleByKnownIdResponse",
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedData": {
"description": "Extension data for use in Play Games Product Profile. See go/jam-games-profile.",
"properties": {
"gamerTag": {
"description": "The gamer tag set by the user. Not set if the user hasn't set a gamer tag yet.",
"type": "string"
},
"achievements": {
"type": "array",
"description": "User's top achievements that are sorted for example by rarity.",
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievement"
}
},
"failure": {
"description": "Failure type if there is an error when fetching product profile data.",
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiProductProfileFailure"
},
"profileVisibility": {
"enum": [
"UNKNOWN_CLIENT_PLAYER_PROFILE_VISIBILITY",
"PRIVATE_VISIBILITY",
"PUBLIC_VISIBILITY",
"FRIENDS_VISIBILITY"
],
"enumDescriptions": [
"Safe default.",
"The profile is not visible to anyone but the player themselves.",
"The profile is visible to everyone.",
"The profile is visible to the player and their PGS friends."
],
"description": "Specifies the visibility of the player's profile.",
"type": "string"
},
"totalFriendsCount": {
"format": "int64",
"description": "Total number of friends.",
"type": "string"
},
"playerLevel": {
"description": "User's level.",
"type": "integer",
"format": "int32"
},
"totalUnlockedAchievements": {
"description": "How many achievements this player has unlocked.",
"format": "int64",
"type": "string"
},
"avatarImageUrl": {
"description": "The avatar image to display for the user.",
"type": "string"
}
},
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedData"
},
"InstantmessagingPaGoogleTypeInterval": {
"properties": {
"startTime": {
"description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.",
"format": "google-datetime",
"type": "string"
},
"endTime": {
"format": "google-datetime",
"description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.",
"type": "string"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleTypeInterval",
"description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DowngradeAccountResponse": {
"type": "object",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"result": {
"type": "string",
"enumDescriptions": [
"",
"The registration that makes the request is removed.",
"The registration that makes the request has downgraded to PN-only."
],
"enum": [
"UNKNOWN",
"REGISTRATION_REMOVED",
"REGISTRATION_DOWNGRADED"
]
},
"registrationChange": {
"description": "set only when result=REGISTRATION_DOWNGRADED",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegistrationChange"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DowngradeAccountResponse"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DuoGroupsCallDeclineInvitation": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DuoGroupsCallDeclineInvitation",
"properties": {
"reason": {
"type": "string",
"enum": [
"UNKNOWN",
"USER_BUSY",
"DEVICE_BUSY",
"UNKNOWN_USER_REJECT",
"CALLEE_REJECT",
"OTHER_USER_REJECT",
"CALLEE_RING_TIMEOUT"
],
"description": "Reason to decline the invitation.",
"enumDescriptions": [
"This value catches any unknown values, e.g. set by a writer implementing more values for this enum. The reader SHOULD treat this as UNKNOWN_USER_REJECT.",
"The user is busy in another call.",
"The device cannot surface the call to the callee, because the device is incapable (e.g. requires update), is configured not to (e.g. DND mode) or is temporarily busy (e.g. shared device is in another user's call).",
"A user manually rejected the call. The identity of the rejecter is not known. The rejecter may or may not be the callee.",
"The callee manually rejected the call. The rejecter is known to be the callee, having been identified by heuristics (e.g. voice ID) or as the owner of a non-shared device (i.e. a mobile).",
"Someone other than the callee rejected the call. The rejecter is not the callee, as determined by heuristics (e.g. voice ID) or exclusion (i.e. callee is known to be somewhere else).",
"The callee rang, but the callee did not answer, so the ring timed out."
]
},
"groupCallSessionId": {
"description": "see group_call_session_id in DuoGroupsCallInvitation",
"type": "string"
},
"ringId": {
"format": "int64",
"type": "string",
"description": "An identifier that associates this Decline with a received DuoGroupsCallInvitation. Clients should fill this with the InboxMessage.timestamp of the associated DuoGroupsCallInvitation."
}
},
"description": "A Duo groups message used cancel DuoGroupsCallInvitation.",
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiManagementUpchainIndirectManager": {
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiManagementUpchainIndirectManager",
"properties": {
"personId": {
"type": "string"
},
"email": {
"type": "string"
}
},
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfo": {
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfo",
"properties": {
"domainInfo": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoDomainInfo",
"description": "DEPRECATED. Use the `ReadOnlyProfileInfo.customer_info` field instead (b/138120418). Only populated if in_viewer_domain is true."
},
"profileOwnerStats": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiProfileOwnerStats",
"description": "Stats/counters pertaining to followers and incoming edges."
},
"objectType": {
"enum": [
"OBJECT_TYPE_UNKNOWN",
"PERSON",
"PAGE"
],
"enumDescriptions": [
"",
"",
""
],
"type": "string",
"description": "DEPRECATED."
},
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
},
"plusPageType": {
"description": "DEPRECATED. Please use `person.plus_page_info` instead.",
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
"",
"",
"Formerly a private madison account(go/private-madison-account). Don't use it anymore."
],
"type": "string",
"enum": [
"PLUS_PAGE_TYPE_UNKNOWN",
"LOCAL",
"COMPANY",
"BRAND",
"CELEBRITY",
"CAUSE",
"ENTERTAINMENT",
"OTHER",
"OBSOLETE_PRIVATE"
]
},
"incomingBlockType": {
"items": {
"enumDescriptions": [
"",
"Profile-blocked users",
"Chat-blocked users"
],
"enum": [
"BLOCK_TYPE_UNKNOWN",
"CIRCLE",
"LEGACY"
],
"type": "string"
},
"type": "array",
"description": "Indicates whether this person is blocking the profile owner."
},
"ownerUserType": {
"items": {
"enum": [
"OWNER_USER_TYPE_UNKNOWN",
"GOOGLE_USER",
"GPLUS_USER",
"GPLUS_DISABLED_BY_ADMIN",
"GOOGLE_APPS_USER",
"GOOGLE_APPS_SELF_MANAGED_USER",
"GOOGLE_FAMILY_USER",
"GOOGLE_FAMILY_CHILD_USER",
"GOOGLE_APPS_ADMIN_DISABLED",
"GOOGLE_ONE_USER",
"GOOGLE_FAMILY_CONVERTED_CHILD_USER"
],
"type": "string",
"enumDescriptions": [
"",
"The owner is a Google user.",
"The owner is a Currents user.",
"Google+, i.e. INSServiceID::GOOGLE_ME service, is disabled by dasher admin. Only returned for requester's own profile.",
"The owner is a Google Apps for Work user.",
"The owner is a self-managed Google Apps for Work user. Only returned for requester's own profile.",
"The owner is a Google for Families user. Only returned for requester's own profile.",
"The owner is a Google for Families child user. Only returned for requester's own profile.",
"The owner has been disabled (archived, suspended) by the G Suite admin.",
"The owner is a Google One user (go/googleone). Only returned for requester's own profile.",
"The owner is a Google for Families child user that was converted from an existing user. Only returned for requester's own profile. (go/griffin-account)"
]
},
"type": "array"
},
"ownerId": {
"type": "string",
"description": "The Focus-obfuscated Gaia ID of the profile owner (go/obfuscated-ids)."
},
"inViewerDomain": {
"type": "boolean",
"description": "DEPRECATED. Proxying trust between users in a domain should use go/flex-orgs-platform. For more info see: http://doc/18i0-C7vWcz2UuXYBsmulnriVCK3_EuMPpRlPa2OmMHw#heading=h.dobotdwx25kg Indicates whether the profile owner is in the same domain as the viewer."
},
"blockType": {
"description": "Indicates whether the profile owner has blocked this person.",
"items": {
"enumDescriptions": [
"",
"Profile-blocked users",
"Chat-blocked users"
],
"enum": [
"BLOCK_TYPE_UNKNOWN",
"CIRCLE",
"LEGACY"
],
"type": "string"
},
"type": "array"
},
"internalOwnerId": {
"format": "int64",
"type": "string",
"description": "DEPRECATED. Don't use this field. It is not populated. Contact people-api-users@google.com with questions."
},
"accountEmail": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAccountEmail",
"description": "The account email linked to the profile, if any exists and is visible to the requester."
},
"customerInfo": {
"description": "CustomerInfo for dasher user. The reader has to explicitly request this in the field_mask as 'read_only_profile_info.customer_info'",
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiCustomerInfo"
}
},
"description": "Metadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers)."
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiInAppNotificationTarget": {
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiInAppNotificationTarget",
"type": "object",
"description": "How and where to send notifications to this person in other apps, and why the requester can do so. See go/reachability for more info. \"How\" and \"where\" identify the recipient in a P2P Bridge (glossary/p2p bridge), and \"why\" may be helpful in a UI to disambiguate which of several ways may be used to contact the recipient. How: Via a Google profile or a reachable-only phone number that the requester has access to. Specified in the target \"type\" and \"value\". Where: Apps in which the profile/phone number owner may receive notifications. Specified in the repeated \"app\". Why: Which fields in, e.g., a contact associated with this person make the notification target info visible to the requester. Specified in the repeated originating_field param. Example: Alice has a contact Bob, with: Email 0 = bob@gmail.com Phone 0 = +12223334444 Phone 1 = +15556667777 Email 0 and Phone 0 let Alice see Bob's public profile (obfuscated gaia ID = 123). Public profiles are visible by email by default, and Bob has explicitly made it visible via Phone 0. Bob says people can send notifications to his public profile in YouTube. Phone 2 is associated with another Google profile that Bob owns, but he doesn't want others to see it. He is okay with people sending notifications to him in Who's Down if they have this phone number, however. There will be separate InAppNotificationTargets: one for Bob's public Google profile, and one for the second phone number, which is in his private profile. IANT #1 - targeting Bob's public profile (visible via Email 0 and Phone 0): app = [YOUTUBE] type = OBFUSCATED_GAIA_ID value = 123 originating_field: [ { field_type = EMAIL, field_index = 0 } // For Email 0 { field_type = PHONE, field_index = 0 } // For Phone 0 ] IANT #2 - targeting Bob's private profile phone number Phone 1: app = [WHOS_DOWN] type = PHONE value = +15556667777 originating_field: [ { field_type = PHONE, field_index = 1 } // For Phone 1 ]",
"properties": {
"clientData": {
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetClientData"
},
"type": "array"
},
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
},
"app": {
"type": "array",
"items": {
"type": "string",
"enum": [
"UNKNOWN",
"BABEL",
"YOUTUBE",
"WHOS_DOWN",
"YOUTUBE_MANGO",
"PHOTOS",
"GOOGLE_ASSISTANT",
"KABOO",
"COMMERCE_PLATFORM",
"SPACES",
"MAPS",
"LOUPE_UNUSED",
"POMEROY",
"LOUPE",
"PEOPLE_PLAYGROUND",
"NEWS_360",
"DUO"
],
"enumDescriptions": [
"Should never be stored in practice",
"Aka Hangouts",
"Aka Reactr",
"Aka Who's Down",
"Aka YouTube for Emerging Markets",
"Aka Google Photos",
"",
"Aka PAISA, aka Tez",
"Aka Naksha",
"Aka Google Spaces",
"Aka Google Map",
"This field is deprecated.",
"Aka Trusted Contacts",
"Aka Camera by Google Photos",
"See go/people-playground-design.",
"Also mdb/social-magazines",
"Aka Taychon"
]
}
},
"type": {
"enum": [
"UNKNOWN_KEY_TYPE",
"PHONE",
"OBFUSCATED_GAIA_ID",
"EMAIL"
],
"type": "string",
"enumDescriptions": [
"",
"",
"",
""
]
},
"value": {
"type": "string",
"description": "The value of the target, used for delivery. E.g., the obfuscated gaia ID for a visible profile."
},
"originatingField": {
"type": "array",
"description": "There may be more than one field from which this IANT originates, as in the case of Bob's public profile.",
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetOriginatingField"
}
}
}
},
"InstantmessagingPaGoogleInternalAppsWaldoV1alphaLocalTimeContext": {
"properties": {
"timeZone": {
"type": "string",
"description": "The current time zone of the user. Represented as a valid time zone ID from Olson database, like \"Europe/Zurich\" (see http://google3/i18n/identifiers/data/timezones.txt)."
}
},
"description": "Context which helps to determine the user's local time.",
"type": "object",
"id": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaLocalTimeContext"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContactEntryGroup": {
"description": "Group of contact entries from a source.",
"properties": {
"source": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContactSource",
"description": "source of the contact."
},
"entries": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DetailedContactEntry"
},
"description": "Contact entries"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContactEntryGroup"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPhoto": {
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPhoto",
"type": "object",
"properties": {
"emojiAvatarUrl": {
"description": "URL of an emoji avatar as an image. See go/emoji-cdn. PeopleAPI will return the SVG format so that it can be scaled client side and so that the images will not be animated. All clients that use this field must also have fall-back handling for using the `Photo.url` field if this is empty. When we have FIFE-compatible emoji-image URLs we will drop this field and return the Photo.url instead. Clients that have their own go/emoji-rendering integration may prefer to render the emoji-avatar from `Photo.glyph` field using their rendering system so that the emoji version/style match the rest of the application. For further background, see go/chatroom-avatar-as-roster-metadata. This field will only be populated if all of: - The PersonFieldMetadata `container_type` for the Photo is NAMED_CHAT_ROOM - The chat room has an emoji type avatar image set",
"type": "string"
},
"photoToken": {
"description": "Most clients don't need to worry about this field and should just use the `url` to fetch the photo. See go/phototoken-migration-plan for some more context about this field. If you think you want to use this please talk with people-api-eng@ first.",
"type": "string"
},
"viewerUrl": {
"description": "A URL for a UI to view the photo in its original context. For example, for a place photo, this is the url of a Google Maps page displaying the photo. Supported for place photos only.",
"type": "string"
},
"url": {
"description": "See go/people-api-concepts/photos for info on the different representations of URLs.",
"type": "string"
},
"htmlAttribution": {
"items": {
"type": "string"
},
"description": "A set of HTML data provider attributions that must be shown with the result. Supported for PLACES photos only. See: go/understanding-places-api-attribution-requirements",
"type": "array"
},
"photoId": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPhotoPhotoStorageId",
"description": "For writes only. Indicates photo content for person photo-field update. Currently only used for profile-photo updates (not contact photos yet)."
},
"isDefault": {
"type": "boolean",
"description": "True when the photo is synthetic or generated (i.e. a monogram or default photo), false when the person has a custom photo."
},
"glyph": {
"type": "string",
"description": "Unicode emoji representation of the chat room emoji avatar. This can be used by clients that use go/emoji-rendering directly so that they can present this with the same version/style as the rest of their application. This value may also be useful to clients as alt-text for the image. This field will only be populated if all of: - The PersonFieldMetadata `container_type` for the Photo is NAMED_CHAT_ROOM - The chat room has an emoji type avatar image set"
},
"monogramBackground": {
"type": "string",
"description": "When is_monogram=true, this is the background color of the monogram photo as a hex RGB formatted string \"RRGGBB\"."
},
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
},
"isMonogram": {
"description": "Indicates if the photo is a monogram avatar. Combined with is_default, the type of photo can be determined by: is_default=true, is_monogram=true: Default monogram avatar. is_default=true, is_monogram=false: Default silhouette avatar. is_default=false: Custom photo. is_monogram is irrelevant in this case.",
"type": "boolean"
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiMapsProfile": {
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiMapsProfile",
"type": "object",
"properties": {
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
},
"websiteLink": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiMapsProfileUrlLink",
"description": "A link to the profile owner's website to be displayed in profile."
},
"tagline": {
"type": "string"
},
"fieldRestriction": {
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiMapsProfileFieldRestriction"
},
"type": "array"
}
},
"description": "Maps Profile Data. See go/product-profiles-backend-api."
},
"InstantmessagingPaGeostoreInternalFieldMetadataProto": {
"id": "InstantmessagingPaGeostoreInternalFieldMetadataProto",
"type": "object",
"properties": {
"sourceSummary": {
"$ref": "InstantmessagingPaGeostoreInternalSourceSummaryProto",
"description": "Information about the source providing the piece of data this metadata is attached to."
},
"isAuto": {
"description": "Whether or not the piece of data has been generated automatically (i.e., by a bot/automated process based on heuristics/algorithms rather than coming as a fact set by some human user or data provider based on their knowledge). Note that this does NOT imply that the value was set as a result of a bot operation on the repository, since it is conceivable to use a bot/automated process simply as a way of convenience to ingest large amount of canonical/ground truth data.",
"type": "boolean"
}
}
},
"InstantmessagingPaCommunicationLighterLighterBackendMessageMetadata": {
"properties": {
"enableGmbIosNotificationBadgeCount": {
"type": "boolean",
"description": "Whether to add iOS badge count in the GMB notification for this message. Ref: go/igmb-badge-count-impl"
},
"isSelfFanoutNotificationMutated": {
"description": "When a message.skip_notification is mutated to true before self fanout, this boolean will indicate the change. This flag can then be used to restore the message at a later stage. More details in b/150876275",
"type": "boolean"
},
"requesterDeviceLocale": {
"type": "string",
"description": "The locale of the sender's device."
},
"senderRegistrationId": {
"description": "The registrationId of the sender who sent the message. This is required to find out which app has sent the message - now that GMM and GMB app name can be in multiple packages. Ref: go/wl-gmm-transition-lighter-backend",
"type": "string"
},
"fanoutMutation": {
"description": "When using custom fanout by Lighter, some of the fanned out messages will be mutated to support different notification scheme, or potentially different version based on capabilities. The information about the mutation is stored here.",
"$ref": "InstantmessagingPaCommunicationLighterMultiAppFanoutMutation"
},
"disableInlineResponseInNotification": {
"description": "boolean indicating if a this message does not support inline response option in the notification. E.g. - CSAT surveys.",
"type": "boolean"
}
},
"id": "InstantmessagingPaCommunicationLighterLighterBackendMessageMetadata",
"type": "object",
"description": "Metadata inside a message, to contain data specifically for use within the Lighter Backend. This metadata will be stored inside the LighterMessage's metadata_map with the key of \"l_backend_metadata\"."
},
"InstantmessagingPaSearchRenderingXuikitElementsElementsOutput": {
"id": "InstantmessagingPaSearchRenderingXuikitElementsElementsOutput",
"type": "object",
"description": "This proto is a container for output of Elements templating system rendering. NEXT ID: 9",
"properties": {
"elementTree": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"type": "object",
"description": "Serialized youtube.elements.Element that is either a static (server-resolved) or dynamic (client-resolved) tree"
},
"jsModuleSetUpdate": {
"$ref": "InstantmessagingPaSearchRenderingXuikitElementsJsModuleSetUpdate",
"description": "Under construction. Please do not use without talking to mhhuang@. Tracking of the work can be found in b/163644677. Transitive closure of all the JavaScript modules needed by the templates."
},
"dataStoreBatchUpdate": {
"description": "Data stored in client-side data store for client-side rendering",
"$ref": "InstantmessagingPaSearchRenderingXuikitElementsDataStoreBatchUpdate"
},
"veId": {
"description": "Visual element ID for the Element tree, if applicable. Used for client-side VE logging in Zero State. Do not use for other applications.",
"format": "int32",
"type": "integer"
},
"templateParcel": {
"$ref": "InstantmessagingPaYoutubeElementsTemplatesProtoEMLParcel",
"description": "Transitive closure of all the TemplateConfigs needed to render the root template (including the TemplateConfig for the root template itself)."
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupCountryCodeRequest": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupCountryCodeRequest",
"description": "The client sends this request to get country code for specified groups.",
"properties": {
"groupIds": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"description": "group_ids are groups whose country code will be retrieved."
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiMapsProfileFieldRestriction": {
"properties": {
"clientData": {
"description": "Opaque data associated with this restriction e.g. abuse status.",
"type": "string",
"format": "byte"
},
"type": {
"type": "string",
"enumDescriptions": [
"",
""
],
"enum": [
"TYPE_UNSPECIFIED",
"HIDE_TAGLINE"
]
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiMapsProfileFieldRestriction",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ConversationCreationTombstone": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ConversationCreationTombstone",
"type": "object",
"properties": {
"groupName": {
"type": "string",
"description": "optional created group name. This field will be ignored for 1:1 conversation because it doesn't have a name."
},
"initiator": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id",
"description": "tachyon ID of the initiator of the tombstone."
},
"referencedUsers": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"description": "other referenced users for the tombstone.",
"type": "array"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ShortMessagePrediction": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ShortMessagePrediction",
"description": "Contents of the short message prediction.",
"type": "object",
"properties": {
"text": {
"type": "string"
}
}
},
"InstantmessagingPaGoogleInternalAppsWaldoV1alphaUpcomingOooContext": {
"properties": {
"timeRange": {
"$ref": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaTimeRange",
"description": "The future period of absence. The start of this timerange is the start of the future Out of Office event. The end of this timerange represents the come back time of the user from that future OOO event. Note that the come back time might be different (greater) than the end of the corresponding future OOO event due to other non-working user status intervals that it may be followed by."
}
},
"id": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaUpcomingOooContext",
"type": "object",
"description": "The context indicating the user's upcoming Out of Office event."
},
"InstantmessagingPaSearchRenderingXuikitElementsDataStoreMutationPayload": {
"type": "object",
"properties": {
"payload": {
"description": "When client doesn't need to unpack the contents of the payload, e.g. because it is only going to be used internally for Elements rendering, we are wrapping it in Any proto. + there is no need to serialize these protos into bytes on the client before putting them into the data store; they are already available as bytes. + Any provides better debuggability and testability than bytes field. - in this case (unlike for Any used in ElementsOutput.element_tree or EMLTemplateData.template_config) payload will be used to store various proto messages. This shouldn't be an issue though, because we should never use unpack() on 'payload' field anyway. If there is a need to unpack(), developers should add typed extensions to send such data to the client instead (see below).",
"type": "object",
"additionalProperties": {
"type": "any",
"description": "Properties of the object. Contains field @type with type URL."
}
}
},
"id": "InstantmessagingPaSearchRenderingXuikitElementsDataStoreMutationPayload"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1VerifyPhoneReachabilityResponse": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1VerifyPhoneReachabilityResponse",
"type": "object",
"properties": {
"isNewPhoneAdded": {
"type": "boolean",
"description": "is_new_phone_added indicates a phone number was added that was not used by any existing accounts."
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"accountInfo": {
"description": "This is returned when the phone number is successfully added to the Gaia account.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AccountInfo"
},
"existingPhoneDataDeleted": {
"type": "boolean",
"description": "existing_phone_data_deleted indicates whether the server has deleted account data associated with the same phone number. If the phone number was belonged to a PN-only account, the whole account will be deleted. If the phone number was belonged to a Gaia account, the data associated with the phone number will be deleted."
},
"authToken": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AuthToken",
"description": "auth_token is the access token to be used in future requests to authenticate the client."
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiGplusExtendedData": {
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiGplusExtendedData",
"properties": {
"isEnterpriseUser": {
"description": "Equivalent to having the DASHER_POLICY bit in the REGISTERED state.",
"type": "boolean"
},
"contentRestriction": {
"enumDescriptions": [
"",
"Can send and consume public content",
"Restricted to only sending content internally, cannot mutate external content in any manner",
"Restricted to sending content internally, no public content naturally surfaces"
],
"enum": [
"UNKNOWN",
"PUBLIC",
"DISCOVERY",
"WALLED_GARDEN"
],
"type": "string"
}
},
"type": "object"
},
"InstantmessagingPaAppsDynamiteSharedOrganizationInfoConsumerInfo": {
"type": "object",
"description": "Intentionally empty. Used to disambiguate consumer and customer use cases in oneof below.",
"id": "InstantmessagingPaAppsDynamiteSharedOrganizationInfoConsumerInfo",
"properties": {}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterAnonymousRequest": {
"type": "object",
"properties": {
"locationHint": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LocationHint",
"description": "location_hint is the region hint from client. The backend will use this field for sharding if this is set, and use RegisterData.Locale or request IP if this is not set."
},
"countryHint": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterAnonymousRequestCountryCode",
"description": "country_hint is the country code hint from client. The backend will use this field for sharding if this is set, and use RegisterData.Locale or request IP if this is not set. deprecated, please use location_hint."
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"registerData": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterData",
"description": "register_data.droidguard_result uses the following content binding: Map(key, value): { (\"APP_NAME\", app) }"
},
"app": {
"type": "string",
"description": "app is the name of app for the registration."
}
},
"description": "RegisterAnonymousRequest holds argument for server to perform a silent registration with device ID.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterAnonymousRequest"
},
"InstantmessagingPaGoogleInternalPeopleV2RequestMask": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalPeopleV2RequestMask",
"description": "Describes which person fields to return in the response and from what containers to source the data. See go/people-api-masks",
"properties": {
"includePeopleInCommon": {
"enumDescriptions": [
"",
""
],
"type": "string",
"enum": [
"PEOPLE_IN_COMMON_UNSPECIFIED",
"DEFAULT_SORT"
],
"description": "Deprecated. This feature was stubbed, but never implemented. Specifying this parameter has no effect."
},
"imageUrlType": {
"type": "string",
"description": "Deprecated. Only legacy allowlisted clients can specify LEGACY_IMAGE_URL. The default behavior is the same as FIFE_URL so clients do not need to explicitly set that option.",
"enumDescriptions": [
"",
"",
"Requires allowlisting."
],
"enum": [
"IMAGE_URL_TYPE_UNKNOWN",
"FIFE_URL",
"LEGACY_IMAGE_URL"
]
},
"photoOptions": {
"$ref": "InstantmessagingPaGoogleInternalPeopleV2RequestMaskPhotoOptions",
"description": "Optional parameters for specifying how Photo field data should be returned."
},
"customRequestMask": {
"enumDescriptions": [
"NOTYPO We're stuck with this.",
"",
"Apply masking unique to go/menagerie - in a sync response return only emails and affinity for people with only affinity changes."
],
"description": "Deprecated. Custom masking that can't be expressed via the fields above. ONLY FOR USE BY MENAGERIE",
"enum": [
"CUSTOM_REQUEST_MASK_UNKOWN",
"NONE",
"MENAGERIE"
],
"type": "string"
},
"personAttribute": {
"description": "Optional. Specify contact attributes to return in MergedPerson.attribute. Most clients do not need this, contact people-api-users@ with questions. NOTE: Since PersonAttributes store client specific information, they will be returned only if explicitly requested. An empty list or an empty RequestMask will result in no PersonAttributes in the MergedPerson.",
"type": "array",
"items": {
"enumDescriptions": [
"",
""
],
"enum": [
"PERSON_ATTRIBUTE_UNKNOWN",
"REJECTED_CLEANUP_CARD_SUGGESTIONS"
],
"type": "string"
}
},
"includeField": {
"type": "string",
"description": "Required. Specifies the response fields to include in result persons. Valid field mask paths have format 'person.', where is a field name from the merged person proto (see merged_person.proto). See full list of fields at go/people-api-masks. NOTE: Some legacy production roles may be allowlisted to send an empty request mask or have legacy request mask behavior applied. See go/peopleapi-mask-migration for migration steps. NOTE: Historically, a default set of fields was implied by leaving this field unspecified (details at go/papi-legacy-request-mask-defaults).",
"format": "google-fieldmask"
},
"includeContainer": {
"description": "Required. Specifies the container types from which field data should be included in result persons. More info at go/people-api-masks. NOTE: If either of PROFILE or DOMAIN_PROFILE is requested, both containers need to be requested. NOTE: Historically, a default set of containers was implied by leaving this field unspecified (details at go/papi-legacy-request-mask-defaults).",
"type": "array",
"items": {
"enum": [
"REQUEST_MASK_CONTAINER_UNKNOWN",
"PROFILE",
"DOMAIN_PROFILE",
"CONTACT",
"ACCOUNT",
"AFFINITY",
"DOMAIN_CONTACT",
"PLACE",
"RAW_DEVICE_CONTACT",
"DELEGATED_CONTACT",
"CONTACT_ANNOTATION",
"GOOGLE_GROUP",
"CHAT_ROOM",
"CIRCLE",
"EXTERNAL_ACCOUNT",
"DEVICE_CONTACT"
],
"type": "string",
"enumDescriptions": [
"",
"Google Profile data. PROFILE can include information like name, photo, etc. See go/people-api-concepts#profile. Restrictions: go/people-api-masks#profile-domain_profile: If requested, must also request DOMAIN_PROFILE. Editability: fields are editable by the profile owner, unless the field metadata includes writeable=false.",
"Google Workspace Profile data. Also known as Dasher and many other names, see go/moma/glossary?entity=%2Fg%2F11f0w_l3x8&q=Google%20Workspace. This can include information set by the Organization or \"Workspace Customer\" administrator. Restrictions: go/people-api-masks#profile-domain_profile: If requested, must also request PROFILE. Editability: DOMAIN_PROFILE fields are editable by the administrator of the domain. They are not editable by the profile owner.",
"Contact data, from Google Contacts (ie, https://contacts.google.com). Data pulled from the user's contacts. This can include the contact's name, photo, etc, as set by the requesting user in the requesting user's contacts.",
"The requester's own Gaia account. Restrictions: Data is only returned for the requestor's own account. To request non-private ACCOUNT fields about another user, use the PROFILE container. Editability: ACCOUNT fields are not editable.",
"Device contacts that are used in interaction ranking, but have not been uploaded to Google. These are synthesized people from interaction data. This container type is only used in ListRankedPeople and ListRankedTargets actions. See go/TopNWithClusteringPart1.",
"Domain shared contact. An entity that is owned by a domain and represents a person, but is not a user in the domain. For more details see https://support.google.com/a/answer/9281635.",
"A Maps place. It's necessary to set additional fields, depending on the type of request: * For ListPeopleByKnownIdRequest, set `request.place_params.request_places` and `request.merged_person_source_options.place_params.request_places`. * For all other requests, set `request.merged_person_source_options.place_params.request_places`. Requesting places requires the client purpose limitation to be in ganpati/sgbe-ac-d-places-read. See go/sgbe-purpose-limited-access-guide for how to get access. Places also have attribution requirements. Attributions are returned in `person.metadata.attribution`. See http://doc/1rWJYyEtJxvtOACWqc0nVx6fizOiXp65KuBB-PuAYGxI. Please consult go/geo-pcounsel to make sure attribution requirements are fulfilled. Required capabilities for all PLACE requests: * cs/symbol:merge_place_data_into_people_results_enabled Required capabitilies for ListPeopleByKnownIdRequest: * cs/symbol:get_places_in_phone_lookup_results_enabled",
"Data from a raw (non-aggregated) device contact. See go/mergedperson-for-device-contacts NOTE: this container type is currently supported in limited PeopleAPI actions, i.e. Upsert/BatchUploadDeviceContacts, ListContactAnnotations and ListRankedTargets. For other actions, requesting this container type is a no-op.",
"Data from delegated contacts. Delegated contacts are the contacts delegated to the current requester. The requester can then access those contacts. See go/ph-delegation.",
"Data from contact annotation. Contact annotations are currently generated and used by Google Assistant. Only supported for ListAnnotatedContacts.",
"Google group. Examples: sales@zara.es. Generally supported in \"autocomplete\" and \"*Directory\" apis. Not substantially supported in other api methods. This container is read-only and cannot be modified in PeopleAPI. See go/people-api-concepts#google-groups for more details, including the list of fields that this container supports reading. ",
"Dynamite Chat Rooms. This corresponds to the following container types in Person field results: * NAMED_CHAT_ROOM * UNNAMED_CHAT_ROOM These containers are read-only and cannot be modified in PeopleAPI. See go/people-api-concepts#chat-rooms for more details, including the list of fields that this container supports reading. ",
"Deprecated. No data should be returned. E-mail only circle membership of non-g+ user.",
"LinkedExternalSites (go/PeopleApiConnectedSites)",
"See RAW_DEVICE_CONTACT instead. See go/mergedperson-for-device-contacts Aggregation is represented using person.metadata.device_contact_info"
]
}
}
}
},
"InstantmessagingPaSocialGraphWireProtoPeopleapiDataFormats": {
"type": "object",
"id": "InstantmessagingPaSocialGraphWireProtoPeopleapiDataFormats",
"description": "Various options on the desired format of response data.",
"properties": {
"affinityFormats": {
"description": "Format preferences for affinities in merged people",
"$ref": "InstantmessagingPaSocialGraphWireProtoPeopleapiAffinityFormats"
},
"profilePhotoOptions": {
"description": "This field is not yet implemented. For now, use RequestMask.photo_options.",
"$ref": "InstantmessagingPaSocialGraphApiProtoProfilePhotoOptions"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetPreKeysRequest": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetPreKeysRequest",
"description": "Updates the prekeys stored on the server for this client. Existing prekeys are replaced, regardless of version.",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"sets": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetPreKeysRequestPreKeySet"
},
"type": "array",
"description": "The client should publish a set for each supported protocol version. The versions of each set must be unique."
},
"preKeySets": {
"description": "Sets of public prekeys, one set per protocol version.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PublicPreKeySets"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AgentPropertiesAgentTheme": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AgentPropertiesAgentTheme",
"type": "object",
"description": "All the theme settings of a third party agent.",
"properties": {
"messageTextColor": {
"format": "int32",
"description": "The third party agent message's text color, in 0xAARRGGBB format.",
"type": "integer"
},
"messageBackgroundColor": {
"description": "The third party agent message bubble's background color, in 0xAARRGGBB format.",
"type": "integer",
"format": "int32"
},
"messageSelectedBackgroundColor": {
"format": "int32",
"type": "integer",
"description": "The third party agent message bubble's background color when selected, in 0xAARRGGBB format."
},
"messageTappedBackgroundColor": {
"type": "integer",
"format": "int32",
"description": "The third party agent message bubble's background color when tapped, in 0xAARRGGBB format."
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclContactGroupAcl": {
"type": "object",
"properties": {
"displayName": {
"type": "string",
"description": "The localized display name for the predefined group, if known; or, the display name for the user-defined contact group. Included when FieldAclOption.FULL_ACL_WITH_DETAILS is requested."
},
"contactGroupId": {
"type": "string",
"description": "A contact group ID. This is either a user-defined contact group hex ID, or it is the string name of the enum constant in Group.PredefinedId in FBS backend.proto for predefined groups. Common values for the predefined name include, but are not limited to: all, myContacts, starred, chatBuddies, friends, family, coworkers, and blocked."
}
},
"description": "Used when a field is accessible to a legacy contact group. Contact groups are discouraged and may be deprecated soon. ContactGroupAcls are read-only. If they are included as part of an ACL on an Update, an exception is thrown.",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclContactGroupAcl"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiMapsExtendedData": {
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiMapsExtendedData",
"description": "Extension data for use in Maps Product Profile.",
"properties": {
"failure": {
"description": "Failure type if there is an error when fetching product profile data.",
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiProductProfileFailure"
},
"tagline": {
"description": "A user's bio, or tagline.",
"type": "string"
},
"followerCount": {
"type": "integer",
"description": "Number of people who are following the user.",
"format": "int32"
},
"profilePhotoUrl": {
"type": "string",
"description": "The user's profile photo that might have a badge rendered at the corner if the user is eligible for a badge."
},
"userCaption": {
"type": "string",
"description": "A user's caption displayed under the user name on their profile page i.e. 'Local Guide Level 8'"
},
"numContributions": {
"format": "int64",
"type": "string",
"description": "Sum of creators contributions i.e. reviews, rating, questions, etc."
},
"followeeCount": {
"format": "int64",
"type": "string",
"description": "Number of people the user is following."
},
"topicExpertise": {
"type": "array",
"description": "A topic that creator has expertise in. This will be in the format: emoji associated with the topic, display name of the topic, topic score",
"items": {
"type": "string"
}
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiveMessagesResponsePong": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiveMessagesResponsePong",
"type": "object",
"properties": {},
"description": "Periodically sent by the server to keep the channel alive."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SenderProperties": {
"description": "Next ID: 14",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SenderProperties",
"properties": {
"botConsistencyToken": {
"type": "string",
"description": "Provides server-side consistency for GBot memory. This token needs to be returned with all interactions with the GBot to ensure that the most up to date memory is used. This should be stored by the client and keyed by conversation id since a user can interact with the bot in different conversations (e.g. direct with bot or in a chat with other users)."
},
"language": {
"type": "string",
"description": "language is the sender language such as en_US. see: Locale.getDefault(). This should be a BCP47 language tag."
},
"appVersion": {
"description": "The Fireball version name (e.g. \"4.0.006_RC2\")",
"type": "string"
},
"zwiebackNidCookie": {
"description": "The Zwieback NID cookie is stored by the client and provided to the WebView for GBot.",
"type": "string"
},
"iosProperties": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1IosProperties",
"description": "iOS-specific properties"
},
"displayName": {
"type": "string",
"description": "Display name of the user."
},
"ipAddress": {
"type": "string",
"description": "IP address of the sender device.",
"format": "byte"
},
"locationUnavailabilityReason": {
"description": "Indicates reason for location unavailability. Filled out only when there is no location.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LocationUnavailabilityReason"
},
"deviceProperties": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeviceProperties",
"description": "Properties of the sender's device."
},
"location": {
"description": "location of the sender device.",
"$ref": "InstantmessagingPaGoogleTypeLatLng"
},
"originPlatform": {
"type": "string",
"enumDescriptions": [
"",
"",
"",
"",
"",
"The request is from internal backend, e.g., Janitor spanner queue. We do not check versions for internal platform.",
"",
"Standalone web client.",
"",
"A device that sets up GOOGLE_HOME devices.",
"A web-based client (e.g. Fork of Firefox OS), which is designed for non-touch devices with modern capabilities, like 4G LTE, GPS, WiFi, and modern web standards support (HTML, CSS, JavaScript, all ran on Gecko).",
"The request is from a geo merchant backend pre-registering the merchant with tachyon. We do not check versions. go/geo-merchant-messaging-preregister"
],
"enum": [
"UNKNOWN",
"ANDROID",
"IOS",
"PROBER",
"TEST",
"INTERNAL",
"DESKTOP",
"WEB",
"GOOGLE_HOME",
"GOOGLE_HOME_SETUP",
"KAIOS",
"GEO_MERCHANT_PLACE_HOLDER"
],
"description": "origin_platform is the platform from which the message was sent, not the platform of any proxy device."
},
"anonymousSenderId": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id",
"description": "anonymous_sender_id is ONLY sent from clients that previously registered without a verified phone number. This applies to the Business Messaging scenario where a client can register with a device ID initially and then re-register when a phone number becomes verified."
},
"anyProperties": {
"description": "any_properties is the other properties wrappped in Any.",
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
}
}
},
"timeZone": {
"description": "see: TimeZone.getDefault().getID()",
"type": "string"
}
},
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEdgeKeyInfo": {
"type": "object",
"properties": {
"materialized": {
"description": "True indicates this edge links this source to a container represented by this person object. Note: Except for certain legacy clients, EdgeKeyInfo is only created for for edges to an entity in this person and this will always be true.",
"type": "boolean"
},
"containerId": {
"type": "string",
"description": "The container ID of the entity this field creates a join to. See `SourceIdentity.id`."
},
"containerType": {
"enumDescriptions": [
"",
"Google Profile. PROFILE fields are editable by the profile owner, unless the field metadata includes writeable=false.",
"Google Contact",
"Deprecated. E-mail only circle membership should be dead. E-mail only circle membership of non-g+ user.",
"A maps place",
"The requester's own Gaia account. ACCOUNT fields are not editable by anyone. They only occur when the requester is \"me\". In the event an ACCOUNT field is ACLed non-private, it will be returned as a PROFILE field when viewed by a requester who is not \"me\".",
"LinkedExternalSites (go/PeopleApiConnectedSites)",
"Google-For-Work Profile. DOMAIN_PROFILE fields are editable by the Dasher administrator of the domain. They are not editable by the profile owner.",
"Domain shared contact. An entity that is owned by a domain and represents a person, but is not a user in the domain. For more details see https://support.google.com/a/answer/9281635.",
"To be deprecated in favor of RAW_DEVICE_CONTACT See go/mergedperson-for-device-contacts Aggregation is represented using person.metadata.device_contact_info",
"Google group. Examples: sales@zara.es.",
"Dynamite \"Named Flat Room\" (NFR). This is a Baggins Roster with label DYNAMITE_SPACE *and* label DYNAMITE_NAMED_SPACE. See go/people-api-concepts#chat-rooms",
"Dynamite \"Unnamed Flat Room\" (UFR). This is a Baggins Roster with label DYNAMITE_SPACE but does *not* have label DYNAMITE_NAMED_SPACE. See go/people-api-concepts#chat-rooms",
"Device contacts that are used in interaction ranking, but have not been uploaded to Google. These are synthesized people from interaction data. This container type is only used in ListRankedPeople and ListRankedTargets actions. See go/TopNWithClusteringPart1.",
"Data from a raw (non-aggregated) device contact. See go/mergedperson-for-device-contacts",
"Data from contact annotation. Contact annotations are currently generated and used by Google Assistant.",
"Data from delegated contacts. Delegated contacts are the contacts delegated to the current requester. The requester can then access those contacts. See go/ph-delegation."
],
"description": "The type of container that this edge points to. See `SourceIdentity.container_type`.",
"type": "string",
"enum": [
"UNKNOWN_CONTAINER",
"PROFILE",
"CONTACT",
"CIRCLE",
"PLACE",
"ACCOUNT",
"EXTERNAL_ACCOUNT",
"DOMAIN_PROFILE",
"DOMAIN_CONTACT",
"DEVICE_CONTACT",
"GOOGLE_GROUP",
"NAMED_CHAT_ROOM",
"UNNAMED_CHAT_ROOM",
"AFFINITY",
"RAW_DEVICE_CONTACT",
"CONTACT_ANNOTATION",
"DELEGATED_CONTACT"
]
},
"extendedData": {
"description": "Data that is added to the proto by peopleapi read extensions.",
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoExtensionData"
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEdgeKeyInfo"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiVisibleToGuests": {
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiVisibleToGuests",
"description": "Store metadata information like annotation-id and product source for visible to guests contacts go/visible-to-guests.",
"type": "object",
"properties": {
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata": {
"type": "object",
"description": "Metadata for a single Person field. See go/understanding-merged-person",
"properties": {
"edgeKeyInfo": {
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEdgeKeyInfo"
},
"type": "array",
"description": "Edges that this field creates. This includes all edges and not necessarily just the edge relevant to the joined entities."
},
"containerId": {
"type": "string",
"format": "int64",
"description": "DEPRECATED. Use encoded_container_id instead. The numeric id of the data source. The id is only unique within a single container type. This is only set when the id of the container is numeric, e.g. contact id."
},
"containerType": {
"description": "The source for the data in the field.",
"type": "string",
"enumDescriptions": [
"",
"Google Profile. PROFILE fields are editable by the profile owner, unless the field metadata includes writeable=false.",
"Google Contact",
"Deprecated. E-mail only circle membership should be dead. E-mail only circle membership of non-g+ user.",
"A maps place",
"The requester's own Gaia account. ACCOUNT fields are not editable by anyone. They only occur when the requester is \"me\". In the event an ACCOUNT field is ACLed non-private, it will be returned as a PROFILE field when viewed by a requester who is not \"me\".",
"LinkedExternalSites (go/PeopleApiConnectedSites)",
"Google-For-Work Profile. DOMAIN_PROFILE fields are editable by the Dasher administrator of the domain. They are not editable by the profile owner.",
"Domain shared contact. An entity that is owned by a domain and represents a person, but is not a user in the domain. For more details see https://support.google.com/a/answer/9281635.",
"To be deprecated in favor of RAW_DEVICE_CONTACT See go/mergedperson-for-device-contacts Aggregation is represented using person.metadata.device_contact_info",
"Google group. Examples: sales@zara.es.",
"Dynamite \"Named Flat Room\" (NFR). This is a Baggins Roster with label DYNAMITE_SPACE *and* label DYNAMITE_NAMED_SPACE. See go/people-api-concepts#chat-rooms",
"Dynamite \"Unnamed Flat Room\" (UFR). This is a Baggins Roster with label DYNAMITE_SPACE but does *not* have label DYNAMITE_NAMED_SPACE. See go/people-api-concepts#chat-rooms",
"Device contacts that are used in interaction ranking, but have not been uploaded to Google. These are synthesized people from interaction data. This container type is only used in ListRankedPeople and ListRankedTargets actions. See go/TopNWithClusteringPart1.",
"Data from a raw (non-aggregated) device contact. See go/mergedperson-for-device-contacts",
"Data from contact annotation. Contact annotations are currently generated and used by Google Assistant.",
"Data from delegated contacts. Delegated contacts are the contacts delegated to the current requester. The requester can then access those contacts. See go/ph-delegation."
],
"enum": [
"UNKNOWN_CONTAINER",
"PROFILE",
"CONTACT",
"CIRCLE",
"PLACE",
"ACCOUNT",
"EXTERNAL_ACCOUNT",
"DOMAIN_PROFILE",
"DOMAIN_CONTACT",
"DEVICE_CONTACT",
"GOOGLE_GROUP",
"NAMED_CHAT_ROOM",
"UNNAMED_CHAT_ROOM",
"AFFINITY",
"RAW_DEVICE_CONTACT",
"CONTACT_ANNOTATION",
"DELEGATED_CONTACT"
]
},
"writeable": {
"type": "boolean",
"description": "Whether the field is writeable to the requester."
},
"deprecatedContactContainerId": {
"description": "DEPRECATED. Use container_id. Not populated or used at all.",
"type": "string",
"format": "int64"
},
"affinity": {
"description": "For field-level affinity scores. The affinity between the requester and this particular field in the Person (e.g., frequency of calling a particular phone number).",
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAffinity"
},
"type": "array"
},
"productMetadata": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiProductMetadata"
},
"description": "The product(s) that generated the data in this field. Empty is equivalent to DEFAULT. ST_USER_METADATA"
},
"container": {
"enum": [
"UNKNOWN",
"PROFILE",
"CONTACT",
"CIRCLE",
"PLACE",
"ACCOUNT",
"EXTERNAL_ACCOUNT",
"DOMAIN_PROFILE",
"DOMAIN_CONTACT",
"DEVICE_CONTACT",
"GOOGLE_GROUP",
"AFFINITY",
"RAW_DEVICE_CONTACT",
"CONTACT_ANNOTATION",
"DELEGATED_CONTACT"
],
"enumDescriptions": [
"",
"Google Profile. PROFILE fields are editable by the profile owner, unless the field metadata includes writeable=false.",
"Google Contact",
"Circle membership of non-g+ user.",
"A maps place",
"The requester's own Gaia account. ACCOUNT fields are not editable by anyone. They only occur when the requester is \"me\". In the event an ACCOUNT field is ACLed non-private, it will be returned as a PROFILE field when viewed by a requester who is not \"me\".",
"LinkedExternalSites (go/PeopleApiConnectedSites)",
"Google-For-Work Profile. DOMAIN_PROFILE fields are editable by the Dasher administrator of the domain. They are not editable by the profile owner.",
"Domain shared contact",
"To be deprecated in favor of RAW_DEVICE_CONTACT See go/mergedperson-for-device-contacts Aggregation is represented using person.metadata.device_contact_info",
"Google group. Examples: sales@zara.es.",
"Data from the user's frequent interactions.",
"Data from a raw (non-aggregated) device contact. See go/mergedperson-for-device-contacts",
"Data from contact annotation. Contact annotations are currently generated and used by Google Assistant.",
"Data from delegated contacts. Delegated contacts are the contacts delegated to the current requester. The requester can then access those contacts. See go/ph-delegation."
],
"description": "DEPRECATED. Use container_type instead. Having the Container be an enum at the PFM message level causes circular dependency when other types try to refer to it. It breaks javascript build targets.",
"type": "string"
},
"crossDeviceAllowed": {
"type": "boolean",
"description": "True if this field can be used on other devices than the one it originated from. Assigned by the server. Currently only used for device contacts."
},
"verified": {
"description": "Indicates whether this is a verified field. It is synthesized from verification and is read-only. If there is at least one verification with status PASSED, the field is considered verified. Currently this is applicable to address, email, name, and phone for PROFILE and DOMAIN_PROFILE. Use .metadata.verified in the request mask.",
"type": "boolean"
},
"containerPrimary": {
"type": "boolean",
"description": "Indicates if this field is the primary field for the container and container_id."
},
"additionalContainerInfo": {
"description": "Additional information about the container of this field.",
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAdditionalContainerInfo"
},
"fieldAcl": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiFieldAcl",
"description": "When the container is PROFILE and the profile owner is the requester, this field indicates how the profile field is accessible."
},
"otherDedupedContainers": {
"type": "array",
"description": "When deduping fields by value, list of containers of the fields that where deduped.",
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiDedupedContainerInfo"
}
},
"edgeKey": {
"description": "Field is an edge key for this person. Modifying it breaks the link between data sources. This is equivalent to edge_key_info having at least one entry with materialized = true.",
"type": "boolean"
},
"primary": {
"description": "If true, indicates this field is the Person's primary field eg. Contact, and (Profile) Person could have different Name fields, and the Name represented by the Person is primary. For selecting a primary field from RepeatedFields within a Person, use container_primary.",
"type": "boolean"
},
"matchingInfo": {
"type": "array",
"description": "The matching informations if there was a query against this field.",
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiMatchInfo"
}
},
"encodedContainerId": {
"description": "The encoded id of the data source. The id is only unique within a single container type. This field correlates to person.metadata.identity_info.source_id.id. This field may not be populated in some special cases, where the id is not visible to the querying user. e.g. ListAutocompletions with full phone number query.",
"type": "string"
},
"lastUpdateTime": {
"type": "string",
"format": "google-datetime",
"description": "Indicates the time that the field was added or last edited. Currently this is populated for: (1) person.birthday with ContainerType PROFILE, DOMAIN_PROFILE or ACCOUNT. (2) person.name, person.address, person.relation, person.email and person.phone with ContainerType CONTACT_ANNOATION;"
},
"visibility": {
"enumDescriptions": [
"",
"The field is visible to every user.",
"The field is visible to the requester. The server cannot provide additional indication beyond that. The field may or may not be also visible to users other than the requester."
],
"enum": [
"VISIBILITY_UNKNOWN",
"PUBLIC",
"USER"
],
"type": "string",
"description": "Currently, only people.get may set this value"
},
"contactVisibility": {
"items": {
"enum": [
"CONTACT_VISIBILITY_UNSPECIFIED",
"VISIBLE_TO_GUEST"
],
"type": "string",
"enumDescriptions": [
"",
"This can be set for annotation fields(e.g. nicknames, relationship) that the user wants to expose to other people in their household. Example use case: differentiate between speed dial nicknames, regular nicknames and relationships"
]
},
"description": "Each field can have different visibility settings Only returned when explicitly requested.",
"type": "array"
},
"aclChoices": {
"description": "When the container is PROFILE/DOMAIN_PROFILE and the profile owner is the requester, this read-only, synthesized field indicates which ACLs the user is allowed to set on the profile field. This is distinct from field_acl, which is the field's currently set ACL. This is currently only populated on the photo field when the \"person.photo.metadata.acl_choices\" mask is set.",
"type": "array",
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiFieldAcl"
}
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PlaceMapsData": {
"description": "Data derived from Google Maps URLs or through special formatted messages for sharing a place from Google Maps.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PlaceMapsData",
"properties": {
"searchQuery": {
"type": "string"
},
"coordinates": {
"$ref": "InstantmessagingPaGoogleTypeLatLng"
},
"placeId": {
"type": "string"
},
"url": {
"type": "string"
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PullOptions": {
"type": "object",
"properties": {
"messageTypes": {
"description": "Message types to look for, could be used to request critical messages.",
"type": "array",
"items": {
"enumDescriptions": [
"",
"@deprecated use MESSAGE_RECEIPT instead.",
"message is bytes marshaled from FireballMessage.",
"message is bytes marshaled from TachyonMessage.",
"message is bytes marshaled from BasicMessage.",
"message is bytes marshaled from GroupMessage.",
"@deprecated: do not use.",
"message is bytes marshaled from UserDataMessage.",
"message is bytes marshaled from MessageReceipt.",
"message is encrypted and authenticated bytes of \"version || serialize(SignalMessage(CleartextEnvelope)) || mac\".",
"message is encrypted and authenticated bytes of \"version || serialize(PreKeySignalMessage(CleartextEnvelope))\".",
"message is bytes marshaled from RcsMessage.",
"message is bytes marshaled from SystemMessage.",
"message is bytes marshaled from MatchstickMessage.",
"message is bytes marshaled from WireballMessage.",
"message is marshaled from GroupKeyDistributionMessage.",
"message is marshaled from EngagementNotificationParamsMessage.",
"message is marshaled from CommonMediaMessage.",
"message is marshaled from FireballMessageAnnotation",
"message is marshaled from DittoChannelRequest or DittoChannelResponse.",
"message is marshaled from SecureOneTimeKeyMessage.",
"message is marshaled from StateSyncMessage.",
"message is marshaled from GroupCallState.",
"message is marshaled from BugleAgentMessage.",
"message is bytes marshaled from LighterMessage.",
"message is marshaled from UploadLogsMessage.",
"message is marshaled from GroupKeyDistribution.",
"message is marshaled from AquariusMessage.",
"message is marshaled from MessageNotification.",
"message is marshaled from ChromotingMessage.",
"message is bytes marshaled from PrecallMessage",
"message is marshaled from MediaCaptureMessage.",
"message is marshaled from GroupKeyRequest.",
"message is currently unused, as it only uses MessageClass.PUSH_ONLY.",
"message is marshaled from MessageStoreNotification. (go/cms-tachyon)",
"message is marshaled from DuoMessage. (communication/duo/proto/duo_message.proto)",
"message is marshaled from TachygramMessage.",
"message is marshaled from CommonMediaMessage. Used to distinguish Moments messages from Clips messages. Moments should use this type, while Clips should use COMMON_MEDIA_MESSAGE.",
"message is marshaled from InCallCapsChangeMessage.",
"message is marshaled from tachyon.commssuite.Notification.",
"message is destined to the Android Messages Data Donation server.",
"message is destined for Exo."
],
"type": "string",
"enum": [
"UNKNOWN",
"MESSAGE_ACK",
"FIREBALL",
"TACHYON",
"BASIC",
"GROUP",
"DEPRECATED_CALL_CONTROLLER",
"USERDATA",
"MESSAGE_RECEIPT",
"SECURE",
"PREKEY_SECURE",
"RCS_MESSAGE",
"SYSTEM_MESSAGE",
"MATCHSTICK",
"WIREBALL",
"SECURE_GROUP_KEY_DISTRIBUTION",
"ENGAGEMENT_NOTIFICATION",
"COMMON_MEDIA_MESSAGE",
"FIREBALL_MESSAGE_ANNOTATION",
"DITTO",
"SECURE_ONE_TIME_KEY",
"DUO_STATE_SYNC_MESSAGE",
"GROUP_CALL_STATE",
"BUGLE_AGENT",
"LIGHTER_MESSAGE",
"DUO_UPLOAD_LOGS_MESSAGE",
"DUO_GROUP_KEY_DISTRIBUTION",
"AQUARIUS_MESSAGE",
"CLOUDCAST_MESSAGE",
"CHROMOTING_MESSAGE",
"DUO_PRECALL",
"DUO_MEDIA_CAPTURE_MESSAGE",
"DUO_GROUP_KEY_REQUEST",
"BUGLE_PUSH",
"CMS_NOTIFICATION",
"DUO_MESSAGE",
"TACHYGRAM_MESSAGE",
"MOMENT_MEDIA_MESSAGE",
"DUO_IN_CALL_CAPS_CHANGE_MESSAGE",
"COMMSSUITE_NOTIFICATION",
"MESSAGES_DATA_DONATION",
"EXO_MESSAGE"
]
}
},
"startTimestampUsec": {
"type": "string",
"format": "int64",
"description": "start_timestamp_usec is the time in micros to start the scan by comparing with CommittedAt field in server database. This timestamp shall always be derived from timestamp returned by server"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PullOptions"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CapabilityAttribute": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CapabilityAttribute",
"description": "Attribute for defining the key and value in CapabilitiesExtension.",
"properties": {
"strValue": {
"type": "string"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GrantMediaAccessResponse": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GrantMediaAccessResponse",
"type": "object",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LighterGroupMetadata": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LighterGroupMetadata",
"description": "LighterGroupMetadata holds some Lighter specific metadata for groups created by Lighter platform. This metadata will be stored in Tachyon's group profile app_data field, with the key of \"Lighter\".",
"properties": {
"isBlocked": {
"description": "Is this group blocked.",
"type": "boolean"
},
"handlerId": {
"type": "string",
"description": "The handler id for whom this group is created."
},
"supportsBlocking": {
"type": "boolean",
"description": "Does this group support blocking."
},
"importantParticipants": {
"description": "Important participants in the group, this field is currently used by client to decide hide/show read and delivery receipts go/lighter-backend-receipts",
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LighterId"
}
}
},
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiTagline": {
"properties": {
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
},
"value": {
"type": "string"
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiTagline",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1QuartcTransportMessage": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1QuartcTransportMessage",
"description": "A Quartc transport message delivered via signaling.",
"properties": {
"opaqueContent": {
"type": "string",
"format": "byte"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AgentProperties": {
"description": "AgentProperties contains properties of a third party agent.",
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AgentProperties",
"properties": {
"agentExternalId": {
"description": "The Agent's ID created on the Assistant server, which is different from BotMetadata.id. The latter is the bot ID in bot router's database. This external ID can be used to deep link into the Google search app.",
"type": "string"
},
"agentTheme": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AgentPropertiesAgentTheme"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DynamiteInfo": {
"description": "Additional request info specific to Dynamite. Only set when caller_id = DYNAMITE.",
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DynamiteInfo",
"properties": {
"chatType": {
"type": "string",
"enum": [
"UNKNOWN_CHAT_TYPE",
"ROOM",
"DM"
],
"enumDescriptions": [
"Default value, should never be used.",
"Chat in a dedicated room where participants can join or leave.",
"Direct message chat with one or more participants."
]
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiveMessagesResponseStartOfBatch": {
"properties": {
"count": {
"description": "count indicates how many messages are about to be sent. Clients can use this for batching or pre-allocating resources.",
"type": "integer",
"format": "int32"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiveMessagesResponseStartOfBatch",
"description": "Marker indicating that a batched set of messages are about to be sent."
},
"InstantmessagingPaJavaComGoogleGeoLocalBoqServiceareabusinessGetaquoteProtoReviewPrivateReplyMetadata": {
"id": "InstantmessagingPaJavaComGoogleGeoLocalBoqServiceareabusinessGetaquoteProtoReviewPrivateReplyMetadata",
"properties": {
"messageGroupId": {
"type": "string",
"description": "The message Group ID of the review private reply message. See go/private-reply:facade-bridge-tdd."
},
"reviewId": {
"type": "string",
"description": "The ID of the review being replied to."
}
},
"type": "object",
"description": "A proto for metadata that is attached to private replies to reviews. Next Id: 3"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BlockUsersResponse": {
"properties": {
"header": {
"description": "Clients should use the txn_timestamp_usec field inside the header to resolve conflicts with other updates.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BlockUsersResponse",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GcmDataValue": {
"type": "object",
"properties": {
"gcmIid": {
"description": "gcm_iid is the instance ID of a GCM registration. It is used to send messages to the device.",
"type": "string"
},
"senderId": {
"description": "FCM sender_id (a GCP or Firebase project_id) to be used for notifications. It must match the sender_id that is used to generate the gcm_iid above. This is required for devices using V4 FCM IIDs. Notifications won't work if the sender_id is not specified or incorrect. For legacy clients this field can be omitted, and Tachyon will use its own default sender_id when sending notifications.",
"type": "string"
}
},
"description": "GcmDataValue contains the GCM IID token for a client.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GcmDataValue"
},
"InstantmessagingPaGoogleInternalPeopleV2PeopleBackendRequestData": {
"id": "InstantmessagingPaGoogleInternalPeopleV2PeopleBackendRequestData",
"description": "The input required for the PeopleBackendExtension.",
"properties": {
"application": {
"description": "The application that initiated the request. This field will be used for Hide.",
"enum": [
"UNSPECIFIED",
"PHOTOS",
"MAPS",
"GMAIL"
],
"enumDescriptions": [
"",
"",
"",
""
],
"type": "string"
}
},
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPlaceDetails": {
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPlaceDetails",
"type": "object",
"properties": {
"openingHours": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiOpeningHours"
},
"latLng": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiLatLng"
},
"primaryTypeName": {
"type": "string",
"description": "The name of the primary type. Examples of primary type are: \"art_school\", \"clothing_wholesaler\", etc. All primary types can be found at http://shortn/_veqh6UwWdc"
},
"googleUrl": {
"description": "A URL hosted by Google providing more information about this place This is the URL returned by Places API in the Place.Url.google field",
"type": "string"
},
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
}
},
"description": "Metadata specific to places."
},
"InstantmessagingPaCommerceBizbuilderMessagingProtoMessageProperty": {
"properties": {
"platform": {
"enumDescriptions": [
"",
""
],
"description": "On which platform this message was created.",
"enum": [
"UNKNOWN_PLATFORM",
"WEB"
],
"type": "string"
},
"influencingExperimentIds": {
"items": {
"type": "string",
"format": "int64"
},
"description": "Experiment IDs to be considered in analysis pipeline.",
"type": "array"
}
},
"type": "object",
"description": "Properties of a message.",
"id": "InstantmessagingPaCommerceBizbuilderMessagingProtoMessageProperty"
},
"InstantmessagingPaCommunicationMessagesProtoCloudStoreEncryptedDataEncryptedData": {
"description": "Encrypted data in bytes along with the index of the CMS key used to encrypt the data.",
"properties": {
"content": {
"format": "byte",
"type": "string",
"description": "Required field, bytes of encrypted data."
},
"keyIndex": {
"description": "Required field, index of CMS key used to encrypt data. Value is -1 if data is unencrypted.",
"type": "integer",
"format": "int32"
}
},
"id": "InstantmessagingPaCommunicationMessagesProtoCloudStoreEncryptedDataEncryptedData",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1WebSuggestion": {
"properties": {
"url": {
"type": "string"
}
},
"type": "object",
"description": "Encapsulates the information about a web suggestion",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1WebSuggestion"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterRefreshRequest": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterRefreshRequest",
"type": "object",
"description": "RegisterRefreshRequest is the request to generate a new access token by signing using the previously register key pair. iid_token, apn_push_token, apn_app, and pub_key are optional parameter to update an existing registration. If any of iid_token, app_push_token, apn_app are set, they will be updated to the value in the RegisterRefreshRequest altogether. An existing valid access token is not needed to call RegisterRefresh.",
"properties": {
"iidToken": {
"type": "string",
"description": "All the following fields will be deprecated. iid_token is the instance ID token of the application being registered, and makes it reachable via GCM. (Optional) @deprecated: use register_data instead."
},
"droidguardResult": {
"description": "Result of the call to Droidguard on the device. This is used to validate that an authorized app is making this request from a physical device. Currently, this is only available for Android. Droidguard requires request to be bound to the content. This is used to prevent replay attacks on Droidguard response. This request requires following content binding: Map(key, value): { (\"ID\", id.id), (\"APP_NAME\", id.app), (\"ISSUED_AT\", issued_at) } With SignatureVersion=V2, The following content binding is required: (\"REQUEST_ID\", request_id), request_id is string from header.request_id_binary. To support this binding, the client should call DroidGuardClient.getResult with these keys and values; Tachyon server should verify these keys and values after getting decoded response from DroidGuard server. Note(sharad): This field may not be set for older versions of Matchstick. @deprecated: use register_data instead.",
"type": "string"
},
"idHintForRevalidation": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id",
"description": "id_hint is optional phone number hint, such as the phone number silently retrieved from SIM card. If this is set, the refresh request will also trigger silent revalidation (i.e. without SMS) of the registration, though with a less stringent policy (regarding expiration) compared to the initial registration. If this revalidation fails, the API call will fail even if signature can be verified."
},
"apnPushToken": {
"type": "string",
"format": "byte",
"description": "apn_push_token is only used if the registration shall be able to receive APN pushes via ApnsProxyServer or ApnsSandboxProxyServer. (Optional) @deprecated: use register_data instead."
},
"issuedAt": {
"type": "string",
"format": "int64",
"description": "issued_at is the number of micro seconds since 1/1 1970 when the client created this request. Used in the signature to protect against replay attacks."
},
"pubKey": {
"description": "pub_key is the public key of the key pair that will be used to re-register this client in the future, and that creates the signature. Must be a DER encoded PKIX format ECDSA public key. (Optional) @deprecated Use identity_key instead.",
"type": "string",
"format": "byte"
},
"countryHint": {
"description": "country_hint is the country code hint from client. The backend will use this field for sharding if this is set, and use RegisterData.Locale or request IP if this is not set. deprecated, please use location_hint.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterRefreshRequestCountryCode"
},
"id": {
"description": "id is the identity of the registering party. Currently only type PHONE_NUMBER is supported.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"signatureVersion": {
"enumDescriptions": [
"",
"V2 deprecates id field and requires auth_token to be attached to the request. support PublicKeyType_CURVE_25519 and PublicKeyType_ECDSA see go/tachyon-registerrefresh-v2"
],
"enum": [
"DEFAULT",
"V2"
],
"type": "string"
},
"registerData": {
"description": "register_data.droidguard_result contains Map(key, value): { (\"ID\", id.id), (\"APP_NAME\", id.app), (\"ISSUED_AT\", issued_at) } register_data.droidguard_result is optional.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterData"
},
"notificationOptions": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1NotificationOptions"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"isGoogler": {
"description": "[Tachyon server internal only\"] is_googler indicates if the request was sent by a google employee. This field is populated by Irradiator.",
"type": "boolean"
},
"deviceIdForRevalidation": {
"description": "device_id_for_revalidation is the identity of the device performing refresh. This is optional. If this is set, the refresh request will also trigger silent revalidation (i.e. without SMS) of the registration, though with a less stringent policy (regarding expiration) compared to the initial registration. If this revalidation fails, the API call will fail even if signature can be verified. @deprecated: use register_data instead.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeviceId"
},
"signature": {
"description": "SignatureVersion = DEFAULT: signature is an ECDSA signature of a SHA256 hash of \"id.app:id.type:id.id:iid_token:apn_push_token:apn_app:pubkey:issued_at\" made by the pubkey used in the last successful register request. SignatureVersion = V2: signature is a CURVE_25519 or ECDSA signature of a sequence of (field length, field value) pairs in little endian format. fields are: request_id and issued_at made by the pubkey used in the last successful register request. (request_id is string from header.request_id_binary) See https://cs.corp.google.com/#piper///depot/google3/media/webrtc/server/tachyon/sign/data.go for details on how to create the signature. (Only for V2) For Gaia-based accounts, if Gaia OAuth is provided, signature is not required to refresh the token. If both are provided, signature will not be checked and verified.",
"type": "string",
"format": "byte"
},
"apnApp": {
"description": "apn_app is the APNs Application, usually same as the APNs Bundle ID. This value is required if you set apn_push_token. (Optional) @deprecated: use register_data instead.",
"type": "string"
},
"identityKey": {
"description": "identity_key is the public key of the key pair that will be used to re-register this client in the future, and that creates the signature. (Optional) @deprecated: use register_data instead.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PublicKey"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetPreKeyResponse": {
"type": "object",
"properties": {
"preKeyBundle": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetPreKeyResponsePreKeyBundle"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetPreKeyResponse"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetSpamStateResponse": {
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"suggestedAction": {
"type": "string",
"enum": [
"UNKNOWN",
"NONE",
"DROP",
"THROTTLE",
"SUSPEND",
"RESTRICT",
"UNRESTRICT",
"REINSTATE",
"WARN",
"DROP_RECOMMENDATION_WITH_REASON",
"UNTHROTTLE",
"ALLOW"
],
"enumDescriptions": [
"",
"None is returned by all actions, and is triggered if: 1. No change in spam status of user 2. Duplicate message already sent to Ares, so we already acted on it. 3. No verdict/decision was made",
"Drop happens only on 'Check*Message'. The expected action is to silently drop the message.",
"Throttle indicates that we should begin throttling the subject. Their messaging rpcs will be put in the critical path of Ares.",
"Suspend indicates that we should suspend the user account and not allow them to register or send messages on any platform.",
"Restrict indicates that the user should be restricted to interacting with users in the same app.",
"clears the RESTRICT verdict.",
"clears the SUSPEND and THROTTLE verdicts.",
"Warn happens when we warn a client that a message is suspicious.",
"Drop recommendation with reason happens only on 'Check*Message'. The expected action is to mark the message as Spam and provide a reason.",
"Inverse of Throttle.",
"Positive verdict that would clear any previous client state."
]
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetSpamStateResponse"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiGPayExtendedData": {
"properties": {
"maskedNumber": {
"type": "string",
"description": "The masked string of a user's phone number The number will be obfucsated with * except the last 4 digits. Refer to: //java/com/google/nbu/paisa/common/PhoneNumberMasker.java"
},
"failure": {
"description": "Failure type if there is an error when fetching product profile data.",
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiProductProfileFailure"
},
"internationalNumber": {
"type": "string",
"description": "A number in international format including the country code that is made user readable by including formatting such as spaces. Example: \"+41 44 668 1800\" DEPRECATED: A user's phone number should be masked and not in an international format"
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiGPayExtendedData",
"description": "Extension data for use in GPay Product Profile. go/gpay-product-profile-1-pager Contact: profiles-eng-fe@google.com",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiveMessagesExpressRequest": {
"properties": {
"droidguardResult": {
"description": "Result of the call to Droidguard on the device. This is used to validate that an authorized app is making this request from a physical device. Currently, this is only available for Android.",
"type": "string"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiveMessagesExpressRequest",
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPronoun": {
"description": "Message to represent a user's set of preferred pronouns, see go/pronouns-backend.",
"type": "object",
"properties": {
"pronounData": {
"$ref": "InstantmessagingPaSocialGraphApiProtoPronounData"
},
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPronoun"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SendMessageExpressResponse": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SendMessageExpressResponse",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEmail": {
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEmail",
"properties": {
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
},
"extendedData": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEmailExtendedData"
},
"formattedType": {
"description": "The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.",
"type": "string"
},
"signupEmailMetadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEmailSignupEmailMetadata"
},
"contactGroupPreference": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEmailContactGroupPreference"
},
"description": "To read or update, use the CONTACT_GROUP_PREFERENCE mask field."
},
"certificate": {
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEmailCertificate"
},
"type": "array"
},
"displayName": {
"type": "string"
},
"type": {
"description": "The type of the email address. The type can be free form or one of these predefined values: * `home` * `work` * `other`",
"type": "string"
},
"classification": {
"type": "string",
"enumDescriptions": [
"",
"This is the email user provided when signing up with Google (ie. this email is stored in Gaia). There may be more than 1 signup email. This is set for an Email of container type PROFILE."
],
"enum": [
"EMAIL_CLASSIFICATION_UNKNOWN",
"SIGNUP_EMAIL"
]
},
"value": {
"type": "string"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SensitiveImageClassification": {
"properties": {},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SensitiveImageClassification",
"description": "Indicates whether an image was marked as being sensitive."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ActionEvent": {
"properties": {
"eventCallbackPayload": {
"type": "string",
"description": "The event callback payload that was a part of the original action which triggered this event to be sent."
},
"messageId": {
"description": "Optional message id which contained the action. Clients should always set the message_id field if the action was part of a message. It may not be set if the action was not part of a message e.g. - overflow menu actions.",
"type": "string"
}
},
"description": "Event payload for the event that is sent on interaction with a LighterAction",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ActionEvent",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RichText": {
"properties": {
"autoAwesomeType2": {
"enum": [
"UNKNOWN",
"EMOJI"
],
"type": "string",
"enumDescriptions": [
"",
""
],
"description": "Type of auto awesome if applicable. If not set, clients should assume UNKNOWN."
},
"autoAwesomeType": {
"enumDescriptions": [
"",
""
],
"enum": [
"UNKNOWN",
"EMOJI"
],
"type": "string",
"description": "@deprecated use auto_awesome_type instead (b/33415956)."
},
"text": {
"type": "string"
},
"textSizeMultiplier": {
"description": "Text size multiplier, if not set, clients should assume a value of 1.",
"type": "number",
"format": "double"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RichText"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetPreKeyBatchResponse": {
"properties": {
"userPreKeyBundles": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetPreKeyBatchResponseUserPreKeyBundle"
},
"type": "array"
},
"failedPreKeyLookups": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetPreKeyBatchResponseFailedPreKey"
},
"description": "If return_partial_results is used - this returns the requested devices we could not get prekeys for."
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetPreKeyBatchResponse",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UpdateAccountSettingRequest": {
"description": "UpdateAccountSetting flow: Client Server Other Members |-- UpdateAccountSettingRequest --\u003e| | |\u003c- UpdateAccountSettingResponse --|------ AccountChangeInfoPush -----\u003e| The client sends this request to update their settings. Atomic request.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UpdateAccountSettingRequest",
"type": "object",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"accountSettings": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AccountSettings",
"description": "Updates to the account settings. Unset fields will not be updated."
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPosixAccount": {
"properties": {
"accountNamespace": {
"enumDescriptions": [
"A Linux user for a G Suite domain.",
"A Linux user for a Google account.",
"A Windows user for a G Suite domain.",
"A Windows user for a Google account."
],
"type": "string",
"description": "Value indicates the uniqueness namespace that applies to the POSIX information. The value is included in all POSIX account uniqueness indices. The indexing prevents two accounts within the same customer from having the same username. Namespacing allows Windows and Linux users to share the same username.",
"enum": [
"LINUX_GSUITE",
"LINUX_CONSUMER",
"WINDOWS_GSUITE",
"WINDOWS_CONSUMER"
]
},
"systemId": {
"type": "string",
"description": "System identifier for which account Username or Uid apply to. If not specified on mutate by a caller it will default to empty value if either Username or Uid are being set. SystemId does require to have a value (even an empty one) because it is included into null-filtered Spanner index used to enforce uniqueness on Username and Uid fields."
},
"homeDirectory": {
"type": "string",
"description": "The path to the home directory for this account."
},
"uid": {
"format": "uint64",
"type": "string",
"description": "The user ID."
},
"fingerprint": {
"type": "string",
"description": "The value is automatically set to a SHA-256 fingerprint of the POSIX account. A fingerprint should uniquely identify a POSIX account entry."
},
"accountType": {
"type": "string",
"enumDescriptions": [
"Linux account associated with a human user.",
"Linux account for a non-human entity. Service accounts are used for unattended automation scripts. See go/riseoftherobots for details.",
"Linux account associated with a human user where the owner of the POSIX data is granted access to resources (VMs) owned by a different (external) organization.",
"Windows account associated with a human user.",
"Windows account for a non-human entity. Service accounts are used for unattended automation scripts.",
"Windows account associated with a human user where the owner of the account data is granted access to resources (VMs) owned by a different (external) organization."
],
"description": "Value indicates whether the POSIX information is associated with a non-human entity and the validation logic to apply during PosixAccount mutation.",
"enum": [
"LINUX_USER_ACCOUNT",
"LINUX_SERVICE_ACCOUNT",
"LINUX_EXTERNAL_USER",
"WINDOWS_USER_ACCOUNT",
"WINDOWS_SERVICE_ACCOUNT",
"WINDOWS_EXTERNAL_USER"
]
},
"accountId": {
"description": "The user visible value is used to distinguish identical posix account fields with different customer key values.",
"type": "string"
},
"shell": {
"description": "The path to the login shell for this account.",
"type": "string"
},
"customerKey": {
"format": "int64",
"description": "The customer associated with the POSIX identity. If the user is already associated with a G Suite Customer, this field has the same value as http://google3/ccc/hosted/policies/settings/dthree_customer_info.proto",
"type": "string"
},
"gid": {
"description": "The default group ID.",
"format": "uint64",
"type": "string"
},
"username": {
"type": "string",
"description": "The username of the account."
},
"operatingSystemType": {
"enumDescriptions": [
"The operating system type associated with the user account information is unspecified.",
"Linux user account information.",
"Windows user account information."
],
"enum": [
"OPERATING_SYSTEM_TYPE_UNSPECIFIED",
"LINUX",
"WINDOWS"
],
"type": "string",
"description": "Value indicates whether to use Linux or Windows specific validation logic during PosixAccount mutation."
},
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
},
"gecos": {
"type": "string",
"description": "The GECOS (user information) entry for this account."
}
},
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPosixAccount",
"description": "Custom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UserRegistrationId": {
"properties": {
"userId": {
"description": "The user ID, e.g., PHONE_NUMBER and EMAIL, of the registration.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"registrationId": {
"description": "registration_id is the server generated and opaque registration ID.",
"format": "byte",
"type": "string"
}
},
"description": "UserRegistrationId identifies a single registration under a user ID.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UserRegistrationId",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DuoDuoClientGroupCallStateFeatureList": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DuoDuoClientGroupCallStateFeatureList",
"properties": {
"features": {
"type": "array",
"description": "Capability list for communicating the in-call capabilities of each client.",
"items": {
"enum": [
"UNKNOWN",
"VOICE_CALL",
"VIDEO_CALL",
"SIMULTANEOUS_CONNECT",
"UAKARI",
"WEBRTC_OVER_QUARTC_AUDIO",
"WEBRTC_OVER_QUARTC_VIDEO",
"WEBRTC_OVER_QUARTC_DATA",
"JINGLE_SIGNALING",
"DEPRECATED_VIDEO_MESSAGE",
"DEPRECATED_AUDIO_MESSAGE",
"XIAOMIPN_SIGNALING",
"TACHYSTICK_INCOMING",
"VIDEO_MESSAGE",
"AUDIO_MESSAGE",
"IMAGE_MESSAGE",
"GROUP_MESSAGE",
"WEBM_VIDEO_MESSAGE",
"WEBM_AUDIO_MESSAGE",
"MULTI_DEVICE_AWARE",
"SIGNAL_ENCRYPTED_SIGNALING",
"SELF_CALLING",
"FIX_SRTP",
"SELF_CLIPS",
"MULTI_DECLINE_AWARE",
"VIDEO_CALL_DOWNGRADE",
"NO_CAMERA_DEVICE",
"RECEIVE_CALLS_FROM_GAIA",
"RECEIVE_CLIPS_FROM_GAIA",
"GAIA_REACHABLE",
"ASYMMETRIC_VIDEO",
"GROUP_CALLING_RECEIVE",
"PUSH_TO_TALK",
"EXTENDED_CAPS_AWARE",
"MEDIA_CAPTURE_AWARE",
"ALLOW_MEDIA_CAPTURE",
"GROUP_MEDIA_CAPTURE_AWARE",
"LOCAL_ONLY_VIDEO_TOGGLE_AWARE",
"RECEIVE_PING",
"ALLOW_RELAY_ONLY",
"RECEIVE_MESSAGE_REACTION",
"ACTIVITY_STATE_LOW",
"ACTIVITY_STATE_HIGH",
"CALLER_CONTROLLED_ICE_CONFIG",
"INCOMING_CODEC_SWITCHING_SUPPORTED",
"RECEIVE_PING_V2",
"RECEIVE_OUTGOING_SYNC_MESSAGES",
"TRANSFER_GROUP_CALLS"
],
"enumDescriptions": [
"Enum range [64..127] are reserved for the values here (others are used by other clients). Do not use values beyond this range.",
"",
"",
"Simultaneous connect is when 2 clients call each other at the same time. Clients with this capability can negotiate which client abandons its outgoing call and accepts the incoming invitation.",
"Client accepts incoming Dialer-\u003eDuo call upgrades. See go/dd-capability.",
"New Quartc Media Transport capabilities. When advertised, caller can request Quartc Media Transport in the invitation. See go/quartc-media-transport",
"",
"",
"Use a PSTN call as a backup notification signaling. See go/project-jingle for more details.",
"Capability of sending/receiving video message. Replaced with 75.",
"Capability of sending/receiving audio message. Replaced with 76.",
"Use Xiaomi push notifications as backup notification signaling. Se go/duo-xiaomi-pn for details.",
"Support receiving tachystick incoming calls.",
"Capability for receiving video message.",
"Capability for receiving audio message.",
"Capability for receiving image message.",
"Capability of receiving group clips.",
"Capability of receiving video clips in WebM format. Sender who sends video clips in webm format should check VIDEO_MESSAGE & WEBM_VIDEO_MESSAGE",
"Capability of receiving audio clips in WebM format.Sender who sends AUDIO clips in webm format should check AUDIO_MESSAGE & WEBM_AUDIO_MESSAGE",
"Capability for clients who are aware if their account has multiple devices and can do client fanout per go/duo-client-fanout. KnockKnock will be disabled if there are multiple devices in the callee's account since these clients don't handle KnockKnock going to multiple devices.",
"Use Signal to encrypt the SDP message to provide a mechanism of key exchange instead of DTLS. go/signal-encrypted-signaling",
"Capability for clients who can place and receive calls from devices in the same account. Clients may or may not have UI to place self-calls.",
"Capability generated by server on behalf of DR32 clients. The other peer, caller or callee, can use this cap to handle SRTP bug by acting as DR32 client (see b/80444587).",
"Capability for clients who can send and receive clips from devices in the same account and have UI support for it (go/duo-self-calls).",
"Indicates that the caller properly implements multi-decline, including but not limited to receipt of a DeclineInvitation with reason DEVICE_BUSY (i.e. doesn't stop ringing or end the call unless all endpoints have declined). See go/duo-multi-decline",
"Caller advertising this can downgrade a video call to audio based on AcceptInvitation.video_enabled. Callee advertising this will set AcceptInvitation.video_enabled as appropriate for the call type. See go/duo-video-call-downgrade.",
"Caller advertising this doesn't have a camera. If both sides of a video call advertise VIDEO_CALL_DOWNGRADE and NO_CAMERA_DEVICE, the video call will downgrade to an audio call. A caller could advertise NO_CAMERA_DEVICE without VIDEO_CALL_DOWNGRADE, and the call won't be able to downgrade to audio. See go/duocore-asymmetric-call.",
"Capability for clients who can receive incoming calls from caller using GAIA identity (i.e. sender=email). For clip support from GAIA see: RECEIVE_CLIPS_FROM_GAIA",
"Capability for clients who can receive incoming clips from caller using GAIA identity (i.e. sender=email). For call support from GAIA see: RECEIVE_CALLS_FROM_GAIA",
"Capability for clients who can be addressed on a GAIA registration (i.e. receiver=email). Includes calls and clips.",
"Capability for clients who support one-way video mutes in response to NO_CAMERA reason. See go/duocore-asymmetric-call.",
"Capability for clients who support receiving group calls.",
"Capability for clients who support push-to-talk sessions.",
"Capability for clients who support omission of the Invitation's 'features' and 'caller_features' fields (leaving only 'caller_features_extended'). Callees registering with this cap MUST prefer the values in 'caller_features_extended' over 'caller_features' and 'features'.",
"Capability for clients who support media capture during calls. DEPRECATED: This field is not being used.",
"Capability for clients who allow media capture during calls.",
"Able to participate in group moments. Note that providing this capability does not guarantee that ALLOW_MEDIA_CAPTURE is turned on. Both this capability and ALLOW_MEDIA_CAPTURE must be present for a user to be captured in a group moment. Note: Needed because of b/163419511.",
"Capability for clients who can understand the boolean flag |local_only| in ToggleVideoMode message.",
"Capability for clients who support receiving v1 ping messages.",
"Capability for clients who support doing relay_only. This will be turned off for clients in some countries that block relay-server.",
"Capability for clients who support receiving message reactions.",
"Capability for clients who have had a small number of active events on Duo. Exact number determined by experiment parameter. Refer to go/duo-activity-indicators.",
"Capability for clients who have had a large number of active events on Duo. Exact number determined by experiment parameter. If this is published, ACTIVITY_STATE_LOW should be published too. Refer to go/duo-activity-indicators.",
"Capability for clients who support sending/handling invitation with ICE config preference. Design doc: go/skylift-duo-cap",
"If the client is capabable of receiving a codec switch mid-stream.",
"Capability for clients who support receiving v2 ping messages.",
"Capability to correctly handle outgoing messages from other sender devices.",
"Capability to end a group call on the local device in response to a transfer call request from another device owned by the local user."
],
"type": "string"
}
}
},
"type": "object",
"description": "The feature list is nested in a message so sender can choose whether or not to set it."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupIdsRequest": {
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
}
},
"type": "object",
"description": "Get group info flow: Client Server |---- GetGroupIdsRequest ----\u003e| |\u003c--- GetGroupIdsResponse ----| |---- GetGroupInfosRequest --\u003e| |\u003c--- GetGroupInfosResponse --| The client sends this request to get all the group IDs to which the client belongs.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupIdsRequest"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileEditability": {
"properties": {
"lockedField": {
"description": "Read-only set of zero or more field paths that are locked for update on this person, such as \"person.name\", \"person.email\", etc. The set of fields is only populated for the requester's profile. Fields in the set cannot be edited, added, or deleted from the profile. Attempting to update any of these fields will result in an exception.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileEditability",
"description": "See UserEditedLockedMask in //depot/google3/focus/backend/proto/backend.proto."
},
"InstantmessagingPaGoogleInternalPeopleV2ListStarredPeopleRequest": {
"type": "object",
"description": "Request to list People that have been Starred by the user.",
"id": "InstantmessagingPaGoogleInternalPeopleV2ListStarredPeopleRequest",
"properties": {
"coreIdParams": {
"$ref": "InstantmessagingPaGoogleInternalPeopleV2CoreIdParams",
"description": "Params for Core ID profiles."
},
"pageToken": {
"type": "string",
"description": "Token used to request subsequent pages in the set of results."
},
"orderBy": {
"enum": [
"ORDER_BY_UNSPECIFIED",
"FIRST_NAME_ASCENDING",
"LAST_MODIFIED_ASCENDING",
"LAST_MODIFIED_DESCENDING",
"LAST_NAME_ASCENDING",
"AFFINITY_DECENDING",
"DELETED_EMAIL_AUTOCOMPLETE_AFFINITY",
"DELETED_CONTACTS_PLUS_FREQUENTLY_CONTACTED_AFFINITY",
"DELETED_CONTACTS_PLUS_EMAIL_AFFINITY"
],
"enumDescriptions": [
"Unknown sort order. Server will ignore and sort by FIRST_NAME_ASCENDING.",
"Sort people by first name. This may be locale-dependent.",
"Sort people by when they were changed; older entries first.",
"Sort people by when they were changed; newer entries first.",
"Sort people by last name. This may be locale-dependent.",
"DEPRECATED It has the same behavior as FIRST_NAME_ASCENDING. NOTYPO",
"DEPRECATED We don't support order by specific affinity in List*. ListRanked* always order results by the requested affinity type.",
"",
""
],
"description": "The order of people returned.",
"type": "string"
},
"personId": {
"type": "string",
"description": "Opaque person_id. This can only be the authenticated requester's obfuscated GAIA id. 'me' can also be used to indicate the authenticated requester."
},
"mergedPersonSourceOptions": {
"$ref": "InstantmessagingPaGoogleInternalPeopleV2MergedPersonSourceOptions"
},
"requestMask": {
"$ref": "InstantmessagingPaGoogleInternalPeopleV2RequestMask",
"description": "Required. Restrict results to a subset of person fields. Some legacy production roles may be whitelisted to allow an empty request mask. See go/peopleapi-mask-migration for migration steps."
},
"extensionSet": {
"description": "Extensions to be applied to this request.",
"$ref": "InstantmessagingPaGoogleInternalPeopleV2ExtensionSet"
},
"pageSize": {
"type": "integer",
"format": "int32",
"description": "Maximum number of results to return per page."
},
"context": {
"$ref": "InstantmessagingPaGoogleInternalPeopleV2PeopleContext",
"description": "Specify the context of this request."
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SmartSuggestionInfo": {
"description": "Miscellaneous smart suggestion info (in addition to id and data). Next ID: 17",
"type": "object",
"properties": {
"templatingInfo": {
"description": "Information about the template that was used to create this suggestion.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1TemplatingInfo"
},
"score": {
"type": "number",
"description": "Score assigned to the suggestion by the model. Only available on-device, and for text suggestions for now.",
"format": "float"
},
"interpretation": {
"description": "Interpretation from model that this suggestion was based on.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1InterpretationInfo"
},
"modelLabel": {
"type": "string"
},
"expirationTimeMs": {
"description": "The local timestamp in milliseconds after which the suggestion is no longer valid. go/am-conversation-starters",
"type": "string",
"format": "int64"
},
"consumptionState": {
"type": "string",
"enumDescriptions": [
"",
"",
""
],
"description": "Consumption state, whether the suggestion has been consumed and should no longer be shown.",
"enum": [
"UNKNOWN_STATE",
"UNCONSUMED",
"CONSUMED"
]
},
"id": {
"description": "String ID that uniquely identifies this suggestion for this user used to track the suggestion across multiple impressions",
"type": "string"
},
"type": {
"type": "string",
"enumDescriptions": [
"Should never be set to this.",
"Regular text smart replies.",
"Short messages suitable for notifications.",
"Share my location action suggestion (e.g., go/sa-location-design).",
"Send Money action suggestion (e.g., go/am-sa-payment-dd).",
"Share gif suggestion (e.g, go/am-sa-gif-dd).",
"Share contact suggestion (e.g., go/am-sa-contact-dd).",
"Send assistant suggestion.",
"Spam classification result",
"Share recent image suggestion. (e.g, go/am-sa-recent-image-dd)",
"Google Context (e.g, go/am_ce_demo)",
"Reminders (go/am-reminders)",
"Emotions (e.g, go/am-sr-emotions)",
"Duo call suggestions (go/am-duo)",
"",
"Scripted reply (go/am-scripted-replies)",
"",
"Suggestion Categories",
"",
"",
"Sensitive image",
"",
"",
"Silent model (go/am_smarts_model_evaluations_ondevice)",
"Launches browser",
"Business message used by super sort.",
"Nudge suggestions",
"Sentinel value, not to be displayed by UI."
],
"enum": [
"UNKNOWN_SUGGESTION_TYPE",
"FULL_MESSAGE",
"SHORT_MESSAGE",
"LOCATION",
"PAYMENT",
"GIF",
"CONTACT",
"ASSISTANT_QUERY",
"SPAM",
"RECENT_IMAGE",
"CONTEXT",
"REMINDER",
"EMOTION",
"DUO_CALL",
"FEEDBACK",
"SCRIPTED_REPLY",
"EMOJI",
"CATEGORY_TEXT",
"CATEGORY_ACTION",
"CATEGORY_EMOTIVE",
"SENSITIVE_IMAGE",
"COPY_OTP",
"CALENDAR",
"SILENT",
"WEB",
"BUSINESS_MESSAGE",
"NUDGE",
"EXPIRATION_SENTINEL"
]
},
"impressionId": {
"description": "For database storage reasons, we log the current impression ID separately for each suggestion. This is the impression ID for the \"current\" impression for this chip, as opposed to the \"originating\" impression, which can be different if the chip is being re-used as can happen for \"sticky\" suggestions. Usually, the impression ID will match the suggestion ID, except in the case of \"sticky\" suggestions.",
"type": "string"
},
"rerankerInfo": {
"description": "Specifies which reranker was used to score/sort the suggestion in the list",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RerankerInfo"
},
"conversationId": {
"type": "string"
},
"tags": {
"type": "array",
"description": "List of tags which describe the category of this suggestion",
"items": {
"enumDescriptions": [
"",
""
],
"enum": [
"SUGGESTION_TAG_UNKNOWN",
"SUGGESTION_TAG_BIRTHDAY"
],
"type": "string"
}
},
"status": {
"enum": [
"UNKNOWN_STATUS",
"RECEIVED",
"SHOWN",
"SHOWN_REPLIED",
"CLICKED"
],
"type": "string",
"description": "Suggestion status (e.g. shown, clicked etc)",
"enumDescriptions": [
"",
"The smart suggestion was simply received, never interacted with.",
"The suggestion was shown to the user, never interacted with and the triggering message was never replied to.",
"The suggestion was shown to the user and the user replied to the triggering message, not clicking the suggestion.",
"The suggestion was clicked."
]
},
"source": {
"enumDescriptions": [
"Should never be set to this.",
"On-device Hobbes Smart Reply model.",
"Pumpkin grammar model",
"Multi-task on-device model",
"Suggestion re-writer on-device editorial changes",
"Suggestion is a \"sticky\" suggestion based on a suggestion produced for a previous message.",
"Suggestion is from the Text-classifier-based News Detector",
"Suggestion is from the original Regexp model",
"Suggestion is from the POD image classifier",
"Suggestion is from conversation starters provider",
"Suggestion is from assistant interpretation provider"
],
"type": "string",
"enum": [
"UNKNOWN_SUGGESTION_SOURCE",
"HOBBES_CHAT_ON_DEVICE",
"PUMPKIN_GRAMMAR",
"MULTI_TASK",
"REWRITER",
"STICKY_PROVIDER",
"NEWS_DETECTOR",
"REGEXP",
"POD_IMAGE_CLASSIFIER",
"CONVERSATION_STARTER",
"ASSISTANT"
],
"description": "Suggestion source, e.g. the model that generated the suggestion. Only available on-device, and for text suggestions for now."
},
"targetMessageId": {
"type": "string"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SmartSuggestionInfo"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetUserInviteLinkDetailsRequest": {
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"inviteLinkId": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1InviteLinkId"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetUserInviteLinkDetailsRequest",
"type": "object"
},
"InstantmessagingPaGeoLocalBoqServiceareabusinessGetaquoteProtoChattyBroadcastData": {
"properties": {
"originalMessageId": {
"type": "string",
"description": "The Lighter message ID of the original message that triggers the broadcast. This field is only valid/filled for upsell broadcast."
},
"broadcastTriggeringGcid": {
"type": "string",
"description": "The primary gcid that triggers the broadcast. Includes \"gcid:\" prefix. Example: \"gcid:house_cleaning_service\". For upsell, this is the primary gcid of the merchant in the original message triggering the broadcast."
},
"chattyBroadcastId": {
"description": "A unique id for each chatty broadcast.",
"type": "string"
},
"broadcastTriggeringRegionCode": {
"description": "The region code that triggers the broadcast. This is a 3166-1 alpha-2 (2 LETTER) code: go/iii. For upsell, this is the region code of the merchant in the original message triggering the broadcast.",
"type": "string"
},
"type": {
"type": "string",
"enum": [
"TYPE_UNSPECIFIED",
"UPSELL",
"GUIDED_FLOW"
],
"enumDescriptions": [
"",
"",
""
]
}
},
"type": "object",
"description": "A proto for chatty broadcast metadata that can be attached to a message. The ChattyBroadcastData is also outputed with the converation block analytics. This proto should not include any user data. Next Id: 6",
"id": "InstantmessagingPaGeoLocalBoqServiceareabusinessGetaquoteProtoChattyBroadcastData"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiveMessagesResponseRefreshResult": {
"type": "object",
"properties": {
"statusCode": {
"format": "int32",
"description": "status_code contains the canonical status code for RegisterRefresh call.",
"type": "integer"
},
"registerRefreshResponse": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterRefreshResponse",
"description": "register_refresh_response contains the result of RegisterRefresh if the operation is successful."
}
},
"description": "Response to register_refresh_request in ReceiveMessageRequest.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiveMessagesResponseRefreshResult"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GaiaIdInvalidPush": {
"properties": {},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GaiaIdInvalidPush",
"type": "object",
"description": "Sent when the server makes the Gaia link invalid. The client should make a request to add a valid Gaia link if needed."
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiCoverPhoto": {
"type": "object",
"description": "CoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.",
"properties": {
"imageWidth": {
"type": "integer",
"format": "int32"
},
"imageId": {
"type": "string"
},
"imageHeight": {
"type": "integer",
"format": "int32"
},
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
},
"isAnimated": {
"type": "boolean"
},
"isDefault": {
"type": "boolean"
},
"imageUrl": {
"type": "string"
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiCoverPhoto"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAdditionalContainerInfo": {
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAdditionalContainerInfo",
"type": "object",
"description": "Additional information about a container. TO BE DELETED: replaced by DeviceContactInfo.",
"properties": {
"rawDeviceContactInfo": {
"description": "When the container is a DEVICE_CONTACT, this list provides account information from the raw contact which is the source of this field.",
"type": "array",
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfo"
}
}
}
},
"InstantmessagingPaSmartreplyP13nFeatureValues": {
"description": "Used to pass the list of features and their corresponding normalized values to the SmartReplyLib.",
"type": "object",
"id": "InstantmessagingPaSmartreplyP13nFeatureValues",
"properties": {
"featureValue": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaSmartreplyP13nFeatureValue"
}
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoExtensionData": {
"properties": {
"gdataCompatibilityExtensionId": {
"description": "The GDataCompatibilityExtension will (temporarily) return mobile_owner_id for profile containers.",
"type": "string"
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoExtensionData",
"type": "object"
},
"InstantmessagingPaGoogleTypePostalAddress": {
"properties": {
"administrativeArea": {
"type": "string",
"description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated."
},
"sortingCode": {
"description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (e.g. \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (e.g. Côte d'Ivoire).",
"type": "string"
},
"revision": {
"description": "The schema revision of the `PostalAddress`. This must be set to 0, which is the latest revision. All new revisions **must** be backward compatible with old revisions.",
"type": "integer",
"format": "int32"
},
"sublocality": {
"description": "Optional. Sublocality of the address. For example, this can be neighborhoods, boroughs, districts.",
"type": "string"
},
"postalCode": {
"description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.).",
"type": "string"
},
"regionCode": {
"description": "Required. CLDR region code of the country/region of the address. This is never inferred and it is up to the user to ensure the value is correct. See http://cldr.unicode.org/ and http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: \"CH\" for Switzerland.",
"type": "string"
},
"organization": {
"description": "Optional. The name of the organization at the address.",
"type": "string"
},
"addressLines": {
"items": {
"type": "string"
},
"description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).",
"type": "array"
},
"locality": {
"description": "Optional. Generally refers to the city/town portion of the address. Examples: US city, IT comune, UK post town. In regions of the world where localities are not well defined or do not fit into this structure well, leave locality empty and use address_lines.",
"type": "string"
},
"recipients": {
"type": "array",
"description": "Optional. The recipient at the address. This field may, under certain circumstances, contain multiline information. For example, it might contain \"care of\" information.",
"items": {
"type": "string"
}
},
"languageCode": {
"description": "Optional. BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address' country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. If this value is not known, it should be omitted (rather than specifying a possibly incorrect default). Examples: \"zh-Hant\", \"ja\", \"ja-Latn\", \"en\".",
"type": "string"
}
},
"id": "InstantmessagingPaGoogleTypePostalAddress",
"description": "Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an i18n-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupInfosResponse": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGroupInfosResponse",
"properties": {
"groupInfos": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GroupInfo"
}
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"txnTimestampUsec": {
"type": "string",
"format": "int64",
"description": "txn_timestamp_usec is the timestamp, in microseconds since the epoch, when GetGroupInfosRequest transaction committed."
}
},
"description": "The server responds to the client who sent GetGroupInfosRequest."
},
"InstantmessagingPaEventIdMessage": {
"type": "object",
"id": "InstantmessagingPaEventIdMessage",
"description": "An EventId is a 128 bit identifier that uniquely identifies an event, such as a query. The event time recorded to the nearest microsecond, along with information about the process generating the event, ensures that all EventIds are unique. Details of this EventId are described in a design document: http://www/eng/designdocs/sawmill/adlogs.html",
"properties": {
"serverIp": {
"type": "integer",
"format": "uint32",
"description": "server_ip is the IPv4 address or http://go/ghostid of the machine running the server that created this event message. This allows us to distinguish between events that occur at the same time on different servers. Format: 10.1.2.3 is stored as 0x0a010203, and GHostId 1 as 0x00000001."
},
"timeUsec": {
"type": "string",
"format": "int64",
"description": "time_usec is the number of microseconds since the epoch (i.e., since 1970-01-01 00:00:00 UTC) as an int64: 1e6 * (unix time) + microseconds. Applications must ensure that EventIdMessages have increasing times, artificially increasing time_usec to one greater than the previous value if necessary. Alternate implementations were considered: 1. storing unix time and microseconds separately would require a bit more storage, and the convenience of having a single value representing the time seemed more useful than having trivial access to a unix time. 2. storing unix time in the upper 32 bits would allow for more precision - up to 4G events/second, but it wouldn't print nicely as a decimal value and it seems unlikely that any single server would ever sustain more than 1M events/second. 3. Java-compatible time uses millis - this would limit servers to 1000 events per second - too small. Other names for this field were considered, including time, time_stamp, and utime. We felt that including the units in the name would tend to produce more readable code. utime might be interpreted as user time. unix timestamp * 1e6 + microseconds"
},
"processId": {
"type": "integer",
"format": "uint32",
"description": "process_id is an integer that identifies the process on this machine that generated this event. This id is calculated once when the server generates its first event, and may change if the process is migrated to a different host. This field has a very specific format mandated by the logs collection infrastructure, which is subject to change WITHOUT NOTICE. As of 2013-01-09, this format is: uint32 process_id = (time(NULL) \u003c\u003c 24) + (getpid() & 0xFFFFFF); If you are generating an extended_pid directly, you MUST use one of the maintained library implementations in order to generate it properly: C++ //borg/borgletlib:extended_pid; call borg::ExtendedPid() Python //borg/borgletlib/python:pyextendedpid; call ExtendedPid() Go //borg/borgletlib/go:extendedpid; call Get() Java //java/com/google/common/logging; call EventId.getPid() If you think that you need to parse the values of this field, please contact logs-collection-dev@ to discuss your requirement."
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiLimitedProfileSettingsField": {
"properties": {
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
},
"limitedProfileSettings": {
"$ref": "InstantmessagingPaSocialGraphApiProtoLimitedProfileSettings"
}
},
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiLimitedProfileSettingsField"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetContactsPush": {
"description": "Push message when some contacts are being set/ reset. When the clients get this message, they should purge all contacts from this source and replace with this list instead. Called when another client calls SetContacts or if Focus backend requests us to purge all Gaia contacts and restart the sync. Notes: 1. The server will batch the updates into multiple SetContactsPush(s) in case of a large contact update. 2. A contact may be updated while a client is fetching pages of a contacts via GetContacts, in which case a GetContactsResponse may contain stale data. It is up to clients to process the GetContactsResponse and AddContactsPush/RemoveContactsPush/SetContactsPush(s) in the correct order and / or use txn_timestamps to resolve races.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetContactsPush",
"properties": {
"txnTimestampUsec": {
"description": "The timestamp for the read / write transaction of the contact.",
"format": "int64",
"type": "string"
},
"source": {
"description": "Source of the contact.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContactSource"
},
"entries": {
"description": "Contact entries to be updated.",
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DetailedContactEntry"
}
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BatchAckMessagesRequest": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BatchAckMessagesRequest",
"type": "object",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"messageIds": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"InstantmessagingPaSearchRenderingXuikitElementsJsModule": {
"properties": {
"identifier": {
"type": "string",
"description": "The unique versioned identifier for this module. This will include the module name, as well as a hash of its contents. This will take the form: |"
},
"dependencies": {
"type": "array",
"description": "Identifier for each module dependency.",
"items": {
"type": "string"
}
},
"serializedModuleConfig": {
"format": "byte",
"description": "The script data. This field is consumed by C++ code only and so is serialized to avoid unneeded parsing/reserialization/codegen on the client and to better match the client APIs. Note: serialized_proto_type annotations is used in GwsDiff. parsing_options annotation is used in Sherlog.",
"type": "string"
}
},
"id": "InstantmessagingPaSearchRenderingXuikitElementsJsModule",
"type": "object",
"description": "Next ID: 4"
},
"InstantmessagingPaGoogleInternalAppsWaldoV1alphaWorkingHours": {
"description": "Information about the user's working hours.",
"id": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaWorkingHours",
"properties": {
"availableTime": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaAvailabilityPeriod"
},
"description": "A list of availability periods representing the user's working hours as configured in calendar."
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ExpirationSentinel": {
"description": "Encapsulates the information for a 'sentinel' suggestion, one that exists to keep track of when the app should re-query for additional suggestions. This does not reach the UI layer. go/am-conversation-starters",
"properties": {},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ExpirationSentinel",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CapabilitiesExtension": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CapabilitiesExtension",
"description": "Extension for capabilities where the capability has a name and a optional value.",
"type": "object",
"properties": {
"name": {
"description": "Required.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CapabilityAttribute"
},
"value": {
"description": "Optional.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CapabilityAttribute"
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEvent": {
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEvent",
"type": "object",
"properties": {
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
},
"timestampMillis": {
"type": "string",
"description": "Clients are recommended to read the calendar_day field instead of timestamp_millis. When writing events, new clients must set calendar_day instead of timestamp_millis. Events are currently represented as timestamp values, although the interpretation of these timestamp values is a calendar date. There are a few important details about how this value should be mapped to a calendar date that should be consistent among all clients. For detailed information, see Birthday.date_ms.",
"format": "int64"
},
"calendarDay": {
"$ref": "InstantmessagingPaGoogleTypeDate",
"description": "Event are more accurately represented as a calendar day that does not depend on a timestamp representation at all. When given a timestamp, there are lots of opportunities to make mistakes, so a CalendarDay proto is replacing timestamps. PeopleApi will return these values on reads, and unless the client is a legacy caller in the legacy_timestamp_event_write_behavior_enabled capability allowlist, this value is what is used for Person writes."
},
"type": {
"description": "The type of the event. The type can be free form or one of these predefined values: * `anniversary` * `other`",
"type": "string"
},
"formattedType": {
"type": "string",
"description": "The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage."
}
}
},
"InstantmessagingPaGoogleInternalAppsWaldoV1alphaAvailabilityPeriod": {
"properties": {
"dayOfWeek": {
"format": "int32",
"type": "integer",
"description": "Day of week, 0 for Sunday, 1 for Monday, ..."
},
"periodStartMinutes": {
"type": "integer",
"description": "Period start, in minutes from the start of the day, inclusive.",
"format": "int32"
},
"periodEndMinutes": {
"description": "Period end, in minutes from the start of the day, exclusive.",
"type": "integer",
"format": "int32"
}
},
"description": "Represents the information about user's working hours during one day. Note that a period on Monday from 18:00 - 00:00 is represented as a triplet (1, 1080, 1440).",
"type": "object",
"id": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaAvailabilityPeriod"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ChangeGroupProfileRequest": {
"description": "Change group profile flow: Client Server Other Members |-- ChangeGroupProfileRequest -\u003e| | |\u003c- ChangeGroupProfileResponse -|----- ChangeGroupProfilePush ----\u003e| The client sends this request to change a group profile. If a profile field is not set or empty, it does not change (e.g., to rename a group, the client does not set profile.photo_uri). To change the profile photo, the Client needs to upload the photo separately (via Scotty) and then sends this request with new profile.photo_uri.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ChangeGroupProfileRequest",
"properties": {
"deprecatedProfile": {
"description": "profile is the new group profile. Deprecated. Use profile_changes instead.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Profile"
},
"inviteLinkAction": {
"type": "string",
"description": "indicate how the client want to change the invite link. The action could be create/reset/clear",
"enum": [
"UNKNOWN",
"CREATE_LINK",
"RESET_LINK",
"CLEAR_LINK"
],
"enumDescriptions": [
"",
"create a link, if exists, return the existing one",
"replace the existing link with a new one",
"delete the link"
]
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"profileChanges": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PartialProfile",
"description": "partial profile allows setting only some fields in the profile."
},
"groupId": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id",
"description": "group_id is the group ID whose profile will be changed."
},
"updatePolicy": {
"type": "string",
"description": "Update policies define special handling for profile updates.",
"enum": [
"NONE",
"THUMBNAIL_MUST_MATCH_EXISTING"
],
"enumDescriptions": [
"",
"Only update the profile if the provided thumbnail matches the existing thumbnail. A FAILED_PRECONDITION error will be returned if this requirement is not met."
]
}
},
"type": "object"
},
"InstantmessagingPaLogsClickTrackingCGI": {
"properties": {
"odelaySeLinker": {
"description": "Used by odelay as a server event linker, replaces (deprecated) style.",
"format": "int32",
"type": "integer"
},
"veIndex": {
"description": "The index of the visual element in the original VisualElements array -- one int. To be useful, this requires sessions processing. The fields ve_index, non_archival_ve_index, and ve_offset_identifier are all alternate ways to reference a VE. One and only one of the fields should always be set. Although they are logically a oneof, they are not specified as such because: a) the existing default values don't make a ton of sense in a oneof. b) proto1 does not support oneof, anyway. Note that with the current version of mr_sesions (2010/05/06), the parent_event_index might not be the event with the corresponding visual element tree. In szl, consider using SessionGetParentForVed from logs/lib/session_lib.szl. ",
"format": "int32",
"type": "integer"
},
"resultIndex": {
"format": "int32",
"description": "If this is a click on a search result, this is the corresponding search result's result_index field (see visual_element.proto for further details). This field is not saved to logs for GWS traffic excluding Tier 3 heirloom as of 2019/11/14, and for all GWS trafic as of 2020/07/09 (go/result-index-deprecation).",
"type": "integer"
},
"elementIndex": {
"type": "integer",
"description": "The value of the corresponding VisualElementProto's element_index field.",
"format": "int32"
},
"veOffsetIdentifier": {
"$ref": "InstantmessagingPaLogsVeOffsetIdentifier",
"description": "References a VE by explicitly identifying a base VE and an offset from that VE. See go/explicit-ve-indexing for details."
},
"youtubeVeCounter": {
"description": "YouTube-only. Will never be encoded into URL params and will not be used past the Sessions builder. Used to distinguish between multiple VEs of the same type created by a client.",
"type": "integer",
"format": "int32"
},
"veEventId": {
"$ref": "InstantmessagingPaClientEventIdMessage",
"description": "The event ID of the event that caused the logging of the referenced VE. This is to distinguish from the event or context where a VE was clicked, which is not necessarily the same thing. Not all VE have a logging-event, and those should not use this field. In cases where the logging-event is equivalent to the context or event where the VE is clicked, this field may be redundant."
},
"pageStart": {
"type": "integer",
"format": "int32",
"description": "Used for next pages. The absolute index of the first search result in the page, with respect to the full set of possible search results. Zero indexed."
},
"nonArchivalVeIndex": {
"description": "Similar to ve_index but referencing a VE in GWSLogEntryProto::non_archival_visual_elements::elements.",
"type": "integer",
"format": "int32"
},
"doNotLogUrl": {
"type": "boolean",
"description": "Marks this URL as being tainted (eg, with PII) so that it should not be written to archival logs. Currently this gets only honored by gws."
},
"resultGroupElementIndex": {
"type": "integer",
"description": "NOTE(jurban): For use *only* in maps/placepage logging. Note that we don't use result_index as that must always be a reference to the GwsLogEntry.Results.Result array, which isn't useful for placepage data. Records the relative ordering of result-like elements within a result group. So if this is a click on a link under a result, this is the element_index of the enclosing result. In maps/placepage it's used to record the result position within journalists (modules), e.g. reviews, photos. For the following journalist's subtree, the links marked with *** would have their result_group_element_index set to 1, i.e. the element_index of their PhotoJournalistResult ancestor: PhotoJournalist 0 PhotoJournalistResult . PhotoJournalistResultLink . PhotoJournalistResultAttributionLink 1 PhotoJournalistResult . PhotoJournalistResultLink *** . PhotoJournalistResultAttributionLink *** ",
"format": "int32"
},
"resultFprint": {
"description": "A 64-bit fingerprint used to identify the result. This field may be set instead of the VE element index in cases where we do not have server-side logging as well as for client-generated content. In such cases, the result fingerprint will be useful in order to filter duplicate impression logs and parent clicks to the right impression. For example, this may be used by PaintFE to store the feature ID of Spotlight Server features that are not associated with a search, such as ads or personal POIs, in the ClickTrackingCGI proto. This field may be deprecated in the longer run as part of a redesign to log more details about on-map POIs in GMM. See http://go/gmm-onmap.",
"format": "uint64",
"type": "string"
},
"veType": {
"type": "integer",
"description": "In general, this is the type of the clicked visual element. Barring bugs in frontends (e.g., query rewriting propagating the wrong cgi parameters), this should always be the same as the ui_type of the original visual element. In some cases (currently Tactile and GMM only), the server will put a request_configuration ui_type in the ve_type field. These can be treated exactly like ve ui_types (feature properties, interactions, etc), EXCEPT that they will not be present in a visual element tree and may not indicate that the user took action (check for user_action AUTOMATED to tell if a user did not initiate this event). This field is used to distinguish a web search result from an ad click from a cached click from a specific type of onebox click and is included here as a convenience for logs analysis without sessions. The full list of visual element types is under logs/gws/config/... ",
"format": "int32"
}
},
"id": "InstantmessagingPaLogsClickTrackingCGI",
"type": "object",
"description": "Next ID: 16"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegistrationInfo": {
"properties": {
"registrationId": {
"format": "byte",
"type": "string",
"description": "Opaque registration id."
},
"locale": {
"description": "Locale of the user (e.g. 'en_US')",
"type": "string"
},
"identityKey": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PublicKey",
"description": "identity_key is the public key of a key pair that will be used to re-register this client in the future, and that creates the signature."
},
"platformType": {
"enum": [
"UNKNOWN",
"ANDROID",
"IOS",
"PROBER",
"TEST",
"INTERNAL",
"DESKTOP",
"WEB",
"GOOGLE_HOME",
"GOOGLE_HOME_SETUP",
"KAIOS",
"GEO_MERCHANT_PLACE_HOLDER"
],
"description": "platform_type is the type of platform. [deprecated]: please use SelfOnlyRegistrationInfo.platform_type.",
"enumDescriptions": [
"",
"",
"",
"",
"",
"The request is from internal backend, e.g., Janitor spanner queue. We do not check versions for internal platform.",
"",
"Standalone web client.",
"",
"A device that sets up GOOGLE_HOME devices.",
"A web-based client (e.g. Fork of Firefox OS), which is designed for non-touch devices with modern capabilities, like 4G LTE, GPS, WiFi, and modern web standards support (HTML, CSS, JavaScript, all ran on Gecko).",
"The request is from a geo merchant backend pre-registering the merchant with tachyon. We do not check versions. go/geo-merchant-messaging-preregister"
],
"type": "string"
},
"capsExtension": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CapabilitiesExtension"
}
},
"caps": {
"items": {
"type": "integer",
"format": "int32"
},
"type": "array",
"description": "caps are the features such as incognito chat that the user client supports. Capability.Feature predefines some Fireball and Tachyon caps."
},
"updatedAtHash": {
"format": "uint64",
"description": "updated_at_hash is changed when the registration is updated. see b/140808014 for more info.",
"type": "string"
}
},
"type": "object",
"description": "Contains registration information.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegistrationInfo"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContentWizardPayload": {
"type": "object",
"description": "In the suggestion payload we include some suggestion data for ContentWizard. Those suggestions are not used in smart reply. go/fireball-emojis-suggestions",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContentWizardPayload",
"properties": {
"suggestions": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SuggestionItem"
}
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ModifyMediaSessionRequest": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ModifyMediaSessionRequest",
"properties": {
"version": {
"type": "string",
"format": "uint64",
"description": "The update version, as determined by the client. As partial updates are possible, this versioning applies on a per-peer basis. Parts of a request may still be processed, even if other parts are discarded. Receiving multiple updates should result in the same state once they have all been processed, regardless of order."
},
"clientReceiveModification": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ClientReceiveModification",
"description": "Update the client receive configuration."
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"peerMediaAccessList": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PeerMediaAccessList",
"description": "Update the media access for individual peers in this session. This only affects the specified peers, leaving others untouched."
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiWebsite": {
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiWebsite",
"properties": {
"rel": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiWebsiteRelationshipInfo"
},
"description": "Currently in Oz: \"Links\": Links with no rel. \"Other profiles\": Links with rel=ME. \"Contributor to\": Links with rel=CONTRIBUTOR_TO or PAST_CONTRIBUTOR_TO."
},
"type": {
"description": "The type of the website. The type can be free form or one of these predefined values: * `home` * `work` * `blog` * `profile` * `homePage` * `ftp` * `reservations` * `appInstallPage`: website for a Currents application. * `other`",
"type": "string"
},
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
},
"formattedType": {
"description": "The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.",
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"InstantmessagingPaGoogleCommunicationsJibemessagestoreV1PayloadPart": {
"id": "InstantmessagingPaGoogleCommunicationsJibemessagestoreV1PayloadPart",
"properties": {
"textContentType": {
"type": "string",
"description": "Indicates the MIME content type of the stored text content."
},
"binaryContentSize": {
"description": "Indicates the size of the binary content in bytes;",
"type": "string",
"format": "int64"
},
"contentId": {
"description": "The Content-ID assigned to the payload part as defined in [RFC2392]. Must be specified for ENCRYPTED_MESSAGE types.",
"type": "string"
},
"extendedDetail": {
"description": "Arbitrary detail for the PayloadPart. May be used by a consumer project to represent custom fields. Optional.",
"type": "object",
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
}
},
"size": {
"description": "Indicates the size of the stored content in bytes;",
"format": "int64",
"type": "string"
},
"binaryContentType": {
"description": "Indicates the MIME content type of the stored binary content.",
"type": "string"
},
"binaryContentHref": {
"description": "Link to the stored binary content. The stored content can be internally stored within the CMS (e.g., \"http://cms/v1/inbox/objects/123/payloadParts/123\") or be externally referenced in a different storage (e.g., \"http://cloudstorage/bucket_name/object_id\"). Used in 'POST' requests (e.g., new Object creation), in place of the `binary_content` field.",
"type": "string"
},
"payloadPartId": {
"description": "Unique payload part identifier generated by the storage server.",
"type": "string"
},
"textContentSize": {
"type": "string",
"description": "Indicates the size of the text content in bytes;",
"format": "int64"
},
"extendedDetailSize": {
"description": "Indicates the size of the extended_detail in bytes;",
"type": "string",
"format": "int64"
},
"textContent": {
"description": "Any text content such as text MMS or voicemail transcript. The content should be UTF-8 encoded.",
"type": "string"
},
"createTime": {
"format": "google-datetime",
"description": "An absolute timestamp indicating when the PayloadPart was stored in the Box.",
"type": "string"
},
"contentLocation": {
"type": "string",
"description": "The Content-Location of this part, as defined in [RFC2557]. Optional."
},
"binaryContent": {
"description": "The binary content bytes.",
"format": "byte",
"type": "string"
}
},
"description": "Details about a payload part.",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AuthToken": {
"properties": {
"expiresIn": {
"type": "string",
"description": "expires_in is the approximate (due to network latency etc) number of microseconds this auth token is valid after it is first received by the client.",
"format": "int64"
},
"payload": {
"format": "byte",
"type": "string",
"description": "payload is the encrypted payload of the token."
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AuthToken",
"description": "AuthTokens are returned to clients in verified register- and verify-responses. They must be included in the header of all authenticated requests."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PaymentsSuggestion": {
"type": "object",
"description": "Suggest sending/requesting payment smart action. Optionally with a payment amount. The user to/from whom the payment is being sent/requested is not specified and should be the only other user in the conversation. Payment action suggestions should not be enabled in group conversations for now.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PaymentsSuggestion",
"properties": {
"type": {
"type": "string",
"description": "Type of suggestion. Should always be explicitly set.",
"enum": [
"UNSPECIFIED",
"SEND_PAYMENT",
"REQUEST_PAYMENT"
],
"enumDescriptions": [
"The type should be set by the creator of this suggestion explicitly.",
"Client should suggest sending payment.",
"Client should suggest requesting payment."
]
},
"amount": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Money",
"description": "Amount of money to pre-populate payment dialog with. Optional field that will only be present in cases where we are able to identify an amount mentioned in the message that triggered this suggestion."
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GifSuggestion": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GifSuggestion",
"type": "object",
"properties": {
"category": {
"type": "string"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeleteMediaSessionResponse": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeleteMediaSessionResponse",
"type": "object",
"properties": {
"compliance": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeleteMediaSessionResponseCompliance"
},
"description": "Compliance records."
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"txnTimestampUsec": {
"description": "txn_timestamp_usec is the timestamp when DeleteMediaSessionRequest transaction committed.",
"type": "string",
"format": "int64"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddSpamSignalV2Response": {
"description": "AddSpamSignalV2Response is the response to AddSpamSignalUntrusted.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddSpamSignalV2Response",
"type": "object",
"properties": {
"suggestedAction": {
"type": "string",
"enumDescriptions": [
"",
"None is returned by all actions, and is triggered if: 1. No change in spam status of user 2. Duplicate message already sent to Ares, so we already acted on it. 3. No verdict/decision was made",
"Drop happens only on 'Check*Message'. The expected action is to silently drop the message.",
"Throttle indicates that we should begin throttling the subject. Their messaging rpcs will be put in the critical path of Ares.",
"Suspend indicates that we should suspend the user account and not allow them to register or send messages on any platform.",
"Restrict indicates that the user should be restricted to interacting with users in the same app.",
"clears the RESTRICT verdict.",
"clears the SUSPEND and THROTTLE verdicts.",
"Warn happens when we warn a client that a message is suspicious.",
"Drop recommendation with reason happens only on 'Check*Message'. The expected action is to mark the message as Spam and provide a reason.",
"Inverse of Throttle.",
"Positive verdict that would clear any previous client state."
],
"enum": [
"UNKNOWN",
"NONE",
"DROP",
"THROTTLE",
"SUSPEND",
"RESTRICT",
"UNRESTRICT",
"REINSTATE",
"WARN",
"DROP_RECOMMENDATION_WITH_REASON",
"UNTHROTTLE",
"ALLOW"
]
},
"initiatedBy": {
"type": "string"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetFiUserStandingRequest": {
"type": "object",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetFiUserStandingRequest",
"description": "Request message for MessagesMultiDevice.GetFiUserStanding"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonMetadata": {
"properties": {
"model": {
"enumDescriptions": [
"",
"The default People API model where a person can contain no more than one profile and potentially many contacts.",
"The inversion of the default profile-centric model, i.e. a person can contain no more than one contact but potentially many profiles. See go/contact-centric-person-model for more details."
],
"enum": [
"PERSON_MODEL_UNKNOWN",
"PROFILE_CENTRIC",
"CONTACT_CENTRIC"
],
"type": "string",
"description": "The person model that is used to construct this person."
},
"ownerUserType": {
"description": "DEPRECATED. See `person.read_only_profile_info.owner_user_type` instead.",
"items": {
"enumDescriptions": [
"",
"The owner is a Google user.",
"The owner is a Currents user.",
"Google+, i.e. INSServiceID::GOOGLE_ME service, is disabled by dasher admin. Only returned for requester's own profile.",
"The owner is a Google Apps for Work user.",
"The owner is a self-managed Google Apps for Work user. Only returned for requester's own profile.",
"The owner is a Google for Families user. Only returned for requester's own profile.",
"The owner is a Google for Families child user. Only returned for requester's own profile.",
"The owner has been disabled (archived, suspended) by the G Suite admin.",
"The owner is a Google One user (go/googleone). Only returned for requester's own profile.",
"The owner is a Google for Families child user that was converted from an existing user. Only returned for requester's own profile. (go/griffin-account)"
],
"type": "string",
"enum": [
"OWNER_USER_TYPE_UNKNOWN",
"GOOGLE_USER",
"GPLUS_USER",
"GPLUS_DISABLED_BY_ADMIN",
"GOOGLE_APPS_USER",
"GOOGLE_APPS_SELF_MANAGED_USER",
"GOOGLE_FAMILY_USER",
"GOOGLE_FAMILY_CHILD_USER",
"GOOGLE_APPS_ADMIN_DISABLED",
"GOOGLE_ONE_USER",
"GOOGLE_FAMILY_CONVERTED_CHILD_USER"
]
},
"type": "array"
},
"plusPageType": {
"type": "string",
"description": "DEPRECATED. Please use `Person.plus_page_info` instead.",
"enum": [
"PLUS_PAGE_TYPE_UNKNOWN",
"LOCAL",
"COMPANY",
"BRAND",
"CELEBRITY",
"CAUSE",
"ENTERTAINMENT",
"OTHER",
"OBSOLETE_PRIVATE"
],
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
"",
"",
"Formerly a private madison account(go/private-madison-account). Don't use it anymore."
]
},
"identityInfo": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiIdentityInfo",
"description": "Detailed metadata about the lookup IDs and data sources included in a MergedPerson result."
},
"scoringInfo": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfo",
"description": "Contact people-directory-dev-team@ if you want to use this field."
},
"contactId": {
"description": "The IDs of all contacts contributing to this person.",
"type": "array",
"items": {
"type": "string",
"format": "int64"
}
},
"deviceContactInfo": {
"description": "Info about the aggregated device contacts. When the person contains RAW_DEVICE_CONTACT containers, each DeviceContactInfo represents a single aggregate device contact made up of one or more raw device contacts.",
"type": "array",
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiDeviceContactInfo"
}
},
"deprecatedBlocked": {
"type": "boolean",
"description": "DEPRECATED. Please use `person.read_only_profile_info.block_type` instead."
},
"bestDisplayName": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiBestDisplayName",
"description": "The best name to use for this person for user-facing display. See go/people-api-howto:names for details about how this field is computed. In many cases this will simply be Person.name[0]. However, Person.name returns only explicit Name fields, but other fields maybe usable as a name (for example: nicknames, file_as, ...). `best_display_name` will be calculated from all fields in storage which are usable as a name, even fields which are not explicitly requested in the MergedPerson result. See PersonNameFormatter.java: go/lvztl."
},
"inViewerDomain": {
"description": "DEPRECATED. Indicates whether this person is in the same domain as the viewer. For proxying trust between two users based on organization membership, see: - go/flex-orgs-platform - go/flex-orgs-compliance-handbook (especially http://shortn/_ChwfAY36Ys)",
"type": "boolean"
},
"affinity": {
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAffinity"
},
"description": "Affinities associated with the person, with respect to the requester.",
"type": "array"
},
"incomingBlockType": {
"description": "DEPRECATED. Indicates whether this person is blocking the profile owner. Please use `person.read_only_profile_info.incoming_block_type` instead.",
"type": "array",
"items": {
"enumDescriptions": [
"",
"Profile-blocked users",
"Chat-blocked users"
],
"enum": [
"BLOCK_TYPE_UNKNOWN",
"CIRCLE",
"LEGACY"
],
"type": "string"
}
},
"ownerId": {
"description": "DEPRECATED. Please use `person.read_only_profile_info.owner_id` instead.",
"type": "string"
},
"lastUpdateTimeMicros": {
"description": "DEPRECATED. The last update timestamps for the constituent components of this person are available in `identity_info.source_ids`. The time of the most recent change to this person, in !!!NANOS!!! (due to a bug). May be a change to any of the underlying parts of the person (profile, contact, etc.). Not guaranteed to be the timestamp of the most recent change, due to limitations in the backend. This field is not fully deprecated for backend container-specific storage services like ProfileService which lack identity_info. The use is still discouraged in such systems and they should prefer to use the `last_update_time` field of this message instead.",
"type": "string",
"format": "int64"
},
"attribution": {
"description": "Populated when the data for the MergedPerson comes from a 3rd party provider or data source. Clients must display these attributions to the user if they are present. NOTE: This field is only relevant when requesting the following containers: - PLACE (data read from Maps)",
"items": {
"type": "string"
},
"type": "array"
},
"profileOwnerStats": {
"description": "DEPRECATED. Stats/counters pertaining to followers and incoming edges. Please use `person.read_only_profile_info.profile_owner_stats` instead.",
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiProfileOwnerStats"
},
"deleted": {
"description": "For sync requests (i.e., changed since the provided sync_token), indicates the resource is a tombstone for a Person resource that has been entirely deleted.",
"type": "boolean"
},
"objectType": {
"enum": [
"OBJECT_TYPE_UNKNOWN",
"PERSON",
"PAGE"
],
"type": "string",
"description": "DEPRECATED.",
"enumDescriptions": [
"",
"",
""
]
},
"contactGroupId": {
"items": {
"type": "string"
},
"type": "array",
"description": "DEPRECATED. Please use `person.contact_group_memberships` instead. The contact groups the person belongs to."
},
"userVisibleStats": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiUserVisibleStats",
"description": "DEPRECATED. This field is no longer populated or read."
},
"deprecatedMembershipContactGroupId": {
"type": "array",
"items": {
"type": "string",
"format": "int64"
},
"description": "DEPRECATED. This field is no longer populated or read."
},
"deprecatedMembershipCircleId": {
"description": "DEPRECATED. This field is no longer populated or read.",
"items": {
"format": "int64",
"type": "string"
},
"type": "array"
},
"blockType": {
"type": "array",
"description": "DEPRECATED. Indicates whether the profile owner has blocked this person. Please use `person.read_only_profile_info.block_type` instead.",
"items": {
"enum": [
"BLOCK_TYPE_UNKNOWN",
"CIRCLE",
"LEGACY"
],
"enumDescriptions": [
"",
"Profile-blocked users",
"Chat-blocked users"
],
"type": "string"
}
},
"circleId": {
"items": {
"type": "string"
},
"description": "DEPRECATED. The circles the person belongs to.",
"type": "array"
},
"customResponseMaskingType": {
"type": "string",
"description": "DEPRECATED. Customized masking of the response similar to the legacy People2RequestMask People2Params request message. NOTE: This param is inherently client-specific, limited to specific legacy clients, and not open to new usage. NOTE: Effects may be applied to a subset of people in the response.",
"enumDescriptions": [
"",
"No filtering of the response.",
"Used by Menagerie to request menagerie-specific custom filtering or masking on the response."
],
"enum": [
"UNKNOWN",
"NONE",
"MENAGERIE"
]
},
"previousPersonId": {
"type": "array",
"items": {
"type": "string"
},
"description": "DEPRECATED. This field is no longer populated or read."
}
},
"description": "Metadata for the entire Person resource.",
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonMetadata"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CameraEffectSuggestion": {
"description": "Suggests a camera effect. See http://go/mo-spec.",
"properties": {
"effectId": {
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
],
"type": "string",
"enum": [
"NONE",
"UNKNOWN_EFFECT",
"AMAZED_FACE_RAY",
"BYE_DOOR_SLAM",
"BYE_SPACE_SHIP",
"CONFUSED_FACE_KALEIDOSCOPE",
"CONFUSED_QUESTION_MARKS",
"DRAMA_BOLLYWOOD_ZOOMS",
"LOVE_IT_SUNSHINE_SPARKLES",
"SHOCKED_BREAKING_NEWS",
"ICE_CREAM_ON_HEAD",
"RADIAL_BLUR"
]
},
"text": {
"description": "Suggestion text. Internationalized on the server side. Client will always receive suggestions in the right language.",
"type": "string"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CameraEffectSuggestion",
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiSearchProfile": {
"properties": {
"searchProfileData": {
"$ref": "InstantmessagingPaSocialGraphApiProtoSearchProfileData"
},
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
}
},
"description": "Profile for Janata and Search. go/janata-profile-in-sgbe",
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiSearchProfile"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SmsMessage": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SmsMessage",
"type": "object",
"properties": {
"messageContent": {
"description": "The SMS message content in UTF-8 format.",
"type": "string"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterData": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterData",
"properties": {
"locale": {
"description": "locale identifies the locale the user wants server generated messages for. Used when sending verification SMS messages, and for suggester to select a target language. This must be a BCP47 language tag. Optional for RegisterRefreshRequest: set only when it changed.",
"type": "string"
},
"appData": {
"type": "string",
"description": "app_data is application specific data (e.g., carrier info for RCS) and is less than 128KB. The data is opaque to Tachyon backend.",
"format": "byte"
},
"featureFlags": {
"description": "feature_flags are used by clients to communicate their features with the backend. The values need to match ClientFeatureFlag.Value Optional for RegisterRefreshRequest: set only when it changed. The server will not use this field if it is not set. If feature_flags is set with empty array, all existing feature_flags stored in the server will be removed.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ClientFeatureFlagsValue"
},
"pvPreferredCarrierName": {
"description": "See PreferredCarrierInfo in communication/verifier/proto/challenge.proto",
"type": "string"
},
"apnData": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ApnDataValue",
"description": "This is used by iLighter only in SignInGaia and RegisterRefresh. It will be deprecated. Use apn_push_token and apn_app above instead."
},
"highPriApnPushToken": {
"type": "string",
"format": "byte",
"description": "high_pri_apn_push_token is used for iOS push notifications that should be sent with pushkit. This is used only if notifications need to be sent with and without pushkit for the app. If this is not set apn_push_token will be used for all notifications. Optional for RegisterRefreshRequest: set only when it changed."
},
"pvEnforceCarrierResolutionOverride": {
"type": "boolean"
},
"clientCapsExtension": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ClientCapabilitiesExtensionValue"
},
"iidToken": {
"type": "string",
"description": "iid_token is the instance ID token of the application being registered, and makes it reachable via GCM. Optional for RegisterRefreshRequest: set only when it changed."
},
"apnApp": {
"description": "apn_app is the APNs Application, usually same as the APNs Bundle ID. This value is required if you set apn_push_token. Optional for RegisterRefreshRequest: set only when it changed.",
"type": "string"
},
"caps": {
"description": "caps is the features, such as incognito chat, that the client supports. FireballCapability and TachyonCapability predefine Fireball and Tachyon caps, respectively. Optional for RegisterRefreshRequest: set only when it changed.",
"type": "array",
"items": {
"format": "int32",
"type": "integer"
}
},
"identityKey": {
"description": "identity_key is the public key of a key pair that will be used to re-register this client in the future, and that creates the signature. Either pub_key or identity_key must be present. They can both be absent when sent by internal, allowed services (currently, only Jibe). Optional for RegisterRefreshRequest: set only when it changed.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PublicKey"
},
"deviceInfo": {
"description": "Device hardware and OS.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeviceInfo"
},
"secondsFromGmt": {
"description": "seconds_from_gmt is the time zone, in terms of the number of seconds difference between the client and GMT/UTC. If the value is nil, the time zone is not set or updated.",
"type": "integer",
"format": "int32"
},
"apnPushToken": {
"description": "apn_push_token is only used if the registration shall be able to receive APN pushes via ApnsProxyServer or ApnsSandboxProxyServer. Optional for RegisterRefreshRequest: set only when it changed.",
"format": "byte",
"type": "string"
},
"highPriApnApp": {
"description": "This value is required if you set high_pri_apn_push_token. Optional for RegisterRefreshRequest: set only when it changed.",
"type": "string"
},
"useAppIdForDedup": {
"type": "boolean",
"description": "GoogleMyBusiness (GMB) client may set use_app_id_for_dedup to true to request Tachyon to dedup registrations using application ID. Application ID is the \"package name\" (e.g., \"com.google.MyBusiness\") derived from, in the following priority order, Android IID token or ApnApp in notification_data. The field is ignored for other clients. *************** end internal only section **************"
},
"botguardResult": {
"description": "Result of the call to botguard. Currently used by BM for unauthenticated users.",
"type": "string"
},
"gmscoreIidToken": {
"type": "string",
"description": "gmscore_iid_token is the GMSCore IID token from an Android device (obtained by 1P apps from C11N). After verifying it, Tachyon uses the GMSCore IID as the device ID."
},
"pvLocalizedMessageTemplate": {
"description": "************* Internal only section ************** Message template for PhoneVerifier. The format is different from IDV. See comments for \"localized_message_template\" in communication/verifier/proto/challenge.proto",
"type": "string"
},
"appId": {
"type": "string",
"description": "app_id is the \"package name\" (e.g., \"com.google.android.apps.maps\") from which the request is sent. This field is optional and currently used by GMM and GMB Android clients."
},
"pvApplication": {
"type": "string",
"enumDescriptions": [
"",
"",
"",
"",
""
],
"description": "Leave this field empty to use default behavior.",
"enum": [
"UNKNOWN",
"RCS_OTP",
"RCS_OTP_RASTER",
"TACHYON",
"TACHYON_BUGLE"
]
},
"mccMnc": {
"description": "The mobile country code / mobile network code (MCC/MNC) of the device's SIM/home network (not the device's active network) e.g., 310004 for Verizon USA. Optional: this is set by iOS clients.",
"type": "string"
},
"droidguardResult": {
"type": "string",
"description": "Result of the call to Droidguard on the device. This is used to validate that an authorized app is making this request from a physical device. Currently, this is only available for Android. Droidguard requires request to be bound to the content. This is used to prevent replay attacks on Droidguard response. This request requires content binding in the format of Map(key, value). To support this binding, the client should call DroidGuardClient.getResult with the map; Tachyon server should verify the map after getting decoded response from DroidGuard server."
},
"preKeySets": {
"description": "Optional sets of public prekeys sent with registration.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PublicPreKeySets"
},
"notificationData": {
"description": "notification_data is a wrapper around data needed to send notifications through GCM, APN or Web. Set it only if the registration shall be able to receive notification pushes. Optional for RegisterRefreshRequest: set only when it changed. Note: This will deprecate old ApnData and GCM IID in the future, but is only supporting Web now.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1NotificationData"
},
"clientCaps": {
"description": "client_caps is the capabilities to set to for the caller. Optional for RegisterRefreshRequest: set only when it changed. The server will not use this field if it is not set. If client_caps is set with empty array, all existing client_caps stored in the server will be removed. Note: This will deprecate caps. If caps and client_caps are both set and their values do not match, the server will return InvalidArg error.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ClientCapabilitiesValue"
},
"truncatedImsi": {
"format": "byte",
"type": "string",
"description": "truncated_imsi stores the last 2 bytes of the hash of the hardware ID of the SIM card in the device. Refer to the hash function used: google3/java/com/google/android/libraries/matchstick/util/ImsiHashUtil.java For deprecation, see details in go/duo-stop-read-imsi and b/130819046."
},
"deviceId": {
"description": "device_id is the identity of the device performing registration, allowing SMS challenge to be skipped if it matches an already-verified registration. Optional for RegisterRefreshRequest. If RegisterRefreshRequest has device_id, the refresh request also triggers silent revalidation (i.e. without SMS) of the registration, though with a less stringent policy (regarding expiration) compared to the initial registration. If this revalidation fails, RegisterRefreshRequest will fail. Note that if the device ID type is ANDROID_IID_TOKEN, client should NOT set the ID string since it is the same as iid_token below.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeviceId"
},
"pvUserIdPrefix": {
"description": "See VerifyRequest in communication/verifier/proto/service.proto PhoneVerifier user id minus phone number. For example, if the full user_id is \"TELEFONICA_SPAIN:+12225559999\", this field should be \"TELEFONICA_SPAIN\".",
"type": "string"
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContentVideoCall": {
"properties": {
"sessionId": {
"type": "string"
},
"isAudioOnly": {
"type": "boolean"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContentVideoCall"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterSilentRequest": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterSilentRequest",
"type": "object",
"description": "RegisterSilentRequest holds argument for server to perform a silent registration without client providing the phone number. A valid Gaia credential is required for the call to succeed. The registered phone number will be in the response if the registration is successful. No SMS will be sent during the silent registration. The API will fail if the server cannot find a verifiable phone number, including the case when the server cannot choose one from multiple verified numbers.",
"properties": {
"locale": {
"description": "locale identifies the locale the user wants server generated messages for. Used by suggester to select a target language. @deprecated: use register_data instead.",
"type": "string"
},
"droidguardResult": {
"description": "Result of the call to Droidguard on the device. This is used to validate that an authorized app is making this request from a physical device. Currently, this is only available for Android. Droidguard requires request to be bound to the content. This is used to prevent replay attacks on Droidguard response. This request requires following content binding: Map(key, value): { (\"ID\", id_hint.id), (\"APP_NAME\", app) } NOTE: If id_hint == nil, use empty string for \"ID\" value. To support this binding, the client should call DroidGuardClient.getResult with these keys and values; Tachyon server should verify these keys and values after getting decoded response from DroidGuard server. Note(sharad): This field may not be set for older versions of Matchstick. @deprecated: use register_data instead.",
"type": "string"
},
"hideRegistration": {
"description": "hide_registration allows this registration info to be not returned on call to LookupRegisteredRequest. This is only used by Matchstick, to enable silent launch of Registration.",
"type": "boolean"
},
"registerData": {
"description": "register_data.droidguard_result uses the following content binding: Map(key, value): { (\"ID\", id_hint.id), (\"APP_NAME\", id.app) } NOTE: If id_hint == nil, use empty string for \"ID\" value.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterData"
},
"iidToken": {
"description": "All the following fields will be deprecated. iid_token is the instance ID token of the application being registered, and makes it reachable via GCM. @deprecated: use register_data instead.",
"type": "string"
},
"deviceId": {
"description": "device_id is the identity of the device performing registration. @deprecated: use register_data instead.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeviceId"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"app": {
"description": "app is the name of app for the registration. It replaces header.app.",
"type": "string"
},
"idHint": {
"description": "id_hint is optional phone number hint, such as the phone number silently retrieved from SIM card. It is possible for the id in the response to be different from id_hint.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"pubKey": {
"format": "byte",
"type": "string",
"description": "pub_key is the public key of the key pair that will be used to re-register this client in the future, and that creates the signature. Must be a DER encoded PKIX format ECDSA public key. @deprecated Use identity_key instead."
},
"identityKey": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PublicKey",
"description": "identity_key is the public key of the key pair that will be used to re-register this client in the future, and that creates the signature. @deprecated: use register_data instead."
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContextSuggestion": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContextSuggestion",
"properties": {
"title": {
"type": "string"
},
"omitPublicationModule": {
"type": "boolean"
},
"realtimeBoostEventId": {
"type": "string"
},
"articleUrl": {
"type": "string"
}
},
"type": "object",
"description": "Context everywhere suggestion for triggering news app. Next ID: 5"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ConversationIntentEntryPoint": {
"properties": {
"clientEntryType": {
"type": "string",
"description": "An exhaustive enumeration of all the entry point types we want to track",
"enumDescriptions": [
"",
"Maps entry point, 1-30 for Map entry point. LBM and GMB share the same entry point in map, this map enum would be used by Map interaction and Lighter SDK VE logging Conversation list",
"Click from notification",
"Click from deep link",
"Intent e.g. from search. This field is only",
"used by Lighter SDK VE logging VE: 54330 https://featureatlas.corp.google.com/fs/visual_element/f/geo%3AGmmPlaceCardActionBarMessageLink",
"VE: 43009 (shared between PLACE_ACTION_SHEET and PLACE_OVERVIEW_SECTION) https://screenshot.googleplex.com/uJK88gx1yqW.png",
"VE: 43009 (shared between PLACE_ACTION_SHEET and PLACE_OVERVIEW_SECTION) https://featureatlas.corp.google.com/fs/visual_element/f/geo%3AGmmPlaceSheetActionMessageLink VE: 43010 https://featureatlas.corp.google.com/fs/visual_element/f/geo%3AGmmPlaceSheetInfoMessageLink",
"",
"Messaging promo shown on place page (aGMM Only). VE: 62438 https://featureatlas.corp.google.com/fs/visual_element/f/geo:GmmMessagingPromoSendMessageLink",
"Confirmation toast shown on place page after a quote request is sent (aGMM Only).",
"VE: 43009 (2 button share the same VE) https://screenshot.googleplex.com/uJK88gx1yqW.png https://featureatlas.corp.google.com/fs/visual_element/f/geo%3AGmmPlaceSheetActionMessageLink",
"VE: 43010 https://featureatlas.corp.google.com/fs/visual_element/f/geo%3AGmmPlaceSheetInfoMessageLink",
"VE: 91060 http://ve/91060 This is the chat button that appears after a missed call",
"VE: 88004 https://featureatlas.corp.google.com/fs/visual_element/f/geo:GmmLocalPostLeafPageMessageLink Chatty Posts (go/chatty-posts)",
"VE: 99034 https://featureatlas.corp.google.com/fs/visual_element/f/GmmMerchantModeReviewPrivateMessageLink The message button underneath a review to privately message the author TDD: go/private-review-reply",
"VE: 103795 (tagged w/ data element: 140969) https://featureatlas.corp.google.com/fs/visual_element/f/geo:GmmExpandedPlacesheetFlexibleAlertActionButtonLink This is the chat button that appears inside of a Flexible Alert (see go/gmm-flexible-alerts). Impressions and interactions should be visble via Roboslicer (eg. http://shortn/_atmPzt26Fm)",
"LU entry point LINT.IfChange LBM LU entry point, 31-50 for LBM LU entry point VE: 65525 https://featureatlas.corp.google.com/fs/visual_element/f/LocalResultChainChatLink",
"VE: 4231115 https://featureatlas.corp.google.com/fs/visual_element/f/LocalChainChatInlineCard",
"GMB LU entry point, 51-70 for GMB LU entry point VE: 22770 https://featureatlas.corp.google.com/fs/visual_element/f/LocalResultChatLink",
"VE: 32754 https://featureatlas.corp.google.com/fs/visual_element/f/LocalChatInlineCard",
"VE: 100523 https://featureatlas.corp.google.com/fs/visual_element/f/MissedCallMessagingActionButton",
"VE: 118876, http://ve/MerchantPanelRecommendationsListItemEnableMessagingLink",
"VE: 124712, http://ve/MerchantPanelRecommendationsListItemReplyUnreadMessagesLink",
"VE: 115254, http://ve/GmbWebEmbeddedIA2MessagesMenuItem",
"Web push notification from GMB.",
"SMS notification from GMB",
"Email notification from GMB LINT.ThenChange(//depot/google3/java/com/google/communication/lighter/flume/analytics/intermediate/sessionpipeline/extensions/InteractionExtensionPlugin.java)",
"VE: 121781 https://featureatlas.corp.google.com/fs/visual_element/f/carsheet:ClickToChatDealershipButton",
"VE: 80759 https://featureatlas.corp.google.com/fs/visual_element/f/NavqueryChatButton",
"VE: 99913 https://featureatlas.corp.google.com/fs/visual_element/f/GmmPlaceSheetAfterHoursOptionMessageLink",
"VE: 122436 https://featureatlas.corp.google.com/fs/visual_element/f/geo:GmmPersistentActionBarMessageLink",
"Phone entry point",
"VE: 108551 https://featureatlas.corp.google.com/fs/visual_element/f/geo:GmmHomeScreenYourExploreMessageMerchantLink",
"VE: 97085 https://featureatlas.corp.google.com/fs/visual_element/f/BusinessMessagingAnswersMessagingCard",
"Click from unresponsive daily summary notification.",
"VE: 114826 (ve/BusinessMessagingLocalPackAfterHoursMessagingButton)",
"VE: 116645 https://featureatlas.corp.google.com/fs/visual_element/f/BusinessMessagingLocalPackChainMessagingModule",
"Entry points for CTM 2.0 ads. More details in go/bm-ctm-design.",
"",
"VE: 121736",
"Entry points in Google Shopping (go/shopping-bm-pilot-dd). VE: 144348 http://ve/ShoppingOffersOverlayMerchantMessagingLbmLink",
"VE: 144326 http://ve/ProductPageMerchantMessagingLbmLink"
],
"enum": [
"UNKNOWN",
"INBOX",
"NOTIFICATION",
"DEEP_LINK",
"CONVERSATION_INTENT",
"PLACE_ACTION",
"PLACE_ACTION_SHEET",
"PLACE_OVERVIEW_SECTION",
"POI_FORCE_TOUCH",
"PLACEPAGE_TOAST_PROMO",
"PLACEPAGE_TOAST_QUOTE",
"PLACESHEET_ACTION_MESSAGE_LINK",
"PLACESHEET_INFO",
"PLACE_MISSED_CALL_BOTTOM_SHEET",
"CHATTY_POST",
"REVIEW_PRIVATE_REPLY",
"PLACE_FLEXIBLE_ALERT",
"LBM_LU_ACTION_BUTTON",
"LBM_LU_INLINE_MODULE",
"GMB_LU_ACTION_BUTTON",
"GMB_LU_INLINE_MODULE",
"GMB_LU_MISSED_CALL_MESSAGE_BUTTON",
"GMB_LU_ENABLE_MESSAGING_CARD",
"GMB_LU_UNREAD_MESSAGES_CARD",
"GMB_LU_CUSTOMERS_IA2",
"GMB_WEB_PUSH",
"GMB_SMS_NOTIFICATION",
"GMB_EMAIL_NOTIFICATION",
"CARSHEET_MESSAGING_BUTTON",
"LBM_MSL_NAVQUERY_CHAT_BUTTON",
"PLACE_AFTER_HOURS_OPTIONS_BEFORE_CALLING_DIALOG",
"GMM_PERSISTENT_ACTION_BAR",
"DIALPAD_VIEW",
"COMMUNITY_FEED",
"ANSWERS_CARD",
"MERCHANT_UNRESPONSIVE_SUMMARY_NOTIFICATION",
"LOCAL_PACK_AFTER_HOURS_MESSAGE_BUTTON",
"CHAIN_BUSINESS_MESSAGING_CARD",
"CTM_ADS_CREATIVE",
"CTM_ADS_EXTENSION",
"LOCAL_PACK_ACTION_CAROUSEL_MESSAGE_BUTTON",
"SHOPPING_SELLERS_GRID",
"SHOPPING_PDP_BUY_PANEL"
]
},
"entryPointType": {
"type": "string",
"description": "Entry point where user entered from. Eg. MAPS_TACTILE, PLACE_SHEET.",
"enumDescriptions": [
"",
"Entry point in google map",
"",
"",
"",
"",
"",
"Dialer app",
"3P Generated link",
"3 pack after hours. go/lbm-3pack-prd Example: https://featureatlas.corp.google.com/fs/visual_element/f/57445",
"Chain messaging module below 3pack(1 to Many). go/lbm-3pack-prd Example: https://featureatlas.corp.google.com/fs/visual_element/f/116645",
"3 Pack in action carousel",
"TEST_URL indicates that the source intent for a message was generated manually during the onboarding process. Setting this enum allows LBM to differentiate between production and test messages in metrics.",
"Entry point surface for CTM 2.0 ads. More details in go/bm-ctm-design.",
"Entry point surface for Carsheet",
"Entry point on search web.",
"Entry point surface for Google Shopping (go/shopping-bm-pilot-dd)."
],
"enum": [
"UNKNOWN",
"MAPS_TACTILE",
"PLACE_SHEET",
"ANSWERS_CARD",
"SITE_LINKS",
"WEB_BUTTON",
"ANDROID_APP",
"PHONE",
"URL",
"LOCAL_PACK_MULTIPLE",
"LOCAL_PACK_SINGLE",
"LOCAL_PACK_ACTION_CAROUSEL",
"TEST_URL",
"CTM_ADS",
"CARSHEET",
"RANKED_SEARCH_ENTRY",
"SHOPPING"
]
},
"impressionEventId": {
"type": "string",
"description": "Web encoded version of GWS EventId. More details: http://go/click-to-lighter-conv#heading=h.226foku0vgt"
}
},
"description": "Entry point details provided by conversation intent",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ConversationIntentEntryPoint",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetMultiDeviceStatusResponse": {
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"multiDeviceEnabledOnPhone": {
"description": "True if the user has enabled multidevice on the Android Messages phone app",
"type": "boolean"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetMultiDeviceStatusResponse",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ViewRequestGroupAssignment": {
"type": "object",
"properties": {
"participantId": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UserRegistrationId"
},
"mode": {
"type": "string",
"enumDescriptions": [
"",
"The stream is assigned to the specified view request group and will stay in that group until modified by client.",
"The stream is assigned to the specified view request group. This mode means that the media backend is allowed to change the assignment to a different view request group based on media activity."
],
"description": "If an ID is assigned, mode determines how to interpret the assignment request. If mode is unspecified, defaults to MODE_ASSIGN for backwards compatibility reasons.",
"enum": [
"MODE_UNSPECIFIED",
"MODE_ASSIGN",
"MODE_SUGGEST"
]
},
"viewRequestGroupId": {
"description": "ID of view request group to assign a participant's streams to. If not set, removes any existing explicit assignment. The ID is the index of the view request group in the list.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ViewRequestGroupId"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ViewRequestGroupAssignment"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1TimestampBound": {
"description": "The desired timestamp bound for read requests. This message should not be set unless the client prefers specific timestamp bound to strong reads, which are the default behavior. More types of timestamp bounds could be added in the future. For the context on the timestamp bounds, please take a look at {@link com.google.tech.spanner.proto.timestamp_bound.proto}.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1TimestampBound",
"type": "object",
"properties": {
"readTimestampMicros": {
"format": "int64",
"type": "string",
"description": "Executes all reads at the given timestamp. Unlike other modes, reads at a specific timestamp are repeatable; the same read at the same timestamp will always return the same data. Useful for large scale consistent reads such as mapreduces, or for coordinating many reads against a consistent snapshot of the data."
},
"exactStalenessSeconds": {
"description": "Read at a timestamp \"now - d\". The time \"now\" is chosen soon after the read is started. Guarantees that all writes that have committed more than the specified number of seconds ago are visible. Since Spanner chooses the exact timestamp, this mode works even if the client's local clock is substantially skewed from Spanner commit timestamps. Useful for reading at nearby replicas without the distributed timestamp negotiation overhead of MaxStaleness.",
"type": "string",
"format": "int64"
},
"maxStalenessSeconds": {
"format": "int64",
"type": "string",
"description": "Read data at a timestamp \u003e= \"now - max_staleness_seconds\" seconds. Guarantees that all writes that have committed more than the specified number of seconds ago are visible. Useful for reading the freshest data available at a nearby replica while bounding the possible staleness. Note: If using this to improve API latency, prefer exact_staleness_seconds instead."
}
}
},
"InstantmessagingPaGoogleInternalPeopleV2ProfileLookupOptions": {
"description": "Options for looking up profiles for ListPeopleByKnownId.",
"id": "InstantmessagingPaGoogleInternalPeopleV2ProfileLookupOptions",
"properties": {
"excludeGaiaAccountTypes": {
"description": "Optional parameter for specifying Gaia account types to be filtered out. For example, use COLLABORATOR_ACCOUNT to exclude Nori account profiles.",
"type": "array",
"items": {
"enum": [
"ACCOUNT_TYPE_UNKNOWN",
"GGG_GROUP",
"COLLABORATOR_ACCOUNT",
"SERVICE_ACCOUNT"
],
"type": "string",
"enumDescriptions": [
"",
"Google Group aka baggins-roster. go/baggins. Accounts representing groups of things (groups, users, etc.). This is a \"resource\" type and not a real human user account. Corresponds with Gaia's `AccountType.ggg_group`",
"\"Nori\" or Collaborator account for non-Google users. go/nori-dd. This is a real human user account. Corresponds with Gaia's `AccountType.collaborator_account`.",
"Accounts representing a service. Credentials for these accounts can be obtained through Cloud Gaia. (google3/gaia/data/accounttype/service_account_types.gcl)"
]
}
},
"useTrustedClientPhoneLookupQuota": {
"type": "boolean",
"description": "Uses trusted client phone lookup quota. Normally phone lookup quota is restricted to 50 requests / user / day, the trusted client phone lookup quota gives a much higher quota (currently unlimited, but that will change in the future and be set to an appropriate quota). In order to use this request parameter, the client must be approved by go/pwg-people and have their purpose limitation roles added to the experiment flag capability http://google3/java/com/google/social/boq/socialgraph/peopleapis/internalpeopleapi/config/experiments/features/trusted_client_phone_lookup_quota.gcl."
},
"emailLookupOption": {
"description": "Option for profile lookup by email.",
"type": "string",
"enumDescriptions": [
"Use default behavior. The default is to not manually add the email lookup key in the returned person.email field. This means that if the email lookup key is a private field on the profile, the profile can be returned without this email field.",
"Manually add back the email lookup key if that's not already included in the person.email field. This is useful if you are requesting CONTACT_CENTRIC person, and want to know which exact profile corresponds to the original email lookup key."
],
"enum": [
"EMAIL_LOOKUP_OPTION_UNSPECIFIED",
"INCLUDE_EMAIL_LOOKUP_KEY"
]
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetSpamStateRequest": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetSpamStateRequest",
"properties": {
"reported": {
"description": "The ID of the user being queried.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"droidguardResult": {
"description": "Result of the call to Droidguard on the device. This is used to validate that an authorized app is making this request from a physical device. Currently, this is only available for Android. Droidguard requires request to be bound to the content. This is used to prevent replay attacks on Droidguard response. This request requires content binding in the format of Map(key, value). To support this binding, the client should call DroidGuardClient.getResult with the map; Tachyon server should verify the map after getting decoded response from DroidGuard server. Client needs to provide AuthToken and AppName for this binding.",
"type": "string"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
}
}
},
"InstantmessagingPaQuiltLogInfo": {
"type": "object",
"properties": {
"visibility": {
"enum": [
"VISIBLE",
"HIDDEN",
"CHILDREN_HIDDEN"
],
"description": "This identify whether the component is visible or hidden.",
"enumDescriptions": [
"Shown to the user. Default value. Nothing tricky, here.",
"Not initially visible, but may be revealed by user action. For example, the elements at the end of a collapsed list are not initially visible, but can be made visible by the user if she uncollapses the list.",
"The element is visible, but its children are hidden. The children may be revealed by user action. One example use case is the \"More\" button on the toolbelt where all its children toolbelt links are hidden initially. Clicking on the \"More\" button would turn these toolbelt links visible. Note that semantically, this is *not* equivalent to explicitly marking the element as VISIBLE and all children as HIDDEN. In the initial view, these two ways of marking visibility are equivalent. However, when user starts to interact with the VEs, they have different logging consequence. When all the children VEs are explicitly marked with HIDDEN, their visibility could be toggled independently. On the other hand, when the parent is marked as CHILDREN_HIDDEN, any grafting ping that tries to toggle the visibility of its children to VISIBLE has no effect as their visiblity settings are already VISIBLE by themselves. A visibility change only takes effect when it is applied to the parent. For example, consider a tree with the following visibility setting, - Foo1 (CHILDREN_HIDDEN) - Foo2 - Foo3 In the initial view, Foo1 is visible and Foo2/Foo3 are hidden. If a ping like /gen_204&vet={show_Foo1} is triggered by some user action, then Foo2 and Foo3 will become visible meaning Foo1/Foo2/Foo3 will all be visible. On the other hand, if a ping like /gen_204&vet={show_Foo2} is sent, the ping is a no-op."
],
"type": "string"
},
"signature": {
"type": "string",
"description": "This signature is generated using the user's gaia id, the current event id, and the url and may not be necessary once we start logging events through Clearcut."
},
"clickTrackingCgi": {
"description": "This represents the \"ved\" attribute in the rendered view.",
"$ref": "InstantmessagingPaLogsClickTrackingCGI"
},
"escapedEventId": {
"description": "The escaped event id of the request.",
"type": "string"
},
"ved": {
"type": "string",
"description": "The base 64 encoded versions of the ClickTrackingCGI proto above. This should be temporary since we are still logging via Urls. Once we log via Clearcut, we won't need to encode-decode this proto. If the view already has ved set, it will be overridden when a new ved was set to the same view. The ved of a child view can also be overridden by its wrapper component."
},
"enableClickTrack": {
"type": "boolean",
"description": "Whether this component must be click-tracked."
},
"shownQueryInfo": {
"description": "When set, the \"sqi\" parameter is added to client-generated internal links to indicate that a prefetched query was promoted.",
"type": "string"
},
"ust": {
"type": "string",
"description": "The expiration time of the psig in microseconds since the epoch"
},
"psig": {
"type": "string",
"description": "This signature is the user's obfuscated Zweiback cookie and can be used as an alternative authentication mechanism when the link URL is not known."
}
},
"id": "InstantmessagingPaQuiltLogInfo"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DowngradeAccountRequest": {
"type": "object",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
}
},
"description": "DowngradeAccountRequest is the request to downgrade the current GAIA account. See go/tachyon-downgrade-account",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DowngradeAccountRequest"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ServerIceCandidate": {
"properties": {
"port": {
"type": "integer",
"format": "uint32"
},
"protocol": {
"enumDescriptions": [
"",
"",
"",
"aka SSLTCP"
],
"enum": [
"UNKNOWN",
"UDP",
"TCP",
"PSEUDO_TLS"
],
"type": "string"
},
"iceCandidateType": {
"enum": [
"UNKNOWN_ICE_CANDIDATE_TYPE",
"HOST",
"RELAY"
],
"type": "string",
"enumDescriptions": [
"",
"",
""
],
"description": "For explicitly saying what type the ICE candidate is. HOST should be assumed if unset. See https://tools.ietf.org/html/rfc5245#section-15.1."
},
"ipAddr": {
"type": "string"
},
"priority": {
"description": "ICE candidate priority - larger numbers indicate higher priority. See https://tools.ietf.org/html/rfc5245#section-4.1.2",
"format": "uint32",
"type": "integer"
}
},
"type": "object",
"description": "ICE candidate, used to establish connectivity. Mainly, an (IP, port) pair that identifies where the sender of the candidate might be reached at. See https://tools.ietf.org/html/rfc5245",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ServerIceCandidate"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GroupMessage": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GroupMessage",
"type": "object",
"properties": {
"kickGroupUsersPush": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1KickGroupUsersPush"
},
"changeGroupInfoPush": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ChangeGroupInfoPush"
},
"addGroupUsersPush": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddGroupUsersPush"
},
"messageType": {
"enum": [
"UNKNOWN",
"CREATE_GROUP_PUSH",
"ADD_GROUP_USERS_PUSH",
"KICK_GROUP_USERS_PUSH",
"CHANGE_GROUP_PROFILE_PUSH",
"CHANGE_GROUP_MEMBER_ROLE_PUSH",
"CHANGE_GROUP_INFO_PUSH"
],
"type": "string",
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
""
]
},
"changeGroupMemberRolePush": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ChangeGroupMemberRolePush"
},
"createGroupPush": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CreateGroupPush"
},
"changeGroupProfilePush": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ChangeGroupProfilePush"
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiDelegatedGroupInfo": {
"description": "Information related to delegated group that this contact belongs to.",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiDelegatedGroupInfo",
"type": "object",
"properties": {
"delegatedGroupId": {
"$ref": "InstantmessagingPaSocialGraphApiProtoDelegatedGroupId",
"description": "Required. The additional id specifically for a delegated group."
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetICEServerRequest": {
"properties": {
"unblockMe": {
"description": "DEPRECATED: See go/ice-config-experiments.",
"type": "boolean"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader",
"description": "header is the request header"
},
"iceConfigPreference": {
"description": "ICE config preference.",
"type": "string"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetICEServerRequest",
"type": "object"
},
"InstantmessagingPaProtoCommunicationXslTraceId": {
"description": "Keeping this as a proto provides flexibility for future extension.",
"properties": {
"id": {
"type": "string",
"description": "Consistent root identifier that does not change."
}
},
"id": "InstantmessagingPaProtoCommunicationXslTraceId",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Mutation": {
"properties": {
"entry": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1StateEntry"
},
"mutationType": {
"type": "string",
"enumDescriptions": [
"",
"Upserts the key / value pair into the database.",
"Deletes the entry corresponding to the key in the database.",
"Deletes all entries with specified StateType."
],
"enum": [
"UNKNOWN_MUTATION",
"UPSERT",
"DELETE",
"DELETE_ALL"
]
},
"stateType": {
"enumDescriptions": [
"",
"Added just for testing purposes. Do not use in prod.",
"Most recently used contacts",
"Update the state of a remote user"
],
"enum": [
"UNKNOWN_STATE",
"TEST_STATE",
"MRU",
"CONTACT_STATE"
],
"type": "string"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Mutation"
},
"InstantmessagingPaClientEventIdMessage": {
"description": "Some clients need to define an ID of an event before it reaches any server. In order to make it unique globally for all Google services, all users and all days, the main way is to use an existing server event ID from a previous request (the homepage for example) and append a client-controlled counter.",
"id": "InstantmessagingPaClientEventIdMessage",
"type": "object",
"properties": {
"clientCounter": {
"type": "string",
"format": "int64",
"description": "Counter from client. Clients need to make sure to keep this unique per event sent with a client event ID for a common base."
},
"base": {
"$ref": "InstantmessagingPaEventIdMessage",
"description": "Base server event ID."
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SendNotificationRequest": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SendNotificationRequest",
"type": "object",
"properties": {
"contactJoined": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContactJoinedNotification"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
}
}
},
"InstantmessagingPaSocialGraphApiProtoSearchProfileWorkplace": {
"properties": {
"startTime": {
"$ref": "InstantmessagingPaGoogleTypeDate"
},
"company": {
"$ref": "InstantmessagingPaSocialGraphApiProtoSearchProfileEntity"
},
"endTime": {
"$ref": "InstantmessagingPaGoogleTypeDate"
}
},
"id": "InstantmessagingPaSocialGraphApiProtoSearchProfileWorkplace",
"description": "Wraps information about a user working at a specific place.",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetUserInviterIdResponse": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetUserInviterIdResponse",
"description": "GetUserInviterIdResponse is the response for GetUserInviterId.",
"properties": {
"inviterId": {
"type": "string",
"description": "Base62Encoding of UUID. The length should be 22."
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SpamClassification": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SpamClassification",
"type": "object",
"properties": {},
"description": "Encapsulates the information contained in the output from the spam classifier"
},
"InstantmessagingPaSocialGraphApiAppContactData": {
"id": "InstantmessagingPaSocialGraphApiAppContactData",
"description": "Contains a mimetype supported by a third-party app together with additional ids and other data that the apps use to complete the action for the given mimetype. For example, an app_specific_endpoint_id that corresponds to a WhatsApp Profile. Full Design: go/3p-contact-upload LINT.IfChange",
"type": "object",
"properties": {
"data": {
"items": {
"$ref": "InstantmessagingPaSocialGraphApiDataColumn"
},
"description": "Set of column-name and value for the given mimetype. The semantic meaning of the column values is mime-type specific. For example they may contain app_specific_endpoint_ids for WhatsApp. This is uploaded from CP2 http://go/cp2-data1 through http://go/cp2-data14.",
"type": "array"
},
"mimetype": {
"enum": [
"UNKNOWN_MIMETYPE",
"WHATSAPP_PROFILE",
"WHATSAPP_VOIP_CALL",
"WHATSAPP_VIDEO_CALL",
"LINE_PROFILE",
"LINE_VOICE",
"LINE_VIDEO",
"HIKE_MESSAGE",
"HIKE_MESSAGE_ASSISTANT",
"HIKE_VOICE_CALL",
"HIKE_VIDEO_CALL",
"TELEGRAM_ANDROID_PROFILE",
"THREEMA_PROFILE",
"VIBER_OUT_CALL_NONE",
"VIBER_NUMBER_CALL",
"VIBER_NUMBER_MESSAGE",
"VIBER_OUT_CALL",
"VIBER_GOOGLE_VOICE_MESSAGE",
"WECHAT_VOICEACTION",
"LINKEDIN_ANDROID_MESSAGING",
"VK_SENDMSG",
"TACHYON_PHONE_AUDIO",
"TACHYON_PHONE"
],
"enumDescriptions": [
"",
"vnd.android.cursor.item/vnd.com.whatsapp.profile",
"vnd.android.cursor.item/vnd.com.whatsapp.voip.call",
"vnd.android.cursor.item/vnd.com.whatsapp.video.call",
"vnd.android.cursor.item/vnd.jp.naver.line.android.profile",
"vnd.android.cursor.item/vnd.jp.naver.line.android.call.voice",
"vnd.android.cursor.item/vnd.jp.naver.line.android.call.video",
"vnd.android.cursor.item/com.hike.chat.stickers.message",
"vnd.android.cursor.item/com.hike.chat.stickers.message.gassistant",
"vnd.android.cursor.item/com.hike.chat.stickers.voice_call",
"vnd.android.cursor.item/com.hike.chat.stickers.video_call",
"vnd.android.cursor.item/vnd.org.telegram.messenger.android.profile",
"vnd.android.cursor.item/vnd.ch.threema.app.profile",
"vnd.android.cursor.item/vnd.com.viber.voip.viber_out_call_none_viber",
"vnd.android.cursor.item/vnd.com.viber.voip.viber_number_call",
"vnd.android.cursor.item/vnd.com.viber.voip.viber_number_message",
"vnd.android.cursor.item/vnd.com.viber.voip.viber_out_call_viber",
"vnd.android.cursor.item/vnd.com.viber.voip.google_voice_message",
"vnd.android.cursor.item/vnd.com.tencent.mm.chatting.voiceaction",
"vnd.android.cursor.item/vnd.com.linkedin.android.messaging",
"vnd.android.cursor.item/vnd.com.vkontakte.android.assistant.sendmsg",
"vnd.android.cursor.item/com.google.android.apps.tachyon.phone.audio",
"vnd.android.cursor.item/com.google.android.apps.tachyon.phone"
],
"description": "The mimetype of the action defined by the third-party app.",
"type": "string"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DatetimeAnnotation": {
"properties": {
"granularity": {
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
"",
""
],
"enum": [
"UNKNOWN",
"YEAR",
"MONTH",
"WEEK",
"DAY",
"HOUR",
"MINUTE",
"SECOND"
],
"type": "string"
},
"month": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DatetimeAnnotationMonth"
},
"relativeDay": {
"description": "If this date-time represents a relative day (today, tomorrow, yesterday) then this field will specify the number of days that need to be added to the base time (e.g. message received time) to compute the referenced time.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DatetimeAnnotationDay"
},
"minute": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DatetimeAnnotationMinute"
},
"day": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DatetimeAnnotationDay"
},
"dayOfWeek": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DatetimeAnnotationDay",
"description": "The day of the week is stored separately so that grammars and down-stream logic can match and/or process them separately. We want to prevent the case where a day of the week and a separate date in the message conflict as in \"friday, October 16th\". Usually a day of the week refers to the next occurrence of that day, but in this case it refers to a future Friday. Relative times are stored in separate fields. We do not resolve them at annotation time because grammars and down-stream business logic may want to treat these kinds of date-times separately."
},
"year": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DatetimeAnnotationYear"
},
"relativeHour": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DatetimeAnnotationHour",
"description": "If this date-time represents a relative time (\"in 3 hours\"), then this field will specify the number of hours that need to be added to the base time to compute the absolute referenced time."
},
"hour": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DatetimeAnnotationHour"
},
"second": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DatetimeAnnotationSecond"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DatetimeAnnotation",
"description": "Next ID: 11"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RcsUsageRequest": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RcsUsageRequest",
"type": "object",
"properties": {
"dataSize": {
"type": "string",
"format": "int64"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContentLocation": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContentLocation",
"type": "object",
"properties": {
"coordinates": {
"$ref": "InstantmessagingPaGoogleTypeLatLng"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterAnonymousRequestCountryCode": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterAnonymousRequestCountryCode",
"properties": {
"type": {
"enum": [
"UNKNOWN",
"E164_COUNTRY_CODE",
"ISO_COUNTRY_CODE"
],
"enumDescriptions": [
"",
"E.g., \"+1\" and \"+86\".",
"E.g., \"US\" and \"CN\"."
],
"type": "string"
},
"code": {
"type": "string"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ForcedExperiments": {
"type": "object",
"properties": {
"names": {
"items": {
"enumDescriptions": [
"",
"NOOP is a debug experiment activated just to make it clear that the experiments configuration actually works.",
"VERIFY_ALLOWLIST is the experiment that turns off verification SMS messages to participating subjects.",
"VERIFY_DENYLIST is the experiment that sends an SMS to subjects even when the VERIFY_ALLOWLIST config has turned it off.",
"TURN_CREDENTIALS is the experiment that provides LENS based TURN credentials to clients.",
"ENABLE_SMART_SUGGESTIONS is the experiment that enables smart suggestions on the server. When enabled for the user, his client might receive a separate message with a suggestion per incoming message.",
"DEPRECATED DO NOT USE! ENABLE_CONTEXTUALSEARCH_ENTITY_DETECTION is the experiment that turns on ContextualSearch Entity Detection on all message text. When enabled the user might receive a separate message with detected Entities in the incoming message.",
"ENABLE_LOCATION_SUGGESTIONS is the experiment that checks whether we should trigger a location suggestion. When enabled, the user might receive in the suggestion a location sharing option.",
"DEPRECATED DO NOT USE! ENABLE_NOW_ON_TAP_ENTITY_DETECTION is the experiment that turns on Coca (NowOnTap) entity detection on all message text. When enabled the user might receive a separate message with detected Entities in the incoming message.",
"DEPRECATED DO NOT USE! ENABLE_CONV_TO_QUERY_ENTITY_DETECTION is the experiment that turns on Conv2Query entity detection on all message text. When enabled the user might receive a separate message with detected Entities in the incoming message.",
"SKIP_NUMBERER_LOOKUP is the experiment that skips numberer lookup during registration. This is only used by Register API, not RegisterSilent. When enabled, a SMS challenge (or a dummy challenge if in VERIFY_ALLOWLIST) will be needed regardless of whether Numberer contains a matching record.",
"ENABLE_HOBBES_TEXT_SUGGESTIONS_LANGUAGE_HI is the experiment that enables text suggestions in Hindi.",
"ENABLE_HOBBES_TEXT_SUGGESTIONS_LANGUAGE_PT is the experiment that enables text suggestions in Portuguese.",
"ENABLE_HOBBES_TEXT_SUGGESTIONS_LANGUAGE_ID is the experiment that enables text suggestions in Indonesian.",
"SHORT_LIVED_AUTH_TOKEN is the experiment that generates auth tokens which have much shorter duration (5 mintues). This is used for end-to-end testing of token refresh.",
"ENABLE_TEXT_SUGGESTIONS_BY_IMAGE is the experiment that turns on Smart Reply suggestions as a response to an image attachment.",
"ENABLE_HOBBES_TEXT_SUGGESTIONS_LANGUAGE_HI_LATN is the experiment that enables text suggestions in Hinglish.",
"ENABLE_GOOGLEBOT_ENTITY_DETECTION is the experiment that enables Googlebot (Socrates) query suggestions. When enabled the user might receive a separate message with suggested Googlebot Queries in the incoming message.",
"ENABLE_FULL_IMAGE_FOR_PHOTO_SMART_REPLY is the experiment that enables image suggestions based on the full image rather than on the thumbnail.",
"LONG_LIVED_AUTH_TOKEN is the experiment that generates auth tokens which have much longer duration (7 days).",
"ENABLE_PERSONALIZED_AND_NON_PERSONALIZED_SMART_REPLY_SIDE_BY_SIDE is the experiment to show both personalized and non personalized suggestions side by side to see the difference. Not going to go public, but rather used as a debug tool for developers.",
"DISABLE_GOOGLEBOT_SUGGESTION_TO_SELF is the experiment that disables Googlebot (Socrates) query suggestions to self (sender). When on the Sender won't see suggested Googlebot Queries in the incoming message even if ENABLE_GOOGLEBOT_ENTITY_DETECTION is on.",
"PUSH_TO_MULTIPLE_BINDS is the experiment that reads all bind states from the old and the new BindState table. The messages will be sent to all the binds.",
"ENABLE_GOOGLEBOT_IMAGE_QUERY_SUGGESTION is the experiment that enables Googlebot (Socrates) image suggestions. When enabled the user might receive a separate message with suggested Googlebot Queries for the image (if any) included in the incoming message.",
"NOTIFY_ANOTHER_DEVICE_REGISTERED is the experiment that sends out GCM and APN notification to old device if the registration is taken over by a new device.",
"ENABLE_VERSION_CONFIG_CHECK is the experiment that enables version config check in Irradiator based on app name, client os, client version and API version.",
"USE_HOBBES_MESSAGE_VECTOR_LANGUAGE_MODEL is the experiment to use Hobbes team message vector model for text Smart Reply.",
"ENABLE_SUGGESTIONS_TO_STICKERS is the experiment to provide suggestions to incoming stickers.",
"ENABLE_CHIME_DELIVERY is the experiment to enable iOS notification delivery via Chime rather than APNS Proxy service.",
"ENABLE_EXCITER_GCM_DELIVERY is the experiment to enable android notification delivery via Exciter instead of ColliderPusher.",
"ENABLE_TEST_IOS_SILENT_NOTIFICATION is the experiment to enable different ways of delivering silent notification for muted conversations.",
"CONTACT_JOINED_NOTIFICATION is the experiment to not show a contact joined notification to the user.",
"CONTACT_JOINED_NOTIFICATION_EXPERIMENT_ONE is the experiment to show a particular notification message variant. See go/allo-contact-joined-experiment-strings and row#1.",
"CONTACT_JOINED_NOTIFICATION_EXPERIMENT_TWO is the experiment to show a particular notification message variant. See go/allo-contact-joined-experiment-strings and row#2.",
"CONTACT_JOINED_NOTIFICATION_EXPERIMENT_THREE is the experiment to show a particular notification message variant. See go/allo-contact-joined-experiment-strings and row#3.",
"CONTACT_JOINED_NOTIFICATION_EXPERIMENT_FOUR is the experiment to show a particular notification message variant. See go/allo-contact-joined-experiment-strings and row#4.",
"CONTACT_JOINED_NOTIFICATION_EXPERIMENT_FIVE is the experiment to show a particular notification message variant. See go/allo-contact-joined-experiment-strings and row#5.",
"CONTACT_JOINED_NOTIFICATION_EXPERIMENT_ANDROID is the experiment to control on whether we want to show a notification on android.",
"ENABLE_WIREBALL is the experiment to enable Allo Desktop before it is launched publicly.",
"ENABLE_ENGAGEMENT_NOTIFICATIONS is the experiment to enable growth team's new engagement notifications.",
"DUO_CONTACT_JOINED_NOTIFICATION is the experiment to not show a contact joined notification to the user.",
"DUO_CONTACT_JOINED_NOTIFICATION_EXPERIMENT_ONE is the experiment to show a particular notification message variant. See go/duo-contact-joined and row#1.",
"DUO_CONTACT_JOINED_NOTIFICATION_EXPERIMENT_TWO is the experiment to show a particular notification message variant. See go/duo-contact-joined and row#2.",
"DUO_CONTACT_JOINED_NOTIFICATION_EXPERIMENT_THREE is the experiment to show a particular notification message variant. See go/duo-contact-joined and row#3.",
"DUO_CONTACT_JOINED_NOTIFICATION_EXPERIMENT_FOUR is the experiment to show a particular notification message variant. See go/duo-contact-joined and row#4.",
"DUO_CONTACT_JOINED_NOTIFICATION_EXPERIMENT_FIVE is the experiment to show a particular notification message variant. See go/duo-contact-joined and row#5.",
"USE_APNS_MUTABLE_CONTENT is the experiment to include the 'mutable-content' APS key for iOS alerts.",
"ENGAGEMENT_NOTIFICATION_EXPERIMENT_IOS is the experiment to control whether we want to send contact joined and engagement notifications to IOS devices. This will be enabled for users once client side control of notification preferences is in place.",
"ALLO_CONTACT_JOINED_NOTIFICATION_EXPERIMENT_V2_ONE is the second experiment to show a particular notification message variant for Allo. See go/allo-contact-joined-experiment-strings and table#2 row#1.",
"ALLO_CONTACT_JOINED_NOTIFICATION_EXPERIMENT_V2_TWO is the second experiment to show a particular notification message variant for Allo. See go/allo-contact-joined-experiment-strings and table#2 row#2.",
"ALLO_CONTACT_JOINED_NOTIFICATION_EXPERIMENT_V2_THREE is the second experiment to show a particular notification message variant for Allo. See go/allo-contact-joined-experiment-strings and table#2 row#3.",
"ALLO_CONTACT_JOINED_NOTIFICATION_EXPERIMENT_V2_FOUR is the second experiment to show a particular notification message variant for Allo. See go/allo-contact-joined-experiment-strings and table#2 row#4.",
"ALLO_CONTACT_JOINED_NOTIFICATION_EXPERIMENT_V2_FIVE is the second experiment to show a particular notification message variant for Allo. See go/allo-contact-joined-experiment-strings and table#2 row#5.",
"SHOULD_NOTIFY_CONTACT_JOINED_CONTROL is to enable Exciter to send GCM notifications for the control arm of the Contact Joined experiments.",
"REMOVE_CONTENT_AVAILABLE_FLAG is to enable the experiment for not sending the content_available flag for APNS payloads for USER messages.",
"SHOULD_NOTIFY_CONTACT_JOINED_CONTROL_IOS is to enable Exciter to send APNS notifications for the control arm of the Contact Joined experiments.",
"USE_BACKUP_PIN_SMS is to enable use of an alternative pin SMS message.",
"USE_VOICE_NUMBER_POOL is to enable use of IDV's number pool for PHONE_CTC_READ_PIN requests.",
"ENABLE_V2_REGISTRATION is to enable v2 registrations with the use of Account ID and Registration ID for dual writes.",
"ENABLE_V2_REGISTRATION_CHILDREN is to enable v2 child tables of registrations for dual-write. All members of this experiment MUST be in ENABLE_V2_REGISTRATION experiment and have had their registration back-filled to the v2 table if necessary.",
"USE_AUTHY_IDV is the experiment to use Authy's IDV API for phone number verification.",
"ENABLE_V2_REGISTRATION_READ is to enable reading registration data from v2 tables. All members of this experiment MUST have already been in the ENABLE_V2_REGISTRATION experiment and have had their registration data ready in V2.",
"BRAZIL_DUO_REACHABILITY_FIX is to enable patching up reachability issues for Duo users in Brazil. See: go/tachyon-brazil-reachability.",
"ENABLE_STORE_GAIA_LINK is to enable Generator to get user creds and store in DB.",
"ENABLE_V2_USERDATA_DUAL_WRITE is to enable dual write for Contacts, Blocks and AccountInviteLinks table.",
"ENABLE_V2_EXCITER_DUAL_WRITE is to enable dual write for BadgeCounts and ConversationMutes tables.",
"ENABLE_V2_BIND is to enable dual read for the Bind table.",
"MULTI_DEVICE_HACKATHON_EXPERIMENT is to enable the STO hackathon experiment.",
"ENABLE_V3_CONTACTS_DUAL_WRITE is to enable dual write for ContactsV3 table.",
"PREFER_TACHYSTICK_REACHABILIITY prefers Tachystick over Duo for LookupRegistered.",
"ENABLE_V2_PHONE_RELAY_DUAL_WRITE is to enable dual write for PhoneRelayPairingV2 table.",
"ENABLE_V2_BLOCKS_READ is to enable reading registration data from BlocksV2 table.",
"ENABLE_V2_INVITELINKS_READ is to enable reading registration data from InvitelinksV2 table.",
"ENABLE_V3_CONTACTS_READ is to enable reading registration data from ContactsV3 tables.",
"Enable forwarding of client requests to scene generation backend. See go/sg-interactive-prototype",
"ENABLE_PUSHKIT_ENGAGEMENT_NOTIFICATIONS enables use of pushkit for iOS engagement notifications.",
"ENABLE_V2_EXCITER_READ is to enable reading from V2 BadgeCounts and ConversationMutes tables.",
"ENABLE_V2_TOKENS_READ is to enable reading from the V2 tokens and revoked tokens tables.",
"ENABLE_V3_CONTACTS_READ_COMPARE is to enable comparing v2 read with v1 data in run time.",
"ENABLE_V2_INBOX_READ is to enable reading from V2 InboxMessages table.",
"ENABLE_V2_PREKEYSS_READ is to enable reading from the V2 PreKeys and PreKeysBatch tables.",
"ENABLE_V2_PROFILES_READ is to enable reading profiles from V2 table.",
"ENABLE_V2_PROFILES_READ_COMPARE is to enable comparing v2 profile read with v1 profile read at run time.",
"ENABLE_V2_PHONE_RELAY_READ is to enable reading phone relay pairing from V2 table.",
"ENABLE_SPAM_RESTRICT_VERDICT_ENFORCEMENT is to enable the enforcement of the RESTRICT verdict inside Generator and Userdata during the 'Lookup' rpc.",
"ENABLE_MULTI_DEVICE_SUPPORT is to put multi-device implementation that might potentaily affect the current production users behind an experiment. For example, user in the experiment calling LookupRegistered will get new fields. This is mainly for fast development and not breaking production path.",
"ENABLE_MULTI_DEVICE_FANOUT enables client/server fanout go/tachyon-message-delivery.",
"ENABLE_V2_PENDING_REG_READ is to enable reading pending registration data from v2 tables.",
"ENABLE_REGISTER_GAIA_CHECK is to detach PN from Gaia account if PN is found under a Gaia account during registration.",
"ENABLE_ALLO_CLOUD_MESSAGING is to enable routing messages to Allo Cloud Message Store.",
"USE_GMS_SMS is to enable GMS SMS retriever https://developers.google.com/identity/sms-retriever/verify.",
"ENABLE_NOTIFY_REGISTRATION_STATE_V2 is to enable the new way to notify userdata server for registration state change.",
"SKIP_DROIDGUARD_CHECK skips Droidguard verification. This is needed for dev build installed on non-rooted devices that do not provid valid Droidguard bindings.",
"SEND_CONTACTS_PUSHES is to enable sending AddContactsPush, RemoveContactsPushand SetContactsPush messages.",
"RETURN_ENTIRE_ERROR_MESSAGE is an experiment to return the entire error message through OnePlatform, for developers only.",
"ENABLE_NEW_USER_NOTIFICATION_FOR_EMAIL is an experiment to enable sending new user notification for email contactee. If a user just registers Tachyon with email address, we will send ChangeProfilePush with notify status to whoever has email address in their contacts list.",
"SEND_BLOCKS_PUSHES is to enable sending BlockUsersPush and UnblockUsersPush when blocks list is updated.",
"DEPRECATED",
"USE_DISTRIBUTOR_PUSH_QUEUE is to enable the use of the distributor push queue instead of the pull queue.",
"ENABLE_V2_LOOKUP_SPAM_STATE is to enable v2 LookupSpamState in the LookupRegistered path.",
"ROUTE_TO_REGIONAL_COLLIDER has been repurposed to control which Spinel target a Collider talks to.",
"ADAPT_DUO_INVITE_ACK is to enable appending FIX_SRTP cap to Duo Invitation or AckInvitation message when sender is DR32 and receivers are DR34+.",
"Use regular Spanner mutations for RemoveContacts API instead of using MutationPool. This is an optimization to check if it will run faster.",
"Enable getting group infos owned by phone numbers allowed in experimentconfig.",
"Sends tickle for change account info push.",
"Enable push notifications for State sync. Only used for gating the NeedStateSyncPush.",
"Enable push messages to the clients for PN contacts synced from People API for the user's gaia account.",
"Enables the syncing of PN contacts between Tachyon backend and People API for the user's gaia account.",
"USE_USERDATA_PUSH_QUEUE is to enable the use of the userdata push queue instead of the pull queue.",
"ENABLE_FB_DEPRECATION enables returning INVALID_ARGUMENT for all calls from FB.",
"ENABLE_REACHABILITY_FILTER enables filter based on allowed reachabilities when pull messages.",
"ENABLE_ACK_ALL_REACHABILITY enables ack for all allowed reachabilities for a message in new Inbox if receiver id is not provided by the caller.",
"ENABLE_CHIME_NOTIFY_USER_FOR_GAIA is to enable switching from NotifyDevice to NotifyUser for gaia user notification delivery.",
"DEPRECATED - no longer in use.",
"Use mutations instead of mutation pool for contact mutations.",
"Deprecated.",
"ENABLE_ALTERNATE_PHONE_REACHABILITY enables checking for alternate phone numbers at the spanner database node.",
"ENABLE_GENERALIZED_SPAM_CLIENT_CONTENT_PARSER enables the geenralized spam content parser in favor of client specific ones.",
"ENABLE_DUO_BOT_MIGRATION enables Duo 1:1 bot to migrate away from bot router. See go/duo-call-bots-v2.",
"ENABLE_DUO_GROUPS_TACHYSTICK_FANOUT enables sending Duo group (ring) messages to Tachystick.",
"USE_THERMOSTAT_CLEANER enables the usage of the thermostat cleaner client.",
"USE_THERMOSTAT_COLLIDER enables the usage of the thermostat collider. Some services within collider might not be covered by this experiment.",
"ENABLE_INVITE_REWARD enables an invitee to trigger a reward to the inviter.",
"AUTHENTICATE_BIND_STATE_UPDATE_IN_COLLIDER enables the new bind state update/delete API in Collider; the new API requires a valid RequestHeader for authentication.",
"ENABLE_KEY_TRANSPARENCY enables the writing/reading of entries from Key Transparency service.",
"Deprecated",
"REJECT_USER_DATA_QUEUE_MESSAGE rejects messages from the user data queue.",
"REJECT_GAIA_CONTACT_SYNC_PROCESSING rejects requests for syncing gaia contacts.",
"ADAPT_DUO_TO_MS23_MPR filters all MediaParametersRequests from Duo to Matchstick V23 to force MaxVideoBitrate to 0 to work around MS V23 bug.",
"Enables enqueuing the Lighter inbox messages in the queue for processing and long term storage.",
"Skip checking for the presence of a web registration on the account, before starting gaia contact sync. This is needed for launching Focus contact sync on mobile clients.",
"Do direct fan out in Distributor in parallel with spanner queue fanout.",
"Enable lookup for blockers for RCS (currently only for Google Fi users).",
"Optimizes the blocks lookup by not using global index.",
"Call Numberer in the AddPhoneReachability path in order to check if there is a verified PN already connected to the Gaia account in Whitepages.",
"DEPRECATED",
"If there is no registration found while sending a message, retry using a strong read to make sure the user hasn't registered within the last 5s.",
"Enables cross stack requests between Irradiator and Collider.",
"DEPRECATED",
"Process pubsub messages from FBS to listen for PN reachability changes in Whitepages.",
"Enables the unified RCS Registration for E2EE(Bugle) and Jibe RCS.",
""
],
"type": "string",
"enum": [
"UNKNOWN",
"NOOP",
"VERIFY_ALLOWLIST",
"VERIFY_DENYLIST",
"TURN_CREDENTIALS",
"ENABLE_SMART_SUGGESTIONS",
"DEPRECATED_ENABLE_CONTEXTUALSEARCH_ENTITY_DETECTION",
"ENABLE_LOCATION_SUGGESTIONS",
"DEPRECATED_ENABLE_NOW_ON_TAP_ENTITY_DETECTION",
"DEPRECATED_ENABLE_CONV_TO_QUERY_ENTITY_DETECTION",
"SKIP_NUMBERER_LOOKUP_IN_REGISTER",
"ENABLE_HOBBES_TEXT_SUGGESTIONS_LANGUAGE_HI",
"ENABLE_HOBBES_TEXT_SUGGESTIONS_LANGUAGE_PT",
"ENABLE_HOBBES_TEXT_SUGGESTIONS_LANGUAGE_ID",
"SHORT_LIVED_AUTH_TOKEN",
"ENABLE_TEXT_SUGGESTIONS_BY_IMAGE",
"ENABLE_HOBBES_TEXT_SUGGESTIONS_LANGUAGE_HI_LATN",
"ENABLE_GOOGLEBOT_ENTITY_DETECTION",
"ENABLE_FULL_IMAGE_FOR_PHOTO_SMART_REPLY",
"LONG_LIVED_AUTH_TOKEN",
"ENABLE_PERSONALIZED_AND_NON_PERSONALIZED_SUGGESTIONS_SIDE_BY_SIDE",
"DISABLE_GOOGLEBOT_SUGGESTION_TO_SELF",
"ENABLE_PUSH_TO_MULTIPLE_BINDS",
"ENABLE_GOOGLEBOT_IMAGE_QUERY_SUGGESTION",
"NOTIFY_ANOTHER_DEVICE_REGISTERED",
"ENABLE_VERSION_CONFIG_CHECK",
"USE_HOBBES_MESSAGE_VECTOR_LANGUAGE_MODEL",
"ENABLE_SUGGESTIONS_TO_STICKERS",
"ENABLE_CHIME_DELIVERY",
"ENABLE_EXCITER_GCM_DELIVERY",
"ENABLE_TEST_IOS_SILENT_NOTIFICATION",
"CONTACT_JOINED_NOTIFICATION_CONTROL",
"CONTACT_JOINED_NOTIFICATION_EXPERIMENT_ONE",
"CONTACT_JOINED_NOTIFICATION_EXPERIMENT_TWO",
"CONTACT_JOINED_NOTIFICATION_EXPERIMENT_THREE",
"CONTACT_JOINED_NOTIFICATION_EXPERIMENT_FOUR",
"CONTACT_JOINED_NOTIFICATION_EXPERIMENT_FIVE",
"CONTACT_JOINED_NOTIFICATION_EXPERIMENT_ANDROID",
"ENABLE_WIREBALL",
"ENABLE_ENGAGEMENT_NOTIFICATIONS",
"DUO_CONTACT_JOINED_NOTIFICATION_CONTROL",
"DUO_CONTACT_JOINED_NOTIFICATION_EXPERIMENT_ONE",
"DUO_CONTACT_JOINED_NOTIFICATION_EXPERIMENT_TWO",
"DUO_CONTACT_JOINED_NOTIFICATION_EXPERIMENT_THREE",
"DUO_CONTACT_JOINED_NOTIFICATION_EXPERIMENT_FOUR",
"DUO_CONTACT_JOINED_NOTIFICATION_EXPERIMENT_FIVE",
"USE_APNS_MUTABLE_CONTENT",
"ENGAGEMENT_NOTIFICATION_EXPERIMENT_IOS",
"ALLO_CONTACT_JOINED_NOTIFICATION_EXPERIMENT_V2_ONE",
"ALLO_CONTACT_JOINED_NOTIFICATION_EXPERIMENT_V2_TWO",
"ALLO_CONTACT_JOINED_NOTIFICATION_EXPERIMENT_V2_THREE",
"ALLO_CONTACT_JOINED_NOTIFICATION_EXPERIMENT_V2_FOUR",
"ALLO_CONTACT_JOINED_NOTIFICATION_EXPERIMENT_V2_FIVE",
"SHOULD_NOTIFY_CONTACT_JOINED_CONTROL",
"REMOVE_APNS_CONTENT_AVAILABLE_FLAG",
"SHOULD_NOTIFY_CONTACT_JOINED_CONTROL_IOS",
"USE_BACKUP_PIN_SMS",
"USE_VOICE_NUMBER_POOL",
"ENABLE_V2_REGISTRATION",
"ENABLE_V2_REGISTRATION_CHILDREN",
"USE_AUTHY_IDV",
"ENABLE_V2_REGISTRATION_READ",
"BRAZIL_DUO_REACHABILITY_FIX",
"ENABLE_STORE_GAIA_LINK",
"ENABLE_V2_USERDATA_DUAL_WRITE",
"ENABLE_V2_EXCITER_DUAL_WRITE",
"ENABLE_V2_BIND",
"MULTI_DEVICE_HACKATHON_EXPERIMENT",
"ENABLE_V3_CONTACTS_DUAL_WRITE",
"PREFER_TACHYSTICK_REACHABILIITY",
"ENABLE_V2_PHONE_RELAY_DUAL_WRITE",
"ENABLE_V2_BLOCKS_READ",
"ENABLE_V2_INVITELINKS_READ",
"ENABLE_V3_CONTACTS_READ",
"ENABLE_SCENE_GENERATION",
"ENABLE_PUSHKIT_ENGAGEMENT_NOTIFICATIONS",
"ENABLE_V2_EXCITER_READ",
"ENABLE_V2_TOKENS_READ",
"ENABLE_V3_CONTACTS_READ_COMPARE",
"ENABLE_V2_INBOX_READ",
"ENABLE_V2_PREKEYS_READ",
"ENABLE_V2_PROFILES_READ",
"ENABLE_V2_PROFILES_READ_COMPARE",
"ENABLE_V2_PHONE_RELAY_READ",
"ENABLE_SPAM_RESTRICT_VERDICT_ENFORCEMENT",
"ENABLE_GAIA_MULTI_DEVICE_SUPPORT",
"ENABLE_MULTI_DEVICE_FANOUT",
"ENABLE_V2_PENDING_REG_READ",
"ENABLE_REGISTER_GAIA_CHECK",
"ENABLE_ALLO_CLOUD_MESSAGING",
"USE_GMS_SMS",
"ENABLE_NOTIFY_REGISTRATION_STATE_V2",
"SKIP_DROIDGUARD_CHECK",
"SEND_CONTACTS_PUSHES",
"RETURN_ENTIRE_ERROR_MESSAGE",
"ENABLE_NEW_USER_NOTIFICATION_FOR_EMAIL",
"SEND_BLOCKS_PUSHES",
"ENABLE_DELETE_INACTIVE_PHONE_RELAY",
"USE_DISTRIBUTOR_PUSH_QUEUE",
"ENABLE_V2_LOOKUP_SPAM_STATE",
"ROUTE_TO_REGIONAL_COLLIDER",
"ADAPT_DUO_DR32_INVITE_ACK",
"USE_MUTATIONS_FOR_REMOVE_CONTACTS",
"ENABLE_GET_GROUPS_INTERNAL",
"TICKLE_FOR_CHANGE_ACCOUNT_INFO_PUSH",
"ENABLE_STATE_SYNC_PUSH",
"ENABLE_GAIA_ACCOUNT_PN_CONTACTS_PUSHES",
"ENABLE_GAIA_ACCOUNT_PN_CONTACTS_SYNC",
"USE_USERDATA_PUSH_QUEUE",
"ENABLE_FB_DEPRECATION",
"ENABLE_REACHABILITY_FILTER",
"ENABLE_ACK_ALL_REACHABILITY",
"ENABLE_CHIME_NOTIFY_USER_FOR_GAIA",
"USE_PHONE_VERIFIER_FOR_RCS",
"USE_MUTATIONS_FOR_CONTACT_UPSERTS",
"ENABLE_RCS_GROUP_REGIONAL_CREATION",
"ENABLE_ALTERNATE_PHONE_REACHABILITY",
"ENABLE_GENERALIZED_SPAM_CLIENT_CONTENT_PARSER",
"ENABLE_DUO_BOT_MIGRATION",
"ENABLE_DUO_GROUPS_TACHYSTICK_FANOUT",
"USE_THERMOSTAT_CLEANER",
"USE_THERMOSTAT_COLLIDER",
"ENABLE_INVITE_REWARD",
"AUTHENTICATE_BIND_STATE_UPDATE_IN_COLLIDER",
"ENABLE_KEY_TRANSPARENCY",
"DISABLE_USER_DATA_QUEUE_PROCESSING",
"REJECT_USER_DATA_QUEUE_MESSAGE",
"REJECT_GAIA_CONTACT_SYNC_PROCESSING",
"ADAPT_DUO_TO_MS23_MPR",
"ENABLE_LIGHTER_CLOUD_STORAGE",
"SKIP_WEB_CHECK_IN_GAIA_CONTACT_SYNC",
"ENABLE_DIRECT_DISTRIBUTOR_FANOUT",
"ENABLE_RCS_LOOKUP_BLOCKERS",
"OPTIMIZE_BLOCKS_LOOKUP",
"CALL_NUMBERER_IN_ADD_PHONE_REACHABILITY",
"SEND_MESSAGES_TO_SUSPENDED_USER_FOR_RCS",
"COLLIDER_RECEIVER_STRONG_LOOKUP_IF_NOT_FOUND",
"ENABLE_X_STACK_CALLS",
"CONDENSER_WRITE_ATTACHMENT_IN_V3_ACL_TABLE",
"PROCESS_FBS_PUBSUB_MESSAGES_FOR_DUO",
"ENABLE_UNIFIED_RCS_REGISTRATION",
"DISABLE_RCS_ALT_PHONE_LOGIC"
]
},
"type": "array"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ForcedExperiments"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterAnonymousResponse": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterAnonymousResponse",
"type": "object",
"properties": {
"id": {
"description": "The ID that should be passed in as ID during RegisterRefresh. This allows RegisterRefresh to find the registration as the ID prefix needs to be consistent with initial registration. At this moment, it contains only the country prefix.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"registrationCheckWarning": {
"description": "registration_check_warning is used to tell the client warnings and errors that occurred during registration. If the type is CLIENT_UNSUPPORTED or ACCOUNT_SUSPENDED, the client will not receive a valid auth token. If the type is VERSION_CHECK_UPGRADE_APP the client will receive a valid auth token, but the client is encouraged to upgrade app.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegistrationCheckWarning"
},
"authToken": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AuthToken",
"description": "auth_token is the access token to be used in future requests to authenticate the client."
}
},
"description": "RegisterAnonymousResponse is the response for RegisterAnonymousRequest."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1VideoResolution": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1VideoResolution",
"description": "Describes the three dimensions of a video resolution.",
"properties": {
"frameRate": {
"type": "integer",
"format": "uint32",
"description": "framte_rate."
},
"width": {
"format": "uint32",
"type": "integer",
"description": "width."
},
"height": {
"type": "integer",
"format": "uint32",
"description": "height."
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ClientRequestOptions": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ClientRequestOptions",
"type": "object",
"properties": {
"spamClientRequestOptions": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SpamClientRequestOptions"
}
},
"description": "ClientRequestOptions is a set of configuration options passed by the client. irradiator can mark it verified."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1WebStickerInfo": {
"description": "Required attribution information about a web sticker (images from Google image search) added to an image.",
"type": "object",
"properties": {
"attributionDomain": {
"type": "string",
"description": "Attribution domain for the image."
},
"attributionUrl": {
"type": "string",
"description": "Attribution url for the image."
},
"fifeThumbnailUrl": {
"description": "The FIFE image thumbnail.",
"type": "string"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1WebStickerInfo"
},
"InstantmessagingPaGoogleInternalPeopleV2MergedPersonSourceOptions": {
"id": "InstantmessagingPaGoogleInternalPeopleV2MergedPersonSourceOptions",
"type": "object",
"description": "Common params for controlling how merged person results are constructed.",
"properties": {
"certificateParams": {
"description": "Optional parameters for what type of certificates are merged into People API responses.",
"$ref": "InstantmessagingPaGoogleInternalPeopleV2CertificateParams"
},
"placeParams": {
"$ref": "InstantmessagingPaGoogleInternalPeopleV2PlaceParams",
"description": "Optional parameters for merging place information into person results. Requires allowlisting. Contact people-api-users@."
},
"deviceContactFilter": {
"$ref": "InstantmessagingPaGoogleInternalPeopleV2DeviceContactFilter",
"description": "Optional parameters for specifying filters for device contact results. NOTE: This should only be set when the RAW_DEVICE_CONTACT container is requested. NOTE: This feature is only supported for: * GetPeopleByDeviceContactId * ListContactPeople"
},
"personModelParams": {
"$ref": "InstantmessagingPaGoogleInternalPeopleV2PersonModelParams",
"description": "Optional parameters for specifying the pivot centricity of how MergedPerson results are constructed from the underlying Containers (e.g., Contacts and Profiles). See go/people-api-concepts#person-model for details."
},
"dataJoinParams": {
"description": "Optional parameters for specifying what type of data joins to enable for People API responses.",
"$ref": "InstantmessagingPaGoogleInternalPeopleV2DataJoinParams"
},
"includedProfileStates": {
"type": "array",
"items": {
"enumDescriptions": [
"",
"Profiles that have been disabled or abuse-blocked in Gaia. NOTE: This is, for example, the state of Xoogler profiles.",
"Profiles that have been deleted in Gaia. NOTE: Specifying this option requires purpose-limited data permissions. See go/sgbe-purpose-limited-access-guide#reading-deleted-users-rows. This is not supported in People API. If you need to fetch deleted profiles, please contact people-api-users@google.com.",
"Profiles that have been disabled/archived by the Dasher admin. This is a special case of disabled profiles in Gaia (ADMIN_BLOCKED above). Additional details at go/sgbe-archived-user-support. NOTE: Specifying this option requires purpose-limited data permissions. See go/sgbe-purpose-limited-access-guide#dasher-admin-disabled.",
"Profiles that have been blocked by the profile reader (or vice-versa).",
"DEPRECATED. b/138752128. CORE_ID profiles (go/people-api-concepts#core-id-profile) are returned by default now, so it is not necessary to request them explicitly."
],
"enum": [
"UNKNOWN_PROFILE_STATE",
"ADMIN_BLOCKED",
"DELETED",
"DASHER_ADMIN_DISABLED",
"USER_TO_USER_BLOCKED",
"CORE_ID"
],
"type": "string"
},
"description": "Optional, unordered. Set of profile states that should explicitly be included in the response, even though they would normally cause a profile to be hidden (resulting in a status of NOT_FOUND for point lookups). Additional background discussion of various profile states can be found at: go/fbs-disable"
},
"includedContactDeletionStates": {
"items": {
"type": "string",
"enum": [
"DEFAULT",
"TRASHED"
],
"enumDescriptions": [
"Contacts which don't fall into any other state.",
"Contacts are trashed. Trashed contacts are retained for 30 days to allow users to review and recover them, after which they are automatically wiped out. Trashed contacts are not returned on reads unless explicitly requested."
]
},
"description": "Optional param for requesting inclusion of contacts with the given deletion states. Note that a contact can only have one deletion state at any given time. NOTE: Only supported for certain actions: * GetPeople * ListPeopleByKnownId * ListTrashedContactPeople",
"type": "array"
},
"connectedSitesOptions": {
"$ref": "InstantmessagingPaGoogleInternalPeopleV2ConnectedSitesOptions",
"description": "DEPRECATED. Optional parameters for requesting contacts from connected sites (also known as crawled-contacts). Only implemented for certain List actions. Contact people-api-users@ if you think you need this feature."
},
"includeAffinity": {
"type": "array",
"items": {
"type": "string",
"enum": [
"AFFINITY_TYPE_UNKNOWN",
"EMAIL_AUTOCOMPLETE",
"CONTACTS_PLUS_FREQUENTLY_CONTACTED",
"CHAT_AUTOCOMPLETE",
"GPLUS_AUTOCOMPLETE",
"GLASS_AFFINITY",
"PEOPLE_AUTOCOMPLETE_SOCIAL",
"FIELD_AUTOCOMPLETE_SOCIAL",
"CONTACTS_PLUS_EMAIL",
"PHOTOS_PEOPLE_TO_SHARE_WITH_SUGGESTIONS",
"PHOTOS_FIELDS_TO_SHARE_WITH_SUGGESTIONS",
"INBOX_AFFINITY",
"DYNAMITE_AFFINITY",
"PHOTOS_SUGGESTIONS_AFFINITY",
"PHOTOS_SUGGESTED_TARGETS",
"PHOTOS_ASSISTANT_SUGGESTIONS_AFFINITY",
"DRIVE_AUTOCOMPLETE",
"WALLET_PEOPLE_TO_PAY_SUGGESTIONS",
"CONTACTS_PLUS_CONTACT_CENTRIC",
"POMEROY_AFFINITY",
"CALENDAR_AFFINITY",
"SPACES_APP_PEOPLE_AFFINITY",
"HOMEROOM_AFFINITY",
"PEOPLE_PLAYGROUND_AFFINITY",
"FAMILY_AFFINITY",
"CONTACTS_ASSISTANT_SUGGESTED_CONTACTS",
"MAPS_SHARING_AFFINITY",
"CLOUD_SEARCH_AFFINITY",
"TRIPS_AFFINITY",
"GOOGLE_VOICE_AFFINITY",
"PHOTOS_FACE_AFFINITY",
"G3DOC_AUTOCOMPLETE",
"LOUPE_SUGGESTIONS_AFFINITY",
"YOUTUBE_UNPLUGGED",
"JAM_AFFINITY",
"ITEM_SUGGEST_AFFINITY",
"ISSUE_TRACKER_AFFINITY",
"APPS_ASSISTANT_AFFINITY",
"APDL_CONTACT_CENTRIC_DEFAULT_AFFINITY",
"APDL_PROFILE_CENTRIC_DEFAULT_AFFINITY",
"SOCIAL_RECOVERY",
"TEZ_AFFINITY",
"NEWS_AFFINITY",
"ALLO_AFFINITY",
"GPLUS_PEOPLE_RECOMMENDATIONS",
"GPLUS_PEOPLE_RECOMMENDATIONS_SAME_DOMAIN",
"DRIVE_AFFINITY",
"PODIUM_AFFINITY",
"ZOOM_SIGHTS_EMAIL_AFFINITY",
"AIRDROME_AFFINITY",
"HANGOUTS_MEET_AFFINITY",
"GALLERY_AFFINITY",
"AGSA_AFFINITY",
"PAY_AFFINITY",
"SAVES_AFFINITY",
"JASPER_AFFINITY",
"GOOGLE_HOME_APP_AFFINITY",
"TOPAZ_TEAMS_AFFINITY",
"DYNAMITE_OUT_OF_DOMAIN_AFFINITY",
"GOOGLE_VOICE_SIRI_EXTENSION_AFFINITY",
"COURSE_KIT_AFFINITY",
"FORMS_AFFINITY",
"NOVITAS_AFFINITY",
"GTI_PEER_INTERACTIONS_AFFINITY",
"ANDROID_EMERGENCY_AFFINITY",
"DATA_STUDIO_AFFINITY",
"SPUR_AFFINITY",
"PLAY_GAMES_SERVICES_AFFINITY",
"GROUPS_ADD_MEMBER_AFFINITY",
"DUO_AFFINITY",
"MY_BUSINESS_AFFINITY",
"GMAIL_COMPOSE",
"NON_GPLUS_AFFINITY",
"ABUSE_AFFINITY",
"ABUSE_AFFINITY_LITE",
"CALENDAR_PEEK_AFFINITY",
"HUB_CALL_AFFINITY",
"GSUITE_WORKFLOW_AFFINITY",
"VR_POLY_PRO_AFFINITY",
"TASKS_AFFINITY",
"GOOGLE_ONE_AFFINITY",
"TRAVEL_AFFINITY",
"GEO_DISCOVERY_FOLLOW_AFFINITY",
"GMAIL_WEB_AFFINITY",
"ASSISTANT_SETTINGS_WEB_UI_AFFINITY",
"ARTIFEX_AFFINITY",
"CONTACT_STORE_DEFAULT_AFFINITY",
"CONTACT_STORE_SELF_EXCLUSIVE",
"PHOTOS_FACE_STALE_AFFINITY",
"LANDSPEEDER_AFFINITY",
"GOOGLE_FI_AFFINITY",
"CONTACTS_PLUS_DOMAIN_ONLY",
"PHOTOS_SUGGESTED_TARGETS_IN_APP_ONLY",
"SOCIETY_AFFINITY",
"NANDHI_TEST_SCHEDULER_AFFINITY",
"HIJACKING_HIGH_RISK_AFFINITY",
"TRUECOLOURS_AFFINITY",
"ESPRESSO_AFFINITY",
"TAG_AFFINITY",
"CORPBOT_AFFINITY",
"SHOPPING_LIST_AFFINITY",
"INTEGRATION_PLATFORM_AFFINITY",
"HOT_ORDERS_UI_AFFINITY",
"TELLY_MOBILE_APP_AFFINITY",
"NGA_SUGGESTION_RESOLUTION_AFFINITY",
"DUC_COMPANION_AFFINITY",
"TOG_AFFINITY",
"ANDROID_SYSTEM_INTELLIGENCE_AFFINITY",
"EARTH_AFFINITY",
"SHORTCUT_AFFINITY",
"CHROME_OS_SCALING_AFFINITY",
"SHOWTIME_AFFINITY",
"PLAY_GAMES_SERVICES_EXPERIMENTAL",
"GUPPEEPS_AFFINITY",
"NEST_AFFINITY",
"BLOGGER_AFFINITY",
"INDIVIDUAL_OUTGOING_INTERACTIONS_RECENCY_RANK",
"ASSISTANT_TOOLCHAIN_AFFINITY",
"CHAT_CONSERVER_FAVORITE_CONTACTS_AFFINITY",
"CHAT_CONSERVER_INVITEE_AFFINITY",
"GANTRY_AFFINITY",
"KINTARO_AFFINITY",
"KEEP_AFFINITY",
"INCIDENTFLOW_AFFINITY",
"DRIVE_MENTION_AFFINITY",
"DRIVE_LOOKUP_AFFINITY",
"PODCASTS_MANAGER_AFFINITY",
"EMAIL_AUTOCOMPLETE_GG",
"ONE_REVIEWER_TOOL_AFFINITY",
"ASSISTANT_FAMILY_VERTICAL_AFFINITY",
"STADIA_AFFINITY",
"ATLAS_AFFINITY",
"CONSTELLATION_AFFINITY",
"CORONADO_AFFINITY",
"WALLET_GOLDEN_GATE_AFFINITY",
"PUMICE_AFFINITY",
"DEMO_AFFINITY_DEFAULT_ALGO",
"DEMO_AFFINITY_DEFAULT_ALGO_DOMAIN_ONLY",
"DEMO_AFFINITY_EMAIL_ALGO",
"DEMO_AFFINITY_EMAIL_ALGO_DOMAIN_ONLY",
"BACKLIGHT_AFFINITY",
"DYNAMITE_GROUPS_AFFINITY",
"DYNAMITE_OUT_OF_DOMAIN_GROUPS_AFFINITY",
"GLOSSARY_MANAGER_AFFINITY",
"ONEDEV_WORKFLOW_AFFINITY",
"GSUITE_HUB_CALL_AFFINITY",
"AVALANCHE_AFFINITY",
"SANDTROUT_DEVICE_CONTACTS_AFFINITY",
"DYNAMITE_ROOM_AFFINITY",
"DESKBOOKING_AFFINITY",
"TEZ_EXTENDED_AFFINITY",
"DRIVE_PROFILE_ONLY_AFFINITY",
"OFFSEC_AFFINITY",
"GOOGLE_HOME_FAMILY_AFFINITY",
"ONEMARKET_CALENDAR_AFFINITY",
"GPAY_MERCHANT_CONSOLE_AFFINITY",
"WORDFLOW_AFFINITY",
"YOUTUBE_CREATOR_STUDIO_AFFINITY",
"BRICKS_AFFINITY",
"BUG_OBSERVER_AFFINITY",
"ALPHASCHEDULE_AFFINITY",
"BURROW_AFFINITY",
"TEAMSPACES_AFFINITY",
"GMAIL_SMARTADDRESS_REPLACE_AFFINITY",
"GMAIL_SMARTADDRESS_EXPAND_AFFINITY",
"ASSISTANT_OPA_AFFINITY",
"POLYGLOT_AFFINITY",
"TRANSLATION_MEMORY_MANAGER_AFFINITY",
"THREADIT_AFFINITY",
"RESOURCE_SYMPHONY_AFFINITY",
"HOUSEHOLD_CONTACTS_PICKER_AFFINITY",
"L10N_INFRA_SHARED_AFFINITY",
"WORK_TRACKER_AFFINITY",
"ARIANE_AFFINITY",
"DRIVE_ROOM_AFFINITY",
"MOMA_SEARCH_AFFINITY",
"COLAB_INTERNAL_AFFINITY",
"COLAB_EXTERNAL_AFFINITY",
"TALENT_GROW_AFFINITY",
"SOCIAL_CONNECTION_CHECKER_AFFINITY",
"GMS_PEOPLE_AFFINITY",
"ROCKET_LABS_AFFINITY",
"DYNAMITE_ROOM_AND_INDIVIDUAL_ONLY_AFFINITY",
"TEZ_PHONE_SEARCH_AFFINITY",
"MY_GOOGLE_FAMILIES_AFFINITY",
"DYNAMITE_UNIFIED_AFFINITY",
"SHORTCUT_SERVER_AFFINITY",
"LEGAL_CONTRACTS_AFFINITY",
"CALENDAR_WEB_AFFINITY",
"DATA_CATALOG_AFFINITY",
"BRIEF_API_AFFINITY",
"HARDWARE_MFG_DATA_VENUS_AFFINITY",
"BETTERBUG_AFFINITY",
"DCMS_AFFINITY",
"PLAY_BOOKS_PUBENG_AFFINITY",
"YAQS_AFFINITY",
"RESPONSIBLE_FEATURE_ACCESS_AFFINITY",
"PROSPER_AFFINITY",
"PEOPLE_TO_ADD_BIRTHDAY_FOR_AFFINITY",
"FLOURISH_AFFINITY",
"CAMPAIGN_MANAGEMENT_TOOL_AFFINITY",
"RECORDER_AFFINITY",
"RESERVED_AFFINITY6",
"RESERVED_AFFINITY10",
"RESERVED_AFFINITY15",
"RESERVED_AFFINITY16",
"RESERVED_AFFINITY25",
"RESERVED_AFFINITY31",
"RESERVED_AFFINITY33",
"RESERVED_AFFINITY39",
"RESERVED_AFFINITY40",
"RESERVED_AFFINITY46",
"RESERVED_AFFINITY51",
"RESERVED_AFFINITY63",
"RESERVED_AFFINITY75",
"RESERVED_AFFINITY76",
"RESERVED_AFFINITY85",
"RESERVED_AFFINITY93"
],
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
"",
"",
"",
"Will eventually be deprecated in favor of PHOTOS_SUGGESTIONS_AFFINITY.",
"Will eventually be deprecated in favor of PHOTOS_SUGGESTIONS_AFFINITY.",
"",
"",
"This is a combo of PHOTOS_*_TO_SHARE_WITH_SUGGESTIONS affinities.",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"Deprecated affinities; please do not use. We don't use reserved keyword because android parsing libs can't parse enum reserved keyword.",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
]
},
"description": "Optional set of affinity types to request. Currently only implemented for List and Get"
},
"includeAccountLocale": {
"description": "Optional param for requesting return of the language from go/uls in the `MergedPerson.language` response field. Also uses the language for formatting `Name.display_name`, see comment on `Name.display_name` for details.",
"type": "boolean"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ModifyMediaSessionResponse": {
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ModifyMediaSessionResponse",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeleteMediaSessionResponseCompliance": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeleteMediaSessionResponseCompliance",
"properties": {
"groupId": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id",
"description": "The group that the MediaSession was associated with. Optional - if the client never joined a group call this is unset."
},
"callParticipants": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UserRegistrationId"
},
"description": "The participants that was part of the call when DeleteMediaSession was processed.",
"type": "array"
},
"groupCallSessionId": {
"description": "The group call session that the MediaSession was associated with. Optional - if the client never joined a group call this is unset.",
"type": "string"
},
"potentialParticipants": {
"description": "Participants that was not part of call when DeleteMediaSession was processed.",
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
}
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ClientReceiveConfiguration": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ClientReceiveConfiguration",
"description": "This message contains the configuration for client receiving media from media router.",
"properties": {
"viewRequestGroup": {
"description": "See view_request_group on AddMediaSessionRequest in media/webrtc/media_router/media_router.proto for documentation.",
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ViewRequestGroup"
}
},
"downstreamBandwidthParams": {
"description": "The requested bandwidth parameters for downstream. (Clients control the upstream locally). Optional",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BandwidthParams"
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1IceCandidatesUpdate": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1IceCandidatesUpdate",
"properties": {
"candidates": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1IceCandidate"
},
"type": "array"
},
"operation": {
"type": "string",
"enumDescriptions": [
"",
"",
""
],
"enum": [
"UNKNOWN",
"ADD",
"REMOVE"
]
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CreateGroupRequest": {
"description": "Create group flow: Client Server New Users |-- CreateGroupRequest --\u003e| | |\u003c- CreateGroupResponse --|------ CreateGroupPush -----\u003e| The creator client sends this request to the server to create a group. Atomic request to add all specified users. For a Administered group, the creator is an Admin, and all other users have Regular role. For a Default group, all users have Default role.",
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CreateGroupRequest",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"groupUri": {
"type": "string",
"description": "Used for RCS foreign groups. TODO(b/197753044) deprecate this field and set the group_uri inside the rcs_group_metadata field."
},
"rcsGroupMetadata": {
"description": "Metadata of the RCS group, in which the carrier_id and group_uri should be set for the foreign groups only.",
"$ref": "InstantmessagingPaTachyonRcsGroupMetadata"
},
"inviteLinkAction": {
"enumDescriptions": [
"",
"create a link, if exists, return the existing one",
"replace the existing link with a new one",
"delete the link"
],
"enum": [
"UNKNOWN",
"CREATE_LINK",
"RESET_LINK",
"CLEAR_LINK"
],
"description": "indicate whether this group needs the invite_link. NOTE: kaiyang - or we can use partialProfile which has the action in it.",
"type": "string"
},
"groupType": {
"description": "group_type is specified at create time and does not change after that.",
"type": "string",
"enum": [
"DEFAULT",
"INCOGNITO"
],
"enumDescriptions": [
"",
""
]
},
"users": {
"description": "users are members, excluding the creator, to be added to the group.",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"type": "array"
},
"profile": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Profile"
},
"adminType": {
"enumDescriptions": [
"Every member can do everything.",
"Group has administrators, who can kick/ ban users."
],
"description": "Indicates who controls the users and profile changes in the group.",
"enum": [
"DEFAULT_TYPE",
"ADMINISTRATED"
],
"type": "string"
},
"groupId": {
"description": "group_id is the ID created by the client.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PreviewMetadataOption": {
"description": "Label for a preview action, either custom text or preset text.",
"properties": {
"optionText": {
"type": "string"
},
"optionType": {
"enum": [
"UNKNOWN",
"CUSTOM_TEXT",
"SHARE",
"CANCEL"
],
"enumDescriptions": [
"",
"",
"",
""
],
"type": "string"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PreviewMetadataOption"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LookupContactsResponse": {
"properties": {
"entries": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DetailedContactEntry"
},
"description": "Contact entries for the requested Ids."
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader",
"description": "Clients should use the txn_timestamp_usec field inside the header to resolve conflicts with other updates."
},
"source": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContactSource",
"description": "source of the contact."
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LookupContactsResponse"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContactPrediction": {
"description": "LINT.IfChange Next ID: 11",
"properties": {
"address": {
"description": "A substring from the chat text that was identified as representing an telephone number",
"type": "string"
},
"dateType": {
"type": "string",
"enumDescriptions": [
"",
"",
""
],
"enum": [
"UNSPECIFIED",
"BIRTHDAY",
"ANNIVERSARY"
]
},
"phoneNumber": {
"description": "A substring from the chat text that was identified as representing a telephone number",
"type": "string"
},
"otherParticipant": {
"description": "True if the referent of this prediction is the other participant in this conversation. E.g., if the other party says \"this is bob\", then the resulting suggestion should have this field set to true and the detected_name field set to \"bob\".",
"type": "boolean"
},
"annotation": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContactInfoAnnotation"
},
"email": {
"description": "A substring from the chat text that was identified as representing an e-mail address",
"type": "string"
},
"type": {
"enum": [
"UNSET",
"SEND_CONTACT_INTENT",
"UPDATE_CONTACT_INTENT",
"INTRODUCTION_INTENT"
],
"description": "The type of contact prediction. Should always be specified.",
"type": "string",
"enumDescriptions": [
"This value should never be seen in production.",
"Indicates that the client may want to offer a smart action to send contact information. Whether the client actually creates a smart action to send the information depends on whether the referenced contact exists and whether the contact contains the target info.",
"Indicates that this suggestion contains information about an individual that can be used to create/update a contact for that individual.",
"Introduction is the \"non-robotic\" way of quickly saying who you are when someone says \"new phone, who dis?\" Followup would be a share own-contact suggestion."
]
},
"date": {
"description": "Semenatic representation of a time/date mention in the chat text. Could also be inferred from context. I.e., if the triggering text were \"happy birthday!\", we would populate this field with the date on which the message was sent.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1TimePoint"
},
"targetInfo": {
"enum": [
"NONE",
"ALL",
"PHONE",
"ADDRESS",
"EMAIL",
"NAME"
],
"enumDescriptions": [
"Should never take on this value. Indicates the creator failed to set.",
"All data in contact.",
"",
"",
"",
""
],
"type": "string"
},
"detectedName": {
"type": "string",
"description": "A substring from the chat text that was identified as representing a name."
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContactPrediction",
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEmailCertificate": {
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEmailCertificate",
"type": "object",
"properties": {
"metadata": {
"description": "It is conceivable that certificates could be ACLed. We also need to indicate which certificate is the default. The PersonFieldMetadata can accomplish both of these.",
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
},
"status": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEmailCertificateCertificateStatus"
},
"configurationName": {
"description": "The name of this certificate configuration. Examples could be \"High security level\" or \"For domain emails only\".",
"type": "string"
}
},
"description": "Under development. Represents a hosted S/MIME certificate config for use with Gmail. See //caribou/smime/proto/certificate_status.proto. There can be zero or more certificates associated with an email address, be it profile email or contact email."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiptEventReceiptInfo": {
"properties": {
"messageId": {
"type": "string",
"description": "original message this receipt refers to."
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiptEventReceiptInfo",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1NeedBlocksSyncPush": {
"properties": {},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1NeedBlocksSyncPush",
"description": "Sent to inform the client to make GetBlockedUsers request to sync the new block list. This will happen when the server merges two account.",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SpamMessage": {
"properties": {
"sticker": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContentSticker"
},
"media": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContentMedia"
},
"protocol": {
"enum": [
"DEFAULT_APP_SPECIFIC",
"SMS",
"MMS",
"RCS",
"MATCHSTICK"
],
"enumDescriptions": [
"",
"",
"",
"",
""
],
"type": "string"
},
"videoCall": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContentVideoCall"
},
"group": {
"description": "The group id the message was sent to.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"contentType": {
"type": "string",
"enumDescriptions": [
"This should never be used and indicates an error.",
"Text content type.",
"URL content type.",
"Encrypted content type, so no content is attached.",
"Sticker content type.",
"Location content type.",
"Media content type.",
"The message sender (Caller) initiates a call.",
"The message sender (Caller) withdraws call.",
"The message sender (Callee) rejects call.",
"The message sender (Callee) accepts call.",
"The message sender (Caller or Callee) has toggled video to a new state. This can happen for bandwidth reasons.",
"The message sender (Caller or Callee) hangs up.",
"video message",
"ping",
"message reaction"
],
"enum": [
"UNKNOWN",
"TEXT",
"URL",
"ENCRYPTED",
"STICKER",
"LOCATION",
"MEDIA",
"VIDEO_SIGNAL_INVITATION_SEND",
"VIDEO_SIGNAL_INVITATION_CANCEL",
"VIDEO_SIGNAL_INVITATION_DECLINE",
"VIDEO_SIGNAL_INVITATION_ACCEPT",
"VIDEO_SIGNAL_TOGGLE_VIDEO",
"VIDEO_SIGNAL_CALL_END",
"VIDEO_MESSAGE",
"PING",
"MESSAGE_REACTION"
],
"description": "The content type of the message."
},
"messageId": {
"description": "A unique client generated message id",
"type": "string"
},
"otherRecipients": {
"description": "the recipients of the message not including the client (who is already listed as the recipient). If the client is in the to field, InvalidArg error will be returned.",
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
}
},
"timestamp": {
"type": "string",
"format": "google-datetime",
"description": "The timestamp of the message."
},
"text": {
"type": "string"
},
"url": {
"type": "string"
},
"sender": {
"description": "The sender of the original message. During abuse reporting flows, which are executed by the recipient of the original message, this is user being reported.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"recipient": {
"description": "The recipient of the original message being reported. During abuse reporting flows, which are executed by the recipient of the originall message, this is the user making the report.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"location": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContentLocation"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SpamMessage",
"type": "object",
"description": "SpamMessage represents a communication event between different parties. It is ultimately used by Ares to make spam determinations. It may be reported at various times. E.g.: - When a message is sent for delivery - When a message is processed by the recipient - When a user proactively initiates an abuse report"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGifSuggestionsRequest": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetGifSuggestionsRequest",
"properties": {
"thumbnailDimension": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ImageDimension",
"description": "For thumbnail image."
},
"thumbnailImageOptions": {
"description": "Desired params for thumbnails images other than the dimension.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ImageOptions"
},
"weightedSearchQueries": {
"description": "List of weighted queries to be used for image search. The weight will determine how many image results we return for that specific query.",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1WeightedSearchQuery"
},
"type": "array"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"height": {
"type": "integer",
"description": "Requested height.",
"format": "int32"
},
"maxGifSuggestions": {
"type": "integer",
"format": "int32",
"description": "Max number of gif suggestions."
},
"draftMessage": {
"type": "string",
"description": "Draft text message."
},
"width": {
"type": "integer",
"description": "Requested width.",
"format": "int32"
},
"imageSearchParams": {
"description": "Params for image search other than query and number of results.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ImageSearchParams"
},
"dimension": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ImageDimension",
"description": "For ImageDimension, if either width and/or height is populated. Fife will resize according to the populated field keeping aspect ratio same. If both dimensions are set we will resize the image based on the limiting dimension and maintain the aspect ratio. For example if a user requests an image with dimensions 500x400 and the original image was 800x1000, we will crop the image to 320x400. If the requested dimensions is 500x400 and the image was 400x500, we will crop the image to 320x400. If both the requested width and height are larger than the original image dimensions, we just return the original image."
},
"imageOptions": {
"description": "Desired params for full images other than the dimension.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ImageOptions"
},
"imageSearchClient": {
"description": "Client name used to call image search backend, for ex: chat-bot-lucky.",
"type": "string"
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetURLStateRequest": {
"properties": {
"locale": {
"type": "string",
"description": "Locale info."
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"suspiciousness": {
"type": "number",
"format": "float",
"description": "Suspicion score from 0 to 1.0 generated by the Android Messages client. Very trusted: 0; very suspicious: 1.0."
},
"url": {
"type": "string"
},
"droidguardResult": {
"description": "Result of the call to Droidguard on the device. This is used to validate that an authorized app is making this request from a physical device. Currently, this is only available for Android. Droidguard requires request to be bound to the content. This is used to prevent replay attacks on Droidguard response. This request requires content binding in the format of Map(key, value). To support this binding, the client should call DroidGuardClient.getResult with the map; Tachyon server should verify the map after getting decoded response from DroidGuard server. Client needs to provide RequestId and App in the Header for this binding.",
"type": "string"
},
"countryCode": {
"description": "2-letter ISO country code. https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2",
"type": "string"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetURLStateRequest",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AccountSettings": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AccountSettings",
"description": "Settings that will be synced across all devices under the same account.",
"type": "object",
"properties": {
"syncStateExpirationTtlSeconds": {
"description": "Sync state TTL seconds (currently only applies to MRU sync state).",
"type": "string",
"format": "int64"
},
"allowMomentCapture": {
"type": "boolean",
"description": "Being true indicates that this user allows themselves to be included in moments captured by other people in both 1:1 and group calls. Unset means this value has not been set or do not update."
},
"onlyContactCanContactMe": {
"description": "Being true indicates that only people in my contact list will be able to reach out to me. Unset means this value has not been set or do not update.",
"type": "boolean"
},
"notReachableInEmail": {
"description": "Being true indicates that people will not be able to look me up and contact me through my email. Unset means this value has not been set or do not update.",
"type": "boolean"
},
"syncStateExpirationTtl": {
"description": "Deprecated. Please use sync_state_expiration_ttl_seconds instead.",
"format": "google-duration",
"type": "string"
},
"clipsExpirationTtlHours": {
"format": "int64",
"type": "string",
"description": "Clips TTL, 0 = app default value. -1 = never expire"
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiDeviceContactInfo": {
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiDeviceContactInfo",
"type": "object",
"properties": {
"hasCrossDeviceData": {
"description": "Output only. True if any of its raw contact can be used on other devices than the one it originated from. Assigned by the server.",
"type": "boolean"
},
"id": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiDeviceContactId",
"description": "Id of the device contact."
},
"lookupKey": {
"description": "An opaque value used by the device to look up this contact if its row id changed as a result of a sync or aggregation. See: https://developer.android.com/reference/android/provider/ContactsContract.ContactsColumns.html#LOOKUP_KEY",
"type": "string"
},
"rawContactInfo": {
"description": "Info about the raw device contacts that make up this device contact.",
"type": "array",
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfo"
}
},
"deviceContactMetadata": {
"description": "Metadata for this device contact.",
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiDeviceContactExtraMetadata"
},
"lastClientUpdateTime": {
"type": "string",
"description": "Last time a device contact was updated on device.",
"format": "google-datetime"
}
},
"description": "Device contact information."
},
"InstantmessagingPaGoogleInternalPeopleV2ListPeopleByKnownIdResponseMatch": {
"id": "InstantmessagingPaGoogleInternalPeopleV2ListPeopleByKnownIdResponseMatch",
"properties": {
"personId": {
"items": {
"type": "string"
},
"description": "The person id's of the people that matched.",
"type": "array"
},
"lookupId": {
"description": "The lookup query id.",
"type": "string"
}
},
"type": "object",
"description": "The lookup data for a single list people by known id match."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ClientReceiveModification": {
"properties": {
"viewRequestGroupAssignments": {
"description": "Updates explicit view request group assignments per participant specified. Concretely, this will pin or unpin a participant's stream to a group and resolution.",
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ViewRequestGroupAssignment"
}
},
"viewRequestGroups": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ViewRequestGroupsModification",
"description": "If set, updates the session's view request groups to those specified."
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ClientReceiveModification",
"type": "object",
"description": "This message contains updates to the configuration of what media the client wants to receive from media router."
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiCertifiedBornBefore": {
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiCertifiedBornBefore",
"description": "Information related to domain administrator (or authority) certification of a users age.",
"properties": {
"bornBefore": {
"format": "google-datetime",
"description": "Indicates that the user was born at or before this time.",
"type": "string"
},
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContactSource": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContactSource",
"properties": {
"type": {
"type": "string",
"enum": [
"UNKNOWN",
"DEVICE_REGISTRATION",
"GAIA"
],
"enumDescriptions": [
"Undefined.",
"Contacts were uploaded from a Tachyon device registration.",
"Contacts were synced from Gaia account."
]
},
"registrationId": {
"description": "RegistrationID of the device from which the contacts were updated, if the contact is from a device registration.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"InstantmessagingPaChatBotPlatformBugleAgentMessage": {
"type": "object",
"id": "InstantmessagingPaChatBotPlatformBugleAgentMessage",
"properties": {
"inReplyToId": {
"type": "string",
"description": "If this was a response, the message ID this in response to."
},
"emlCardsSupported": {
"type": "boolean",
"description": "Whether eml cards are supported by the AM client"
},
"clientContext": {
"description": "Context used by client to keep track of the interaction. *Agent* should echo this back.",
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"type": "object"
},
"useCcsRedirect": {
"type": "boolean",
"description": "Temporary field to allow us to mark if a request should use the bot router's redirect to CCS for link retrieval."
},
"agentContext": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"type": "object",
"description": "Context used by agent to keep track of the interaction. *Client* should echo this back."
},
"contents": {
"items": {
"$ref": "InstantmessagingPaChatBotPlatformBugleAgentContent"
},
"type": "array"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LookupContactsRequest": {
"properties": {
"contactIds": {
"type": "array",
"description": "Contacts to lookup. Any user ID with empty `app` field will be populated with the `app` of the auth token payload in the request header. Use this to minimize the size of large LookupContactsRequests.",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
}
},
"source": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContactSource",
"description": "Required. Source of the contacts to be looked up. Will return CONTACT_SOURCE_REQUIRED error if missing. This API will not return a joined response across all sources."
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LookupContactsRequest"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetOnlineStatusRequest": {
"type": "object",
"properties": {
"id": {
"description": "id is ID of the user to check the status.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetOnlineStatusRequest"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1InternalRequestInfo": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1InternalRequestInfo",
"description": "InternalRequestInfo captures important request information about the account, which will be routed internally through Tachyon services. This is expected to be set by server and used internally. Client setting this field will be ignored.",
"properties": {
"allowedUsers": {
"description": "allowed_users are the reachabilities that can be accessed by this request. This is expected to be set by server and used internally.",
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
}
},
"initiatedByTachygram": {
"description": "initiated_by_tachygram identifies a request sent by Tachygram client. This field is currently used by Census to monitor Tachygram traffic. See: go/tachyon-tg-census for detailed information. This field can only be set once.",
"type": "boolean"
},
"groupMessageFanoutType": {
"type": "string",
"enumDescriptions": [
"",
"Fast, best-effort fanout via direct RPC calls.",
"Slow, reliable fanout through Spanner queue."
],
"enum": [
"UNKNOWN",
"DIRECT_RPC",
"SPANNER_QUEUE"
]
},
"primaryId": {
"description": "primary_id will be GAIA id for GAIA account and phone number id for phone number only account. This is expected to be set by server and used internally.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"initiatedByGoogleRcs": {
"type": "boolean",
"description": "Whether the initiator of the operation is a Google RCS provider."
},
"ip": {
"type": "string",
"description": "The IP of the incoming request. This is expected to be set by server and used internally."
},
"gaiaInfo": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GaiaEmailInfo"
},
"type": "array",
"description": "gaia_info contains a list of gaia ids and its converted email ids. This field will be empty for pn only account. This is expected to be set by server and used internally."
},
"accountV3Id": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AccountId",
"description": "AccountV3 id. To get this field populated for a particular RPC, use the WithEnsureAccountID call option in the corresponding RPC handler in Irradiator."
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MultiDeviceJoin": {
"description": "Sent as part of DuoClientGroupCallState when joining a group call to indicate if this is a multi-device join or a transfer request.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MultiDeviceJoin",
"properties": {
"joinOption": {
"enumDescriptions": [
"The user intends to join the call on multiple devices",
"The user intends to transfer the call to the sending device"
],
"type": "string",
"enum": [
"DEFAULT_MULTI_DEVICE_JOIN",
"CALL_TRANSFER"
]
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ICEConfiguration": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ICEConfiguration",
"type": "object",
"description": "ICE configuration. Each configuration is ephemeral and should not be shared across WebRTC peer connections or cached for later use. This message is intended to be binary compatible and should be kept up to date with CreateIceConfigResponse in //google3/google/communications/networktraversal/v1alpha/networktraversal.proto",
"properties": {
"lifetimeDuration": {
"format": "google-duration",
"type": "string",
"description": "Duration the config is valid for."
},
"unblockConfig": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UnblockConfig",
"description": "Extra optional configuration for unblocking purposes."
},
"multi": {
"type": "string",
"enumDescriptions": [
"Use default.",
"Use standard TURN.",
"Use MULTI if available, but fallback to standard TURN."
],
"enum": [
"DEFAULT",
"DISABLED",
"ENABLED"
],
"description": "Usage of MULTI (go/turn-multi)."
},
"unblockIceServers": {
"description": "Extra ice servers that can be present when block_status indicates POSSIBLY_BLOCKED and which might be able to provide better connectivity than ice_servers in that scenario. However the network quality is likely to be strictly worse. Applications are recommended to use these servers instead of ice_servers to be robust against blocking. However these ice servers also currently requires applications to disable TLS validation. This is because TURNS is used for obfuscation instead of security, and no valid certificate is returned since valid certificates can be blocked.",
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ICEServerList"
}
},
"blockStatus": {
"description": "Possible detected network provider interference with ice_servers connectivity. This is an estimation which might be inaccurate.",
"enum": [
"UNKNOWN",
"ICE_UNBLOCKED",
"ICE_POSSIBLY_BLOCKED"
],
"type": "string",
"enumDescriptions": [
"Unspecified.",
"ICE connectivity is not blocked.",
"ICE connectivity is possibly blocked."
]
},
"iceServers": {
"type": "array",
"description": "ICE servers to be used by the client to establish a connection. E.g.: [ { \"urls\": \"stun:stun1.example.net\" }, { \"urls\": \"turn:turn.example.org\", \"username\": \"user\", \"credential\": \"myPassword\" } ]",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ICEServerList"
}
},
"iceTransportPolicy": {
"description": "Corresponds to: https://www.w3.org/TR/webrtc/#rtcicetransportpolicy-enum The recommended ICE transport policy to use in the RTC configuration.",
"type": "string"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DatetimeAnnotationMonth": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DatetimeAnnotationMonth",
"type": "object",
"properties": {
"month": {
"type": "integer",
"format": "int32"
}
}
},
"InstantmessagingPaAppsDynamiteSharedOrganizationInfoCustomerInfo": {
"properties": {
"customerId": {
"$ref": "InstantmessagingPaAppsDynamiteCustomerId"
}
},
"id": "InstantmessagingPaAppsDynamiteSharedOrganizationInfoCustomerInfo",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BotMetadata": {
"properties": {
"id": {
"description": "ID used for routing.",
"type": "string"
},
"avatar": {
"description": "Media reference to the avatar for this bot.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MediaReference"
},
"thumbnail": {
"description": "Thumbnail of the avatar for this bot.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MediaData"
},
"description": {
"type": "string",
"description": "Long-form description of what the bot does."
},
"agentProperties": {
"description": "Properties of the third party agent.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AgentProperties"
},
"type": {
"enumDescriptions": [
"This is not a valid bot.",
"Developer has published this bot but no manual curation was done.",
"This bot has been manually curated.",
"This is Google, there should only be one.",
"This bot is high quality and can be featured prominently.",
"No curation, could be any dev bot just added.",
"This bot has been manually curated to show in autocomplete but not the contact list or the create conversation list.",
"This is a third party agent.",
"Send this bot in the GetBotList call so clients can store the metadata. But it will not show in contact list, create conversation list, autocomplete, or as a bot chip in groups. Used by @googlebusiness."
],
"enum": [
"NONE",
"PUBLISHED",
"CURATED",
"GOOGLE",
"FEATURED",
"UNPUBLISHED",
"AUTOCOMPLETE_ONLY",
"AGENT",
"STORE_METADATA"
],
"type": "string",
"description": "Type of bot."
},
"isBusinessFacade": {
"description": "Whether the bot was created for business messaging.",
"type": "boolean"
},
"displayName": {
"description": "Name to display in the client for this bot.",
"type": "string"
},
"businessAddress": {
"$ref": "InstantmessagingPaGoogleTypePostalAddress",
"description": "Represents the physical location of the business. Used by CAP for SMB."
}
},
"type": "object",
"description": "Metadata about the bot, sufficient to display in the client.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BotMetadata"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEmailExtendedData": {
"properties": {
"internalExternal": {
"$ref": "InstantmessagingPaPeoplestackFlexorgsProtoInternalExternal",
"description": "For use with the CUSTOMER_INFO_ADDITIONAL_DATA extension. This includes information on whether the given email is internal to or external to the requesting user's domain."
},
"isPlaceholder": {
"type": "boolean",
"description": "For ListPeoplebyKnownId to indicate an email is sythesized from a lookup email."
},
"smtpServerSupportsTls": {
"description": "For use with the TLS extension. Whether the SMTP server that handles delivery for this email address supports TLS encryption.",
"type": "boolean"
},
"usesConfusingCharacters": {
"description": "For use with the Gmail Homograph Warning extension. Whether the email contains mixed character sets that could be used to decieve users. This field is populated by the GMAIL_SECURITY_DATA extension.",
"type": "boolean"
}
},
"description": "Extension data for a person email.",
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiEmailExtendedData"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegistrationInfoListValue": {
"properties": {
"registrations": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegistrationInfo"
}
}
},
"description": "Wrapper around registrations so that the field can be unset.",
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegistrationInfoListValue"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BandwidthParams": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BandwidthParams",
"type": "object",
"properties": {
"maxBandwidthKbps": {
"description": "Maximum bandwidth. Unset means no limit.",
"type": "integer",
"format": "uint32"
}
},
"description": "Bandwidth parameters for the stream."
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPhoneExtendedData": {
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPhoneExtendedData",
"properties": {
"structuredPhone": {
"description": "For use with Hangouts extension.",
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiStructuredPhone"
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1InformInviterRequest": {
"description": "InformInviterRequest is the request to lookup registrations and send messages to the inviter.",
"properties": {
"inviteeMessageType": {
"type": "string",
"enum": [
"UNKNOWN",
"INVITEE_REWARDS_MESSAGE_TYPE"
],
"enumDescriptions": [
"",
"Message is of type InviteeRewardsMessage"
],
"description": "Indicates what sort of message is in invitee_message."
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"inviteeMessage": {
"format": "byte",
"description": "message is the actual payload bytes. This will be marshal of protos client defines.",
"type": "string"
},
"inviterId": {
"type": "string"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1InformInviterRequest"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ChangeMediaTTLResponse": {
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ChangeMediaTTLResponse",
"type": "object"
},
"InstantmessagingPaSocialGraphApiProtoConsistencyLevelOptions": {
"description": "Additional options to be provided for specific ConsistencyLevel values.",
"type": "object",
"properties": {
"boundedConsistency": {
"description": "If ConsistencyLevel.BOUNDED is used, BoundedConsistency may be set to provide a tighter consistency bound than the default bound for cases in which a consistency token cannot be sent. Clients should prefer to specify a consistency token for read-after-write guarantee. Do not use without consulting service owners.",
"$ref": "InstantmessagingPaSocialGraphApiProtoConsistencyLevelOptionsBoundedConsistency"
},
"exactTimestamp": {
"description": "Required for ConsistencyLevel.EXACT",
"format": "google-datetime",
"type": "string"
},
"staleConsistency": {
"description": "When ConsistencyLevel.STALE is used, StaleConsistency may be set to provide detail options to the cache layer.",
"$ref": "InstantmessagingPaSocialGraphApiProtoConsistencyLevelOptionsStaleConsistency"
}
},
"id": "InstantmessagingPaSocialGraphApiProtoConsistencyLevelOptions"
},
"InstantmessagingPaGeoLocalBoqServiceareabusinessGetaquoteProtoMessageMetadata": {
"id": "InstantmessagingPaGeoLocalBoqServiceareabusinessGetaquoteProtoMessageMetadata",
"properties": {
"quoteDeclineReasonType": {
"description": "The reason user selected in radio button.",
"enumDescriptions": [
"",
"LINT.IfChange Indicate the consumer is not in the area that this business can perform the service.",
"Indicate the this business does not have availability to perform the service.",
"Indicate the service which consumer requested is not in the list of services this business can provide.",
"Indicate there is some other reason which cause this business to decline consumer's quote request. LINT.ThenChange(//depot/google3/java/com/google/geo/local/boq/serviceareabusiness/getaquote/ui/uilibweb/radiolist/radio_option_type.proto)"
],
"enum": [
"TYPE_UNSPECIFIED",
"NOT_IN_AREA",
"NO_AVAILABILITY",
"NOT_IN_SERVICE_LIST",
"OTHER"
],
"type": "string"
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContactSuggestion": {
"description": "Contact suggestion for the corresponding contact annotation. Next ID: 14",
"type": "object",
"properties": {
"address": {
"description": "A substring from the chat text that was identified as representing an telephone number",
"type": "string"
},
"email": {
"description": "A substring from the chat text that was identified as representing an e-mail address",
"type": "string"
},
"displayName": {
"type": "string"
},
"detectedName": {
"type": "string",
"description": "A substring from the chat text that was identifies as representing a name."
},
"lookupKey": {
"type": "string"
},
"otherParticipant": {
"type": "boolean",
"description": "True if the referent of this prediction is the other participant in this conversation. E.g., if the other party says \"this is bob\", then the resulting suggestion should have this field set to true and the detected_name field set to \"bob\"."
},
"contactPhotoUri": {
"type": "string"
},
"date": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1TimePoint",
"description": "Semantic representation of a time/date mention in the chat text. Could also be inferred from context. I.e., if the triggering text were \"happy birthday!\", we would populate this field with the date on which the message was sent."
},
"targetInfo": {
"enum": [
"NONE",
"ALL",
"PHONE",
"ADDRESS",
"EMAIL",
"NAME"
],
"type": "string",
"enumDescriptions": [
"",
"",
"",
"",
"",
""
]
},
"type": {
"enumDescriptions": [
"This value should never be seen in production.",
"Indicates that the client may want to offer a smart action to send contact information. Whether the client actually creates a smart action to send the information depends on whether the referenced contact exists and whether the contact contains the target info.",
"Indicates that this suggestion contains information about an individual that can be used to create/update a contact for that individual.",
"Introduction is the \"non-robotic\" way of quickly saying who you are when someone says \"new phone, who dis?\" Followup would be a share own-contact suggestion."
],
"description": "The type of contact prediction. Should always be specified.",
"type": "string",
"enum": [
"UNSET",
"SEND",
"UPDATE",
"INTRODUCTION"
]
},
"dateType": {
"type": "string",
"enum": [
"UNSPECIFIED",
"BIRTHDAY",
"ANNIVERSARY"
],
"enumDescriptions": [
"",
"",
""
]
},
"phoneNumber": {
"type": "string",
"description": "A substring from the chat text that was identified as representing a telephone number"
},
"annotation": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContactAnnotation"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContactSuggestion"
},
"InstantmessagingPaGoogleCommunicationsJibemessagestoreV1Payload": {
"id": "InstantmessagingPaGoogleCommunicationsJibemessagestoreV1Payload",
"type": "object",
"description": "The payload of the Object. ``",
"properties": {
"payloadUrl": {
"type": "string",
"description": "The location where the entire payload can be fetched. This can be an address referencing a different server where the payload (e.g. a payload with images) was stored."
},
"payloadParts": {
"description": "The list of payload part for the requested object ID.",
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleCommunicationsJibemessagestoreV1PayloadPart"
}
}
}
},
"InstantmessagingPaGoogleInternalAppsWaldoV1alphaUserAvailabilities": {
"id": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaUserAvailabilities",
"type": "object",
"description": "The current and future availabilities of a user. The response contains a timeline, which starts before or at the request time, and the timeline is split into a set of disjoint intervals (without gaps), where the first range always contains the request time. Each range represents what should be displayed in the UI during this time range. The time range might be different from the actual time range of the underlying status. For example, if the user is OOO from 09:00 to 10:00, and a request is made at 8:00, the response might contain two intervals: [08:00, 09:00) - \"User is INACTIVE, but leaving the office soon\" [09:00, 10:00) - \"User is OOO till 10:00\" For intervals that don't have a clear availability signal coming from Calendar (e.g. OOO), we return INACTIVE. For more details, please see https://docs.google.com/presentation/d/1ADCTxGawjF9UqMnfuVrVNxGvdyjeiV8h4D7p0a9zYgw/edit#slide=id.g3e2824ac6c_12_94 The service returns availabilities for some short period of time - likely one day, but the client should stick to the \"next_poll_time\" to decide when to query the server again at the latest. Below there is an example response from the server. Let's assume the client calls the service at 17:59:45. The client receives the message and, assuming its current time is between [17:59:45, 18:00:00), it displays \"inactive\". When the current time becomes 18:00:00 it displays \"outside working hours\". At 18:00:40 the client issues another rpc which will return the availabilities for the next minute. The original response looks like availabilities { time_range { start_time: 17:59:45 end_time: 18:00:00 } status { inactive {} } } availabilities { time_range { start_time: 18:00:00 end_time: 18:00:45 } status { outside_working_hours { } } } next_poll_time: 18:00:40",
"properties": {
"availabilities": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaUserAvailability"
},
"description": "A list of user availabilities having contiguous time ranges which are ordered chronologically. The first one starts at the time of the request or before, and is guaranteed to contain the request time. That means the first element always indicates the current status of a user. A client that wants to display a user's availability in real time should display the availability whose time range contains the current time."
},
"workingHours": {
"$ref": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaWorkingHours",
"description": "Information about the user's working hours. This will only be set in case working hours are enabled in their calendar settings."
},
"nextPollTime": {
"type": "string",
"format": "google-datetime",
"description": "The time at which the client should issue the next availability query for this user. This field should only be used to control the polling frequency. This time is always before the end of the time range of the last availability so that the client always knows the current availability."
}
}
},
"InstantmessagingPaSocialGraphWireProtoPeopleapiExtensionCorpDeskbookingLocationExtendedData": {
"id": "InstantmessagingPaSocialGraphWireProtoPeopleapiExtensionCorpDeskbookingLocationExtendedData",
"description": "Corp Deskbooking-related extension data for use with Location.",
"properties": {
"validityInterval": {
"$ref": "InstantmessagingPaGoogleTypeInterval",
"description": "If present, indicates that the location is valid only for this time interval."
}
},
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiBirthday": {
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiBirthday",
"description": "IMPORTANT NOTES: - Requesting person.birthday requires membership in the purpose limited data ACL group sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance with initial setup. - The birthday field should not be used to calculate the requester's age! To determine the requester's age, use person.age_range_repeated. - For more details about age see go/peopleapi-howto/age Birthday value may not be present: - Consumer users generally required to have account birthday set (required at account creation), though some users created via legacy flows may not have birthday present. - Dasher users generally don't require birthday, but could optionally have it set by users. - Any other types of accounts (e.g. robot, service) do not have birthdays. - Account Birthday field may be present but without birthday value set for grace period birthday (provisional new birthday). For users that do have birthday data: - \"Profile Birthday\" (person.birthday.metadata.container is PROFILE) may not have a year set if user \"hides\" the year. - \"Account Birthday\" (see api-specific notes below) will only be returned for the requester's own profile. API-SPECIFIC NOTES: - People API (go/peopleapi): * Account birthday is only supported in GetPeople for PeopleAPI. * If account birthday is needed, use a request mask with: `include_field { paths: \"person.birthday\" }` `include_container: ACCOUNT` - People API++ (go/peopleapi++): * Account birthday is supported for most apis in PeopleAPI++. * If account birthday is needed, use a request mask with: `include_field { paths: \"person.account_birthday\" }` `include_container: PROFILE` (note: it will also need `include_container: DOMAIN_PROFILE` because they must be requested together: go/people-api-masks#profile-domain_profile) - See go/papi-vs-papi++#birthday for more details. - Contact Service (go/contact-service): * TODO(b/193806657) Document Contact Service particulars",
"properties": {
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
},
"birthdayResolution": {
"enumDescriptions": [
"Birthday includes year, month, and day.",
"Birthday includes approximate year and month.",
"Birthday includes an approximate year."
],
"type": "string",
"enum": [
"FULL",
"MONTH_AND_APPROXIMATED_YEAR",
"APPROXIMATED_YEAR"
]
},
"ageDisableGracePeriod": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriod"
},
"dateMs": {
"type": "string",
"description": "Birthdays are currently represented as timestamp values, although the interpretation of these timestamp values is a calendar date. Clients are recommended to read the calendar_day field, which is easier to work with than date_ms. New clients writing to PeopleApi must set calendar_day instead of date_ms. There are a few important details about how this value should be mapped to a calendar date that should be consistent among all clients. 1. Epoch - The epoch or calendar date equivalent to 0 ms is chosen to be 1970-01-01 UTC. 2. Timezone - All of the conversions to calendars should occur in the UTC timezone. We don't typically think of someones birthday changing when they travel, so clients should not use local times. 3. Calendar - The calendar used for the dates should be a Gregorian proleptic calendar. Proleptic means that the rules of the Gregorian calendar are retrofitted to before its adoption. It is easy to get this wrong, particularly with the java GregorianCalendar class, which by default is a mixed Gregorian/Julian calendar. Joda Time makes this easy, but if it's not an option, look into GregorianCalendar.setGregorianChange(). 4. Omitted years - Clients have chosen to represent birthdays or events without years as timestamps within the year zero. When the computed date has a year of 0, it means the client did not specify a year. Note that a year 0 does not exist in a chronology like the familiar Anno Domini (A.D. and B.C.); clients must agree on year numbering. 5. Year Numbering - The chronology used to map dates to the calendar should use Astronomical Year Numbering so that the year 0 is defined and dates before it have a negative year. If libraries only provide Anno Domini, then the year of 1 BC corresponds to year zero and an omitted user provided year. Other BC values are presumed rare, but clients should still not ignore the era and interpret the year as an A.D. value, especially if writing values back to PeopleApi.",
"format": "int64"
},
"dateMsAsNumber": {
"format": "int64",
"type": "string",
"description": "date_ms_as_number contains the same data as date_ms, but has a different type in generated javascript bindings. Non javascript clients can ignore it."
},
"calendarDay": {
"$ref": "InstantmessagingPaGoogleTypeDate",
"description": "Birthdays are more accurately represented as a calendar day that does not depend on a timestamp representation at all. When given a timestamp, there are lots of opportunities to make mistakes, so a CalendarDay proto is replacing timestamps. Currently this is always returned by PeopleApi on reads that include birthday fields. New clients should write using calendar_day. Clients that were already writing via date_ms are allowlisted such that writes use that field. Old callers should migrate to writing BOTH date_ms and calendar_day values. If those are consistent, they may be removed from the 'legacy_timestamp_event_write_behavior_enabled' capability."
},
"value": {
"description": "Actual value entered. Allows unstructured values.",
"type": "string"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UnregisterGoogleRCSRequest": {
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UnregisterGoogleRCSRequest"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Ping": {
"type": "object",
"properties": {
"intensity": {
"description": "the intensity of the ping",
"enumDescriptions": [
"",
"",
"",
"",
""
],
"type": "string",
"enum": [
"UNKNOWN",
"LOW",
"MEDIUM",
"HIGH",
"URGENT"
]
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Ping"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetDecorationRequest": {
"description": "LINT.IfChange Most changes to this proto should be duplicated in java/com/google/chat/contentsharing/decorator/proto/decorator.proto.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetDecorationRequest",
"type": "object",
"properties": {
"type": {
"enumDescriptions": [
"",
"Link preview.",
"Message Translation",
"Quoted message.",
"Audio Transcription DEPRECATED(b/131437573)"
],
"enum": [
"UNKNOWN",
"LINK",
"TRANSLATION",
"QUOTE",
"TRANSCRIPTION"
],
"type": "string",
"description": "The type of decoration info to get."
},
"callerName": {
"enumDescriptions": [
"",
"",
"",
""
],
"type": "string",
"enum": [
"UNKNOWN_CALLER_NAME",
"ALLO_CALLER_NAME",
"BUGLE_CALLER_NAME",
"LIGHTER_CALLER_NAME"
],
"description": "Only needed if auth token is not present in header."
},
"locale": {
"type": "string",
"description": "Locale info."
},
"suspiciousness": {
"description": "Suspicion score from 0 to 1.0 generated by the Android Messages client. Very trusted: 0; very suspicious: 1.0.",
"format": "float",
"type": "number"
},
"countryCode": {
"description": "2-letter ISO country code. https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2",
"type": "string"
},
"header": {
"description": "RequestHeader is only used by Tachyon server.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"trigger": {
"description": "The content that triggers the decoration. Will match the type of decoration requested in type.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DecorationTrigger"
},
"enableLinkProtection": {
"type": "boolean",
"description": "Whether or not the client allows doing link safety."
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MessageContent": {
"type": "object",
"properties": {
"contentType": {
"type": "string",
"enum": [
"UNKNOWN",
"ANY_VALUE",
"RICH_TEXT",
"MEDIA_INFO",
"STICKER",
"LOCATION",
"RECEIPT",
"SUGGESTION",
"SENDER_STATUS",
"SENDER_EVENT",
"CONVERSATION_STATE_UPDATE",
"MEDIA_INFO_V2",
"TOMBSTONE",
"PING",
"MENTION",
"VCARD"
],
"description": "LINT.ThenChange(//depot/google3/logs/proto/webrtc/tachyon/backend_event.proto)",
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
]
},
"conversationStateUpdate": {
"description": "conversation_state_update partially updates the conversation states, such as themes and message expiration.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ConversationStateUpdate"
},
"vcard": {
"description": "vcard contains serialized vCard data. https://en.wikipedia.org/wiki/VCard",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1VCard"
},
"senderStatus": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SenderStatus",
"description": "sender_status is the sender status such as typing on/off."
},
"mediaInfo": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MediaInfo",
"description": "media_info is a media message such as image and video. We'll deprecate this field to replace it with media_info_v2"
},
"sticker": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Sticker",
"description": "sticker is a sticker message."
},
"suggestion": {
"description": "suggestion is a suggestion message from smart reply server.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SmartSuggestion"
},
"forwardingSignature": {
"format": "byte",
"description": "Digitial signature of content to be verified when forwarding.",
"type": "string"
},
"tombstone": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Tombstone",
"description": "tombstone message - e.g. X added Y to the group"
},
"anyValue": {
"description": "any_value represents any serialized data along with its type. This can reduce Tachyon's dependency on other protos as long as the sender and the receiver know how to marshal and unmarshal the data.",
"additionalProperties": {
"type": "any",
"description": "Properties of the object. Contains field @type with type URL."
},
"type": "object"
},
"ping": {
"description": "user pinged someone.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Ping"
},
"location": {
"description": "location is a location message, e.g., user picked location.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Location"
},
"richText": {
"description": "rich_text is text message with rich format, inputted by the user or bot.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RichText"
},
"receipt": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MessageReceiptDeprecated",
"description": "@deprecated use InboxMessage.receipt_payload instead. receipt is a receipt (e.g. read or expired) to the message sender."
},
"senderEvent": {
"description": "sender_event is a sender event such as starting a new conversation.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SenderEvent"
},
"mention": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Mention",
"description": "mention is message where a user or multiple users are tagged and will get extra notifications. Includes both message contents and tagged user(s)."
},
"mediaInfoV2": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MediaInfo",
"description": "media_info_v2 is a media message such as image/video or a shared file It will handle backward compatibility with old client that doesn't support new file types. It will replace media_info in the future"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MessageContent"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1TranscriptionDecoration": {
"description": "The transcription decoration. DEPRECATED(b/131437573)",
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1TranscriptionDecoration",
"properties": {
"transcription": {
"description": "The text transcription.",
"type": "string"
},
"confidenceScore": {
"type": "number",
"format": "float",
"description": "Confidence score for translation from 0 to 1.0."
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1VoteBotTombstoneOption": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1VoteBotTombstoneOption",
"properties": {
"text": {
"type": "string",
"description": "Text label for the option."
}
},
"type": "object"
},
"InstantmessagingPaSocialGraphApiProtoDelegatedGroupId": {
"description": "Represents a delegated group id, delegated groups refer to groups that are owned by another gaiaId, but this user has access to.",
"id": "InstantmessagingPaSocialGraphApiProtoDelegatedGroupId",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Required. The id for a delegated group."
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DuoGroupsCallInvitation": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DuoGroupsCallInvitation",
"description": "A Duo groups message used to 'ring' other group members.",
"type": "object",
"properties": {
"groupName": {
"type": "string",
"description": "the name of the group at the time of the ring"
},
"groupId": {
"description": "The ID of the group we're calling",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"groupCallSessionId": {
"type": "string",
"description": "see group_call_session_id in JoinGroupCallRequest and JoinGroupCallResponse This should only be used for logging and analytics."
},
"ringTarget": {
"description": "list of specific members we want to ring. empty means ring everyone",
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
}
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResetSelfUserInviteLinkRequest": {
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResetSelfUserInviteLinkRequest",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetContactsResponse": {
"type": "object",
"properties": {
"header": {
"description": "Clients should use the txn_timestamp_usec field inside the header to resolve conflicts with other updates.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"registeredContacts": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1IdProfile"
},
"type": "array"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetContactsResponse"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ClientGroupCallState": {
"description": "The call state for a particular client. It only has meaning when the client has joined the call. This state is distributed to all other clients in the group.",
"type": "object",
"properties": {
"mediaAccess": {
"items": {
"enumDescriptions": [
"",
"",
""
],
"type": "string",
"enum": [
"UNKNOWN",
"RECEIVE_AUDIO",
"RECEIVE_VIDEO"
]
},
"description": "Allows clients to join as view or listen only, and inform other clients about that state. The server will instruct media router to not send data the client is not allowed to see. For Duo, a \"view only\" client is a knock-knock client.",
"type": "array"
},
"clientProperties": {
"type": "object",
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"description": "Various properties maintained by clients that the media backend is uninterested in."
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ClientGroupCallState"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReplacePhoneReachabilityResponse": {
"properties": {
"accountInfo": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AccountInfo",
"description": "This is returned when the phone number is already reachable for the Gaia account."
},
"verification": {
"description": "The verification that contains challenge type and verification token.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PhoneReachabilityVerification"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReplacePhoneReachabilityResponse"
},
"InstantmessagingPaSocialGraphApiProtoLimitedProfileNameSettings": {
"id": "InstantmessagingPaSocialGraphApiProtoLimitedProfileNameSettings",
"properties": {
"verbatimFullName": {
"type": "string",
"description": "The actual textual name that was chosen by the user in the UI. E.g., if 'John Doe' chose 'John D.', this holds 'John D.'. While `partial_name_options` allows the limited profile name to be computed from the core name, the resulting shortened name might change across different versions of the name shortening logic, and we want to preserve the user's choice verbatim whenever possible. This field will be cleared when the two conditions below are met: (1) A successful core name change is not accompanied by a limited profile settings update and (2) The shortened name computed from `partial_name_options` yields a different result than what is originally stored in `verbatim_full_name`. When this happens, the limited profile is effectively *disabled*. E.g., if 'John Doe' from the example above changes their name to 'Jane Doe' and no LimitedProfileSettings are provided, `Jane D.` is the resulting shortened name. Therefore `verbatim_full_name` will be cleared and the limited profile settings will be disabled. On the other hand, if they change their name to `John Dõe`, the resulting shortened name remains `John D.`, and `verbatim_full_name` is kept as is."
},
"partialNameOptions": {
"$ref": "InstantmessagingPaSocialGraphApiProtoPartialNameOptions",
"description": "Required. Describes which shortening option the user implicitly chose for their limited profile. E.g., if 'John Doe' chose 'John D.', they implicitly chose: partial_name_options { given_name_spec { show_all: true } family_name_spec: { show_initial: true truncation_indicator: PERIOD } } While we'll in all cases serve the actual name chosen by the user for limited profiles (stored below), we'll use this information to recompute the default limited profile to be rendered to users when they change their core name."
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ShareLocationSuggestion": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ShareLocationSuggestion",
"properties": {},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterGaiaSilentRequest": {
"description": "RegisterGaiaSilentRequest is the request to silently register a device under existing GAIA account or create a new GAIA account. See details in go/tachyon-silent-registration. By default, If existing account is found, register the device. If not, depending on the mode, we may create a new account and register the device under the newly created account.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterGaiaSilentRequest",
"type": "object",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"mode": {
"type": "string",
"enum": [
"DEFAULT_GAIA_PN",
"GAIA_ONLY"
],
"enumDescriptions": [
"If existing GAIA+PN account is found, register the device. If not, scan constellation-verified PNs. If no such PNs, return NOT_FOUND error. For each constellation-verified PN, if this PN does not belong to any other account, create GAIA+PN account and register the device. If none of the PN works, return INVALID_ARGUMENT error.",
"If existing GAIA-only account is found, register the device; Otherwise, create GAIA-only account, and register the device."
]
},
"app": {
"type": "string",
"description": "The app the Register request is for. e.g. 'FB', 'TY', 'MS' etc."
},
"isGoogler": {
"description": "is_googler indicates if the request was sent by a google employee. This field is populated by irradiator.",
"type": "boolean"
},
"registerData": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterData"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterRefreshResponse": {
"description": "RegisterRefreshResponse is the response for RegisterRefreshRequest.",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"authToken": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AuthToken",
"description": "auth_token is the access token to be used in future requests to authenticate the client. In the future, this be empty if retry_with_server_timestamp is true."
},
"serverTimestamp": {
"format": "int64",
"description": "server_timestamp the server time defined as number of micro seconds since 1/1 1970. This should be used as issue_at to retry a RegisterRefreshRequest.",
"type": "string"
},
"accountInfo": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AccountInfo",
"description": "The account info for the registration. This will always be populated."
},
"registrationCheckWarning": {
"description": "registration_check_warning is used to tell the client warnings and errors that occurred during registration. If the type is CLIENT_UNSUPPORTED or ACCOUNT_SUSPENDED, the client will not receive a valid auth token. If the type is VERSION_CHECK_UPGRADE_APP the client will receive a valid auth token, but the client is encouraged to upgrade app. Note: This is not implemented yet. Please don't use this field.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegistrationCheckWarning"
},
"versionCheckWarning": {
"description": "version_check_warning is used to tell clients that they do not have the most up-to-date version combination.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1VersionCheckWarning"
},
"registrationId": {
"format": "byte",
"description": "The opaque registration id for this device. Set only when the device is registered. The client needs to check against default value. For example, empty bytes.",
"type": "string"
},
"retryWithServerTimestamp": {
"description": "retry_with_server_timestamp indicates that the issued_at timestamp used in the RegisterRefreshRequest was too far from server time. The request should be re-tried with the server_timestamp as issue_at.",
"type": "boolean"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterRefreshResponse",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PrewarmReceiverRequest": {
"description": "PrewarmReceiverRequest is the request to \"prewarm\" contacts by waking them up. See go/duo-prewarming",
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PrewarmReceiverRequest",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"priority": {
"description": "The priority of the message, if sent over GCM 5 is normal, 10 is high. The default value of 0 is interpreted as High.",
"type": "integer",
"format": "int32"
},
"pcParamsHint": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PeerConnectionParamsHint"
},
"contactIds": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
}
}
}
},
"InstantmessagingPaGoogleInternalMothershipSearchcardV1DeferredImage": {
"description": "This message represents a single deferred image.",
"properties": {
"failed": {
"type": "boolean",
"description": "If set to true, indicates that image deferral failed for this image."
},
"url": {
"type": "string",
"description": "The url of the image."
},
"data": {
"type": "string",
"description": "The raw data of the image.",
"format": "byte"
}
},
"id": "InstantmessagingPaGoogleInternalMothershipSearchcardV1DeferredImage",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SenderStatus": {
"properties": {
"status": {
"enumDescriptions": [
"",
"",
"",
"We do not need _OFF status for inking and capturing photo and video, the client will timeout after _ON.",
"",
""
],
"enum": [
"UNKNOWN",
"TYPING_ON",
"TYPING_OFF",
"CAPTURING_PHOTO_ON",
"CAPTURING_VIDEO_ON",
"INKING_ON"
],
"type": "string"
}
},
"description": "SenderStatus indicates the sender status such as typing on/off.",
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SenderStatus"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddSpamSignalV2Request": {
"description": "AddSpamSignalV2Request is a signal that is sent to the server that adds spam signals against a user. This API should be only by clients with no auth tokens. If you have an auth token, use AddSpamSignalRequest instead.",
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddSpamSignalV2Request",
"properties": {
"droidguardResult": {
"type": "string",
"description": "Result of the call to Droidguard on the device. This is used to validate that an authorized app is making this request from a physical device. Currently, this is only available for Android. Droidguard requires request to be bound to the content. This is used to prevent replay attacks on Droidguard response. This request requires content binding in the format of Map(key, value). To support this binding, the client should call DroidGuardClient.getResult with the map; Tachyon server should verify the map after getting decoded response from DroidGuard server."
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"reporter": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id",
"description": "The reporter of the spam signal."
},
"spamSignals": {
"description": "Spam signal are additive and add to any existing signal for the user.",
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddSpamSignalV2RequestSpamSignal"
}
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistory": {
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistory",
"description": "See ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.proto",
"type": "object",
"properties": {
"computedNicknameChangesRemaining": {
"format": "int32",
"description": "The number of nickname changes remaining at RPC request time. This can be more than nickname_changes_remaining, if user hasn't changed nickname for some time and accrued quota since last change.",
"type": "integer"
},
"quotaEnforcementStatus": {
"enumDescriptions": [
"",
"Name change quota is enforced.",
"Name change quota exists but is not enforced. This is used for users suspended due to abusive names, where users are allowed to change their names back to non-abusive state without being charged against the quota.",
"Name change quota does not apply. This is used for premium dasher users."
],
"enum": [
"UNKNOWN_QUOTA_ENFORCEMENT_STATUS",
"ENFORCED",
"NOT_ENFORCED",
"NOT_APPLICABLE"
],
"type": "string"
},
"nicknameLastModified": {
"format": "int64",
"description": "The last time the profile nickname was modified in milliseconds UTC.",
"type": "string"
},
"nameLastModified": {
"description": "The last time the profile name was modified in milliseconds UTC.",
"format": "int64",
"type": "string"
},
"computedNameChangesRemaining": {
"description": "The number of name changes remaining at RPC request time. This can be more than name_changes_remaining, if user hasn't changed name for some time and accrued quota since last change.",
"type": "integer",
"format": "int32"
},
"nameChangesRemaining": {
"type": "integer",
"format": "int32",
"description": "The number of name changes remaining at the time the name was last modified."
},
"nicknameChangesRemaining": {
"type": "integer",
"description": "The number of nickname changes remaining at the time the nickname was last modified.",
"format": "int32"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterGaiaSilentResponse": {
"properties": {
"authToken": {
"description": "auth_token is the access token to be used in future requests to authenticate the client.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AuthToken"
},
"isNewAccount": {
"description": "is_new_account indicates whether the account is newly created in this request.",
"type": "boolean"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"accountInfo": {
"description": "If account_found or new account is created, the device will be registered and the backend will return account info.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AccountInfo"
},
"versionCheckWarning": {
"description": "version_check_warning is used to tell clients that they do not have the most up-to-date version combination.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1VersionCheckWarning"
},
"registrationId": {
"description": "The opaque registration id for this device. Set only when the device is registered. The client needs to check against default value. For example, empty bytes.",
"format": "byte",
"type": "string"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterGaiaSilentResponse",
"type": "object"
},
"InstantmessagingPaGoogleInternalAppsWaldoV1alphaInactive": {
"id": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaInactive",
"description": "The status indicating that no other status applies.",
"type": "object",
"properties": {}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiIdentityInfo": {
"properties": {
"originalLookupToken": {
"description": "Original lookup token from the request that resulted in this person or one of its containers.",
"type": "array",
"items": {
"type": "string"
}
},
"previousPersonId": {
"description": "Any former IDs this person may have had, in the case that their ID may have changed. Populated only for sync requests. Examples of such changes include adding an edge to a contact that links to a profile. The ID will change from being contact-oriented to being profile-oriented. To be used to clear out old versions of a person.",
"type": "array",
"items": {
"type": "string"
}
},
"sourceIds": {
"description": "A list of sources contributing to the merged person, including profiles (with gaia-id), contacts and synthetic-contacts.",
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiSourceIdentity"
},
"type": "array"
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiIdentityInfo",
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nData": {
"type": "object",
"properties": {
"validationResult": {
"type": "string",
"enum": [
"UNKNOWN",
"IS_POSSIBLE",
"INVALID_COUNTRY_CODE",
"TOO_SHORT",
"TOO_LONG",
"IS_POSSIBLE_LOCAL_ONLY",
"INVALID_LENGTH"
],
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
""
]
},
"internationalNumber": {
"type": "string"
},
"regionCode": {
"type": "string"
},
"nationalNumber": {
"type": "string"
},
"isValid": {
"type": "boolean"
},
"countryCode": {
"format": "int32",
"type": "integer"
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nData"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffData": {
"properties": {
"redDiff": {
"format": "float",
"type": "number"
},
"blueDiff": {
"type": "number",
"format": "float"
},
"greenDiff": {
"format": "float",
"type": "number"
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffData",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MediaSessionResponseParameters": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MediaSessionResponseParameters",
"description": "Parameters returned from CreateMediaSession needed to connect to a media router.",
"properties": {
"rtpParams": {
"description": "RTP parameters - header extensions, etc.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RtpServerParams"
},
"serverConnectionRole": {
"enum": [
"UNKNOWN_CONNECTION_ROLE",
"ACTIVE",
"PASSIVE",
"ACTPASS"
],
"description": "Role taken by the server in setting up DTLS.",
"type": "string",
"enumDescriptions": [
"",
"",
"",
""
]
},
"serverIce": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1IceParams",
"description": "Parameters for the server."
},
"serverFingerprint": {
"description": "Server x509 certificate fingerprint, used for DTLS.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Fingerprint"
},
"streams": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ClientReceiveStream"
},
"description": "Streams known at time of session creation. These will be server configured streams, such as virtual audio SSRCs that exist independent of any peers."
},
"quartcParams": {
"description": "Quartc parameters. Not really needed for now, included for completeness.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1QuartcServerParams"
},
"serverIceCandidates": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ServerIceCandidate"
},
"description": "ICE candidates for the server - where the server can be connected at.",
"type": "array"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DuoGroupsCallCancelInvitation": {
"type": "object",
"properties": {
"ringId": {
"format": "int64",
"description": "An identifier that associates this Cancel with a prior DuoGroupsCallInvitation. Clients should fill this with the InboxSendResponse.timestamp of the associated DuoGroupsCallInvitation request.",
"type": "string"
},
"reason": {
"type": "string",
"enumDescriptions": [
"This value catches any unknown values, e.g. set by a writer implementing more values for this enum. The reader SHOULD treat this as CALLER_HUNG_UP.",
"The caller hung up. The callee SHOULD display a missed call notification.",
"Another device in the callee's account picked up. The callee SHOULD NOT display a missed call notification.",
"In a multi-ring call, any of callee's devices declined with USER_BUSY. The callee SHOULD display a missed call notification.",
"In a multi-ring call, any of callee's devices declined with UNKNOWN_USER_REJECT. The callee SHOULD display a missed call notification.",
"In a multi-ring call, any of callee's devices declined with CALLEE_REJECT. The callee SHOULD NOT notify of a missed call but MAY make a missed call entry.",
"In a multi-ring call, any of callee's devices declined with OTHER_USER_REJECT. The callee SHOULD notify of a missed call.",
"All of the callee's devices declined with DEVICE_BUSY. The callee SHOULD notify of a missed call.",
"The caller encountered an error and needs to widthraw the invitation."
],
"enum": [
"UNKNOWN",
"CALLER_HUNG_UP",
"OTHER_DEVICE_PICKED_UP",
"USER_BUSY_OTHER_DEVICE",
"UNKNOWN_USER_REJECTED_OTHER_DEVICE",
"CALLEE_REJECTED_OTHER_DEVICE",
"OTHER_USER_REJECTED_OTHER_DEVICE",
"ALL_DEVICES_BUSY",
"CLIENT_ERROR"
],
"description": "Reason to cancel the invitation."
},
"groupCallSessionId": {
"description": "see group_call_session_id in DuoGroupsCallInvitation",
"type": "string"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DuoGroupsCallCancelInvitation",
"description": "A Duo groups message used cancel DuoGroupsCallInvitation."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiverMessage": {
"description": "ReceiverMessage contains a message id and the receiver of the message. A message can be received by the phone number reachability or by the email reachability of the receiver. Both message_id and receiver_id need to be set. This proto is DEPRECATED: context: go/ackmessages-security-fix receiver_id is no longer consumed by the server",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ReceiverMessage",
"properties": {
"receiverId": {
"description": "This proto is DEPRECATED: context: go/ackmessages-security-fix receiver_id is no longer consumed by the server. If it is provided the server will ignore it. receiver_id should either be PHONE_NUMBER or EMAIL. See IdType in tachyon_enums.proto for details.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"messageId": {
"type": "string"
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalPeopleV2ContactLookupOptions": {
"properties": {
"emailLookupType": {
"enumDescriptions": [
"",
"Return all contacts containing the email or joined to a profile containing the email. The slowest lookup as it may internally read all contacts and joined profiles.",
"Match only contacts containing the email. The fastest lookup."
],
"type": "string",
"description": "Specify how to lookup contacts by email. The default is EMAIL_IN_CONTACTS_OR_JOINED_PROFILES.",
"enum": [
"UNKNOWN",
"EMAIL_IN_CONTACTS_OR_JOINED_PROFILES",
"EMAIL_IN_CONTACTS_ONLY"
]
}
},
"description": "Options for how lookup contacts on a ListPeopleByKnownIdRequest",
"id": "InstantmessagingPaGoogleInternalPeopleV2ContactLookupOptions",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1InconsistentSessionExperiment": {
"description": "This type of experiments is guaranteed to be consistent for a group call on server side, but is not guaranteed to be consistent on client side.",
"properties": {
"experimentId": {
"type": "integer",
"format": "int32",
"description": "External experiment id used for logging to clearcut."
},
"videoResolutionExperiment": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1VideoResolutionExperiment"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1InconsistentSessionExperiment",
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiCustomerInfo": {
"properties": {
"customerId": {
"type": "string",
"format": "int64",
"description": "DEPRECATED. Use obfuscated_customer_id instead. If result has a GSuite Customer ID, this field will continue to be populated with -1 to indicate the presence of a value for backwards compatibility with clients in the wild. See b/144596193."
},
"obfuscatedCustomerId": {
"type": "string",
"description": "Obfuscated FlexOrgs customer ID for Dasher user. See cs/symbol:CustomerIdObfuscator."
},
"customerName": {
"description": "Customer organization name for dasher user.",
"type": "string"
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiCustomerInfo",
"type": "object",
"description": "Contains customer data for profile owner proxied from D3."
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiLatLng": {
"properties": {
"lng": {
"format": "double",
"type": "number"
},
"lat": {
"format": "double",
"type": "number"
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiLatLng",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1EchoResponse": {
"properties": {
"payload": {
"type": "string",
"format": "byte"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1EchoResponse",
"type": "object"
},
"InstantmessagingPaGoogleInternalMothershipSearchcardV1RenderedCard": {
"type": "object",
"description": "NEXT ID: 11",
"properties": {
"component": {
"description": "The component root of this card. May be unset if this instance doesn't contain a card (e.g. just deferred images).",
"$ref": "InstantmessagingPaQuiltComponent"
},
"deferredImage": {
"description": "A list of deferred images. May or may not be for this card, e.g. if this instance contains only deferred images for cards earlier in the stream.",
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalMothershipSearchcardV1DeferredImage"
}
},
"cardId": {
"description": "An identifier for the card. This is needed for ComponentView services such as InteractionPerformer to act on an individual card, as ComponentView services are shared across all rendered cards.",
"type": "string"
},
"styleConfig": {
"description": "Style config used for styling components on the client.",
"$ref": "InstantmessagingPaGoogleInternalMothershipSearchcardV1StylesStyleConfig"
}
},
"id": "InstantmessagingPaGoogleInternalMothershipSearchcardV1RenderedCard"
},
"InstantmessagingPaGoogleInternalPeopleV2ListPeopleByKnownIdResponse": {
"description": "Response from a lookup request.",
"type": "object",
"id": "InstantmessagingPaGoogleInternalPeopleV2ListPeopleByKnownIdResponse",
"properties": {
"people": {
"type": "object",
"description": "Mapping from the person_id's in matches to the person resources.",
"additionalProperties": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPerson"
}
},
"matches": {
"type": "array",
"description": "All the matches from a given list people by known id query. NOTE: There may be entries where lookup_id is empty although person_id(s) are present. This can occur in edge-cases/bugs where the matching to lookup id didn't work.",
"items": {
"$ref": "InstantmessagingPaGoogleInternalPeopleV2ListPeopleByKnownIdResponseMatch"
}
}
}
},
"InstantmessagingPaSocialGraphApiProtoSearchProfileMetadata": {
"description": "This proto represents metadata of the users SearchProfile like profile state, GOG account id etc.,",
"properties": {
"aresId": {
"type": "string",
"description": "Ares id used for tracking the auto moderation."
},
"state": {
"description": "Current state of the Search Profile.",
"type": "array",
"items": {
"$ref": "InstantmessagingPaSocialGraphApiProtoSearchProfileState"
}
},
"accountMid": {
"description": "Account KG entity mid assigned to this user required by old janata serving stack. This is not required anymore for serving. But might need it for historical purposes. See https://hume.google.com/edit/g/11gg6cyvch for more details.",
"type": "string"
},
"accountId": {
"description": "Unique contributor account id allocated by presence/janata infrastructure. This will be used in the frontend for various actions like reporting errors, photo uploads etc., go/boba-janata, go/cleanup-contributor-creation",
"type": "string"
}
},
"type": "object",
"id": "InstantmessagingPaSocialGraphApiProtoSearchProfileMetadata"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1IntImage": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1IntImage",
"properties": {
"pixels": {
"type": "array",
"items": {
"format": "int32",
"type": "integer"
}
}
}
},
"InstantmessagingPaSocialGraphApiProtoPartialNameOptions": {
"properties": {
"twoPartNameSpec": {
"$ref": "InstantmessagingPaSocialGraphApiProtoPartialNameOptionsTwoPartNameSpec"
},
"language": {
"description": "IETF BCP-47 language code that should be used for localizing the name computation (go/bcp-47). If not provided, we'll use the name origin detector to infer it. If unable to detect, \"en\" will be assumed.",
"type": "string"
},
"parsedDisplayNameSpec": {
"$ref": "InstantmessagingPaSocialGraphApiProtoPartialNameOptionsParsedDisplayNameSpec"
}
},
"id": "InstantmessagingPaSocialGraphApiProtoPartialNameOptions",
"type": "object"
},
"InstantmessagingPaSocialGraphApiProtoLimitedProfilePictureSettings": {
"properties": {
"profilePictureOption": {
"enum": [
"PROFILE_PICTURE_OPTION_UNSPECIFIED",
"STANDARD_PROFILE_PICTURE",
"MONOGRAM"
],
"type": "string",
"enumDescriptions": [
"",
"Display the same picture used in the core profile. If there is no picture in the core profile, it will fallback to the `MONOGRAM` option below, so as to avoid revealing more initials than the limited profile does.",
"Display a monogram photo. The monogram will be computed from the short name, as to not leak information from the core name. E.g., if the core name is `John Doe` and the limited profile name is `Doe`, the monogram will show `D` (versus `J` that would be shown for `John Doe`)."
]
}
},
"type": "object",
"id": "InstantmessagingPaSocialGraphApiProtoLimitedProfilePictureSettings"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfo": {
"description": "Raw device contact information.",
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfo",
"properties": {
"rawContactId": {
"type": "string",
"format": "int64",
"description": "The id of the raw contact on the device."
},
"appInfo": {
"description": "The app-specific endpoint data needed for app action fulfillment. Usage of this field should be avoided on the server-side, and should use the more detailed |full_app_info| field. ",
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiAppUniqueInfo"
},
"crossDeviceAllowed": {
"type": "boolean",
"description": "If true, this raw contact can be used on other devices than the one it originated from. Assigned by the server."
},
"accountName": {
"description": "Account name of raw contact, e.g. \"google@gmail.com\".",
"type": "string"
},
"appContactData": {
"type": "array",
"description": "The detailed app-specific endpoint data available for the given RawDeviceContactInfo instance. This proto should be used to obtain the list of actions and mimetypes supported by the third-party app. Design: go/3p-contact-upload",
"items": {
"$ref": "InstantmessagingPaSocialGraphApiAppContactData"
}
},
"id": {
"type": "string",
"description": "The base64 serialized social.graph.peopleapi.proto.internal.RawDeviceContactId. This id should be used to correlate to field.metadata.encoded_container_id when the field.metadata.container_type is RAW_DEVICE_CONTACT The id also correlates to person.metadata.identity_info.source_id.id."
},
"photoType": {
"enum": [
"PHOTO_TYPE_UNKNOWN",
"NO_PHOTO",
"THUMBNAIL",
"FULL_SIZE_PHOTO"
],
"type": "string",
"description": "The type of photo from the device (if any).",
"enumDescriptions": [
"",
"This raw contact doesn't have a photo.",
"This raw contact only has a thumbnail.",
"This raw contact has a full size photo."
]
},
"accountType": {
"type": "string",
"description": "Account type of raw contact, e.g. \"com.google\" or \"com.linkedin.android\"."
},
"rawDeviceContactAnalyticalInfo": {
"description": "Only to be used by Romanesco team specifically for analytics.",
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfo"
},
"deviceContactMetadata": {
"description": "Extra metadata for this raw contact.",
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiDeviceContactExtraMetadata"
},
"googleContactId": {
"description": "The focus contact id for Google contacts.",
"format": "int64",
"type": "string"
}
}
},
"InstantmessagingPaGoogleInternalPeopleV2CertificateParams": {
"description": "Parameters for what type of certificates are merged into responses.",
"properties": {
"requestCertificates": {
"description": "The types of certificates to include in People API responses.",
"items": {
"enum": [
"REQUEST_CERTIFICATES_UNKNOWN",
"SMIME_EMAIL_CERTIFICATE"
],
"enumDescriptions": [
"Do not request certificate data (the default behavior).",
"S/MIME certificates are merged into a person's Email fields."
],
"type": "string"
},
"type": "array"
}
},
"id": "InstantmessagingPaGoogleInternalPeopleV2CertificateParams",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MoneyAnnotation": {
"properties": {
"money": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Money"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MoneyAnnotation",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1QuoteDecoration": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1QuoteDecoration",
"properties": {
"contentType": {
"description": "The type of the quoted message.",
"type": "string"
},
"displayText": {
"description": "The text displayed in the quoted message preview.",
"type": "string"
},
"contentUri": {
"description": "The content which should be shown in the quoted message preview.",
"type": "string"
},
"senderDisplayName": {
"type": "string",
"description": "The sender name displayed in the quoted message preview."
}
},
"type": "object",
"description": "The decoration for message reply which is a preview of the quoted message."
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiDeviceContactExtraMetadata": {
"description": "Extra metadata for an aggregated or raw device contact.",
"properties": {
"attributes": {
"description": "Attributes for this device contact.",
"items": {
"enumDescriptions": [
"",
"This contact is starred."
],
"enum": [
"ATTRIBUTE_UNKNOWN",
"STARRED"
],
"type": "string"
},
"type": "array"
},
"usageInfo": {
"type": "array",
"description": "Usage info for this device contact.",
"items": {
"$ref": "InstantmessagingPaSocialGraphApiProtoUsageInfo"
}
}
},
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiDeviceContactExtraMetadata"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RerankerScore": {
"properties": {
"value": {
"type": "number",
"format": "double"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RerankerScore",
"description": "Reranker score, used as a wrapper to distinguish cases where the score is not set from cases where the value is actually 0"
},
"InstantmessagingPaGeoLocalBoqServiceareabusinessGetaquoteProtoChattyType": {
"properties": {
"type": {
"enum": [
"TYPE_UNSPECIFIED",
"QUOTE",
"MESSAGING",
"BOOKING",
"PRODUCT_CHAT",
"QUOTE_REPLY_SEND_QUOTE",
"QUOTE_REPLY_DECLINE_QUOTE",
"MESSAGE_REPLY",
"LOCAL_POST_MESSAGE",
"BOOKING_SUGGESTION_CHIP",
"REVIEW_PRIVATE_REPLY",
"SERVICES_REQUEST_QUOTE"
],
"enumDescriptions": [
"Business messaging based product type.",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"Email-first based product type."
],
"type": "string"
}
},
"type": "object",
"id": "InstantmessagingPaGeoLocalBoqServiceareabusinessGetaquoteProtoChattyType"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ClientMessage": {
"description": "Next ID: 24",
"type": "object",
"properties": {
"invitation": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Invitation"
},
"duoGroupsCallInvitation": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DuoGroupsCallInvitation"
},
"bye": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Bye"
},
"duoGroupsCallAckInvitation": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DuoGroupsCallAckInvitation"
},
"videoMode": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ToggleVideoMode"
},
"inCallCapsChangeMessage": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1InCallCapsChangeMessage"
},
"duoGroupsCallDeclineInvitation": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DuoGroupsCallDeclineInvitation"
},
"duoGroupsCallAcceptInvitation": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DuoGroupsCallAcceptInvitation"
},
"offer": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SessionDescriptionOffer"
},
"acceptInvitation": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AcceptInvitation"
},
"cancelInvitation": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CancelInvitation"
},
"audioMode": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ToggleAudioMode"
},
"iceCandidatesUpdate": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1IceCandidatesUpdate"
},
"mediaParametersRequest": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MediaParametersRequest"
},
"screenShare": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ToggleScreenShare"
},
"duoGroupsCallScreenShare": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ToggleScreenShare"
},
"iceCandidate": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1IceCandidate"
},
"quartcTransportMessage": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1QuartcTransportMessage"
},
"declineInvitation": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DeclineInvitation"
},
"answer": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SessionDescriptionAnswer"
},
"ackInvitation": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AckInvitation"
},
"duoGroupsCallCancelInvitation": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1DuoGroupsCallCancelInvitation"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ClientMessage"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MdmListPeopleByKnownIdRequest": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MdmListPeopleByKnownIdRequest",
"type": "object",
"properties": {
"listPeopleByKnownIdRequest": {
"$ref": "InstantmessagingPaGoogleInternalPeopleV2ListPeopleByKnownIdRequest"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiMatchInfoLookupTokenMatch": {
"properties": {
"endIndex": {
"format": "int32",
"type": "integer",
"description": "Index right after the last character that matches the query. length = end-start, we have substring = [start, end)."
},
"startIndex": {
"type": "integer",
"format": "int32",
"description": "Index of the first unicode character that matches the query."
}
},
"description": "All the substring that were matched for the given query against the current field. Represents a substring of another string.",
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiMatchInfoLookupTokenMatch"
},
"InstantmessagingPaGoogleInternalAppsWaldoV1alphaWorkingElsewhereContext": {
"properties": {
"location": {
"description": "The new location of the user. Might represent home / another building, or a random address on the map.",
"$ref": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaUserLocation"
}
},
"id": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaWorkingElsewhereContext",
"type": "object",
"description": "The context indicating the user is working remotely (from home / from a different office)."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UpgradeAccountResponse": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UpgradeAccountResponse",
"type": "object",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"authToken": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AuthToken",
"description": "auth_token is the access token to be used in future requests to authenticate the client."
},
"registrationId": {
"format": "byte",
"type": "string",
"description": "The opaque registration id for this device."
},
"accountInfo": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AccountInfo",
"description": "If the device is registered, the backend will return account info."
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LookupUserInviterIdResponse": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LookupUserInviterIdResponse",
"description": "LookupUserInviterIdResponse is the response for LookupUserInviterId.",
"properties": {
"preferredUserId": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id",
"description": "preferred_user_id is an ID of the inviter. It is a phone number or email, with phone number preferred."
},
"registrationIds": {
"items": {
"type": "string",
"format": "byte"
},
"type": "array"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SendFiMessageRequest": {
"description": "Request message for MessagesMultiDevice.SendFiMessage This request message is coupled to the implementation of Messages-Web app because it is intended to be used exclusively by the Messages-Web app",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SendFiMessageRequest",
"type": "object",
"properties": {
"conversationId": {
"type": "string",
"description": "The conversation that this message is a part of"
},
"payload": {
"description": "The payload that must be stored in CMS. This is encrypted using a user-specific key that is not known to Google servers. The Payload field from the message store is directly included here instead of defining some fields that would ultimately be converted to Payload by the server. The Payload format is a contract shared by Messages-Web and Bugle. Messages-Web and Bugle download Objects directly from CMS to render and are required to know the format of Payload. Creating an abstraction in this API will exempt Messages-Web from interpreting the Payload format. By using messagestore.Payload, the server is decoupled from the encryption logic and this reduces the entities that interpret the Payload format. If the contract changes, the server need not change. The role of the server is to orchestrate sending the message via Fi, storing it in CMS and managing errors.",
"$ref": "InstantmessagingPaGoogleCommunicationsJibemessagestoreV1Payload"
},
"messageType": {
"enum": [
"UNKNOWN",
"SMS",
"MMS"
],
"type": "string",
"enumDescriptions": [
"Unsupported type.",
"The message that being sent is a SMS (Short Message Service).",
"The message that being sent is a MMS (Multimedia Message Service)."
]
},
"recipients": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MobileAddress"
},
"type": "array",
"description": "Messages with message_type MMS can have have multiple recipients. The server will fan-out the message to each of the recipients."
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"smsMessage": {
"description": "The SMS message",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SmsMessage"
},
"mmsMessage": {
"description": "The MMS message",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MmsMessage"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ImageSearchParams": {
"properties": {
"maxPartnerContent": {
"description": "The number of partner content items to return. Design: go/allo-partner-gifs. The type of content is determined by the SuggestionType enum.",
"format": "int32",
"type": "integer"
},
"sourceType": {
"description": "The source of the request. Used only for logging in image search. e.g. \"cw_android\"",
"type": "string"
},
"country": {
"type": "string",
"description": "The chosen country of the client. Used for gws GL parameter (e.g. \"IN\")."
},
"category": {
"items": {
"type": "string"
},
"description": "The partner gif categories we want to search within. Returns gifs that belong to all of the provided categories.",
"type": "array"
},
"sourceNode": {
"enumDescriptions": [
"",
"",
"A client if we do not know which one below.",
"",
"HTTP connection server",
"group server",
"registration server",
"bot server, deprecated.",
"media server",
"smart suggestion server",
"",
"",
"",
"",
"",
"",
"gRPC connection server",
"Fireball's iOS push notification server",
"",
"Internal RPC node for Collider to push message.",
"GCM server to send GCM tickle to Android device.",
"Google's APNs Proxy that talks to Apple's Push",
"Notification Service. CAP bot router.",
"Profile, blocking and contact list service.",
"Data maintenance service.",
"Gate between Tachyon and GTP SMS RELAY Service.",
"SMS receiver for CAP. Only used for Target Only",
"Numbers. Tachyon prober.",
"GTP SMS RELAY Service to send and receive",
"SMS messages. Matchstick internal server that handles",
"logic specific to Matchstick Client. Matchbox Server exposes App Preview Messaging",
"API to 3P/1P applications to be able to send messages to Matchstick users. Collider implementation of the MessageReceiver",
"service. spam is a node which classifies spam, and",
"provides enforcement mechanisms. Irradiator implementation of the",
"MessageReceiver service. Janitor queue receiver.",
"Matchstick Proxy that routes the rpcs from",
"matchstick and matchbox clients to IM or Matchstick servers correspondingly. Micro machine proxy routes the rpcs to micro",
"machine service. Internal Condenser Scotty Agent node.",
"Public Duo service node - go/truecaller-duo-reachability",
"",
"Irradiator - Abuse frontend",
"Irradiator - Bots frontend",
"Irradiator - Conversation frontend",
"Irradiator - Fireball frontend",
"Irradiator - Group frontend",
"Irradiator - Messaging frontend",
"Irradiator - Pairing frontend",
"Irradiator - Peer to peer frontend",
"Irradiator - Registration frontend",
"Irradiator - Userdata frontend",
"Irradiator - Smart messaging frontend",
"Spam User Data Node",
"",
"",
"",
"Client implemented by DuoCore/TaCL, on any platform",
"Irradiator - Internal",
"registration services Irradiator - Group calling frontend",
"",
"Irradiator - scotty agent",
"Collider implementation of the PushQueueReceiver",
"Irradiator - Internal",
"Lighter Frontend Service Node.",
"Lighter Backend Service Node.",
"Manual Spam Job",
"Lighter Android client node.",
"Lighter iOS client node.",
"Queue receiver for gaia contacts in",
"Cleaner node.",
"Service to deliver message to external server. See: go/tachyon_server_delivery",
"External server Tachyon delivers message to.",
"Cleaner queue receiver.",
"Irradiator - Duo group call frontend",
"Irradiator - Key Transparency frontend",
"Chrome Remote Desktop endpoints.",
"",
"",
"",
"",
"Queue Receiver for syncing Tachyon accounts with Whitepages.",
"Notification platform - go/chime",
"Lighter Backend Admin Service (internal) Node.",
"",
"Android Messages MultiDevice node",
"Internal RPC node called by Exciter for Duo",
"Spam front end node",
"Cleaner queue receiver for deleting media blobs.",
"Media Service in Irradiator.",
"Card Caching Server used by Assistant in Messages.",
"Jibe servers.",
"",
"",
"Bugle RCS client",
"Gaia Listener for Gaia user state change events.",
"Irradiator DuoService for Duo-specific RPCs.",
"",
"",
"",
"RCS Usage Service",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"Geo Merchant (GMB) Messaging Service Node.",
"",
"",
"",
"",
"",
""
],
"type": "string",
"description": "The Tachyon node type source of the request.",
"enum": [
"UNKNOWN",
"COLLIDER",
"CLIENT",
"CLEARCUT",
"ENTANGLER",
"DISTRIBUTOR",
"GENERATOR",
"EXTRACTOR",
"CONDENSER",
"SUGGESTER",
"FIREBALL_ANDROID_CLIENT",
"FIREBALL_IOS_CLIENT",
"TACHYON_ANDROID_CLIENT",
"TACHYON_IOS_CLIENT",
"AUDIOWEAR_ANDROID_CLIENT",
"AUDIOWEAR_IOS_CLIENT",
"IRRADIATOR",
"EXCITER",
"MATCHSTICK_ANDROID_CLIENT",
"COLLIDER_PUSHER",
"GCM",
"APNS_PROXY",
"BOT_ROUTER",
"USERDATA",
"JANITOR",
"TEXTER",
"CAP_SMS_RECEIVER",
"TACHYON_PROBER_CLIENT",
"SMS_RELAY",
"MATCHSTICK",
"MATCHBOX",
"COLLIDER_RECEIVER",
"SPAM",
"IRRADIATOR_RECEIVER",
"CLEANER_QUEUERECEIVER",
"MATCHSTICK_PROXY",
"MICRO_MACHINE_PROXY",
"INTERNAL_CONDENSER",
"DUO_API_SERVICE",
"FIREBALL_DESKTOP_CLIENT",
"IRRADIATOR_ABUSE",
"IRRADIATOR_BOTS",
"IRRADIATOR_CONVERSATION",
"IRRADIATOR_FIREBALL",
"IRRADIATOR_GROUP",
"IRRADIATOR_MESSAGING",
"IRRADIATOR_PAIRING",
"IRRADIATOR_PEERTOPEER",
"IRRADIATOR_REGISTRATION",
"IRRADIATOR_USERDATA",
"IRRADIATOR_SMARTMESSAGING",
"SPAM_USER_DATA",
"DUO_DESKTOP_CLIENT",
"DUO_GOOGLE_HOME_CLIENT",
"DUO_WEB_CLIENT",
"DUOCORE_CLIENT",
"IRRADIATOR_REGISTRATION_INTERNAL_SERVICE",
"IRRADIATOR_GROUP_CALLING",
"GLUON",
"IRRADIATOR_SCOTTY_AGENT",
"COLLIDER_RCS_UNREGISTERED_RETRY",
"IRRADIATOR_USERDATA_INTERNAL",
"LIGHTER_FRONTEND_SERVICE",
"LIGHTER_BACKEND_SERVICE",
"MANUAL_SPAM_JOB",
"LIGHTER_ANDROID_CLIENT",
"LIGHTER_IOS_CLIENT",
"GAIA_CONTACTS_QUEUE_RECEIVER",
"CLEANER",
"COLLLIDER_SERVER_DELIVERY_SERVICE",
"EXTERNAL_SERVER",
"CLEANER_QUEUE_RECEIVER",
"IRRADIATOR_DUO_GROUP_CALLING",
"IRRADIATOR_KEY_TRANSPARENCY",
"CHROMOTING_ANDROID_CLIENT",
"CHROMOTING_IOS_CLIENT",
"CHROMOTING_WEB_CLIENT",
"CHROMOTING_HOST",
"IRRADIATOR_DUO_REGISTRATION",
"WHITEPAGES_QUEUE_RECEIVER",
"CHIME",
"LIGHTER_ADMIN_SERVICE",
"USERDATA_PUBSUB_ENDPOINT",
"MESSAGES_MULTI_DEVICE",
"DUO_NOTIFICATION",
"SPAM_FRONT_END",
"CLEANER_BLOBGC_QUEUE_RECEIVER",
"IRRADIATOR_MEDIA_SERVICE",
"CARD_CACHING_SERVER",
"DUBNIUM_SERVER",
"PLATINUM_SERVER",
"SPINEL_SERVER",
"RCS_ANDROID_CLIENT",
"USER_DATA_GAIA_LISTENER",
"IRRADIATOR_DUO",
"SPANNER",
"COMMS_SUITE",
"HOME_ENTERPRISE_SERVER",
"RCS_USAGE_SERVICE",
"IRRADIATOR_RCS_USAGE_SERVICE",
"DUO_ACCOUNT_CHANGE_LISTENER",
"USERDATA_QUEUE_RECEIVER",
"DISTRIBUTOR_FAN_OUT_QUEUE_RECEIVER",
"SPINEL",
"TACHYGRAM_SERVICE",
"DATA_DONATION_SERVICE",
"GAIA_WIPEOUT_NOTIFIER",
"PUBSUB",
"TACHYON_CUSTOM_PROBER",
"NUMBERER",
"ASSISTANT",
"ARES",
"BLOBSTORE",
"GFE_ESF",
"URANIUM_SERVER",
"LIGHTER_BACKEND",
"LIGHTER_FRONTEND",
"SUNSTONE",
"TACHYGRAM_ACTION_QUEUE_RECEIVER",
"IRRADIATOR_MESSAGING_INTERNAL",
"IRRADIATOR_POSTMAN",
"CDPUSH",
"GEO_MERCHANT_MESSAGING_SERVICE",
"IRRADIATOR_CLIENT_BIND",
"MOBILE_IDENTITY",
"RCS_CARRIER_NNI_QUEUE_RECEIVER",
"RCS_CARRIER_CONFIG",
"RCS_CARRIER_NNI_SERVICE",
"IRRADIATOR_GROUP_INTERNAL"
]
},
"locale": {
"description": "The client UI language used for gws HL parameter (e.g. \"en\" or \"en-IN\"). '-' is preferred but '_' is acceptable (e.g. \"en-IN\" = \"en_IN\").",
"type": "string"
},
"suggestionType": {
"type": "string",
"enumDescriptions": [
"",
"",
"Non animated image.",
"Memes without the text.",
"Images with transparent background."
],
"enum": [
"GIF_DEFAULT",
"MEME",
"IMAGE",
"MEME_TEMPLATE",
"WEB_STICKER"
],
"description": "The type of content to suggest."
},
"source": {
"type": "string",
"description": "The source of the request. Used only for logging in image search.",
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
"",
""
],
"enum": [
"UNKNOWN",
"CONTENT_WIZARD",
"SMART_COMPOSE",
"LUCKY",
"GIF_MINI_MODE",
"MICRO_MACHINE",
"INK",
"ANDROID_MESSAGES"
]
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ImageSearchParams"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetWebPublicKeyRequest": {
"properties": {
"identityKey": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PublicKey"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"botguardResult": {
"type": "string"
}
},
"type": "object",
"description": "Only used in PhoneRelay. This will be deprecated when the migration to true multi-device is complete.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetWebPublicKeyRequest"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ViewRequestGroup": {
"properties": {
"groupSize": {
"type": "integer",
"format": "int32",
"description": "group_size."
},
"maxResolution": {
"description": "max_resolution.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1VideoResolution"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ViewRequestGroup",
"type": "object",
"description": "See ViewRequestGroup in media/webrtc/media_router/media_router.proto for documentation."
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiBraggingRights": {
"properties": {
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
},
"value": {
"type": "string"
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiBraggingRights",
"type": "object"
},
"InstantmessagingPaGoogleInternalAppsWaldoV1alphaDoNotDisturb": {
"type": "object",
"description": "The status indicating the user should not be disturbed.",
"id": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaDoNotDisturb",
"properties": {
"occupiedUntil": {
"format": "google-datetime",
"description": "The time when the user will stop being occupied, i.e., when their status will be neither inMeeting, Busy nor DoNotDisturb.",
"type": "string"
},
"nextAvailable": {
"description": "The next time when the user will be available, i.e., when their status will be neither InMeeting, CalendarBusy, DoNotDisturb, OutsideWorkingHours, nor OutOfOffice.",
"type": "string",
"format": "google-datetime"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetPreKeyBatchRequest": {
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"requestedDevices": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UserRegistration"
},
"type": "array",
"description": "Devices to request keys for."
},
"minVersion": {
"type": "integer",
"description": "Ignore prekeys older than this version.",
"format": "int32"
},
"maxVersion": {
"description": "Ignore prekeys newer than this. Required.",
"type": "integer",
"format": "int32"
},
"returnPartialResults": {
"description": "If true, ignores failures and returns successful lookups. If false, the request will fail if but one requested key failed.",
"type": "boolean"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetPreKeyBatchRequest",
"description": "Gets the prekeys for all the requested devices. The size of requested_devices must be at most 50. Must be authenticated and ratelimited to prevent DoS. Also, when giving out a prekey, we need to mark the chosen prekey with the reqid, to ensure idempotence."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AcceptInvitation": {
"type": "object",
"properties": {
"videoEnabled": {
"type": "boolean"
},
"audioOnly": {
"type": "boolean"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AcceptInvitation"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1OTPAnnotation": {
"type": "object",
"description": "One-Time Password message annotation.",
"properties": {
"code": {
"description": "Verification code.",
"type": "string"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1OTPAnnotation"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddSpamSignalV2RequestSpamSignal": {
"properties": {
"totalMessagesCount": {
"description": "Total number of messages. It is not necessarily equal to the sum of reporter + reported messages in group scenarios).",
"type": "integer",
"format": "int32"
},
"firstOutgoingMessageTimestamp": {
"format": "google-datetime",
"type": "string",
"description": "Timestamp of the first outgoing message."
},
"timestamp": {
"type": "string",
"format": "google-datetime"
},
"group": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"appSpecificSignalType": {
"enumDescriptions": [
"",
"Signal of type",
"http://google3/abuse/ares/storage/proto/features/tachyon/bugle.proto?l=10&rcl=267460823 Signal of type"
],
"enum": [
"EMPTY",
"BUGLE",
"DUO"
],
"type": "string"
},
"networkCountry": {
"description": "ISO country code equivalent of the current registered operator's MCC.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LocationHint"
},
"reported": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id",
"description": "Spam signal are additive and add to any existing signal for the user."
},
"simCountry": {
"description": "ISO country code equivalent for the SIM provider's country code.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1LocationHint"
},
"firstIncomingMessageTimestamp": {
"description": "Timestamp of the first incoming message.",
"type": "string",
"format": "google-datetime"
},
"messagesFromReporterCount": {
"type": "integer",
"format": "int32",
"description": "Number of messages from the reporter in the conversation."
},
"inContacts": {
"description": "Whether or not reported is in reporters contact list.",
"type": "boolean"
},
"protocol": {
"type": "string",
"enumDescriptions": [
"",
"",
"",
"",
""
],
"enum": [
"DEFAULT_APP_SPECIFIC",
"SMS",
"MMS",
"RCS",
"MATCHSTICK"
]
},
"appSpecificSignal": {
"format": "byte",
"type": "string"
},
"messages": {
"description": "Messages that we send to ARES for analysis. (optional) Alternatively provided via app-specific extras in `app_specific_signal` as denoted by `app_specific_signal_type`",
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SpamMessage"
}
},
"messagesFromReportedCount": {
"format": "int32",
"description": "Stats on the communication history Number of messages from the reported user.",
"type": "integer"
},
"suspectedSpamSource": {
"description": "The Sources of automated spam detection if any. This is used with the spam signal to identify reports that were already marked as spam by our automation (where the user is confirming).",
"items": {
"enum": [
"UNKNOWN",
"SCOOBY_BLACK_LIST",
"MARKED_SUSPICIOUS_ON_DELIVERY",
"CONTENT_ON_DEVICE",
"TACHYON_REAL_TIME"
],
"enumDescriptions": [
"",
"Suspected spam verdict came from the scooby denylist.",
"Suspected spam verdict came from the rcs header in an incoming message. Currently, this is possible with rcs incoming messages.",
"Suspected spam verdict came from content based on device model.",
"Suspected spam verdict came from RPC to tachyon backend. Currently, this is for stranger danger signals with a verdict coming back."
],
"type": "string"
},
"type": "array"
},
"spamType": {
"enum": [
"UNKNOWN",
"STRANGER_DANGER",
"USER_MARKED_AS_SPAM",
"USER_BLOCKED",
"USER_UNBLOCKED",
"APP_BLOCKED",
"APP_UNBLOCKED",
"USER_INITIATED_CONVERSATION",
"USER_INVITED_TO_GROUP",
"USER_MARKED_AS_NOT_SPAM",
"USER_SET_CONTACTS",
"USER_ADDED_CONTACTS",
"LOOKUP_REGISTRATION"
],
"type": "string",
"enumDescriptions": [
"",
"Reported is not in the contact list of reporter.",
"Reported is marked as spam by reporter.",
"// Reported gets blocked by reporter.",
"Reported gets unblocked by reporter.",
"Reporter blocked entire app. Reported is last sender to reporter.",
"Reporter unblocked entire app. Reported is last sender to reporter.",
"Reported initiated conversation with reporter.",
"Reported invited reporter to a group.",
"Reported is marked as spam by reporter.",
"Reported set the reporter as a contact.",
"Reported added the reporter as a contact.",
"Registration explicitly looked up by another user."
]
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddSpamSignalV2RequestSpamSignal",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ConversationIntentOpenedEvent": {
"description": "Event payload for Conversation intent open event.",
"type": "object",
"properties": {
"intentData": {
"type": "string",
"description": "The byte encoded original intent (packed LighterConversationIntent) (See LighterConversationIntent in ./lighter_intent.proto)",
"format": "byte"
},
"isEmptyDeviceConversation": {
"description": "This is set to true if this conversation does not have any messages. Note that this only looks at the current conversation database in the local device from which this event is being sent. It does not mean that there has never been a conversation. Some other device might have some messages in this conversation as well.",
"type": "boolean"
},
"shouldSkipWelcomeMessage": {
"type": "boolean",
"description": "This is set to true if the backend should not send a welcome message to this conversation. This likely means that the welcome message was populated by the intent."
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ConversationIntentOpenedEvent"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GroupMemberRoleChangeTombstone": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GroupMemberRoleChangeTombstone",
"type": "object",
"properties": {
"members": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GroupMember"
},
"description": "other referenced GroupMembers for the tombstone."
},
"initiator": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id",
"description": "tachyon ID of the initiator of the tombstone."
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MmsMessage": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MmsMessage",
"properties": {
"contentPart": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MmsContentPart"
},
"type": "array",
"description": "All content parts that make up this MMS message."
},
"subject": {
"type": "string",
"description": "Optional. The subject of this MMS message."
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader": {
"properties": {
"txnTimestampUsec": {
"description": "txn_timestamp_usec indicates the timestamp that the response data was read at.",
"type": "string",
"format": "int64"
},
"apiVersionWarning": {
"description": "api_version_warning is set by the server when the ClientInfo in the request indicate that the client was built against a API version that is soon to be deprecated. Clients should show a UI to the user asking them to update the application. @deprecated",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ApiVersionWarning"
},
"rpcGlobalId": {
"type": "string",
"description": "rpc_global_id holds the global dapper trace id of the request that produced this response.",
"format": "uint64"
}
},
"type": "object",
"description": "ResponseHeader must be included in all response messages with the field name `header`. This will make the generated Go types of responses have GetHeader and SetHeader funcs, which makes it simple to create a common interface to access the header values.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"InstantmessagingPaSocialGraphApiProtoLimitedProfileSettings": {
"properties": {
"myAccount": {
"type": "boolean",
"description": "Created with user input in MyAccount UI."
},
"lastUpdateTime": {
"description": "Timestamp indicating when the settings were last stored. Read-only field.",
"type": "string",
"format": "google-datetime"
},
"nameSettings": {
"$ref": "InstantmessagingPaSocialGraphApiProtoLimitedProfileNameSettings",
"description": "Required. Defines how the name should be formatted in the limited profile."
},
"gpayOobe": {
"description": "Created with user input in GPay OOBE.",
"type": "boolean"
},
"disableReason": {
"description": "Indicates why the limited profile has been disabled. Will be set iff the limited profile is disabled. This field can only be set server-side and must not be used by external clients when mutating LimitedProfiles.",
"enum": [
"DISABLE_REASON_UNSPECIFIED",
"INCOMPATIBLE_NAME_ONLY_MUTATION",
"NAME_ABUSE_VIOLATION"
],
"enumDescriptions": [
"",
"This means that a core name mutation was performed with no mutation to LimitedProfileSettings and the limited profile name recomputed from the existing `name_settings` was different from the one previously chosen by the user (stored in `verbatim_name`).",
"The Limited Profile name violates some Google policy. Note: regular checks for name violation are performed in FBS when the LimitedProfileSettings are created and prevent the mutation from succeeding (i.e., we DO NOT store LP settings with `NAME_ABUSE_VIOLATION` as disable reason in this case). This disable reason exists instead so that we can respond manually to any abuse escalation involving LP names."
],
"type": "string"
},
"legacyDiscoverability": {
"enum": [
"AUTOGEN_STATUS_UNSPECIFIED",
"AUTOGEN_UNCONFIRMED",
"AUTOGEN_CONFIRMED"
],
"description": "A user who had legacy discoverability had a Limited Profile autogenerated for them, either through a healer or in the live path in FBS.",
"type": "string",
"enumDescriptions": [
"",
"The LP was autogenerated and not yet surfaced and acted on by the user. LPs in this state are subject to disabling in certain conditions.",
"The autogenerated LP ws surfaced to the user and they performed some action on it. E.g. it was displayed in Whitepages UI and the user disabled discoverability."
]
},
"profilePictureSettings": {
"description": "Required. Defines which picture to display in the limited profile.",
"$ref": "InstantmessagingPaSocialGraphApiProtoLimitedProfilePictureSettings"
}
},
"description": "Next available id: 9.",
"type": "object",
"id": "InstantmessagingPaSocialGraphApiProtoLimitedProfileSettings"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ChangeGroupInfoPush": {
"type": "object",
"properties": {
"txnTimestampUsec": {
"type": "string",
"description": "txn_timestamp_usec is the timestamp, in microseconds since the epoch, when the GroupInfo object was generated/retrieved.",
"format": "int64"
},
"groupInfo": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GroupInfo",
"description": "Fully Populated GroupInfo object that contains the current state of the group at the time of the txn_timestamp_usec."
},
"requesterId": {
"description": "Optional requester_id identifies the requester who made the change resulting in this push being sent.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
}
},
"description": "Push sent to clients to inform them of a generic change to the info of a group that they're apart of. While the push message itself is generic, we primarily expect it to be delivered in two RCS-specific cases: (From go/rcs-group-features) 1. We need to inform Tachygram clients that the RcsGroupFeatures of a group they're in have changed. 2. We need to inform RCS users that persisted details about a foreign group that they're in have changed (the foreign_group_uri or the saved carrier_id).",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ChangeGroupInfoPush"
},
"InstantmessagingPaGoogleInternalPeopleV2PeopleContext": {
"description": "Common context fields for many People API actions.",
"id": "InstantmessagingPaGoogleInternalPeopleV2PeopleContext",
"properties": {
"authDelegationContext": {
"$ref": "InstantmessagingPaGoogleInternalPeopleV2AuthDelegationContext",
"description": "Optional parameter for specifying an auth delegation context to be used when the request is sent by the requester on someone else's behalf. Currently only Gmail Delegation is supported on limited actions, see go/gmaildelegationpapi. Please contact people-api-users@ before using it."
},
"requestGroupLoggingId": {
"type": "string",
"description": "An optional client generated ID to log so that clients can logically group requests. Log analysis can then join together logical groups of People API requests from a client."
},
"allowedRequesterState": {
"description": "Set of non-standard user profile states for which the request should be allowed even if the EUC of the requesting user is in one of the states. Requests from users in none of these states (i.e \"normal\" users) are also allowed. In general reading on behalf of disabled or deleted users has degraded functionality (for example, \"evergreen\" profile joins are not processed when such a user's contacts are read). NOTE: Setting this option can have negative effects on performance. Only callers like Google Admin or Takeout should use this option.",
"items": {
"enum": [
"REQUESTER_STATE_UNKNOWN",
"DISABLED",
"DELETED"
],
"type": "string",
"enumDescriptions": [
"",
"Account has been disabled or abuse-blocked in Gaia.",
"Account has been deleted in Gaia. Typically used for user initiated wipeout. Disabled account was auto-deleted after 6 months. Using this option requires purpose limited data permissions. See go/sgbe-purpose-limited-access-guide#reading-deleted-users-rows. When this parameter is set, deleted self-profiles will not be returned in PeopleAPI. If you need to fetch deleted self-profiles, please contact people-api-eng@google.com."
]
},
"type": "array"
},
"clientType": {
"enumDescriptions": [
"Unknown",
"Contacts+",
"Google Play Games",
"Android Contacts Sync Adapter"
],
"description": "Deprecated. For new clients, use the `client_version` field. Optional param used primarily for logging and diagnostics, and rarely to affect People API behavior for certain actions.",
"type": "string",
"enum": [
"CLIENT_TYPE_UNKNOWN",
"CONTACTS_PLUS",
"PLAY_GAMES",
"SYNC_ADAPTER"
]
},
"consistencyContext": {
"description": "Deprecated. b/135640834. Use cs/symbol:social.graph.api.proto.ConsistencyOptions instead. Params for specifying consistency requirements to ensure response data are up-to-date.",
"$ref": "InstantmessagingPaGoogleInternalPeopleV2ConsistencyContext"
},
"consistencyOptions": {
"$ref": "InstantmessagingPaSocialGraphApiProtoConsistencyOptions",
"description": "Optional parameters for specifying read consistency requirements (go/papi-consistency). Also see go/sgbe-consistency."
},
"migrationOptions": {
"description": "Optional params to change People API behavior for migrating off of legacy/deprecated features.",
"$ref": "InstantmessagingPaGoogleInternalPeopleV2MigrationOptions"
},
"rightOfPublicityContext": {
"description": "Shared endorsements context that is applicable for the request.",
"enum": [
"SHARED_ENDORSEMENT_UNSPECIFIED",
"NONE",
"ADS",
"NON_ADS_COMMERCIAL"
],
"type": "string",
"enumDescriptions": [
"Ignored by server. Equivalent to NONE.",
"No context. Corresponds to RequestPolicy.EnforceRightOfPublicity.NONE.",
"Ads context. Corresponds to RequestPolicy.EnforceRightOfPublicity.ADS_CONTEXT",
"Non-ads commercial context.Corresponds to RequestPolicy.EnforceRightOfPublicity.NON_ADS_COMMERCIAL_CONTEXT"
]
},
"clientVersion": {
"description": "Optional params for identifying the calling product context for logging and diagnostics. See go/people-api-howto#how-to-pass-client-version-information",
"$ref": "InstantmessagingPaGoogleInternalPeopleV2ClientVersion"
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PrewarmReceiverResponse": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PrewarmReceiverResponse",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
},
"type": "object"
},
"InstantmessagingPaTachyonBosonSendActionRequest": {
"properties": {
"overrideSettings": {
"$ref": "InstantmessagingPaTachyonBosonBotActionOverrideSettings",
"description": "Additional settings to send with the action. This allows overriding default settings from the server. This acts as some sort of endpoint experiment. Can be used to test features manually."
},
"groupId": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id",
"description": "Optional. For joining a group."
},
"botId": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"action": {
"enumDescriptions": [
"",
"Start streaming audio/video. Start the group call.",
"Stop streaming audio/video. End the group call.",
"Leave all groups.",
"Join a group.",
"Delete the bot in DB.",
"Toggle to mute/unmute the audio.",
"Toggle to mute/unmute the video."
],
"enum": [
"UNKNOWN",
"START",
"END",
"LEAVE_GROUP",
"JOIN_GROUP",
"DELETE",
"MUTE_AUDIO",
"MUTE_VIDEO"
],
"type": "string"
},
"botIds": {
"description": "Bots to send the action to.",
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
}
}
},
"type": "object",
"id": "InstantmessagingPaTachyonBosonSendActionRequest"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MdmListStarredPeopleRequest": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MdmListStarredPeopleRequest",
"type": "object",
"properties": {
"listStarredPeopleRequest": {
"$ref": "InstantmessagingPaGoogleInternalPeopleV2ListStarredPeopleRequest"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BotRouterProperties": {
"properties": {
"activeAgentId": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id",
"description": "If active agent id is present, the client indicates that the current conversation is in an agent session. Currently only 1:assistant should have active agent session."
},
"enableBotPreviewV2": {
"type": "boolean",
"description": "Indicates if the message should be processed with bot preview V2 flow."
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1BotRouterProperties",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UnblockUsersRequest": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1UnblockUsersRequest",
"properties": {
"userIds": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
},
"type": "array"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SignInDuoResponse": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SignInDuoResponse",
"type": "object",
"description": "SignInDuoResponse is the response of SignInDuo API, and contains most fields as SignInGaiaResponse.",
"properties": {
"accountInfo": {
"description": "If account_found, the device will be registered and the backend will return account info.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AccountInfo"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"authToken": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AuthToken",
"description": "auth_token is the access token to be used in future requests to authenticate the client."
},
"versionCheckWarning": {
"description": "version_check_warning is used to tell clients that they do not have the most up-to-date version combination.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1VersionCheckWarning"
},
"isNewAccount": {
"type": "boolean",
"description": "is_new_account indicates whether this RPC call created the account."
},
"registrationId": {
"description": "The opaque registration id for this device. Set only when the device is registered. The client needs to check against default value. For example, empty bytes.",
"type": "string",
"format": "byte"
},
"requirePhoneReachability": {
"type": "boolean",
"description": "This bit indicates that the clients should force the user to add a PN and not leave the client working in a Gaia-only state. "
},
"isPnAvailable": {
"description": "is_pn_available indicates whether a phone number is available with the requesting GAIA ID. It is only set when phone_number_update_option in SignInDuoRequest is CHECK_PN_AVAILABILITY.",
"type": "boolean"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1TemplatingInfo": {
"properties": {
"domain": {
"type": "string",
"description": "The domain of the suggestion is a finer-grained description of its purpose than the suggestion type. For example: Assistant templates might be broken down into \"weather\", \"dining\", and \"movie\" domains."
},
"priority": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Priority",
"description": "Template priority is used to decide which suggestion to keep when multiple suggestions fulfill the same information need."
},
"templateId": {
"type": "string",
"description": "Name/id of the specific templating rule that was used to create this suggestion."
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1TemplatingInfo",
"description": "Contains information about the template that was used to convert model output into a SmartSuggestionItem"
},
"InstantmessagingPaGoogleInternalAppsWaldoV1alphaUserStatus": {
"type": "object",
"description": "The actual status of the user. The message contains everything needed for visualisation of this status.",
"properties": {
"calendarBusy": {
"description": "Set if the user is temporarily busy and there is not a more specific status derived from calendar that applies (e.g., InMeeting or FocusTime).",
"$ref": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaCalendarBusy"
},
"inMeeting": {
"description": "Set if the user is in a meeting.",
"$ref": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaInMeeting"
},
"inactive": {
"description": "Set if no other statuses apply.",
"$ref": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaInactive"
},
"doNotDisturb": {
"$ref": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaDoNotDisturb",
"description": "Set if the user has marked their time asking to not disturb them, see Focus Time events."
},
"outsideWorkingHours": {
"$ref": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaOutsideWorkingHours",
"description": "Set if the user doesn't work at this time."
},
"outOfOffice": {
"$ref": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaOutOfOffice",
"description": "Set if the user is out of office."
}
},
"id": "InstantmessagingPaGoogleInternalAppsWaldoV1alphaUserStatus"
},
"InstantmessagingPaGoogleInternalPeopleV2ExtensionSet": {
"properties": {
"extendedRequestData": {
"$ref": "InstantmessagingPaGoogleInternalPeopleV2ExtendedRequestData",
"description": "Extra request data for extensions."
},
"extensionNames": {
"description": "Extensions are additional data returned in the resource.",
"items": {
"type": "string",
"enum": [
"EXTENSION_UNSPECIFIED",
"CREATE_PERSON",
"FILTER_BY_NAME",
"MODIFY_NAMES",
"HANGOUTS_PHONE_DATA",
"INCLUDE_DOMAIN_INFO",
"HANGOUTS_ADDITIONAL_DATA",
"HANGOUTS_SUGGESTED_PEOPLE",
"GDATA_COMPATIBILITY",
"HANGOUTS_OFF_NETWORK_GAIA_GET",
"ABOUT_ME_ADDITIONAL_DATA",
"HANGOUTS_OFF_NETWORK_GAIA_LOOKUP",
"SANITIZE_ABOUT_HTML",
"FILTER_URL_IANTS",
"CORP_DESKBOOKING_FLEXIBLE_DESK_LOCATIONS",
"TLS_ADD_PLACEHOLDER_PEOPLE",
"TLS_FILL_FIELD",
"DYNAMITE_ADDITIONAL_DATA",
"DYNAMITE_ORGANIZATION_INFO",
"GPLUS_ADDITIONAL_DATA",
"CALLER_ID_LOOKUPS",
"POMEROY_TRUSTED_CONTACTS_EXTENSION",
"FILTER_UNVERIFIED_PROFILE_FIELDS",
"FILTER_OBSOLETE_CONTACT_EMAILS",
"REMOVE_NON_DOMAIN_EMAILS",
"GPLUS_PROFILE_FILTER",
"PHOTOS_COMPARE_DATA",
"SIGN_PHOTOS_IANTS",
"FILTER_TO_PRIMARY",
"DESK_LOCATION_ADDITIONAL_DATA",
"FILTER_UNUSED_FIELDS",
"GMAIL_SECURITY_DATA",
"INCLUDE_EMAIL_LOOKUP_KEY",
"DYNAMITE_APPEND_ROOM_MEMBERSHIP_DATA",
"FILTER_NON_PRIMARY_SIGNUP_EMAIL",
"PAISA_ADDITIONAL_DATA",
"CUSTOMER_INFO_ADDITIONAL_DATA",
"ADD_PEOPLE_FOR_UNMATCHED_KEYS",
"PLAY_GAMES_PROFILE",
"JAM_MAPS_PROFILE",
"JAM_YOUTUBE_PROFILE",
"JAM_GPAY_PROFILE",
"PEOPLE_STACK_ANNOTATE_HIDDEN",
"PEOPLE_STACK_REMOVE_HIDDEN",
"PEOPLE_STACK_ANNOTATE_FAMILY",
"DEPRECATED_ADD_HANGOUTS_RELEVANT_PEOPLE",
"DEPRECATED_DYNAMITE_DM_BOTS",
"DEPRECATED_DYNAMITE_ROOM_BOTS",
"DEPRECATED_APPS_WALDO_AVAILABILITY_DATA",
"TEAMS_ADDITIONAL_DATA"
],
"enumDescriptions": [
"Unknown extension. Ignored by the server.",
"Adds a person to list results with the name 'Zeke'",
"Filter people from the results who have a name that starts with 'T'",
"Modifies all names by adding 'Danger' as a middle name.",
"Include hangouts phone data in phone fields.",
"Include the name of the requesters domain",
"Hangouts additional data",
"Hangouts suggested people.",
"Include gdata compatibility information.",
"Resolves an off-network gaia id to its phone number",
"Adds the following fields to a merged person for a Get request for \"me\": - Name change quota remaining and last modified time. - Nickname change quota remaining and last modified time. - Nickname display option.",
"Resolves lookups by phone number to off-network gaia ids.",
"Populates the about field SafeHtml value with sanitized HTML.",
"Removes profile URL-based in-app notification targets (IANTs) per b/32870816. This will prevent someone who creates a contact with just a Google profile URL from being able to share content with the profile owner directly in a Google app.",
"Adds present and future flexible desk assignments as time-restricted locations. Contact: desktopia-team@google.com WARNING: This extension may result in multiple locations with WARNING: metadata.container_type set to Container.DOMAIN_PROFILE be WARNING: returned for a single person. Normally, only one location of WARNING: such kind is returned. Contacting desktopia-team@ before using WARNING: this extension is recommended.",
"Adds \"placeholder\" people in the result for non-contacts when looking up by email address, so that the other TLS extension can return TLS info for non-contacts as well. Placeholder people have extended_data.tls_is_placeholder = true",
"Adds TLS prediction information for the SMTP servers that handle each email address of a contact. Sets the value of email[i].extended_data.smtp_server_supports_tls",
"Populates Dynamite-specific additional data.",
"Populates Dynamite organization info.",
"Populates Google+-specific additional data.",
"Performs additional lookups by phone number for caller id.",
"Adds Pomeroy contacts to the results if they're not already present.",
"Removes any unverified contact method fields on a Google profile. Contact methods include emails and phone numbers. See b/64796571",
"Removes any \"obsolete\"-tagged emails fields from Contact container. See b/138248043",
"Removes emails out of domain. See b/65114718.",
"Filters profiles that are ineligible for recommendation in G+.",
"Photos compare data at AboutMe (b/119221082).",
"Cryptographically sign photos IANTs, see go/people-signatures.",
"Ensure that each merged person only has a single email which is primary.",
"Adds additional information to the location fields with type DESK.",
"Filters unused fields for Populous ListRankedTargets responses, see go/project-kartana Contact: people-ranking@google.com",
"Adds information about suspicious characters in email addresses. Design doc: go/homograph-gmail-android-doc Contact: gmail-security-fe@google.com",
"Copies the requested email address and metadata to any result that does not already contain it. This can happen when the requested email is an alias for another profile email, or when it's a profile email that's not ACLed to the requester (see b/73822827). This allows Populous to match names and photos for ListPeopleByKnownId calls on email aliases. See go/lookup-email-alias. Contact: populous-team@google.com",
"Dynamite room membership data (appends rooms an entity belongs to)",
"Removes any email on a profile container that is not the primary signup email, i.e. person.email.signup_email_metadata.primary != true.",
"Populates Paisa-specific additional data (b/161582681).",
"Return whether each email is internal to or external to the requesting user's domain.",
"Adds synthesized placeholder people for unmatched keys (phones) in ListPeopleByKnownId. Emails are not yet supported, but contact people-api-eng@ if you need.",
"Adds user's Play Games profile to the Person object. See go/jam-games-profile.",
"Adds user's Maps profile to the Person object.",
"Adds user's Youtube profile to the Person object.",
"Add user's GPay profile to the Person objecet.",
"Annotate hidden users with a HideType of HIDDEN (go/ps-hide-final-dd).",
"Remove hidden users from the response (go/ps-hide-final-dd).",
"Annotate family members with FamilyStatus FAMILY_MEMBER.",
"",
"Adds Dynamite bots which can function in DMs.",
"Adds Dynamite bots which can function in rooms.",
"Deprecated. Fetch data through People Box server instead. Apps Waldo User Availability Data (b/121269340).",
"Unsupported. TEAMS_ADDITIONAL_DATA cannot be requested."
]
},
"type": "array"
}
},
"description": "Describes the different type of extensions.",
"type": "object",
"id": "InstantmessagingPaGoogleInternalPeopleV2ExtensionSet"
},
"InstantmessagingPaGeostorePointProto": {
"id": "InstantmessagingPaGeostorePointProto",
"properties": {
"metadata": {
"$ref": "InstantmessagingPaGeostoreFieldMetadataProto",
"description": "NOTE: If removing metadata, remove 'option objc_class_prefix = \"GS\";' together. See cl/189921100. Field-level metadata for this point. NOTE: there are multiple PointProto fields in the Geo Schema. Metadata here is only expected to be present on FeatureProto.point[] and FeatureProto.center."
},
"latE7": {
"type": "integer",
"format": "uint32"
},
"temporaryData": {
"$ref": "InstantmessagingPaProto2BridgeMessageSet",
"description": "A place for clients to attach arbitrary data to a point. Never set in MapFacts."
},
"lngE7": {
"type": "integer",
"format": "uint32"
}
},
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1STACConfig": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1STACConfig",
"description": "STAC configuration. See: go/stac-protocol This message is intended to be binary compatible and should be kept up to date with STACConfig in //google3/google/communications/networktraversal/v1alpha/networktraversal.proto",
"properties": {
"numberOfTlsConnections": {
"type": "integer",
"description": "The number of TLS connections to use with STAC.",
"format": "int32"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1NeedStateSyncPush": {
"properties": {
"types": {
"items": {
"enum": [
"UNKNOWN_STATE",
"TEST_STATE",
"MRU",
"CONTACT_STATE"
],
"type": "string",
"enumDescriptions": [
"",
"Added just for testing purposes. Do not use in prod.",
"Most recently used contacts",
"Update the state of a remote user"
]
},
"type": "array"
},
"txnTimestampUsec": {
"format": "int64",
"type": "string"
}
},
"description": "Push message when the server would like to force a client refresh of the local state on the client.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1NeedStateSyncPush",
"type": "object"
},
"InstantmessagingPaYoutubeElementsTemplatesProtoEMLTemplateData": {
"type": "object",
"properties": {
"directDependencies": {
"type": "array",
"description": "Identifiers of resources that this template is DIRECTLY dependent upon. If the resource being depended on is an EML template, its identifier is template URI. EML could depend upon other EML or on Javascript modules.",
"items": {
"type": "string"
}
},
"resourceStatus": {
"enum": [
"ELEMENTS_RESOURCE_STATUS_UNKNOWN",
"ELEMENTS_RESOURCE_STATUS_OMITTED",
"ELEMENTS_RESOURCE_STATUS_ATTACHED"
],
"description": "If resource_status = ELEMENTS_RESOURCE_STATUS_OMITTED, template_config should be empty",
"type": "string",
"enumDescriptions": [
"",
"The server expects the client already has the resource (in memory or on disk). The resource is omitted from the response.",
"The server expects the client doesn't have the resource. The resource is attached to the response."
]
},
"identifier": {
"description": "Identifier generated at build time. Also known as template URI.",
"type": "string"
},
"resourceTag": {
"format": "int64",
"description": "The tag for this resource. If this field is present the client is expected to echo it back to the server after resource validation has completed.",
"type": "string"
},
"templateConfig": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"description": "Templates remain in serialized form so that the Elements runtime is able to choose when parsing happens and will only parse the template data if it is needed. At present this will be a TemplateConfig containing an EkoTemplateConfig.",
"type": "object"
}
},
"description": "NOTE: xUIKit and Youtube intended to share this proto in 2019. However, this is only used by xUIKit.",
"id": "InstantmessagingPaYoutubeElementsTemplatesProtoEMLTemplateData"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1StateUpdatedPush": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1StateUpdatedPush",
"type": "object",
"properties": {
"deleteAllMruTimestampMicroseconds": {
"format": "int64",
"description": "Timestamp when the client requested delete all MRU state. This is the server timestamp when such request has been handled. This will only be set when mutation type is DELETE_ALL.",
"type": "string"
},
"mutations": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Mutation"
}
}
},
"description": "Push message when the user state changes on the server. The clients are expected to consume this message and apply the mutations immediately to their local data."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SupportedCodec": {
"type": "object",
"description": "A codec and parameters for the codec the client can send with. A message, in case we want to add simulcast or other specifications in the future.",
"properties": {
"codec": {
"enumDescriptions": [
"",
"",
"8-bit I420.",
"{10, 12}-bit I420.",
"",
"",
"",
"",
"",
"",
"",
""
],
"type": "string",
"description": "The codec.",
"enum": [
"UNKNOWN",
"VP8",
"VP9",
"VP9_PROFILE2",
"H264",
"H264_CONSTRAINED_HIGH_PROFILE",
"HEVC",
"OPUS",
"AV1",
"SPEEX",
"ISAC",
"LYRA"
]
},
"videoPacketizationFormat": {
"items": {
"enum": [
"UNKNOWN",
"DEFAULT",
"RAW"
],
"enumDescriptions": [
"Unknown packetization format - should not be used.",
"Default packetization format - e.g. RFC implementation in case of VP8, VP9 and H.264.",
"Raw packetization without added codec payload descriptor/header - must be used with generic frame descriptor RTP header extension."
],
"type": "string"
},
"description": "Supported RTP packetization formats (video only).",
"type": "array"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SupportedCodec"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PhoneReachabilityVerification": {
"properties": {
"challenge": {
"enumDescriptions": [
"",
"NONE indicates no challenge is expected. This is invalid to use in RegisterRequest.",
"SMS maps to IDV SMS_CHALLENGE type.",
"CALL_READ_PIN maps to IDV PHONE_CTC_READ_PIN type.",
"GMS_SMS indicates an SMS that's specially formatted to be automatically parsed by GMS Core on Android devices and pass that over to the client without any SMS permissions etc. The required format for the SMS is outlined at: https://developers.google.com/identity/sms-retriever/verify",
"GAIA_SIGN_IN indicates that the client needs to verify with Gaia."
],
"enum": [
"UNKNOWN",
"NONE",
"SMS",
"CALL_READ_PIN",
"GMS_SMS",
"GAIA_SIGN_IN"
],
"type": "string",
"description": "challenge indicates which type of challenge was issued, or tachyon.Challenge.Type.NONE. Use this to check if a challenge was issued, or assert that a specific type of challenge was issued (i.e. SMS challenge was issued before waiting to intercept an incoming SMS)."
},
"verificationToken": {
"format": "byte",
"description": "The encrypted token must be included in the following VerifyPhoneReachabilityRequest.",
"type": "string"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PhoneReachabilityVerification",
"type": "object"
},
"InstantmessagingPaGoogleInternalPeopleV2PersonModelParams": {
"id": "InstantmessagingPaGoogleInternalPeopleV2PersonModelParams",
"type": "object",
"description": "Parameters for specifying the pivot centricity of how MergedPerson results are constructed from the underlying Containers (e.g., Contacts and Profiles). See go/people-api-concepts#person-model for details.",
"properties": {
"personModel": {
"enumDescriptions": [
"",
"The default People API pivot model. A merged person result may contain data from at most one user PROFILE (i.e., GAIA ID container) and potentially many CONTACTs.",
"A merged person result may contain at most one CONTACT, and potentially many PROFILEs that are joined with it. See go/contact-centric-people-api."
],
"type": "string",
"description": "The pivot centricity to use when constructing a merged person result from multiple containers. NOTE: For backwards compatibility if not specified, the PROFILE_CENTRIC model is used. Since UNKNOWN_MODEL and \"not set\" are indistinguishable, explicitly specifying UNKNOWN_MODEL is equivalent to PROFILE_CENTRIC.",
"enum": [
"UNKNOWN_MODEL",
"PROFILE_CENTRIC",
"CONTACT_CENTRIC"
]
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1FullMessagePrediction": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isEmoji": {
"type": "boolean"
}
},
"description": "Contents of the full message prediction.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1FullMessagePrediction"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1TachyonMessage": {
"properties": {
"sessionId": {
"type": "string"
},
"clientMessage": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ClientMessage"
},
"sequenceNumber": {
"description": "The sequence number starts from 1, representing the order of the messages sent by a client for the individual session.",
"format": "int32",
"type": "integer"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1TachyonMessage"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetProfileRequest": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GetProfileRequest",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"timestampBound": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1TimestampBound"
},
"userIds": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
}
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterByAgentRequest": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterByAgentRequest",
"type": "object",
"description": "RegisterByAgentRequest holds argument for server to perform a registration from a trusted agent. Registering the same (id, register_data.device_id) is idempotent. If an existing registration for the pair already exists, a new registration will not be created and information of the existing registration is returned instead. Only allowed agent can send this request. The agents are allowed per id type and app.",
"properties": {
"registerData": {
"description": "register_data includes details of the registering device.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RegisterData"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"id": {
"description": "id is the identity of the registering user. The agent sending the request must be allowed for the (id.type, id.app) pair. Including id.location_hint is encouraged for the better placement of the user's data. If the location_hint is provided, subsequent RPC requests concerning this user MUST include the exact same location_hint.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
}
}
},
"InstantmessagingPaProto2BridgeMessageSet": {
"type": "object",
"properties": {},
"description": "This is proto2's version of MessageSet.",
"id": "InstantmessagingPaProto2BridgeMessageSet"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RtpSimulcastStream": {
"description": "An identifier for a simulcast stream - multiple related RTP streams.",
"properties": {
"layer": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RtpEncodedStream"
}
},
"rtpStreamId": {
"description": "See go/spec-compliant-simulcast.",
"type": "array",
"items": {
"type": "string"
}
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RtpSimulcastStream"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AgentSessionEventTombstone": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enumDescriptions": [
"",
"Notification that the agent session has started.",
"Notification that the agent session has ended.",
"Notification from client to request ending the agent session."
],
"enum": [
"UNKNOWN",
"START",
"END",
"END_REQUEST"
],
"description": "the agent session event type."
},
"initiator": {
"description": "tachyon ID of the initiator of the tombstone.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AgentSessionEventTombstone"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddContactsRequest": {
"type": "object",
"properties": {
"contacts": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ContactEntry"
}
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1AddContactsRequest"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAcl": {
"description": "Used when the field is accessible to a membership that the person has.",
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAcl",
"properties": {
"circle": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclCircleAcl"
},
"contactGroup": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclContactGroupAcl"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MdmListStarredPeopleResponse": {
"type": "object",
"properties": {
"listStarredPeopleResponse": {
"$ref": "InstantmessagingPaGoogleInternalPeopleV2ListPeopleResponse"
},
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MdmListStarredPeopleResponse"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PushNotification": {
"type": "object",
"properties": {
"payload": {
"description": "The actual payload bytes of the above type.",
"format": "byte",
"type": "string"
},
"type": {
"type": "string",
"enum": [
"UNSPECIFIED",
"DUO"
],
"enumDescriptions": [
"",
"Payload is a serialized 'DuoPushNotification' message. (communication/duo/proto/duo_message.proto)"
]
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PushNotification"
},
"InstantmessagingPaGeostoreFieldMetadataProto": {
"id": "InstantmessagingPaGeostoreFieldMetadataProto",
"type": "object",
"properties": {
"internal": {
"$ref": "InstantmessagingPaGeostoreInternalFieldMetadataProto"
}
},
"description": "Internal field metadata. This part is not exposed to downstream consumers of the repository (read-only clients) but is available to upstream providers to the repository (read-write clients)."
},
"InstantmessagingPaSearchRenderingXuikitElementsDataStoreMutation": {
"properties": {
"type": {
"enum": [
"UNKNOWN_DATA_STORE_MUTATION_TYPE",
"REPLACE",
"DELETE"
],
"enumDescriptions": [
"This is the default, but should never be sent, and is strictly an error if a client receives this type.",
"Clients should replace any existing entity with the same entity_key with the contents of this one, or add it if an existing entity does not exist with the same key. An REPLACE mutation should send a complete entity, not partial information.",
"Clients should remove/purge entity instances with given entity_key."
],
"type": "string"
},
"dataStoreKey": {
"description": "The key for the entity affected by this mutation.",
"type": "string"
},
"payload": {
"$ref": "InstantmessagingPaSearchRenderingXuikitElementsDataStoreMutationPayload"
}
},
"id": "InstantmessagingPaSearchRenderingXuikitElementsDataStoreMutation",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1WeightedSearchQuery": {
"properties": {
"weight": {
"format": "float",
"description": "The weight of the query in the range of 0 and 1 inclusive.",
"type": "number"
},
"query": {
"description": "Query string used for image search.",
"type": "string"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1WeightedSearchQuery"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ChangeGroupProfileResponse": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ChangeGroupProfileResponse",
"type": "object",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"serverProfileChanges": {
"description": "field values changed by server, e.g. invite_url created.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1PartialProfile"
},
"txnTimestampUsec": {
"format": "int64",
"description": "txn_timestamp_usec is the timestamp, in microseconds since the epoch, when ChangeGroupProfileRequest transaction committed.",
"type": "string"
}
},
"description": "The server responds to the client who sent ChangeGroupProfileRequest."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ImagePrediction": {
"type": "object",
"description": "Suggestion to share image (http://go/allo-photo-suggest).",
"properties": {
"url": {
"type": "string"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ImagePrediction"
},
"InstantmessagingPaAppsDynamiteCustomerId": {
"description": "Represents a GSuite customer ID. Obfuscated with CustomerIdObfuscator.",
"properties": {
"customerId": {
"type": "string"
}
},
"id": "InstantmessagingPaAppsDynamiteCustomerId",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Mention": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Mention",
"type": "object",
"properties": {
"mentionInfo": {
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MentionMentionInfo"
},
"type": "array"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MdmListContactPeopleRequest": {
"type": "object",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"listContactPeopleRequest": {
"$ref": "InstantmessagingPaGoogleInternalPeopleV2ListContactPeopleRequest"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MdmListContactPeopleRequest"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MessageReceipt": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MessageReceipt",
"description": "MessageReceipt contains one type of message receipts to the same destination.",
"properties": {
"receipts": {
"type": "array",
"description": "A list of receipts, each for an InboxMessage.",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MessageReceiptReceiptInfo"
}
},
"receiptType": {
"enumDescriptions": [
"",
"A delivery receipt that the receiving client has received the message.",
"A user receipt, e.g., the receiving user had read a Fireball message."
],
"type": "string",
"enum": [
"UNKNOWN",
"DELIVERY_RECEIPT",
"USER_RECEIPT"
],
"description": "Receipt type such as delivery receipt and read receipt."
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiSipAddress": {
"description": "As of 03/2018 is not supported for user Profile.",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiSipAddress",
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of the SIP address. The type can be free form or or one of these predefined values: * `home` * `work` * `mobile` * `other`"
},
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
},
"value": {
"type": "string"
},
"formattedType": {
"description": "The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.",
"type": "string"
}
}
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiCallerIdExtendedData": {
"type": "object",
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiCallerIdExtendedData",
"properties": {
"callerIdSource": {
"description": "Indicates which data source was used to populate the caller ID result",
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiCallerIdExtendedDataCallerIdSource"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ScriptedReplySuggestion": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ScriptedReplySuggestion",
"properties": {
"text": {
"type": "string"
}
}
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1StickyMessageInfo": {
"properties": {
"stickyMessageState": {
"description": "sticky_message_state represents the state that this message (or updated message) should be after processing. NON_STICKY is for normal messages and does not typically need to be set except for when un-sticking an existing sticky message. STICKY represents cards in some sticky state.",
"enum": [
"DEFAULT_NO_CHANGE",
"STICKY",
"NON_STICKY"
],
"enumDescriptions": [
"",
"",
""
],
"type": "string"
}
},
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1StickyMessageInfo"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiOrganizationAssignment": {
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiOrganizationAssignment",
"type": "object"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CreateMediaSessionResponse": {
"type": "object",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
},
"sessionResponseParams": {
"description": "The response parameters needed to to setup a media connection to the server.",
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1MediaSessionResponseParameters"
},
"mediaControllerExperiments": {
"description": "List of experiments that has been enabled by MediaController for this session. The client shall annotate its log using setExternalExperimentIds. See go/synapse-media-controller-experiments.",
"items": {
"format": "int32",
"type": "integer"
},
"type": "array"
}
},
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1CreateMediaSessionResponse"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ChangeGroupMemberRoleRequest": {
"type": "object",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ChangeGroupMemberRoleRequest",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1RequestHeader"
},
"groupId": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1Id",
"description": "group_id is the group ID to which users will be affected."
},
"members": {
"type": "array",
"description": "members who are affected by this change.",
"items": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1GroupMember"
}
}
},
"description": "Change group member role flow: Client Server Other Members |-- ChangeGroupMemberRoleRequest -\u003e| | |\u003c- ChangeGroupMemberRoleResponse -|---- ChangeGroupMemberRolePush --\u003e| The client sends this request to change the role of group members. Atomic Request to change the role for all members."
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1StateOption": {
"description": "This message contains the request options for each state type.",
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1StateOption",
"properties": {
"type": {
"enumDescriptions": [
"",
"Added just for testing purposes. Do not use in prod.",
"Most recently used contacts",
"Update the state of a remote user"
],
"type": "string",
"enum": [
"UNKNOWN_STATE",
"TEST_STATE",
"MRU",
"CONTACT_STATE"
]
}
},
"type": "object"
},
"InstantmessagingPaChatBotPlatformBugleMessageContent": {
"type": "object",
"id": "InstantmessagingPaChatBotPlatformBugleMessageContent",
"properties": {
"plaintext": {
"type": "string"
},
"type": {
"enum": [
"UNKNOWN",
"ANDROID_CARD",
"PLAINTEXT",
"EML_CARD"
],
"enumDescriptions": [
"",
"",
"",
""
],
"type": "string"
},
"emlCard": {
"$ref": "InstantmessagingPaSearchRenderingXuikitElementsElementsOutput"
},
"androidCard": {
"$ref": "InstantmessagingPaGoogleInternalMothershipSearchcardV1RenderedCard"
}
},
"description": "NEXT ID: 5"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiFieldAcl": {
"description": "The field ACL. Currently only populated on profile fields for the profile owner. A Person field ACL; see http://go/peopleapi-acl",
"properties": {
"aclEntry": {
"type": "array",
"items": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntry"
},
"description": "A custom type of field ACL entry. The set of all ACL entries includes those listed in acl_entry as well as predefined_acl_entry."
},
"authorizedViewers": {
"items": {
"enumDescriptions": [
"",
"Users with an identity ACL established with the field owner through user-to-user interactions.",
"Users in the same enterprise organization as the field owner.",
"Users in the same Unicorn family as the field owner.",
"All users, including anonymous viewers."
],
"enum": [
"AUTHORIZED_VIEWER_UNSPECIFIED",
"IDENTITY_ACL_ESTABLISHED",
"SAME_ORGANIZATION",
"SAME_UNICORN_FAMILY",
"ALL_USERS"
],
"type": "string"
},
"type": "array",
"description": "Set of users that will be authorized to view the field by this field ACL. If the ACL is public, this will only contain ALL_USERS. This field is synthesized, read-only, and currently only used for profile photos. It's populated under \"person.photo.metadata.field_acl\" for the current photo ACL and \"person.photo.metadata.acl_choices\" for available photo ACL choices. Note: The set of authorized viewers for a given FieldAcl may depend on the user's account type and domain configuration. For example, a PRIVATE_READ FieldAcl could have any of the following authorized viewers: Consumer user: [IDENTITY_ACL_ESTABLISHED] Dasher user without domain contact sharing: [IDENTITY_ACL_ESTABLISHED] Unicorn user: [SAME_UNICORN_FAMILY] Hafez user: []"
},
"predefinedAclEntry": {
"items": {
"type": "string",
"enum": [
"UNKNOWN",
"OWNER",
"PUBLIC_READ",
"DOMAIN_READ",
"YOUR_CIRCLES_READ",
"EXTENDED_CIRCLES_READ",
"PRIVATE_READ"
],
"enumDescriptions": [
"",
"Equivalent to role = OWNER and scope.person.person_id = requester's person ID.",
"Equivalent to role = READER and scope.all_users = true.",
"Equivalent to role = READER and scope.domain_users = true.",
"Equivalent to role = READER and scope.membership.circle.circle_set = YOUR_CIRCLES.",
"Equivalent to role = READER and scope.membership.circle.circle_set = EXTENDED_CIRCLES.",
"This is under implementation and not populated in PeopleAPI yet. Equivalent to role = READER and scope.person.person_id = requester's person ID. Presence of this entry means the field is private and is not visible to others."
]
},
"type": "array",
"description": "A common type of field ACL entry. A predefined ACL entry is a shortcut for a commonly occurring case of role and scope. For example, PUBLIC_READ is the same as an AclEntry with role = READER and scope.all_users = true. The set of all ACL entries includes those listed in acl_entry as well as predefined_acl_entry."
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiFieldAcl",
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiOpeningHoursPeriod": {
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiOpeningHoursPeriod",
"properties": {
"close": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpoint"
},
"open": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpoint"
}
},
"type": "object"
},
"InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiUserDefined": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"metadata": {
"$ref": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata"
},
"value": {
"type": "string"
}
},
"id": "InstantmessagingPaAppsPeopleOzExternalMergedpeopleapiUserDefined"
},
"InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetCapabilitiesResponse": {
"id": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1SetCapabilitiesResponse",
"type": "object",
"properties": {
"header": {
"$ref": "InstantmessagingPaGoogleInternalCommunicationsInstantmessagingV1ResponseHeader"
}
}
},
"InstantmessagingPaGoogleInternalPeopleV2ConsistencyContext": {
"id": "InstantmessagingPaGoogleInternalPeopleV2ConsistencyContex
@NickCis
Copy link

NickCis commented Jan 18, 2023

Hey @stewartmcgown I've found this googling, I'm trying to use the api behind messages.google.com but quite confused. Is this spec talking about that internal api?. Is there a viewer for this spec file?. In what format is it?.

As far as I understood, messages is using grpc over some Tachyons, but, got quite confused trying to understand how everyghint worked. Will appreciate any tip!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment