Ever wanted to know EXACTLY what Ranking signals Google uses? Here is a searchable list. These variables were found on a server under Apache 2.0 license and shared (publicly) by Mike King from iPullRank. He got them via Rand, who got them from an anonymous person, who found them under the Apache 2.0 license. They represent all the ranking signals that we believe Googlers might have access to for their algorithms. I put them here as an easy way for me (and others) to search for buzzwords like “PageRank” and “mustang”. If you want to know, I run an SEO SAAS called InLinks.

Update 29 May: I just changed the column order. I think it makes more sense. Clicking on any row shows the row in a modal.

(Takes a minute to load… 14,000 rows. Wait until you see the search box.)

Signals searchable below… use the green (+) icon to expand.

NameDescriptionModuleNameModuleDescriptionType
idAbuseiamAbuseTypeString
subtypeOptional client specific subtype of abuse that is too specific to belong in the above enumeration. For example, some client may want to differentiate nudity from graphic sex, but both are PORNOGRAPHY.AbuseiamAbuseTypeString
ageYearsThis restriction applies if the user is between [min_age_years, age_years) years old.AbuseiamAgeRestrictioninteger
minAgeYearsAbuseiamAgeRestrictioninteger
childThis restriction applies if all of the children apply.AbuseiamAndRestrictionlist(AbuseiamUserRestriction)
idAbuseiamClientA client is be a Google product, or subproduct that provides content for AbuseIAm to classify.String
subserviceThe name of the subservice within a client. This subservice can be used to affect the flow of decision script, or selection of backend classifiers. For example, StreetView may want to specify a panel is insufficiently blurred (maybe there is a lisense plate or public sex, etc), which requires manual review then the subservice might be “blurring”.AbuseiamClientA client is be a Google product, or subproduct that provides content for AbuseIAm to classify.String
typeA constant of type TRUE always applies, and of type FALSE never applies.AbuseiamConstantRestrictionString
adminVerdictTakedowns specified by admins via AbuseIAmAbuseiamContentRestrictionPair of Verdicts used for ProjectR age/geo gating. See http://go/projectr for more information.list(AbuseiamVerdict)
userVerdictUser-specified takedownsAbuseiamContentRestrictionPair of Verdicts used for ProjectR age/geo gating. See http://go/projectr for more information.list(AbuseiamVerdict)
abuseTypeAbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.AbuseiamAbuseType
backendWho creates this Evaluation. This field is required.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.String
commentBackends can choose to put some debug info in addition to abuse_type, score, and status.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.String
miscDataThis field is used to store miscellaneous information that Backend might provide. If you find youself here considering to use this field, please prefer using the repeated feature field below instead. It supports a richer structure for passing complex data back from the backend.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.list(AbuseiamNameValuePair)
processedMicrosWhen the evaluation was processed by the decision script.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.String
regionThe list of regions where the evaluation applies.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.list(AbuseiamRegion)
scoreAbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.float
statusAbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.String
targetAbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.AbuseiamTarget
timestampMicrosWhen the Evaluation was generated.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.String
userRestrictionA boolean expression tree used to define the restrictions where the verdict applies. Please use java/com/google/ccc/abuse/abuseiam/client/TakedownManager.java to evaluate this proto.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.AbuseiamUserRestriction
versionVersion of Backend. For rules, this string is the only way to differentiate between them.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.String
localeAbuseiamGeoRestrictionA node representing a table of regions and restrictions that apply to those regions. This table understands region inclusion and knows to apply the most specific rule, for example, a rule for France would override a rule for the EU for a user in France.list(AbuseiamGeoRestrictionLocale)
locationThe location where the restriction applies. Defaults to the “The world”. See go/iii.AbuseiamGeoRestrictionLocaleString
restrictionThe UserRestriction that applies to this location. If not specified evaluates to true.AbuseiamGeoRestrictionLocaleAbuseiamUserRestriction
hash64 bit hash in the hex form.AbuseiamHashInformation about various hashes that can be computed on a message ex: simhash, attachment hash, etcString
typeAbuseiamHashInformation about various hashes that can be computed on a message ex: simhash, attachment hash, etcString
nameAbuseiamNameValuePairString
nonUtf8ValueAbuseiamNameValuePairString
valueAbuseiamNameValuePairString
childThis restriction applies if the child does not apply. Only one is allowed. “repeated” is used to avoid breaking Sawzall (See b/6758277).AbuseiamNotRestrictionlist(AbuseiamUserRestriction)
childThis restriction applies if any of the children apply.AbuseiamOrRestrictionlist(AbuseiamUserRestriction)
regionThis is a CLDR Region Code: http://wiki/Main/IIIHowTo#using_region It is used to denote the region affected by a verdict.AbuseiamRegionString
typeAbuseiamSpecialRestrictionA SpecialRestriction is a standardized UserRestriction which lives in a table maintained via CDD.String
idAbuseiamTargetString
typeAbuseiamTargetString
channelAbuseiamUserNotificationA structure used to configure a notification to a user.String
ageRestrictionAbuseiamUserRestrictionDescribes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.AbuseiamAgeRestriction
andRestrictionOperatorsAbuseiamUserRestrictionDescribes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.AbuseiamAndRestriction
constantRestrictionConstantAbuseiamUserRestrictionDescribes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.AbuseiamConstantRestriction
geoRestrictionLeaf NodesAbuseiamUserRestrictionDescribes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.AbuseiamGeoRestriction
notRestrictionAbuseiamUserRestrictionDescribes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.AbuseiamNotRestriction
orRestrictionAbuseiamUserRestrictionDescribes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.AbuseiamOrRestriction
specialRestrictionAbuseiamUserRestrictionDescribes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.AbuseiamSpecialRestriction
clientTarget client of the verdict. It can be used to differentiate verdicts from multiple clients when such verdicts are processed in one common place.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.AbuseiamClient
commentAdditional info regarding the verdict.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.String
decisionAbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.String
durationMinsTime duration (in minutes) of the verdict.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.integer
evaluationEvaluations relevant to this verdict. Every Verdict should contain at least one Evaluation.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.list(AbuseiamEvaluation)
hashesDetails of all the hashes that can be computed on a message, such as simhash and attachment hashAbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.list(AbuseiamHash)
isLegalIssuedIs this verdict issued by legal?AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.boolean
miscScoresThis field is used to pass relevant / necessary scores to our clients. For eg: ASBE propagates these scores to moonshine.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.list(AbuseiamNameValuePair)
reasonCodeA short description of the reason why the verdict decision is made.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.String
regionThe regions in which this verdict should be enforced. Absence of this field indicates that the verdict is applicable everywhere.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.list(AbuseiamRegion)
restrictionRestrictions on where this verdict applies. If any restriction is met, the verdict is applied there. If no restrictions are present, the verdict is considered global.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.list(AbuseiamVerdictRestriction)
strikeCategoryCategory of the strike if this is a strike verdict.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.String
targetAbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.AbuseiamTarget
targetTimestampMicrosThe timestamp of the target. E.g., the time when the target was updated.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.String
timestampMicrosWhen the verdict is generatedAbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.String
userNotificationExtra notification(s) to be delivered to target user or message owner about the verdict.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.list(AbuseiamUserNotification)
versionversion of decision scriptAbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.String
contextFor a restriction to apply, all contexts must be satisfied. For example, if context[0] is COUNTRY/’GERMANY’ and context[1] is DESTINATION_STREAM/’gplus:SQUARE:knitting_discussion’, then the verdict applies only when the ‘knitting discussion’ square is viewed from inside Germany. Please note that this is present for legacy reasons and users of this field would be migrated to use the user_restriction field defined below.AbuseiamVerdictRestrictionDescribes restrictions on where the verdict applies.list(AbuseiamVerdictRestrictionContext)
userRestrictionA boolean expression tree used to define the restrictions where the verdict applies. Please use java/com/google/ccc/abuse/abuseiam/client/TakedownManager.java to evaluate this proto.AbuseiamVerdictRestrictionDescribes restrictions on where the verdict applies.AbuseiamUserRestriction
idString identifying the context.AbuseiamVerdictRestrictionContextDescribes a dimension of a context where a verdict applies.String
typeAbuseiamVerdictRestrictionContextDescribes a dimension of a context where a verdict applies.String
highIdAdsShoppingReportingOffersSerializedSoriIdThe serialized form of a SORI id. NOTE that this proto is stored in V4/O4 index and that new fields should not be added without getting an agreement from the serving team as well.String
lowId1AdsShoppingReportingOffersSerializedSoriIdThe serialized form of a SORI id. NOTE that this proto is stored in V4/O4 index and that new fields should not be added without getting an agreement from the serving team as well.String
lowId2AdsShoppingReportingOffersSerializedSoriIdThe serialized form of a SORI id. NOTE that this proto is stored in V4/O4 index and that new fields should not be added without getting an agreement from the serving team as well.String
anchorAnchorslist(AnchorsAnchor)
homepageAnchorsDroppedThe total # of local homepage anchors dropped in AnchorAccumulator.AnchorsString
indexTierThe index tier from which the anchors were extracted. Note that this is only valid in the anchor record written by linkextractor. The value can be one of the enum values defined in segindexer/types.h.Anchorsinteger
localAnchorsDroppedThe total # of local non-homepage anchors dropped in AnchorAccumulator.AnchorsString
nonlocalAnchorsDroppedThe total # of non-local anchors dropped in AnchorAccumulator.AnchorsString
redundantAnchorsDroppedThe *_anchors_dropped fields below are not populated by Alexandria, which uses cdoc.anchor_stats instead. The total # of redundant anchors dropped in linkextractor.AnchorsString
redundantanchorinfoAnchorslist(AnchorsRedundantAnchorInfo)
supplementalAnchorsDroppedThe total # of supplemental anchors dropped in AnchorAccumulator. ## DEPRECATED.AnchorsString
targetDocidmay be implicitAnchorsString
targetSiteHOST_LEVEL site chunking.AnchorsString
targetUrlThis is produced during link extraction but not written out in the linklogs in order to save space.AnchorsString
creationDateused for history – the first and last time we have seen this anchor. creation_date also used for Freshdocs Twitter indexing, a retweet is an anchor of the original tweet. This field records the time when a retweet is created.AnchorsAnchorinteger
origTextOriginal text, including capitalization and punctuation. Runs of whitespace are collapsed into a single space.AnchorsAnchorString
context2This is a hash of terms near the anchor. (This is a second-generation hash replacing the value stored in the ‘context’ field.)AnchorsAnchorinteger
fontsizeAnchorsAnchorinteger
experimentalIf true, the anchor is for experimental purposes and should not be used in serving.AnchorsAnchorboolean
fragmentThe URL fragment for this anchor (the foo in http://www.google.com#foo)AnchorsAnchorString
sourceTypeis to record the quality of the anchor’s source page and is correlated with but not identical to the index tier of the source page. In the docjoins built by the indexing pipeline (Alexandria), – Anchors marked TYPE_HIGH_QUALITY are from base documents. – Anchors marked TYPE_MEDIUM_QUALITY are from documents of medium quality (roughly but not exactly supplemental tier documents). – Anchors marked TYPE_LOW_QUALITY are from documents of low quality (roughly but not exactly blackhole documents). Note that the source_type can also be used as an importance indicator of an anchor (a lower source_type value indicates a more important anchor), so it is important to enforce that TYPE_HIGH_QUALITY < TYPE_MEDIUM_QUALITY < TYPE_LOW_QUALITY To add a new source type in future, please maintain the proper relationship among the types as well. TYPE_FRESHDOCS, only available in freshdocs indexing, is a special case and is considered the same type as TYPE_HIGH_QUALITY for the purpose of anchor importance in duplicate anchor removal.AnchorsAnchorinteger
pagerankWeightWeight to be stored in linkmaps for pagerankerAnchorsAnchornumber
isLocalThe bit ~roughly~ indicates whether an anchor’s source and target pages are on the same domain. Note: this plays no role in determining whether an anchor is onsite, ondomain, or offdomain in mustang (i.e., the bit above).AnchorsAnchorboolean
originalTargetDocidThe docid of the anchor’s original target. This field is available if and only if the anchor is forwarded.AnchorsAnchorString
fullLeftContextThe full context. These are not written out in the linklogs.AnchorsAnchorlist(String)
expiredtrue iff exp domainAnchorsAnchorboolean
catfishTagsCATfish tags attached to a link. These are similar to link tags, except the values are created on the fly within Cookbook. See: http://sites/cookbook/exporting/indexingAnchorsAnchorlist(integer)
deletionDateAnchorsAnchorinteger
linkTagsContains info on link type, source page, etc.AnchorsAnchorlist(integer)
forwardingTypesHow the anchor is forwarded to the canonical, available only for forwarded anchors (i.e., the field is set). The forwarding types are defined in URLForwardingUtil (segindexer/segment-indexer-util.h). Always use URLForwardingUtil to access this field and use URLForwardingUtil::GetAnchorForwardingReason to get the explanation how the anchor is forwarded to the canonical. NOTE: Use with caution as it is only set for docjoins generated using the urlmap from repository/updater.AnchorsAnchorinteger
possiblyOldFirstseenDateDEPRECATED. It used to be set if firstseen_date is not set. It’s to indicate that the anchor is possibly old, but we don’t have enough information to tell until the linkage map is updated. TODO(hxu) rename it to possibly_old_firstseen_date_DEPRECATED after clean up other dependencies.AnchorsAnchorboolean
localityFor ranking purposes, the quality of an anchor is measured by its “locality” and “bucket”. See quality/anchors/definitions.h for more information.AnchorsAnchorinteger
demotionreasonDEPRECATEDAnchorsAnchorinteger
parallelLinksThe number of additional links from the same source page to the same target domain. Not populated if is_local is true.AnchorsAnchorinteger
textSpace-delimited anchor words. Text that needs segmentation (like CJK or Thai) is unsegmented, since we set FLAGS_segment_during_lexing to false in mr-linkextractor.cc .AnchorsAnchorString
sourceAnchorsAnchorAnchorsAnchorSource
bucketAnchorsAnchorinteger
fullRightContextAnchorsAnchorlist(String)
targetUrlEncodingA given target URL may be found in different encodings in different documents. We store the URL encoding with each source anchor so that we can count them later to find the encoding most likely to be expected by the Web site. Around 0.7% of target URLs are expected to require a non-default value here. The default value 0 is referenced in C++ as webutil::kDefaultUrlEncoding. See also webutil/urlencoding.AnchorsAnchorinteger
compressedOriginalTargetUrlThe anchor’s original target url, compressed. Available only in Alexandria docjoins when the anchor is forwarded.AnchorsAnchorString
firstseenDate# days past Dec 31, 1994, 23:00:00 UTC (Unix time @788914800) that this link was first seen. Should never occupy more than 15 bits. NOTE: this is NOT the same as creation_date; firstseen_date is filled during link extractionAnchorsAnchorinteger
setiPagerankWeightTEMPORARYAnchorsAnchornumber
contextAnchorsAnchorinteger
linkAdditionalInfoAdditional information related to the anchor, such as additional anchor text or scores.AnchorsAnchorProto2BridgeMessageSet
typeDEPRECATED: Now in link_tagsAnchorsAnchorinteger
firstseenNearCreationtrue if we think ‘firstseen_date’ is an accurate estimate of when the link was actually added to the source page. false if it may have existed for some time before we saw it.AnchorsAnchorboolean
lastUpdateTimestampUsed for history and freshness tracking – the timestamp this anchor is updated in indexing.AnchorsAnchorinteger
offsetThis is the offset for the first term in the anchor – it can be used as a unique ID for the anchor within the document and compared against all per-tag data. This is measured in bytes from the start of the document. We write this out to the linklogs to recover the original order of links after source/target forwarding. This is necessary for computing the global related data.AnchorsAnchorinteger
weightweights are 0-127AnchorsAnchorinteger
deletedAnchorsAnchorboolean
encodedNewsAnchorDataEncoded data containing information about newsiness of anchor. Populated only if anchor is classified as coming from a newsy, high quality site. Encoded data for anchor sources are being stored in googledata/quality/freshness/news_anchors/encoded_news_anchors_data.txt Scores are being computed with quality/freshness/news_anchors/ routines.AnchorsAnchorinteger
compressedImageUrlsIf the anchor contained images, these image urls are stored here in compressed form.AnchorsAnchorlist(String)
timestampThis field is DEPRECATED and no longer filled. For source page crawl timestamp, use Source.crawl_timestamp. Next tag id should be 62.AnchorsAnchorString
additionalInfoAdditional information related to the source, such as news hub info.AnchorsAnchorSourceattributes of the source document for the linkProto2BridgeMessageSet
clusteranchor++ cluster idAnchorsAnchorSourceattributes of the source document for the linkinteger
compressedUrlcompressed source urlAnchorsAnchorSourceattributes of the source document for the linkString
crawlTimestampSource page crawl timestamp.AnchorsAnchorSourceattributes of the source document for the linkString
docidThe docid field used to be “required”, but it is now “optional” because it is not present when anchors are stored in webtable. When anchors are stored as part of docjoin files in the segment indexer, however, docid should be considered required.AnchorsAnchorSourceattributes of the source document for the linkString
doclengthnecessary for anything?AnchorsAnchorSourceattributes of the source document for the linkinteger
homePageInfoInformation about if the source page is a home page. It can be one of the enum values defined in PerDocData::HomePageInfo (NOT_HOMEPAGE, NOT_TRUSTED, PARTIALLY_TRUSTED, and FULLY_TRUSTED).AnchorsAnchorSourceattributes of the source document for the linkinteger
indyrankuint16 scaleAnchorsAnchorSourceattributes of the source document for the linkinteger
ipaddrDEPRECATED, use packed_ipaddressAnchorsAnchorSourceattributes of the source document for the linkinteger
languagedefault -> EnglishAnchorsAnchorSourceattributes of the source document for the linkinteger
linkhash0 -> no hashAnchorsAnchorSourceattributes of the source document for the linkString
localCountryCodesCountries to which the source page is local/most relevant; stored as III identifiers for country/region codes (see http://go/iii).AnchorsAnchorSourceattributes of the source document for the linklist(integer)
nsrThis NSR value has range [0,1000] and is the original value [0.0,1.0] multiplied by 1000 rounded to an integer.AnchorsAnchorSourceattributes of the source document for the linkinteger
outdegreeAnchorsAnchorSourceattributes of the source document for the linkinteger
outsitesapprox num of pointed-to sitesAnchorsAnchorSourceattributes of the source document for the linkinteger
packedIpaddressstring in IPAddress::ToPackedString() format.AnchorsAnchorSourceattributes of the source document for the linkString
pageTagsPage tags are described by enum PageTag in PerDocData. Page tags are used in anchors to identify properties of the linking page. These are DEPRECATED: in the future, use link_tags instead. DEPRECATEDAnchorsAnchorSourceattributes of the source document for the linklist(integer)
pagerankuint16 scaleAnchorsAnchorSourceattributes of the source document for the linkinteger
pagerankNsunit16 scaleAnchorsAnchorSourceattributes of the source document for the linkinteger
seglanguageDEPRECATEDAnchorsAnchorSourceattributes of the source document for the linkinteger
siteAnchorsAnchorSourceattributes of the source document for the linkString
spamrankuint16 scaleAnchorsAnchorSourceattributes of the source document for the linkinteger
spamscore1deprecated, to be removed after October 20. 0-127 scaleAnchorsAnchorSourceattributes of the source document for the linkinteger
spamscore20-127 scaleAnchorsAnchorSourceattributes of the source document for the linkinteger
webtableKeyWebtable key of sourceAnchorsAnchorSourceattributes of the source document for the linkString
anchorsDroppedAnchorsRedundantAnchorInfoNOTE: in docjoins, the following anchor sampling information is only ## available in the first record of a document (under the same docid). The total number of redundant anchors dropped per (domain, text) in linkextractor. If we receive a large number of anchors from a particular domain, then we’ll throw out all but a sampling of them from that domain. The data is sorted by the (domain,text) pairs. This field is not populated by Alexandria, which uses cdoc.anchor_stats instead.String
domainAnchorsRedundantAnchorInfoNOTE: in docjoins, the following anchor sampling information is only ## available in the first record of a document (under the same docid). The total number of redundant anchors dropped per (domain, text) in linkextractor. If we receive a large number of anchors from a particular domain, then we’ll throw out all but a sampling of them from that domain. The data is sorted by the (domain,text) pairs. This field is not populated by Alexandria, which uses cdoc.anchor_stats instead.String
textAnchorsRedundantAnchorInfoNOTE: in docjoins, the following anchor sampling information is only ## available in the first record of a document (under the same docid). The total number of redundant anchors dropped per (domain, text) in linkextractor. If we receive a large number of anchors from a particular domain, then we’ll throw out all but a sampling of them from that domain. The data is sorted by the (domain,text) pairs. This field is not populated by Alexandria, which uses cdoc.anchor_stats instead.String
customerIdAppsDynamiteCustomerIdRepresents a GSuite customer ID. Obfuscated with CustomerIdObfuscator.String
consumerInfoAppsDynamiteSharedOrganizationInfoContains info about the entity that something is, or is owned by.AppsDynamiteSharedOrganizationInfoConsumerInfo
customerInfoAppsDynamiteSharedOrganizationInfoContains info about the entity that something is, or is owned by.AppsDynamiteSharedOrganizationInfoCustomerInfo
customerIdAppsDynamiteSharedOrganizationInfoCustomerInfoAppsDynamiteCustomerId
memberTypeAppsDynamiteSharedSegmentedMembershipCountContains info on membership count for member types: HUMAN_USER, APP_USER & ROSTER_MEMBER different states: INVITED, JOINEDString
membershipCountcount of members with given type and stateAppsDynamiteSharedSegmentedMembershipCountContains info on membership count for member types: HUMAN_USER, APP_USER & ROSTER_MEMBER different states: INVITED, JOINEDinteger
membershipStateAppsDynamiteSharedSegmentedMembershipCountContains info on membership count for member types: HUMAN_USER, APP_USER & ROSTER_MEMBER different states: INVITED, JOINEDString
valueAppsDynamiteSharedSegmentedMembershipCountslist(AppsDynamiteSharedSegmentedMembershipCount)
idThe hierarchy of IDs. Each individual ID is “flat” and the repeated list defines the hierarchy. Namespaces define the “validity” of this hierachy (depth, naming convention, etc) and the server will reject invalid IDs.AppsPeopleActivityBackendDestinationStreamA DestinationStream is a /namespace/id[0]/id[1]/…/id[n] that represents a collection of Activities. Example destinations: -The Profile Stream on http://plus.google.com/+JohnDoe/posts -A Square Stream on http://plus.google.com/squares/123 -A “comment Stream” (Fountain) on http://www.youtube.com/watch?id=123 It’s possible for a single Activity to show in each of these destinations – and it might behave/look slightly differently for each one. Destinations can have their own business logic associated with them at both write-time and read-time server-side (these are documented below). Each DestinationStream is indexed and can be retrieved using the GetDestinationStreamRequest. For the repeated ID space indexing happens at all levels, e.g. if you have: /square/123/abc /square/123/efd /square/456 You can fetch /square/123/abc directly or /square/123 (which includes all Activities in both /square/123/abc and /square/123/efd), or even /square which retrieves all Activities in the Square namespace (visible for that user). On the storage layer, we represent DestinationStream as Channel (http://cs/#google3/social/common/channel/channel.proto), since the storage does not have the concept of a Stream. Both terms are used interchangeably within the service layer, but client of Social Infrastructure should use the term DestinationStream. Next ID: 3list(String)
namespaceAppsPeopleActivityBackendDestinationStreamA DestinationStream is a /namespace/id[0]/id[1]/…/id[n] that represents a collection of Activities. Example destinations: -The Profile Stream on http://plus.google.com/+JohnDoe/posts -A Square Stream on http://plus.google.com/squares/123 -A “comment Stream” (Fountain) on http://www.youtube.com/watch?id=123 It’s possible for a single Activity to show in each of these destinations – and it might behave/look slightly differently for each one. Destinations can have their own business logic associated with them at both write-time and read-time server-side (these are documented below). Each DestinationStream is indexed and can be retrieved using the GetDestinationStreamRequest. For the repeated ID space indexing happens at all levels, e.g. if you have: /square/123/abc /square/123/efd /square/456 You can fetch /square/123/abc directly or /square/123 (which includes all Activities in both /square/123/abc and /square/123/efd), or even /square which retrieves all Activities in the Square namespace (visible for that user). On the storage layer, we represent DestinationStream as Channel (http://cs/#google3/social/common/channel/channel.proto), since the storage does not have the concept of a Stream. Both terms are used interchangeably within the service layer, but client of Social Infrastructure should use the term DestinationStream. Next ID: 3String
reportCompromisedCorresponds on “This account might be compromised or hacked” reporting action.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
reportHarassmentCorresponds on “Harassment or bullying” reporting action.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
reportHateCorresponds on “Hate speach or graphic violence” reporting action.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
reportPornCorresponds on “Pornography or sexually explicit material” reporting action.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
reportSpamCorresponds on “Unwanted commercial content or spam” reporting action.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
serveCountNumber of times this activity was served out of asbe/stanza.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
timeSecTimestamp in seconds for which time this record is valid.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
ytThumbsDownCorresponds on Distiller comment thumbs down action.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
contentTypeAppsPeopleOzExternalMergedpeopleapiAboutString
metadataAppsPeopleOzExternalMergedpeopleapiAboutAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
safeHtmlValueSanitized HTML value that is only populated when the SANITIZE_ABOUT_HTML extension is requested.AppsPeopleOzExternalMergedpeopleapiAboutWebutilHtmlTypesSafeHtmlProto
valueAppsPeopleOzExternalMergedpeopleapiAboutString
nameDisplayOptionsAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataExtension data for use in AboutMe.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataNameDisplayOptions
photosCompareDataAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataExtension data for use in AboutMe.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareData
profileEditabilityAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataExtension data for use in AboutMe.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileEditability
profileNameModificationHistoryAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataExtension data for use in AboutMe.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistory
nicknameOptionAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataNameDisplayOptionsSee NameDisplayOptions in //depot/google3/focus/backend/proto/backend.proto. See also go/nickname-mess.String
diffDataAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffData
highResUrlAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataString
inconsistentPhotoTrue 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-photosAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataboolean
lowResDataOnly present if the photo diff is greater than 0.01 on any color band.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataString
lowResUrlAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataString
monogramUrlAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataString
privateLowResAclTrue if the low-res photo has a private ACL set.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataboolean
blueDiffAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffDatanumber
greenDiffAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffDatanumber
redDiffAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffDatanumber
lockedFieldRead-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.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileEditabilitySee UserEditedLockedMask in //depot/google3/focus/backend/proto/backend.proto.list(String)
computedNameChangesRemainingThe 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.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistorySee ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.protointeger
computedNicknameChangesRemainingThe 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.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistorySee ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.protointeger
nameChangesRemainingThe number of name changes remaining at the time the name was last modified.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistorySee ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.protointeger
nameLastModifiedThe last time the profile name was modified in milliseconds UTC.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistorySee ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.protoString
nicknameChangesRemainingThe number of nickname changes remaining at the time the nickname was last modified.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistorySee ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.protointeger
nicknameLastModifiedThe last time the profile nickname was modified in milliseconds UTC.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistorySee ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.protoString
quotaEnforcementStatusAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistorySee ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.protoString
emailAppsPeopleOzExternalMergedpeopleapiAccountEmailString
rawDeviceContactInfoWhen the container is a DEVICE_CONTACT, this list provides account information from the raw contact which is the source of this field.AppsPeopleOzExternalMergedpeopleapiAdditionalContainerInfoAdditional information about a container. TO BE DELETED: replaced by DeviceContactInfo.list(AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfo)
countryAppsPeopleOzExternalMergedpeopleapiAddressString
countryCodeAppsPeopleOzExternalMergedpeopleapiAddressString
encodedPlaceIdFeatureId associated with the address. The format is the same as that used for ids in PLACE containers in SourceIdentity.AppsPeopleOzExternalMergedpeopleapiAddressString
extendedAddressAppsPeopleOzExternalMergedpeopleapiAddressString
formattedAppsPeopleOzExternalMergedpeopleapiAddressString
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiAddressString
localityAppsPeopleOzExternalMergedpeopleapiAddressString
metadataAppsPeopleOzExternalMergedpeopleapiAddressAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
poBoxAppsPeopleOzExternalMergedpeopleapiAddressString
pointSpecAppsPeopleOzExternalMergedpeopleapiAddressAppsPeopleOzExternalMergedpeopleapiPointSpec
postalCodeAppsPeopleOzExternalMergedpeopleapiAddressString
regionAppsPeopleOzExternalMergedpeopleapiAddressString
streetAddressAppsPeopleOzExternalMergedpeopleapiAddressString
typeThe type of the address. The type can be free form or one of these predefined values: * `home` * `work` * `other`AppsPeopleOzExternalMergedpeopleapiAddressString
affinityMetadataContains extra ranking information returned by DAS.AppsPeopleOzExternalMergedpeopleapiAffinitySimilar to social.graph.storage.Affinity, but pared down to what the clients of the People API are interested in.SocialGraphWireProtoPeopleapiAffinityMetadata
affinityTypeAppsPeopleOzExternalMergedpeopleapiAffinitySimilar to social.graph.storage.Affinity, but pared down to what the clients of the People API are interested in.String
containerIdThe ID of the containerAppsPeopleOzExternalMergedpeopleapiAffinitySimilar to social.graph.storage.Affinity, but pared down to what the clients of the People API are interested in.String
containerTypeThe type of container to which this affinity appliesAppsPeopleOzExternalMergedpeopleapiAffinitySimilar to social.graph.storage.Affinity, but pared down to what the clients of the People API are interested in.String
loggingIdUsed to log events for this affinity value, for disco diagnostic-purposes. See go/disco-diagnostics.AppsPeopleOzExternalMergedpeopleapiAffinitySimilar to social.graph.storage.Affinity, but pared down to what the clients of the People API are interested in.String
valueAffinity value. Frequently represented as an inverse ranking, sometimes with additional data encoded. If data_formats.affinity_formats.score_format is set to RAW_SCORE then the value will be the score returned by DAS.AppsPeopleOzExternalMergedpeopleapiAffinitySimilar to social.graph.storage.Affinity, but pared down to what the clients of the People API are interested in.float
ageInYearsPlease 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.AppsPeopleOzExternalMergedpeopleapiAgeRangeTypePlease 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.integer
ageOfConsentStatusDeprecated. 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.AppsPeopleOzExternalMergedpeopleapiAgeRangeTypePlease 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.String
ageRangeDeprecated. 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.AppsPeopleOzExternalMergedpeopleapiAgeRangeTypePlease 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.String
metadataAppsPeopleOzExternalMergedpeopleapiAgeRangeTypePlease 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.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
appUniqueIdStore the app unique id endpoint. This will be passed over to app to fulfill the action. For example, app_unique_id for Whatsapp will be “[email protected]AppsPeopleOzExternalMergedpeopleapiAppUniqueInfoStore all app unique info that are needed for app action fulfillment.String
contactInfoSourceWhere this contact info was retrieved from. Note: only added for Assistant usage, and will not be populated by PAPI. This is due to the coupling between Assistant Proto, and PAPI proto. (//depot/google3/quality/qrewrite/servlets/proto/focus_name.proto)AppsPeopleOzExternalMergedpeopleapiAppUniqueInfoStore all app unique info that are needed for app action fulfillment.String
displayAppUniqueIdStore third party endpoint that is displayed to users. For example, display_app_unique_id for Whatsapp will be “Message +11234567890”.AppsPeopleOzExternalMergedpeopleapiAppUniqueInfoStore all app unique info that are needed for app action fulfillment.String
labelStore third party endpoint label. For example, “HOME”, “WORK”AppsPeopleOzExternalMergedpeopleapiAppUniqueInfoStore all app unique info that are needed for app action fulfillment.String
mimetypeStore mimetype of this endpoint. We will use this as the differentiator for Assistant to know whether to use the RawContact for messaging, call or video call. For example, send message mimetype for whatsapp: “vnd.android.cursor.item/vnd.com.whatsapp.profile” voice call mimetype for whatsapp: “vnd.android.cursor.item/vnd.com.whatsapp.voip.call”AppsPeopleOzExternalMergedpeopleapiAppUniqueInfoStore all app unique info that are needed for app action fulfillment.String
containerTypeThe container the suggested name was sourced fromAppsPeopleOzExternalMergedpeopleapiBestDisplayNameThe 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.String
displayNameThe 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=351360938AppsPeopleOzExternalMergedpeopleapiBestDisplayNameThe 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.String
displayNameLastFirstThe 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.AppsPeopleOzExternalMergedpeopleapiBestDisplayNameThe 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.String
ageDisableGracePeriodOnly supported for PROFILE/DOMAIN_PROFILE/ACCOUNT container.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT 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. – 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.AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriod
birthdayDecorationWhether the user has opted in to display their birthday via photo decorations. Only supported for PROFILE/DOMAIN_PROFILE container.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT 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. – 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.SocialGraphApiProtoBirthdayDecoration
birthdayResolutionOnly supported for PROFILE/DOMAIN_PROFILE/ACCOUNT container.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT 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. – 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.String
calendarDayBirthdays 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.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT 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. – 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.GoogleTypeDate
dateMsBirthdays 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.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT 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. – 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.String
dateMsAsNumberdate_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.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT 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. – 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.String
metadataAppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT 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. – 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.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
promptPeople Prompts settings for contact birthday data. Only supported for CONTACT container.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT 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. – 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.SocialGraphApiProtoPrompt
valueActual value entered. Allows unstructured values.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT 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. – 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.String
calendarDayProvisional birthday AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodWhether 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.GoogleTypeDate
gracePeriodEndTimestamp which signifies the end of the grace period for this account.AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodWhether 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.DateTime
gracePeriodStartTimestamp which signifies the start of the grace period for this account.AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodWhether 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.DateTime
gracePeriodTypeAppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodWhether 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.String
manualGracePeriodInfoAppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodWhether 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.AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodManualGracePeriodInfo
escalateToThe Gaia ID of an email that ops can send inquiries to for appeals.AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodManualGracePeriodInfoInformation provided within MutateDataRequest when setting a user into AgeDisableGracePeriod manually. When the grace period expires, this info will be forwarded to Gaia when disabling the user. cs//symbol:InitiateAgeDisableGracePeriodArgumentsString
executedByThe Gaia ID of a Googler who initiated this disable.AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodManualGracePeriodInfoInformation provided within MutateDataRequest when setting a user into AgeDisableGracePeriod manually. When the grace period expires, this info will be forwarded to Gaia when disabling the user. cs//symbol:InitiateAgeDisableGracePeriodArgumentsString
reasonWhen setting a user into age grace period manually, the requester can additionally supply a short human-readable reason of why the account is put into manual grace period. The description will be forwarded to Gaia when we disable the account when the grace period expires.AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodManualGracePeriodInfoInformation provided within MutateDataRequest when setting a user into AgeDisableGracePeriod manually. When the grace period expires, this info will be forwarded to Gaia when disabling the user. cs//symbol:InitiateAgeDisableGracePeriodArgumentsString
metadataAppsPeopleOzExternalMergedpeopleapiBraggingRightsAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiBraggingRightsString
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiCalendarA url to the person’s calendar. As of 03/2018 is not supported for user Profile.String
metadataAppsPeopleOzExternalMergedpeopleapiCalendarA url to the person’s calendar. As of 03/2018 is not supported for user Profile.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeThe type of the calendar URL. The type can be free form or one of these predefined values: * `home` * `freeBusy` * `work`AppsPeopleOzExternalMergedpeopleapiCalendarA url to the person’s calendar. As of 03/2018 is not supported for user Profile.String
urlAppsPeopleOzExternalMergedpeopleapiCalendarA url to the person’s calendar. As of 03/2018 is not supported for user Profile.String
callerIdSourceIndicates which data source was used to populate the caller ID resultAppsPeopleOzExternalMergedpeopleapiCallerIdExtendedDataAppsPeopleOzExternalMergedpeopleapiCallerIdExtendedDataCallerIdSource
sourceTypeAppsPeopleOzExternalMergedpeopleapiCallerIdExtendedDataCallerIdSourceString
bornBeforeIndicates that the user was born at or before this time.AppsPeopleOzExternalMergedpeopleapiCertifiedBornBeforeInformation related to domain administrator (or authority) certification of a users age.DateTime
metadataAppsPeopleOzExternalMergedpeopleapiCertifiedBornBeforeInformation related to domain administrator (or authority) certification of a users age.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
channelIdUnique ID that corresponds to a Youtube channel.AppsPeopleOzExternalMergedpeopleapiChannelDataString
commentCountNumber of comments for a given Youtube channel.AppsPeopleOzExternalMergedpeopleapiChannelDataString
descriptionDescription of the channel.AppsPeopleOzExternalMergedpeopleapiChannelDataString
playlistCountAppsPeopleOzExternalMergedpeopleapiChannelDataString
profilePictureUrlA 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.AppsPeopleOzExternalMergedpeopleapiChannelDataString
profileUrlURL of user’s Youtube channel profile.AppsPeopleOzExternalMergedpeopleapiChannelDataString
subscriberCountNumber of subscribers for a given Youtube channel.AppsPeopleOzExternalMergedpeopleapiChannelDataString
titleTitle of the YouTube channelAppsPeopleOzExternalMergedpeopleapiChannelDataString
usesYoutubeNamesWhether 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.AppsPeopleOzExternalMergedpeopleapiChannelDataboolean
videoCountNumber of videos uploaded in a given Youtube channel.AppsPeopleOzExternalMergedpeopleapiChannelDataString
circleIdThe circle that the person belongs to.AppsPeopleOzExternalMergedpeopleapiCircleMembershipA circle membership that the person has. A circle membership is created by adding a person to a circle by person-id or by email.String
metadataAppsPeopleOzExternalMergedpeopleapiCircleMembershipA circle membership that the person has. A circle membership is created by adding a person to a circle by person-id or by email.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
keyAppsPeopleOzExternalMergedpeopleapiClientDataArbitrary client data that is populated based on the clientString
metadataAppsPeopleOzExternalMergedpeopleapiClientDataArbitrary client data that is populated based on the clientAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
namespaceAppsPeopleOzExternalMergedpeopleapiClientDataArbitrary client data that is populated based on the clientString
valueAppsPeopleOzExternalMergedpeopleapiClientDataArbitrary client data that is populated based on the clientString
metadataAppsPeopleOzExternalMergedpeopleapiCommunicationEmailEmail for Google product communication with the user. This is only allowed in ServiceData. It is purely synthesized and read-only, and contains at most one field. It proxies from RawCommunicationEmail and only includes the primary field if exists. Otherwise if RawCommunicationEmail does not have primary, this includes a field synthesized from valid Gaia primary account email. Otherwise if Gaia primary account email is invalid, this field is empty. See go/comm-email-use for more details.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiCommunicationEmailEmail for Google product communication with the user. This is only allowed in ServiceData. It is purely synthesized and read-only, and contains at most one field. It proxies from RawCommunicationEmail and only includes the primary field if exists. Otherwise if RawCommunicationEmail does not have primary, this includes a field synthesized from valid Gaia primary account email. Otherwise if Gaia primary account email is invalid, this field is empty. See go/comm-email-use for more details.String
metadataAppsPeopleOzExternalMergedpeopleapiConnectionReminderContact-level people-prompts settings and contact-level connection reminders. Part of go/people-prompts.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
promptContact-level “reminder to connect” prompts for this contact.AppsPeopleOzExternalMergedpeopleapiConnectionReminderContact-level people-prompts settings and contact-level connection reminders. Part of go/people-prompts.list(SocialGraphApiProtoPrompt)
contactCreateContextAppsPeopleOzExternalMergedpeopleapiContactCreateContextInfoContact creation timestamps and related metadata. See go/contact-edit-history. This message is a pure wrapper of the shared ContactCreactionContext message so that it can be a top-level person field. No other fields should be added to the message.SocialGraphApiProtoContactCreateContext
metadataAppsPeopleOzExternalMergedpeopleapiContactCreateContextInfoContact creation timestamps and related metadata. See go/contact-edit-history. This message is a pure wrapper of the shared ContactCreactionContext message so that it can be a top-level person field. No other fields should be added to the message.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
contactEditContextAppsPeopleOzExternalMergedpeopleapiContactEditContextInfoContact edit timestamps and related metadata. See go/contact-edit-history. This message is a pure wrapper of the shared ContactCreactionContext message so that it can be a top-level person field. No other fields should be added to the message.SocialGraphApiProtoContactEditContext
metadataAppsPeopleOzExternalMergedpeopleapiContactEditContextInfoContact edit timestamps and related metadata. See go/contact-edit-history. This message is a pure wrapper of the shared ContactCreactionContext message so that it can be a top-level person field. No other fields should be added to the message.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
contactGroupIdThe 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.AppsPeopleOzExternalMergedpeopleapiContactGroupMembershipA 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.String
delegatedGroupInfoInformation related to delegated group that this contact belongs to.AppsPeopleOzExternalMergedpeopleapiContactGroupMembershipA 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.AppsPeopleOzExternalMergedpeopleapiDelegatedGroupInfo
metadataAppsPeopleOzExternalMergedpeopleapiContactGroupMembershipA 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.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
systemContactGroupIdThis field will be populated when the membership is in a system-reserved contact-group.AppsPeopleOzExternalMergedpeopleapiContactGroupMembershipA 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.String
contactPromptSettingsAppsPeopleOzExternalMergedpeopleapiContactPromptSettingsInfoContact level People Prompt settings. This message is a pure wrapper of the shared ContactPromptSettings message so that it can be a top-level person field. No other fields should be added to the message.SocialGraphApiProtoContactPromptSettings
metadataAppsPeopleOzExternalMergedpeopleapiContactPromptSettingsInfoContact level People Prompt settings. This message is a pure wrapper of the shared ContactPromptSettings message so that it can be a top-level person field. No other fields should be added to the message.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
contactStateAppsPeopleOzExternalMergedpeopleapiContactStateInfoContact 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.SocialGraphApiProtoContactState
metadataAppsPeopleOzExternalMergedpeopleapiContactStateInfoContact 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.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
imageHeightAppsPeopleOzExternalMergedpeopleapiCoverPhotoCoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.integer
imageIdAppsPeopleOzExternalMergedpeopleapiCoverPhotoCoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.String
imageUrlAppsPeopleOzExternalMergedpeopleapiCoverPhotoCoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.String
imageWidthAppsPeopleOzExternalMergedpeopleapiCoverPhotoCoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.integer
isAnimatedAppsPeopleOzExternalMergedpeopleapiCoverPhotoCoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.boolean
isDefaultAppsPeopleOzExternalMergedpeopleapiCoverPhotoCoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.boolean
metadataAppsPeopleOzExternalMergedpeopleapiCoverPhotoCoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
customerIdDEPRECATED. 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.AppsPeopleOzExternalMergedpeopleapiCustomerInfoContains customer data for profile owner proxied from D3.String
customerNameCustomer organization name for dasher user.AppsPeopleOzExternalMergedpeopleapiCustomerInfoContains customer data for profile owner proxied from D3.String
obfuscatedCustomerIdObfuscated FlexOrgs customer ID for Dasher user. See cs/symbol:CustomerIdObfuscator.AppsPeopleOzExternalMergedpeopleapiCustomerInfoContains customer data for profile owner proxied from D3.String
fieldDisplayNameAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
fieldIdAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
fieldTypeAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
metadataAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
multiValuedAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).boolean
schemaDisplayNameAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
schemaIdAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
typeThe type of the custom schema field. The type can be free form or one of these predefined values: * `home` * `other` * `work`AppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
valueString representation of the value, based on FieldTypeAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
containerTypeSee SourceIdentity.container_typeAppsPeopleOzExternalMergedpeopleapiDedupedContainerInfoContainer information for deduping. When two fields have the same value and only differ by field.metadata a service implementation can choose to avoid duplicating the fields and instead set field.metadata.other_deduped_containers This type can include information on the dedupe type (for example, strict value match vs. lenient value match)String
idSee SourceIdentity.idAppsPeopleOzExternalMergedpeopleapiDedupedContainerInfoContainer information for deduping. When two fields have the same value and only differ by field.metadata a service implementation can choose to avoid duplicating the fields and instead set field.metadata.other_deduped_containers This type can include information on the dedupe type (for example, strict value match vs. lenient value match)String
delegatedGroupIdRequired. The additional id specifically for a delegated group.AppsPeopleOzExternalMergedpeopleapiDelegatedGroupInfoInformation related to delegated group that this contact belongs to.SocialGraphApiProtoDelegatedGroupId
attributesAttributes for this device contact.AppsPeopleOzExternalMergedpeopleapiDeviceContactExtraMetadataExtra metadata for an aggregated or raw device contact.list(String)
usageInfoUsage info for this device contact.AppsPeopleOzExternalMergedpeopleapiDeviceContactExtraMetadataExtra metadata for an aggregated or raw device contact.list(SocialGraphApiProtoUsageInfo)
contactIdAggregated device contact id on the source device.AppsPeopleOzExternalMergedpeopleapiDeviceContactIdUnique id for an aggregated device contact.String
deviceIdSource device id (go/client-instance-id) of this device contact.AppsPeopleOzExternalMergedpeopleapiDeviceContactIdUnique id for an aggregated device contact.String
deviceContactMetadataMetadata for this device contact.AppsPeopleOzExternalMergedpeopleapiDeviceContactInfoDevice contact information.AppsPeopleOzExternalMergedpeopleapiDeviceContactExtraMetadata
hasCrossDeviceDataOutput only. True if any of the contact’s phone, email or address fields can be used on devices other than the one it originated from. Note that there can be other fields, typically name, and metadata such as some of the raw_contact_infos that can be used on other devices. Assigned by the server.AppsPeopleOzExternalMergedpeopleapiDeviceContactInfoDevice contact information.boolean
idId of the device contact.AppsPeopleOzExternalMergedpeopleapiDeviceContactInfoDevice contact information.AppsPeopleOzExternalMergedpeopleapiDeviceContactId
lastClientUpdateTimeLast time a device contact was updated on device.AppsPeopleOzExternalMergedpeopleapiDeviceContactInfoDevice contact information.DateTime
lookupKeyAn 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_KEYAppsPeopleOzExternalMergedpeopleapiDeviceContactInfoDevice contact information.String
rawContactInfoInfo about the raw device contacts that make up this device contact.AppsPeopleOzExternalMergedpeopleapiDeviceContactInfoDevice contact information.list(AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfo)
containerIdThe container ID of the entity this field creates a join to. See `SourceIdentity.id`.AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoString
containerTypeThe type of container that this edge points to. See `SourceIdentity.container_type`.AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoString
extendedDataData that is added to the proto by peopleapi read extensions.AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoAppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoExtensionData
materializedTrue 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.AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoboolean
gdataCompatibilityExtensionIdThe GDataCompatibilityExtension will (temporarily) return mobile_owner_id for profile containers.AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoExtensionDataString
certificateAppsPeopleOzExternalMergedpeopleapiEmaillist(AppsPeopleOzExternalMergedpeopleapiEmailCertificate)
classificationAppsPeopleOzExternalMergedpeopleapiEmailString
contactGroupPreferenceTo read or update, use the CONTACT_GROUP_PREFERENCE mask field.AppsPeopleOzExternalMergedpeopleapiEmaillist(AppsPeopleOzExternalMergedpeopleapiEmailContactGroupPreference)
displayNameAppsPeopleOzExternalMergedpeopleapiEmailString
extendedDataAppsPeopleOzExternalMergedpeopleapiEmailAppsPeopleOzExternalMergedpeopleapiEmailExtendedData
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiEmailString
metadataAppsPeopleOzExternalMergedpeopleapiEmailAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
signupEmailMetadataAppsPeopleOzExternalMergedpeopleapiEmailAppsPeopleOzExternalMergedpeopleapiEmailSignupEmailMetadata
typeThe type of the email address. The type can be free form or one of these predefined values: * `home` * `work` * `other`AppsPeopleOzExternalMergedpeopleapiEmailString
valueAppsPeopleOzExternalMergedpeopleapiEmailString
configurationNameThe name of this certificate configuration. Examples could be “High security level” or “For domain emails only”.AppsPeopleOzExternalMergedpeopleapiEmailCertificateRepresents a 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.String
metadataIt is conceivable that certificates could be ACLed. We also need to indicate which certificate is the default. The PersonFieldMetadata can accomplish both of these.AppsPeopleOzExternalMergedpeopleapiEmailCertificateRepresents a 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.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
statusAppsPeopleOzExternalMergedpeopleapiEmailCertificateRepresents a 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.AppsPeopleOzExternalMergedpeopleapiEmailCertificateCertificateStatus
notAfterSecThe certificate expiration timestamp in seconds.AppsPeopleOzExternalMergedpeopleapiEmailCertificateCertificateStatusMinimal S/MIME certificate status i.e. two fields per email address.String
statusCodeCurrent status of the email’s certificate chain.AppsPeopleOzExternalMergedpeopleapiEmailCertificateCertificateStatusMinimal S/MIME certificate status i.e. two fields per email address.String
contactGroupIdAppsPeopleOzExternalMergedpeopleapiEmailContactGroupPreferencePreferred email addresses for contact groups.String
isSyntheticIf the Preference was implicitly set by PeopleApi/Contacts Service. A preference with this bit will not be saved to storage. See go/contact-group-email-preference-papi-problem for more info.AppsPeopleOzExternalMergedpeopleapiEmailContactGroupPreferencePreferred email addresses for contact groups.boolean
typeAppsPeopleOzExternalMergedpeopleapiEmailContactGroupPreferencePreferred email addresses for contact groups.String
internalExternalFor 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.AppsPeopleOzExternalMergedpeopleapiEmailExtendedDataExtension data for a person email.PeoplestackFlexorgsProtoInternalExternal
isPlaceholderFor ListPeoplebyKnownId to indicate an email is sythesized from a lookup email.AppsPeopleOzExternalMergedpeopleapiEmailExtendedDataExtension data for a person email.boolean
smtpServerSupportsTlsFor use with the TLS extension. Whether the SMTP server that handles delivery for this email address supports TLS encryption.AppsPeopleOzExternalMergedpeopleapiEmailExtendedDataExtension data for a person email.boolean
usesConfusingCharactersFor 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.AppsPeopleOzExternalMergedpeopleapiEmailExtendedDataExtension data for a person email.boolean
primaryThis is considered to be the primary signup email. At most 1 signup email will have this set.AppsPeopleOzExternalMergedpeopleapiEmailSignupEmailMetadataAdditional metadata for a signup email. This will only be set if the email’s classification is SIGNUP_EMAIL.boolean
metadataAppsPeopleOzExternalMergedpeopleapiEmergencyInfoEmergency info for Person. See go/emergency-trusted-contacts-papi.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
pomeroyIdOpaque 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<->gaia 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.AppsPeopleOzExternalMergedpeopleapiEmergencyInfoEmergency info for Person. See go/emergency-trusted-contacts-papi.String
trustLevelAppsPeopleOzExternalMergedpeopleapiEmergencyInfoEmergency info for Person. See go/emergency-trusted-contacts-papi.String
calendarDayEvent 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.AppsPeopleOzExternalMergedpeopleapiEventGoogleTypeDate
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiEventString
metadataAppsPeopleOzExternalMergedpeopleapiEventAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
promptPeople Prompts settings for contact event data.AppsPeopleOzExternalMergedpeopleapiEventSocialGraphApiProtoPrompt
timestampMillisClients 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.AppsPeopleOzExternalMergedpeopleapiEventString
typeThe type of the event. The type can be free form or one of these predefined values: * `anniversary` * `other`AppsPeopleOzExternalMergedpeopleapiEventString
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiExternalIdExternal identifier associated with the person.String
metadataAppsPeopleOzExternalMergedpeopleapiExternalIdExternal identifier associated with the person.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeThe type of the external ID. The type can be free form or one of these predefined values: * `account` * `customer` * `loginId` * `network` * `organization`AppsPeopleOzExternalMergedpeopleapiExternalIdExternal identifier associated with the person.String
valueAppsPeopleOzExternalMergedpeopleapiExternalIdExternal identifier associated with the person.String
aclEntryA custom type of field ACL entry. The set of all ACL entries includes those listed in acl_entry as well as predefined_acl_entry.AppsPeopleOzExternalMergedpeopleapiFieldAclThe field ACL. Currently only populated on profile fields for the profile owner. A Person field ACL; see http://go/peopleapi-acllist(AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntry)
authorizedViewersSet 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: []AppsPeopleOzExternalMergedpeopleapiFieldAclThe field ACL. Currently only populated on profile fields for the profile owner. A Person field ACL; see http://go/peopleapi-acllist(String)
predefinedAclEntryA 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.AppsPeopleOzExternalMergedpeopleapiFieldAclThe field ACL. Currently only populated on profile fields for the profile owner. A Person field ACL; see http://go/peopleapi-acllist(String)
roleAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryString
scopeAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScope
allUsersIndicates that the field is accessible to all users including unauthenticated users. For some fields this means “to everyone except blocked users”.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeboolean
domainUsersThis 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.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeboolean
membershipAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAcl
personIndicates that the field is accessible to a person.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopePersonAcl
circleAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclUsed when the field is accessible to a membership that the person has.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclCircleAcl
contactGroupAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclUsed when the field is accessible to a membership that the person has.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclContactGroupAcl
circleIdAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclCircleAclUsed when a field is accessible to a circle.String
circleSetAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclCircleAclUsed when a field is accessible to a circle.String
displayNameEquivalent to Circle.display_name for the circle_id. Included when FieldAclOption.FULL_ACL_WITH_DETAILS is requested. This field is read-only and ignored on update.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclCircleAclUsed when a field is accessible to a circle.String
contactGroupIdA 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.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclContactGroupAclUsed 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.String
displayNameThe 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.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclContactGroupAclUsed 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.String
displayNameDEPRECATED. This is not different than reading from person.name for a self-read; ACLs to a circle or to a non-self person are no longer supported. Equivalent to Name.display_name for the person_id profile. Included when the profile Name is ACLed to the requester and FieldAclOption.FULL_ACL_WITH_DETAILS is requested. This field is read-only and ignored on update.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopePersonAclUsed when a field is accessible to a person. NOTE: ACLs to a circle or to a non-self person are no longer supported, so this can only be applied to the requester self.String
personIdAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopePersonAclUsed when a field is accessible to a person. NOTE: ACLs to a circle or to a non-self person are no longer supported, so this can only be applied to the requester self.String
photoUrlDEPRECATED. This is not different than reading from person.photo for a self-read; ACLs to a circle or to a non-self person are no longer supported. Equivalent to Photo.url for the person_id profile. Included when the profile Photo is ACLed to the requester and FieldAclOption.FULL_ACL_WITH_DETAILS is requested. This field is read-only and ignored on update.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopePersonAclUsed when a field is accessible to a person. NOTE: ACLs to a circle or to a non-self person are no longer supported, so this can only be applied to the requester self.String
emergencyLevelAppsPeopleOzExternalMergedpeopleapiFieldEmergencyInfoEmergency information for Person field, such as Phone or Email. See go/emergency-trusted-contacts-papi.String
metadataAppsPeopleOzExternalMergedpeopleapiFileAsThe FileAs field in Contacts is used to override the DisplayName of a Contact for that User.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiFileAsThe FileAs field in Contacts is used to override the DisplayName of a Contact for that User.String
addressMeAsPreferred pronoun choice. It’s unclear whether this value is constrained to a finite domain by UIs. `address_me_as` may be populated regardless of whether `type` is “male”, “female”, or “other”, although most writers only set it if `type` is “other”.AppsPeopleOzExternalMergedpeopleapiGenderGender in PeopleApi has some odd semantics about writing and reading that are not obvious from the proto definition. First, the `type` string, when read, always maps to the constrained domain of “male”, “female”, and “other”, aside from a pathological case that PeopleApi would like to fix. There are two typical patterns: 1. `type` is either “male” or “female” and `custom_type` and `address_me_as` are exactly as specified by an update to PeopleApi, although they are most often absent for “male” and “female” writes. 2. `type` is “other” and `custom_type` is set to a freeform string from the request. `address_me_as` is equal to whatever was provided at write time. When writing, the free-form string for `custom_type` can come from either `custom_type` if the field is present on the request, or if `custom_type` is absent, the string value of `type` will be copied into it. Any value in `type` will be coerced to “other” and the free-form value will be copied into `custom_type`, even if `type` is exactly “other”. Prefer to explicitly set `custom_type` and set type to “other” instead of setting type to a free-form value. There are weird edge cases when the value is “unknown”. Consider the behavior for `type` == “unknown” unspecified. Clients reading the gender should use the value from `formatted_type` if `type` is “male” or “female”. If `type` is “other”, `formatted_type` will be “Other” (or some translation) and clients should read `custom_type` for more specificity.String
customTypeA free-form string indicating what the user entered as their gender. `custom_type` may exist even if the type is “male” or “female”, although most writers do not set it unless `type` is “other”.AppsPeopleOzExternalMergedpeopleapiGenderGender in PeopleApi has some odd semantics about writing and reading that are not obvious from the proto definition. First, the `type` string, when read, always maps to the constrained domain of “male”, “female”, and “other”, aside from a pathological case that PeopleApi would like to fix. There are two typical patterns: 1. `type` is either “male” or “female” and `custom_type` and `address_me_as` are exactly as specified by an update to PeopleApi, although they are most often absent for “male” and “female” writes. 2. `type` is “other” and `custom_type` is set to a freeform string from the request. `address_me_as` is equal to whatever was provided at write time. When writing, the free-form string for `custom_type` can come from either `custom_type` if the field is present on the request, or if `custom_type` is absent, the string value of `type` will be copied into it. Any value in `type` will be coerced to “other” and the free-form value will be copied into `custom_type`, even if `type` is exactly “other”. Prefer to explicitly set `custom_type` and set type to “other” instead of setting type to a free-form value. There are weird edge cases when the value is “unknown”. Consider the behavior for `type` == “unknown” unspecified. Clients reading the gender should use the value from `formatted_type` if `type` is “male” or “female”. If `type` is “other”, `formatted_type` will be “Other” (or some translation) and clients should read `custom_type` for more specificity.String
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiGenderGender in PeopleApi has some odd semantics about writing and reading that are not obvious from the proto definition. First, the `type` string, when read, always maps to the constrained domain of “male”, “female”, and “other”, aside from a pathological case that PeopleApi would like to fix. There are two typical patterns: 1. `type` is either “male” or “female” and `custom_type` and `address_me_as` are exactly as specified by an update to PeopleApi, although they are most often absent for “male” and “female” writes. 2. `type` is “other” and `custom_type` is set to a freeform string from the request. `address_me_as` is equal to whatever was provided at write time. When writing, the free-form string for `custom_type` can come from either `custom_type` if the field is present on the request, or if `custom_type` is absent, the string value of `type` will be copied into it. Any value in `type` will be coerced to “other” and the free-form value will be copied into `custom_type`, even if `type` is exactly “other”. Prefer to explicitly set `custom_type` and set type to “other” instead of setting type to a free-form value. There are weird edge cases when the value is “unknown”. Consider the behavior for `type` == “unknown” unspecified. Clients reading the gender should use the value from `formatted_type` if `type` is “male” or “female”. If `type` is “other”, `formatted_type` will be “Other” (or some translation) and clients should read `custom_type` for more specificity.String
metadataAppsPeopleOzExternalMergedpeopleapiGenderGender in PeopleApi has some odd semantics about writing and reading that are not obvious from the proto definition. First, the `type` string, when read, always maps to the constrained domain of “male”, “female”, and “other”, aside from a pathological case that PeopleApi would like to fix. There are two typical patterns: 1. `type` is either “male” or “female” and `custom_type` and `address_me_as` are exactly as specified by an update to PeopleApi, although they are most often absent for “male” and “female” writes. 2. `type` is “other” and `custom_type` is set to a freeform string from the request. `address_me_as` is equal to whatever was provided at write time. When writing, the free-form string for `custom_type` can come from either `custom_type` if the field is present on the request, or if `custom_type` is absent, the string value of `type` will be copied into it. Any value in `type` will be coerced to “other” and the free-form value will be copied into `custom_type`, even if `type` is exactly “other”. Prefer to explicitly set `custom_type` and set type to “other” instead of setting type to a free-form value. There are weird edge cases when the value is “unknown”. Consider the behavior for `type` == “unknown” unspecified. Clients reading the gender should use the value from `formatted_type` if `type` is “male” or “female”. If `type` is “other”, `formatted_type` will be “Other” (or some translation) and clients should read `custom_type` for more specificity.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeThe gender. “male”, “female”, or “other”. If “other”, typically, additional fields will have additional information.AppsPeopleOzExternalMergedpeopleapiGenderGender in PeopleApi has some odd semantics about writing and reading that are not obvious from the proto definition. First, the `type` string, when read, always maps to the constrained domain of “male”, “female”, and “other”, aside from a pathological case that PeopleApi would like to fix. There are two typical patterns: 1. `type` is either “male” or “female” and `custom_type` and `address_me_as` are exactly as specified by an update to PeopleApi, although they are most often absent for “male” and “female” writes. 2. `type` is “other” and `custom_type` is set to a freeform string from the request. `address_me_as` is equal to whatever was provided at write time. When writing, the free-form string for `custom_type` can come from either `custom_type` if the field is present on the request, or if `custom_type` is absent, the string value of `type` will be copied into it. Any value in `type` will be coerced to “other” and the free-form value will be copied into `custom_type`, even if `type` is exactly “other”. Prefer to explicitly set `custom_type` and set type to “other” instead of setting type to a free-form value. There are weird edge cases when the value is “unknown”. Consider the behavior for `type` == “unknown” unspecified. Clients reading the gender should use the value from `formatted_type` if `type` is “male” or “female”. If `type` is “other”, `formatted_type` will be “Other” (or some translation) and clients should read `custom_type` for more specificity.String
failureFailure type if there is an error when fetching product profile data.AppsPeopleOzExternalMergedpeopleapiGPayExtendedDataExtension data for use in GPay Product Profile. go/gpay-product-profile-1-pager Contact: [email protected]AppsPeopleOzExternalMergedpeopleapiProductProfileFailure
internationalNumberA 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 formatAppsPeopleOzExternalMergedpeopleapiGPayExtendedDataExtension data for use in GPay Product Profile. go/gpay-product-profile-1-pager Contact: [email protected]String
maskedNumberThe 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.javaAppsPeopleOzExternalMergedpeopleapiGPayExtendedDataExtension data for use in GPay Product Profile. go/gpay-product-profile-1-pager Contact: [email protected]String
contentRestrictionAppsPeopleOzExternalMergedpeopleapiGplusExtendedDataString
isEnterpriseUserEquivalent to having the DASHER_POLICY bit in the REGISTERED state.AppsPeopleOzExternalMergedpeopleapiGplusExtendedDataboolean
hadPastHangoutStateAppsPeopleOzExternalMergedpeopleapiHangoutsExtendedDataExtension data for use in Hangouts.String
invitationStatusPopulated for all contacts. Only set if had_past_hangout_state == HAD_PAST_HANGOUT. INVITATION_NEEDED is not a valid value because there already is a past hangout, which means either the invitation is still pending or it’s been accepted.AppsPeopleOzExternalMergedpeopleapiHangoutsExtendedDataExtension data for use in Hangouts.String
isBotTrue if this is a Hangouts bot.AppsPeopleOzExternalMergedpeopleapiHangoutsExtendedDataExtension data for use in Hangouts.boolean
isDismissedAppsPeopleOzExternalMergedpeopleapiHangoutsExtendedDataExtension data for use in Hangouts.boolean
isFavoriteAppsPeopleOzExternalMergedpeopleapiHangoutsExtendedDataExtension data for use in Hangouts.boolean
isPinnedAppsPeopleOzExternalMergedpeopleapiHangoutsExtendedDataExtension data for use in Hangouts.boolean
userTypeAppsPeopleOzExternalMergedpeopleapiHangoutsExtendedDataExtension data for use in Hangouts.String
originalLookupTokenOriginal lookup token from the request that resulted in this person or one of its containers.AppsPeopleOzExternalMergedpeopleapiIdentityInfolist(String)
previousPersonIdAny 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.AppsPeopleOzExternalMergedpeopleapiIdentityInfolist(String)
sourceIdsA list of sources contributing to the merged person, including profiles (with gaia-id), contacts and synthetic-contacts.AppsPeopleOzExternalMergedpeopleapiIdentityInfolist(AppsPeopleOzExternalMergedpeopleapiSourceIdentity)
formattedProtocolThe `protocol` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiImString
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiImString
metadataAppsPeopleOzExternalMergedpeopleapiImAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
protocolThe protocol of the IM. The protocol can be free form or one of these predefined values: * `aim` * `msn` * `yahoo` * `skype` * `qq` * `googleTalk` * `icq` * `jabber` * `netMeeting`AppsPeopleOzExternalMergedpeopleapiImString
typeThe type of the IM. The type can be free form or one of these predefined values: * `home` * `work` * `other`AppsPeopleOzExternalMergedpeopleapiImString
valueAppsPeopleOzExternalMergedpeopleapiImString
appAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetHow 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 = [email protected] 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 ]list(String)
clientDataAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetHow 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 = [email protected] 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 ]list(AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetClientData)
metadataAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetHow 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 = [email protected] 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 ]AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
originatingFieldThere may be more than one field from which this IANT originates, as in the case of Bob’s public profile.AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetHow 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 = [email protected] 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 ]list(AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetOriginatingField)
typeAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetHow 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 = [email protected] 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 ]String
valueThe value of the target, used for delivery. E.g., the obfuscated gaia ID for a visible profile.AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetHow 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 = [email protected] 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 ]String
appThe app to which this client data applies.AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetClientDataClient-specific data pertaining to app reachability. No PII data or user content should be stored in this blob.String
byteValueAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetClientDataClient-specific data pertaining to app reachability. No PII data or user content should be stored in this blob.String
fieldIndexThe index of the relevant field in the merged personAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetOriginatingFieldInfo for identifying the specific field in this person that lets the requester send them notifications. These are typically fields added to a contact (e.g., email). There will not always be in originating field, typically in the case that whatever permits the requester to see this target info is not something that can be used on its own for contacting this person.integer
fieldTypeAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetOriginatingFieldInfo for identifying the specific field in this person that lets the requester send them notifications. These are typically fields added to a contact (e.g., email). There will not always be in originating field, typically in the case that whatever permits the requester to see this target info is not something that can be used on its own for contacting this person.String
valueThe value of the origin fieldAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetOriginatingFieldInfo for identifying the specific field in this person that lets the requester send them notifications. These are typically fields added to a contact (e.g., email). There will not always be in originating field, typically in the case that whatever permits the requester to see this target info is not something that can be used on its own for contacting this person.String
appTypeAppsPeopleOzExternalMergedpeopleapiInAppReachabilityThis is deprecated in PEOPLE_API/SHARPEN, and should only be used for PROFILES. Clients should use InAppNotificationTarget field instead. Which apps the person has indicated they are reachable at for the requester. See go/d13y and com.google.focus.proto.InAppReachability.String
metadataAppsPeopleOzExternalMergedpeopleapiInAppReachabilityThis is deprecated in PEOPLE_API/SHARPEN, and should only be used for PROFILES. Clients should use InAppNotificationTarget field instead. Which apps the person has indicated they are reachable at for the requester. See go/d13y and com.google.focus.proto.InAppReachability.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
reachabilityKeyAppsPeopleOzExternalMergedpeopleapiInAppReachabilityThis is deprecated in PEOPLE_API/SHARPEN, and should only be used for PROFILES. Clients should use InAppNotificationTarget field instead. Which apps the person has indicated they are reachable at for the requester. See go/d13y and com.google.focus.proto.InAppReachability.AppsPeopleOzExternalMergedpeopleapiInAppReachabilityReachabilityKey
statusAppsPeopleOzExternalMergedpeopleapiInAppReachabilityThis is deprecated in PEOPLE_API/SHARPEN, and should only be used for PROFILES. Clients should use InAppNotificationTarget field instead. Which apps the person has indicated they are reachable at for the requester. See go/d13y and com.google.focus.proto.InAppReachability.String
keyTypeAppsPeopleOzExternalMergedpeopleapiInAppReachabilityReachabilityKeyInformation pertaining to how this reachable state was established.String
keyValueThe value of the key by which the user said they may be reachable. E.g., the phone number.AppsPeopleOzExternalMergedpeopleapiInAppReachabilityReachabilityKeyInformation pertaining to how this reachable state was established.String
allowedAppsPeopleOzExternalMergedpeopleapiInteractionSettingsDefines interactions that are allowed or disallowed with this person.boolean
interactionAppsPeopleOzExternalMergedpeopleapiInteractionSettingsDefines interactions that are allowed or disallowed with this person.String
metadataAppsPeopleOzExternalMergedpeopleapiInteractionSettingsDefines interactions that are allowed or disallowed with this person.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
metadataAppsPeopleOzExternalMergedpeopleapiInterestAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiInterestString
metadataAppsPeopleOzExternalMergedpeopleapiLanguageThe value can either by a language code conforming to the IETF BCP 47 specification or a custom freeform value. By default the returned value is proxied from FBS Profile.Language. If `include_account_locale` is set on the `MergePersonSourceOptions` the language from go/uls is preferred and returned as primary along with a secondary language from FBS.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiLanguageThe value can either by a language code conforming to the IETF BCP 47 specification or a custom freeform value. By default the returned value is proxied from FBS Profile.Language. If `include_account_locale` is set on the `MergePersonSourceOptions` the language from go/uls is preferred and returned as primary along with a secondary language from FBS.String
latAppsPeopleOzExternalMergedpeopleapiLatLngfloat
lngAppsPeopleOzExternalMergedpeopleapiLatLngfloat
mobileOwnerIdMobile obfuscated gaia id. This is the same gaia id in metadata.owner_id, but obfuscated with the legacy mobile obfuscator.AppsPeopleOzExternalMergedpeopleapiLegacyFieldsFields used in legacy applications. Useful for joining legacy and new data streams. Most applications should not care about these fields.String
limitedProfileSettingsAppsPeopleOzExternalMergedpeopleapiLimitedProfileSettingsFieldSocialGraphApiProtoLimitedProfileSettings
metadataAppsPeopleOzExternalMergedpeopleapiLimitedProfileSettingsFieldAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
buildingIdAppsPeopleOzExternalMergedpeopleapiLocationString
buildingNameThe building_name field is only filled if the DESK_LOCATION_ADDITIONAL_DATA extension is active.AppsPeopleOzExternalMergedpeopleapiLocationString
currentAppsPeopleOzExternalMergedpeopleapiLocationboolean
deskCodeMost specific textual description of individual desk location.AppsPeopleOzExternalMergedpeopleapiLocationString
floorNameAppsPeopleOzExternalMergedpeopleapiLocationString
floorSectionAppsPeopleOzExternalMergedpeopleapiLocationString
lastUpdateTimeIndicates the time this location was added or last edited.AppsPeopleOzExternalMergedpeopleapiLocationDateTime
metadataAppsPeopleOzExternalMergedpeopleapiLocationAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
sourceValue indicates the origin of this location information.AppsPeopleOzExternalMergedpeopleapiLocationString
typeDescribes the type of location. E.g. Grew_up, Desk. Corresponds to FBS backend.proto Location.StandardTagAppsPeopleOzExternalMergedpeopleapiLocationString
valueAppsPeopleOzExternalMergedpeopleapiLocationString
indirectManagerList of managers in the chain. If user has manager email “[email protected]” and manager’s manager has email “[email protected]” then the list will be: [0]: { email: “[email protected]” } [1]: { email: “[email protected]” }AppsPeopleOzExternalMergedpeopleapiManagementUpchainlist(AppsPeopleOzExternalMergedpeopleapiManagementUpchainIndirectManager)
metadataAppsPeopleOzExternalMergedpeopleapiManagementUpchainAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
statusAppsPeopleOzExternalMergedpeopleapiManagementUpchainString
emailAppsPeopleOzExternalMergedpeopleapiManagementUpchainIndirectManagerString
personIdAppsPeopleOzExternalMergedpeopleapiManagementUpchainIndirectManagerString
failureFailure type if there is an error when fetching product profile data.AppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.AppsPeopleOzExternalMergedpeopleapiProductProfileFailure
followeeCountNumber of people the user is following.AppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.String
followerCountNumber of people who are following the user.AppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.integer
numContributionsSum of creators contributions i.e. reviews, rating, questions, etc.AppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.String
profilePhotoUrlThe user’s profile photo that might have a badge rendered at the corner if the user is eligible for a badge.AppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.String
taglineA user’s bio, or tagline.AppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.String
topicExpertiseA topic that creator has expertise in. This will be in the format: emoji associated with the topic, display name of the topic, topic scoreAppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.list(String)
userCaptionA user’s caption displayed under the user name on their profile page i.e. ‘Local Guide Level 8’AppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.String
fieldRestrictionAppsPeopleOzExternalMergedpeopleapiMapsProfileMaps Profile Data. See go/product-profiles-backend-api.list(AppsPeopleOzExternalMergedpeopleapiMapsProfileFieldRestriction)
metadataAppsPeopleOzExternalMergedpeopleapiMapsProfileMaps Profile Data. See go/product-profiles-backend-api.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
taglineAppsPeopleOzExternalMergedpeopleapiMapsProfileMaps Profile Data. See go/product-profiles-backend-api.String
websiteLinkA link to the profile owner’s website to be displayed in profile.AppsPeopleOzExternalMergedpeopleapiMapsProfileMaps Profile Data. See go/product-profiles-backend-api.AppsPeopleOzExternalMergedpeopleapiMapsProfileUrlLink
clientDataOpaque data associated with this restriction e.g. abuse status.AppsPeopleOzExternalMergedpeopleapiMapsProfileFieldRestrictionString
typeAppsPeopleOzExternalMergedpeopleapiMapsProfileFieldRestrictionString
anchorTextAnchor text to be displayed as clickable link. If not present, the URL should be displayed directly.AppsPeopleOzExternalMergedpeopleapiMapsProfileUrlLinkString
urlThe URL to be linked to.AppsPeopleOzExternalMergedpeopleapiMapsProfileUrlLinkString
matchThe list of matches ordered by most relevant matching for autocomplete coming first.AppsPeopleOzExternalMergedpeopleapiMatchInfoRepresents the matching information for a field when there is a query.list(AppsPeopleOzExternalMergedpeopleapiMatchInfoLookupTokenMatch)
queryThe query token we are matching against.AppsPeopleOzExternalMergedpeopleapiMatchInfoRepresents the matching information for a field when there is a query.String
endIndexIndex right after the last character that matches the query. length = end-start, we have substring = [start, end).AppsPeopleOzExternalMergedpeopleapiMatchInfoLookupTokenMatchAll the substring that were matched for the given query against the current field. Represents a substring of another string.integer
startIndexIndex of the first unicode character that matches the query.AppsPeopleOzExternalMergedpeopleapiMatchInfoLookupTokenMatchAll the substring that were matched for the given query against the current field. Represents a substring of another string.integer
circleIdA circle that the person belongs to.AppsPeopleOzExternalMergedpeopleapiMembershipA 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.String
contactGroupIdA 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.AppsPeopleOzExternalMergedpeopleapiMembershipA 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.String
metadataThe metadata field can be used to determine which container generated the membership. For example, when the membership has a contact_group_id, the metadata.container will be CONTACT and the container_id will be the contact Id.AppsPeopleOzExternalMergedpeopleapiMembershipA 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.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
systemContactGroupIdThe membership has a contact_group_id, this field will be populated when the membership is in a system-reserved contact-group.AppsPeopleOzExternalMergedpeopleapiMembershipA 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.String
metadataAppsPeopleOzExternalMergedpeopleapiMissionAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiMissionString
displayNameRead-only. A name synthesized based on `unstructured_name` and the structured name fields. Example: “John Smith” If a language code is passed in the side channel using http://cs/symbol:framework.rpc.DeprecatedPropagatedLanguageCode.value or http://cs/symbol:google.rpc.context.OriginContext.accept_language and the name does not have `honorific_prefix`, `middle_name`, or `honorific_suffix` set, the language code will be used to format `display_name`. If `include_account_locale` is set on the `MergePersonSourceOptions` and a language code is not passed in the side channel. The language code from go/uls will be used as the language code for formatting `display_name`.AppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
displayNameLastFirstRead-only. A name synthesized based on `unstructured_name` and the structured name fields with the last name first. Example: “Smith, John”AppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
displayNameSourceRead-only. The source of the display name.AppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.SocialGraphApiProtoDisplayNameSource
familyNameAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
formattedNameDEPRECATED(b/70571931). Use `unstructured_name` instead.AppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
givenNameAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
honorificPrefixAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
honorificSuffixAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
metadataAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
middleNameAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
pronunciationsThis field is stored in contact annotations and merged at read-time. It is available with CONTACT_ANNOTATION container type at read time.AppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.SocialGraphApiProtoPronunciations
shortDisplayNameNOTE: this is currently NOT IMPLEMENTED due to changed priorities. Clients usually rely on “first name” instead, when a short name is needed. Read-only. A possibly shorter version of the user’s name. – The purpose of this field is to address the needs of UIs where a full display name might be too large to fit. Instead of relying on `first_name`, which might not be present, `short_display_name` is preferred. – This is only available for PROFILE and DOMAIN_PROFILE container types. – About the actual content in this field: will be the first name when it’s visible to the requester, or the same as `display_name`, otherwise. A sample scenario where the first name may not be visible is when the limited profile is returned. For more info, see: http://shortn/_9iV7TJ33laAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
unstructuredNameThe free form name value. For contact mutates it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both.AppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
yomiFamilyNameAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
yomiFullNameAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
yomiGivenNameAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
yomiHonorificPrefixAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
yomiHonorificSuffixAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
yomiMiddleNameAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
metadataAppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfoPronunciation audio metadata info. See go/name-pronunciation-backend. The metadata itself tracks the state of a user’s name pronunciation audio.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
namePronunciationAudioMetadataActual metadata proto, shared with FBS backends.AppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfoPronunciation audio metadata info. See go/name-pronunciation-backend. The metadata itself tracks the state of a user’s name pronunciation audio.SocialGraphApiProtoNamePronunciationAudioMetadata
metadataAppsPeopleOzExternalMergedpeopleapiNicknameAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeAppsPeopleOzExternalMergedpeopleapiNicknameString
valueAppsPeopleOzExternalMergedpeopleapiNicknameString
metadataAppsPeopleOzExternalMergedpeopleapiOccupationAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiOccupationString
openNowIs this place open right now? Always present unless we lack time-of-day or timezone data for these opening hours.AppsPeopleOzExternalMergedpeopleapiOpeningHoursThe 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.boolean
periodsAppsPeopleOzExternalMergedpeopleapiOpeningHoursThe 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.list(AppsPeopleOzExternalMergedpeopleapiOpeningHoursPeriod)
weekdayTextsLocalized 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”AppsPeopleOzExternalMergedpeopleapiOpeningHoursThe 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.list(String)
dayA day of the week, as an integer in the range 0-6. 0 is Sunday, 1 is Monday, etc.AppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpointinteger
timeA time in 24-hour “hhmm” format (i.e. range is 0000 to 2359).AppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpointString
closeAppsPeopleOzExternalMergedpeopleapiOpeningHoursPeriodAppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpoint
openAppsPeopleOzExternalMergedpeopleapiOpeningHoursPeriodAppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpoint
assignmentAppsPeopleOzExternalMergedpeopleapiOrganizationlist(AppsPeopleOzExternalMergedpeopleapiOrganizationAssignment)
certificationAppsPeopleOzExternalMergedpeopleapiOrganizationString
costCenterAppsPeopleOzExternalMergedpeopleapiOrganizationString
currentAppsPeopleOzExternalMergedpeopleapiOrganizationboolean
departmentAppsPeopleOzExternalMergedpeopleapiOrganizationString
descriptionAppsPeopleOzExternalMergedpeopleapiOrganizationString
domainAppsPeopleOzExternalMergedpeopleapiOrganizationString
endCalendarDayStart and End Dates are better represented as calendar entities. The intention is to replace timestamps. Not set if no value exists. Clients can choose whether to use has* semantics or default value semantics. For writes, the default proto and an absent message are equivalent. Legacy callers in the legacy_timestamp_event_write_behavior_enabled capability allowlist should write to PeopleApi via end_ms and migrate to setting both so they can be removed from the whitelist.AppsPeopleOzExternalMergedpeopleapiOrganizationGoogleTypeDate
endMsClients are encouraged to read the end_calendar_day instead. PeopleApi writes will still use end_ms for legacy callers that are in the legacy_timestamp_event_write_behavior_enabled capability allowlist. New writers must use the calendar_day fields.AppsPeopleOzExternalMergedpeopleapiOrganizationString
endMsAsNumberAppsPeopleOzExternalMergedpeopleapiOrganizationString
formattedStringTypeThe `string_type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiOrganizationString
fteMilliPercentAppsPeopleOzExternalMergedpeopleapiOrganizationinteger
importanceAppsPeopleOzExternalMergedpeopleapiOrganizationnumber
locationAppsPeopleOzExternalMergedpeopleapiOrganizationString
metadataAppsPeopleOzExternalMergedpeopleapiOrganizationAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
nameAppsPeopleOzExternalMergedpeopleapiOrganizationString
projectAppsPeopleOzExternalMergedpeopleapiOrganizationlist(AppsPeopleOzExternalMergedpeopleapiOrganizationProject)
startCalendarDayStart and End Dates are better represented as calendar entities. The intention is to replace timestamps. Not set if no value exists. Clients can choose whether to use has* semantics or default value semantics. For writes, the default proto and an absent message are equivalent. Legacy callers in the legacy_timestamp_event_write_behavior_enabled capability allowlist should write to PeopleApi via start_ms and migrate to setting both so they can be removed from the allowlist.AppsPeopleOzExternalMergedpeopleapiOrganizationGoogleTypeDate
startMsClients are encouraged to read the start_calendar_day instead. PeopleApi writes will still use start_ms for legacy callers that are in the legacy_timestamp_event_write_behavior_enabled capability allowlist. New writers must use the calendar_day fields.AppsPeopleOzExternalMergedpeopleapiOrganizationString
startMsAsNumberAppsPeopleOzExternalMergedpeopleapiOrganizationString
stringTypeThe type of the organization. The type can be free form or one of these predefined values: * `work` * `school`AppsPeopleOzExternalMergedpeopleapiOrganizationString
symbolAppsPeopleOzExternalMergedpeopleapiOrganizationString
titleAppsPeopleOzExternalMergedpeopleapiOrganizationString
typeAppsPeopleOzExternalMergedpeopleapiOrganizationString
yomiNameAppsPeopleOzExternalMergedpeopleapiOrganizationString
nameAppsPeopleOzExternalMergedpeopleapiOrganizationAssignmentString
urlAppsPeopleOzExternalMergedpeopleapiOrganizationAssignmentString
descriptionAppsPeopleOzExternalMergedpeopleapiOrganizationProjectString
nameAppsPeopleOzExternalMergedpeopleapiOrganizationProjectString
roleAppsPeopleOzExternalMergedpeopleapiOrganizationProjectString
typeMapped from StandardProjectTag / CustomProjectTagAppsPeopleOzExternalMergedpeopleapiOrganizationProjectString
urlAppsPeopleOzExternalMergedpeopleapiOrganizationProjectString
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiOtherKeywordString
metadataAppsPeopleOzExternalMergedpeopleapiOtherKeywordAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
sourceAppsPeopleOzExternalMergedpeopleapiOtherKeywordString
typeThe type of the event. The type depends on the `OtherKeyword.source`. `OUTLOOK` source fields must be one of: * `billing_information` * `directory_server` * `keyword` * `mileage` * `sensitivity` * `user` * `subject` All other fields are treated as a `CUSTOM` source field. The value can be free form or one of these predefined values: * `home` * `other` * `work`AppsPeopleOzExternalMergedpeopleapiOtherKeywordString
valueAppsPeopleOzExternalMergedpeopleapiOtherKeywordString
relationSee go/relation-vs-relationship for relation vs relationship explanation.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiRelation)
photoSee go/people-api-concepts/photos for usage detailsAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPhoto)
organizationAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiOrganization)
missionAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiMission)
customSchemaFieldAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiCustomSchemaField)
coverPhotoDEPRECATED. Now always returns a default cover photo. See go/sunset-cover-photo.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiCoverPhoto)
linkedPersonOther person resources linked indirectly by an edge. The full person or just the IDs may be populated depending on request parameters. We consider linked people distinct people, but they share information. Example: A contact with two outgoing edges. The two edges are considered separate, but linked people.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPerson)
nameSee go/people-api-howto:names for details about names in PeopleAPI.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiName)
sortKeysAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedAppsPeopleOzExternalMergedpeopleapiSortKeys
sipAddressSipAddress is currently in use by contacts.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiSipAddress)
inAppReachabilityUsed only by profile service, deprecated for PeopleAPI and Sharpen. If you aren’t sure, contact people-api-users@ and profile-service-eng@.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiInAppReachability)
calendarb/145671020: Deprecated for Profiles, but not for Contacts.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiCalendar)
socialConnectionNOTE: this is used by go/starlight, but not actually used or returned in PeopleAPI. See b/27281119 for context. Please reach out to people-api-eng@ if you have questions.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiSocialConnection)
plusPageInfoDEPRECATED. Info about plus pages in the person.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPlusPageInfo)
externalIdAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiExternalId)
mapsProfileMapsProfile, see go/product-profiles-backend-apiAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiMapsProfile)
taglineOnly supported for PLACE container results, no data will be returned for profiles.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiTagline)
interactionSettingsDEPRECATED. This field isn’t populated in people.list.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiInteractionSettings)
peopleInCommonDEPRECATED. This feature was stubbed, but never implemented. This field will not be populated with any results.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPerson)
connectionReminderReminder to connect with a Contact (part of go/people-prompts). Also contains contact-level prompts settings. Each Contact can have a single `connection_reminder` (but can have multiple Prompts inside of it). Field is repeated per PeopleAPI data model go/people-api-concepts#repeated. Only supported for CONTACT container.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiConnectionReminder)
limitedProfileSettingsSettings for the limited profile. See go/limited-profiles-api.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiLimitedProfileSettingsField)
metadataAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedAppsPeopleOzExternalMergedpeopleapiPersonMetadata
birthdayAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiBirthday)
emailAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiEmail)
otherKeywordLegacy arbitrary key value fieldsAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiOtherKeyword)
inAppNotificationTargetWays to send in-app notifications to this person. See go/reachability. This field is read-only and ignored for mutates.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiInAppNotificationTarget)
placeDetailsData specific to places. Data which also applies to contacts and profiles such as name, phone, photo, etc. are returned in the corresponding Person fields.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPlaceDetails)
rightOfPublicityStateAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiRightOfPublicityState)
imAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiIm)
legacyFieldsDEPRECATED. This field was only for backwards compatibility with legacy GData callers, and should not be used by new clients. Legacy fields used for mobile clients.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedAppsPeopleOzExternalMergedpeopleapiLegacyFields
occupationAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiOccupation)
sshPublicKeyAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiSshPublicKey)
namePronunciationAudioMetadataInfoMetadata info for a user’s name pronunciation audio. See go/name-pronunication-backend.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfo)
relationshipInterestDEPRECATED. No data is returned for this field anymore.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiRelationshipInterest)
skillsAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiSkills)
contactPromptSettingsInfoAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiContactPromptSettingsInfo)
profileUrlDEPRECATED. No data is returned for this field anymore. (go/people-api-concepts#repeated): Use person.profile_url_repeated instead. Access to this field is restricted to a set of legacy clients. This is a Google+-only field. See go/fbs-g+-deprecation. NOTE: `Person.profile_url` is only populated for profile-centric person.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedString
managementUpchainAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiManagementUpchain)
contactEditContextInfoContactEditContextInfo is a timestamp and additional metadata (e.g. the source of the edit) for the last ‘human initiated edit’. See also `ContactCreateContextInfo`.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiContactEditContextInfo)
websiteAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiWebsite)
phoneAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPhone)
teamsExtendedDataDEPRECATED. *UNSUPPORTED*. This field is never populated.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData
contactCreateContextInfoContactCreateContextInfo has a timestamp timestamp and additional metadata (e.g. the source of the creation) for when the contact was created. See also `ContactEditContextInfo`.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiContactCreateContextInfo)
personAttributeIn order to request this field, the client must set desired PersonAttributeKey in the dedicated RequestMask field `person_attribute`. Unlike other person fields, this field cannot be requested in the `include_field` field mask.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPersonAttribute)
locationAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiLocation)
pronounPronouns are not supported for consumer profiles. See go/pronouns-in-people-system-prd for more details.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPronoun)
ageRangeRepeatedData on the person’s age range, adult status, and age of consent. NOTE: Please read go/people-api-howto:age on how to correctly get age data.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiAgeRangeType)
posixAccountAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPosixAccount)
languageAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiLanguage)
profileUrlRepeatedDEPRECATED. No data is returned for this field anymore. This is a Google+-only field. See go/fbs-g+-deprecation.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiProfileUrl)
userDefinedUserDefined is currently in use by contacts.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiUserDefined)
eventEvent is currently in use by contacts.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiEvent)
rosterDetailsData specific to rosters (such as Google Groups and Chat Rooms). Data which also applies to contacts and profiles such as name, email, and photo, etc are returned in the corresponding Person fields.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiRosterDetails)
emergencyInfoEmergency information. See go/emergency-trusted-contacts-papi.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiEmergencyInfo)
visibleToGuestsAdd annotation_id and metadata (product_source) for visible to guests contacts go/visible-to-guests.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiVisibleToGuests)
ageRangeDeprecated. If age is needed use `person.age_range_repeated` instead. Please see go/people-api-howto:age on how to correctly get age data.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedString
searchProfileProfile for Janata and Search. go/janata-profile-in-sgbeAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiSearchProfile)
contactStateInfoContact state and related metadata. See go/fbs-contacts-trash. If this field was requested but is not set on the Person then the contact is in the DEFAULT contact state. This field is read-only, and should not be set on a mutate (e.g. UpdatePerson) call. Clients must call the explicit APIs (e.g. UntrashPerson) to change contact state.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiContactStateInfo)
extendedDataData added by extensions that are not specific to a particular field.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedAppsPeopleOzExternalMergedpeopleapiPersonExtendedData
nicknameAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiNickname)
aboutAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiAbout)
personIdThe ID of the person. This is determined by the backend, is unstable, and may not be the same as a user_id. Internally referred as ‘personKey’ to distinguish from the common PersonId pojo. See go/people-api-concepts#person-idAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedString
fileAsAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiFileAs)
readOnlyProfileInfoInformation about the profiles that are a part of this Person. This is only applicable to PROFILE and DOMAIN_PROFILE containers.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfo)
relationshipStatusDEPRECATED. No data is returned for this field anymore.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiRelationshipStatus)
interestAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiInterest)
contactGroupMembershipContact groups that this person is a member of.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiContactGroupMembership)
addressAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiAddress)
circleMembershipCircles that this person is a member of.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiCircleMembership)
certifiedBornBeforeAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiCertifiedBornBefore)
braggingRightsUsed only by contacts, no data will be returned for profiles.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiBraggingRights)
genderAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiGender)
fingerprintA fingerprint that can be used to reliably determine if a resource has changed. Externally it is used as part of the etag.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedString
membershipDEPRECATED. Please use `circle_membership` or `contact_group_membership` instead. Contact-groups and circles that this person is a member of.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiMembership)
communicationEmailAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiCommunicationEmail)
clientDataAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiClientData)
attributeKeyAppsPeopleOzExternalMergedpeopleapiPersonAttributeClient-specific binary blob stored with Person data. This differs from ClientData, which stores structured, key-value pairs.String
metadataAppsPeopleOzExternalMergedpeopleapiPersonAttributeClient-specific binary blob stored with Person data. This differs from ClientData, which stores structured, key-value pairs.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiPersonAttributeClient-specific binary blob stored with Person data. This differs from ClientData, which stores structured, key-value pairs.String
aboutMeExtendedDataFor use by AboutMe and SmartProfile clients.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedData
appsWaldoExtendedDataFor use with Apps Waldo Availability Data extensionAppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.SocialGraphWireProtoPeopleapiExtensionAppsWaldoExtendedData
callerIdExtendedDataFor use with caller ID extensionAppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiCallerIdExtendedData
contactsExtendedDataFor use with Contacts extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiWebContactsExtendedData
domainNameHosted domain this person is a member of. The domain_name is also returned as part of the person’s ReadOnlyProfileInfo, so requesting it via this extension is no longer necessary.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.list(String)
dynamiteExtendedDataFor use with Dynamite extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.SocialGraphWireProtoPeopleapiExtensionDynamiteExtendedData
gpayExtendedDataFor use with Google Pay extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiGPayExtendedData
gplusExtendedDataFor use with Google+ extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiGplusExtendedData
hangoutsExtendedDataFor use with Hangouts extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiHangoutsExtendedData
isPlaceholderFor use with gmail extensions and lookup by email. If true, no person was actually found using the specified email address, but we want to return TLS info about the email address regardless.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.boolean
mapsExtendedDataFor use with Maps extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiMapsExtendedData
paisaExtendedDataFor use with Paisa extensionAppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.SocialGraphWireProtoPeopleapiExtensionPaisaExtendedData
peopleStackExtendedDataDEPRECATED: Use people_stack_person_extended_data instead. For use with PeopleStack extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.SocialGraphWireProtoPeopleapiExtensionPeopleStackExtendedData
peopleStackPersonExtendedDataFor use with PeopleStack extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.SocialGraphWireProtoPeopleapiExtensionPeopleStackPersonExtendedData
playGamesExtendedDataFor use with Play Games Product Profile extension. See go/jam-games-profile. The play games profile will be returned only for profile-centric requests.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedData
tlsIsPlaceholderFor use with the TLS extension and lookup by email. If true, no person was actually found using the specified email address, but we want to return TLS info about the email address regardless. DEPRECATED: Use is_placeholder instead.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.boolean
youtubeExtendedDataFor use with Youtube extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiYoutubeExtendedData
aclChoicesWhen 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. field_acl will always be a valid ACL choice, except for the case of default synthesized profile fields like monogram profile photos. For those, field_acl does not represent a user-set field ACL, so it may or may not be a valid choice. In all cases, default_acl_choice will always be a valid choice. This is currently only populated on the photo field when the “person.photo.metadata.acl_choices” mask is set.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personlist(AppsPeopleOzExternalMergedpeopleapiFieldAcl)
additionalContainerInfoAdditional information about the container of this field.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personAppsPeopleOzExternalMergedpeopleapiAdditionalContainerInfo
affinityFor 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).AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personlist(AppsPeopleOzExternalMergedpeopleapiAffinity)
contactVisibilityEach field can have different visibility settings Only returned when explicitly requested.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personlist(String)
containerDEPRECATED. 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.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personString
containerIdDEPRECATED. 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.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personString
containerPrimaryIndicates if this field is the primary field for the container and container_id.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personboolean
containerTypeThe source for the data in the field.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personString
crossDeviceAllowedTrue 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.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personboolean
defaultAclChoiceWhen the container is PROFILE/DOMAIN_PROFILE and the profile owner is the requester, this read-only, synthesized field contains the default ACL choice. This can be used to select a preferred choice from acl_choices. Generally, default_acl_choice should only be preferred for default synthesized profile fields like monogram profile photos. Otherwise, the existing field_acl should be preferred. This is currently only populated on the photo field when the “person.photo.metadata.acl_choices” mask is set.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personAppsPeopleOzExternalMergedpeopleapiFieldAcl
deprecatedContactContainerIdDEPRECATED. Use container_id. Not populated or used at all.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personString
edgeKeyField 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.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personboolean
edgeKeyInfoEdges that this field creates. This includes all edges and not necessarily just the edge relevant to the joined entities.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personlist(AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfo)
encodedContainerIdThe 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. For value format, see google3/social/graph/api/proto/main_merged_person.proto?q=symbol:SourceIdentity.idAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personString
fieldAclWhen the container is PROFILE and the profile owner is the requester, this field indicates how the profile field is accessible.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personAppsPeopleOzExternalMergedpeopleapiFieldAcl
lastUpdateTimeIndicates 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_ANNOTATION;AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personDateTime
matchingInfoThe matching informations if there was a query against this field.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personlist(AppsPeopleOzExternalMergedpeopleapiMatchInfo)
otherDedupedContainersWhen deduping fields by value, list of containers of the fields that where deduped.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personlist(AppsPeopleOzExternalMergedpeopleapiDedupedContainerInfo)
primaryIf 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.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personboolean
productMetadataThe product(s) that generated the data in this field. Empty is equivalent to DEFAULT. ST_USER_METADATAAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personlist(AppsPeopleOzExternalMergedpeopleapiProductMetadata)
verifiedIndicates 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.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personboolean
visibilityCurrently, only people.get may set this valueAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personString
writeableWhether the field is writeable to the requester.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personboolean
peopleAppsPeopleOzExternalMergedpeopleapiPersonListWithTotalNumberA person list with total number specified.list(AppsPeopleOzExternalMergedpeopleapiPerson)
totalNumberThe total number of people, which is aways no less than the size of the above list.AppsPeopleOzExternalMergedpeopleapiPersonListWithTotalNumberA person list with total number specified.integer
affinityAffinities associated with the person, with respect to the requester.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(AppsPeopleOzExternalMergedpeopleapiAffinity)
attributionPopulated 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)AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
bestDisplayNameThe 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 go/javagoog/apps/tacotown/socialgraph/entity/PersonNameFormatter.javaAppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.AppsPeopleOzExternalMergedpeopleapiBestDisplayName
blockTypeDEPRECATED. Indicates whether the profile owner has blocked this person. Please use `person.read_only_profile_info.block_type` instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
circleIdDEPRECATED. The circles the person belongs to.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
contactGroupIdDEPRECATED. Please use `person.contact_group_memberships` instead. The contact groups the person belongs to.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
contactIdThe IDs of all contacts contributing to this person.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
customResponseMaskingTypeDEPRECATED. 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.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.String
deletedFor 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.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.boolean
deprecatedBlockedDEPRECATED. Please use `person.read_only_profile_info.block_type` instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.boolean
deprecatedMembershipCircleIdDEPRECATED. This field is no longer populated or read.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
deprecatedMembershipContactGroupIdDEPRECATED. This field is no longer populated or read.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
deviceContactInfoInfo 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.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(AppsPeopleOzExternalMergedpeopleapiDeviceContactInfo)
identityInfoDetailed metadata about the lookup IDs and data sources included in a MergedPerson result.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.AppsPeopleOzExternalMergedpeopleapiIdentityInfo
inViewerDomainDEPRECATED. 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)AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.boolean
incomingBlockTypeDEPRECATED. Indicates whether this person is blocking the profile owner. Please use `person.read_only_profile_info.incoming_block_type` instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
lastUpdateTimeMicrosDEPRECATED. 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.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.String
modelThe person model that is used to construct this person.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.String
objectTypeDEPRECATED.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.String
ownerIdDEPRECATED. Please use `person.read_only_profile_info.owner_id` instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.String
ownerUserTypeDEPRECATED. See `person.read_only_profile_info.owner_user_type` instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
plusPageTypeDEPRECATED. Please use `Person.plus_page_info` instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.String
previousPersonIdDEPRECATED. This field is no longer populated or read.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
profileOwnerStatsDEPRECATED. Stats/counters pertaining to followers and incoming edges. Please use `person.read_only_profile_info.profile_owner_stats` instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.AppsPeopleOzExternalMergedpeopleapiProfileOwnerStats
scoringInfoContact people-directory-dev-team@ if you want to use this field.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfo
userVisibleStatsDEPRECATED. This field is no longer populated or read.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.AppsPeopleOzExternalMergedpeopleapiUserVisibleStats
rawMatchQualityScoreOnly populated on a SearchDirectoryPeople call, when results are scored. Contact people-directory-dev-team@ if you want to use this field.AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfofloat
stExpressionResultsOnly populated on a SearchDirectoryPeople call that sends a request with StFieldSpecExpressions. – Used for linking indexed terms with query terms for go/better-name-matching – Name should be alphanumeric or underscores – Value should be an st expression following the syntax at go/stsyntax Contact people-directory-dev-team@ if you want to use this field.AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfolist(AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfoStExpressionResult)
nameAppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfoStExpressionResultString
valueAppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfoStExpressionResultString
canonicalizedFormCanonicalized form that follows ITU-T E.164 international public telecommunication numbering plan.AppsPeopleOzExternalMergedpeopleapiPhoneString
emergencyInfoEmergency information. See go/emergency-trusted-contacts-papi.AppsPeopleOzExternalMergedpeopleapiPhoneAppsPeopleOzExternalMergedpeopleapiFieldEmergencyInfo
extendedDataRead-only. Field requested by specifying `HANGOUTS_PHONE_DATA` in `extension_set.extension_names`.AppsPeopleOzExternalMergedpeopleapiPhoneAppsPeopleOzExternalMergedpeopleapiPhoneExtendedData
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiPhoneString
metadataAppsPeopleOzExternalMergedpeopleapiPhoneAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeThe 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`AppsPeopleOzExternalMergedpeopleapiPhoneString
uriAppsPeopleOzExternalMergedpeopleapiPhoneString
valueAppsPeopleOzExternalMergedpeopleapiPhoneString
structuredPhoneFor use with Hangouts extension.AppsPeopleOzExternalMergedpeopleapiPhoneExtendedDataAppsPeopleOzExternalMergedpeopleapiStructuredPhone
decorationRead-only. Use UpdatePersonPhoto to change photo decorations. If this photo is decorated, this field contains information about its decorations. For now, this will contain at most one entry.AppsPeopleOzExternalMergedpeopleapiPhotolist(SocialGraphApiProtoDecorationOverlay)
emojiAvatarUrlURL 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 setAppsPeopleOzExternalMergedpeopleapiPhotoString
glyphUnicode 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 setAppsPeopleOzExternalMergedpeopleapiPhotoString
htmlAttributionA set of HTML data provider attributions that must be shown with the result. Supported for PLACES photos only. See: go/understanding-places-api-attribution-requirementsAppsPeopleOzExternalMergedpeopleapiPhotolist(String)
isDefaultTrue when the photo is synthetic or generated (i.e. a monogram or default photo), false when the person has a custom photo.AppsPeopleOzExternalMergedpeopleapiPhotoboolean
isMonogramIndicates 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.AppsPeopleOzExternalMergedpeopleapiPhotoboolean
metadataAppsPeopleOzExternalMergedpeopleapiPhotoAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
monogramBackgroundWhen is_monogram=true, this is the background color of the monogram photo as a hex RGB formatted string “RRGGBB”.AppsPeopleOzExternalMergedpeopleapiPhotoString
originalPhotoRead-only. A reference to the original, undecorated profile photo in storage. This field is not stored. It is populated by a live read to /SocialGraphImageService.GetActiveProfilePhoto. This field is only returned when “person.photo.original_photo” is specified in the request mask.AppsPeopleOzExternalMergedpeopleapiPhotoSocialGraphApiProtoImageReference
photoIdFor writes only. Indicates photo content for person photo-field update. Currently only used for profile-photo updates (not contact photos yet).AppsPeopleOzExternalMergedpeopleapiPhotoAppsPeopleOzExternalMergedpeopleapiPhotoPhotoStorageId
photoTokenMost 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.AppsPeopleOzExternalMergedpeopleapiPhotoString
urlSee go/people-api-concepts/photos for info on the different representations of URLs.AppsPeopleOzExternalMergedpeopleapiPhotoString
viewerUrlA 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.AppsPeopleOzExternalMergedpeopleapiPhotoString
mediaKeyFor writes only, pass the media key that represents the image in photos backend. Note, this is not populated on reads.AppsPeopleOzExternalMergedpeopleapiPhotoPhotoStorageIdInfo necessary for looking up a photo in storage.String
googleUrlA URL hosted by Google providing more information about this place This is the URL returned by Places API in the Place.Url.google fieldAppsPeopleOzExternalMergedpeopleapiPlaceDetailsMetadata specific to places.String
latLngAppsPeopleOzExternalMergedpeopleapiPlaceDetailsMetadata specific to places.AppsPeopleOzExternalMergedpeopleapiLatLng
metadataAppsPeopleOzExternalMergedpeopleapiPlaceDetailsMetadata specific to places.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
openingHoursAppsPeopleOzExternalMergedpeopleapiPlaceDetailsMetadata specific to places.AppsPeopleOzExternalMergedpeopleapiOpeningHours
primaryTypeNameThe name of the primary type. Examples of primary type are: “art_school”, “clothing_wholesaler”, etc. All primary types can be found at http://shortn/_veqh6UwWdcAppsPeopleOzExternalMergedpeopleapiPlaceDetailsMetadata specific to places.String
achievementsUser’s top achievements that are sorted for example by rarity.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.list(AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievement)
avatarImageUrlThe avatar image to display for the user.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.String
failureFailure type if there is an error when fetching product profile data.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.AppsPeopleOzExternalMergedpeopleapiProductProfileFailure
gamerTagThe gamer tag set by the user. Not set if the user hasn’t set a gamer tag yet.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.String
playerLevelUser’s level.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.integer
profileVisibilitySpecifies the visibility of the player’s profile.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.String
totalFriendsCountTotal number of friends.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.String
totalUnlockedAchievementsHow many achievements this player has unlocked.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.String
achievementNameThe name of the achievement.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievementDetails of an achievement that the user has unlocked.String
achievementUnlockedIconUrlThe achievement icon url shown to the user if it is unlocked.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievementDetails of an achievement that the user has unlocked.String
rarityPercentageRarity of unlocking this achievement (3% of players unlocked would be 3)AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievementDetails of an achievement that the user has unlocked.number
applicationIdInt64 ID of packaging-service entry; if set, the plus page is associated with a third-party application.AppsPeopleOzExternalMergedpeopleapiPlusPageInfoInformation about a plus page and the entity it represents.String
entityTypeAppsPeopleOzExternalMergedpeopleapiPlusPageInfoInformation about a plus page and the entity it represents.String
metadataAppsPeopleOzExternalMergedpeopleapiPlusPageInfoInformation about a plus page and the entity it represents.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
boundsAppsPeopleOzExternalMergedpeopleapiPointSpecMap marker location for an address.GeostoreRectProto
pointAppsPeopleOzExternalMergedpeopleapiPointSpecMap marker location for an address.GeostorePointProto
pointSourceAppsPeopleOzExternalMergedpeopleapiPointSpecMap marker location for an address.String
accountIdThe user visible value is used to distinguish identical posix account fields with different customer key values.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom 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.String
accountNamespaceValue 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.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom 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.String
accountTypeValue indicates whether the POSIX information is associated with a non-human entity and the validation logic to apply during PosixAccount mutation.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom 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.String
customerKeyThe 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.protoAppsPeopleOzExternalMergedpeopleapiPosixAccountCustom 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.String
fingerprintThe value is automatically set to a SHA-256 fingerprint of the POSIX account. A fingerprint should uniquely identify a POSIX account entry.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom 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.String
gecosThe GECOS (user information) entry for this account.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom 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.String
gidThe default group ID.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom 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.String
homeDirectoryThe path to the home directory for this account.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom 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.String
metadataAppsPeopleOzExternalMergedpeopleapiPosixAccountCustom 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.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
operatingSystemTypeValue indicates whether to use Linux or Windows specific validation logic during PosixAccount mutation.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom 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.String
shellThe path to the login shell for this account.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom 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.String
systemIdSystem 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.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom 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.String
uidThe user ID.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom 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.String
usernameThe username of the account.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom 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.String
productSourceAppsPeopleOzExternalMergedpeopleapiProductMetadataString
failureTypeAppsPeopleOzExternalMergedpeopleapiProductProfileFailureProduct profiles failure type: the status of the rpc to fetch the product profile.String
incomingAnyCircleCountReplacement for deprecated follower_count. Comes from the EdgeSummary.AppsPeopleOzExternalMergedpeopleapiProfileOwnerStatsStats pertaining to incoming edges and views, visible to the requester (with acls applied). Related to, but not equal to, com.google.focus.proto.Storage.UserVisibleStats.String
viewCountDeprecated. This field is no longer populated by the server.AppsPeopleOzExternalMergedpeopleapiProfileOwnerStatsStats pertaining to incoming edges and views, visible to the requester (with acls applied). Related to, but not equal to, com.google.focus.proto.Storage.UserVisibleStats.String
metadataAppsPeopleOzExternalMergedpeopleapiProfileUrlThis is a Google+-only field (and thus does not exist for consumer users). See go/fbs-g+-deprecation.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
urlAppsPeopleOzExternalMergedpeopleapiProfileUrlThis is a Google+-only field (and thus does not exist for consumer users). See go/fbs-g+-deprecation.String
metadataAppsPeopleOzExternalMergedpeopleapiPronounMessage to represent a user’s set of preferred pronouns, see go/pronouns-backend.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
pronounDataAppsPeopleOzExternalMergedpeopleapiPronounMessage to represent a user’s set of preferred pronouns, see go/pronouns-backend.SocialGraphApiProtoPronounData
dataSetThe data set within the account that this raw contact belongs to.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfoString
dirtyThe CP2 dirty field which indicates the sync state of the raw contact: https://developer.android.com/reference/android/provider/ContactsContract.SyncColumns#DIRTY True if the row is changed but not syncedAppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfoboolean
sourceIdExistWhether the source ID exists for non-Google contacts. Won’t set for Google contacts.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfoboolean
syncInfoThe Sync Info of a raw contact.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfoSocialGraphApiProtoSyncInfo
accountNameAccount name of raw contact, e.g. “[email protected]”.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.String
accountTypeAccount type of raw contact, e.g. “com.google” or “com.linkedin.android”.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.String
appContactDataThe 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-uploadAppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.list(SocialGraphApiAppContactData)
appInfoThe 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.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.AppsPeopleOzExternalMergedpeopleapiAppUniqueInfo
crossDeviceAllowedIf true, this raw contact can be used on other devices than the one it originated from. Assigned by the server.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.boolean
deviceContactMetadataExtra metadata for this raw contact.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.AppsPeopleOzExternalMergedpeopleapiDeviceContactExtraMetadata
googleContactIdThe focus contact id for Google contacts.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.String
idThe 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. For value format, see google3/social/graph/api/proto/main_merged_person.proto?q=symbol:SourceIdentity.idAppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.String
photoTypeThe type of photo from the device (if any).AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.String
rawContactIdThe id of the raw contact on the device.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.String
rawDeviceContactAnalyticalInfoOnly to be used by Romanesco team specifically for analytics.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfo
accountEmailThe account email linked to the profile, if any exists and is visible to the requester.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata 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).AppsPeopleOzExternalMergedpeopleapiAccountEmail
blockTypeIndicates whether the profile owner has blocked this person.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata 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).list(String)
customerInfoCustomerInfo for dasher user. The reader has to explicitly request this in the field_mask as ‘read_only_profile_info.customer_info’AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata 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).AppsPeopleOzExternalMergedpeopleapiCustomerInfo
domainInfoDEPRECATED. Use the `ReadOnlyProfileInfo.customer_info` field instead (b/138120418). Only populated if in_viewer_domain is true.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata 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).AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoDomainInfo
inViewerDomainDEPRECATED. 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.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata 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).boolean
incomingBlockTypeIndicates whether this person is blocking the profile owner.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata 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).list(String)
metadataAppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata 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).AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
objectTypeDEPRECATED.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata 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).String
ownerIdThe Focus-obfuscated Gaia ID of the profile owner (go/obfuscated-ids).AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata 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).String
ownerUserTypeAppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata 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).list(String)
plusPageTypeDEPRECATED. Please use `person.plus_page_info` instead.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata 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).String
profileOwnerStatsStats/counters pertaining to followers and incoming edges.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata 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).AppsPeopleOzExternalMergedpeopleapiProfileOwnerStats
unjoinedEmailCertificatesReturned only when explicitly requested in the request mask as read_only_profile_info.unjoined_email_certificates. Equivalent to fetching the Emails & the Email Certificates with the acls ignored.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata 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).list(AppsPeopleOzExternalMergedpeopleapiEmail)
domainBadgeDEPRECATED. Organization badge for the domain this person is a member of. The badge is the primary hosted domain.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoDomainInfoDEPRECATED.list(String)
domainNameDEPRECATED. Hosted domain this person is a member of. Formerly only available via PersonExtendedData.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoDomainInfoDEPRECATED.list(String)
canonicalValueCanonicalized `value` of the relation from this person to the user. This is currently used for data from contact annotations. Possible canonical values are based from http://google3/googledata/quality/aliases/relationship_en.config.AppsPeopleOzExternalMergedpeopleapiRelationRelation stores the related person between the contact or profile and a third person. See go/relation-vs-relationship for relation vs relationship explanation. This field currently includes RelationshipToMe data in fields value and canonical_value for ContainerType CONTACT_ANNOTATION. This will be moved to RelationshipToMe in b/221081499.String
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiRelationRelation stores the related person between the contact or profile and a third person. See go/relation-vs-relationship for relation vs relationship explanation. This field currently includes RelationshipToMe data in fields value and canonical_value for ContainerType CONTACT_ANNOTATION. This will be moved to RelationshipToMe in b/221081499.String
metadataAppsPeopleOzExternalMergedpeopleapiRelationRelation stores the related person between the contact or profile and a third person. See go/relation-vs-relationship for relation vs relationship explanation. This field currently includes RelationshipToMe data in fields value and canonical_value for ContainerType CONTACT_ANNOTATION. This will be moved to RelationshipToMe in b/221081499.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
relationDetailsThe person whose email matches the Relation.value field, if it is a valid email address. This field is read-only and ignored on update.AppsPeopleOzExternalMergedpeopleapiRelationRelation stores the related person between the contact or profile and a third person. See go/relation-vs-relationship for relation vs relationship explanation. This field currently includes RelationshipToMe data in fields value and canonical_value for ContainerType CONTACT_ANNOTATION. This will be moved to RelationshipToMe in b/221081499.AppsPeopleOzExternalMergedpeopleapiRelationRelationDetails
typeThe relation type. The type can be free form or one of these predefined values: * `spouse` * `child` * `mother` * `father` * `parent` * `brother` * `sister` * `friend` * `relative` * `domesticPartner` * `manager` * `assistant` * `referredBy` * `partner`AppsPeopleOzExternalMergedpeopleapiRelationRelation stores the related person between the contact or profile and a third person. See go/relation-vs-relationship for relation vs relationship explanation. This field currently includes RelationshipToMe data in fields value and canonical_value for ContainerType CONTACT_ANNOTATION. This will be moved to RelationshipToMe in b/221081499.String
valueThe person this relation applies to. Custom value provided by the user.AppsPeopleOzExternalMergedpeopleapiRelationRelation stores the related person between the contact or profile and a third person. See go/relation-vs-relationship for relation vs relationship explanation. This field currently includes RelationshipToMe data in fields value and canonical_value for ContainerType CONTACT_ANNOTATION. This will be moved to RelationshipToMe in b/221081499.String
displayNameEquivalent to Name.display_name for the person_id profile.AppsPeopleOzExternalMergedpeopleapiRelationRelationDetailsString
jobTitleEquivalent to Organization.title for the primary organization of the person_id profile.AppsPeopleOzExternalMergedpeopleapiRelationRelationDetailsString
personIdAppsPeopleOzExternalMergedpeopleapiRelationRelationDetailsString
photoUrlEquivalent to Photo.url for the person_id profile.AppsPeopleOzExternalMergedpeopleapiRelationRelationDetailsString
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiRelationshipInterestDeprecated in b/122464133. No data returned for this field.String
metadataAppsPeopleOzExternalMergedpeopleapiRelationshipInterestDeprecated in b/122464133. No data returned for this field.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeThese fields may give away the sexual orientation of the user.AppsPeopleOzExternalMergedpeopleapiRelationshipInterestDeprecated in b/122464133. No data returned for this field.String
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiRelationshipStatusDeprecated in b/122464133. No data returned for this field.String
metadataAppsPeopleOzExternalMergedpeopleapiRelationshipStatusDeprecated in b/122464133. No data returned for this field.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeAppsPeopleOzExternalMergedpeopleapiRelationshipStatusDeprecated in b/122464133. No data returned for this field.String
metadataAppsPeopleOzExternalMergedpeopleapiRightOfPublicityStateUser preference for shared endorsements. See go/se-devguide and go/sharedendorsements for details, including guidance on which contexts are which.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
stateAppsPeopleOzExternalMergedpeopleapiRightOfPublicityStateUser preference for shared endorsements. See go/se-devguide and go/sharedendorsements for details, including guidance on which contexts are which.String
abridgedRosterMembershipsAbridged / sample subset of member details of the roster. NOTE: This field is only returned if the request’s field mask includes “person.roster_details.abridged_roster_memberships”. http://cs/symbol:google.apps.cloudidentity.groups.internal.GroupSummary.abridged_membershipsAppsPeopleOzExternalMergedpeopleapiRosterDetailsInformation specific to rosters like Google Groups and Chatrooms.list(AppsPeopleOzExternalMergedpeopleapiRosterMember)
metadataAppsPeopleOzExternalMergedpeopleapiRosterDetailsInformation specific to rosters like Google Groups and Chatrooms.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
rosterMemberCountIndicates the number of members and sub-rosters of the roster. Corresponds to http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.direct_member_count_per_typeAppsPeopleOzExternalMergedpeopleapiRosterDetailsInformation specific to rosters like Google Groups and Chatrooms.AppsPeopleOzExternalMergedpeopleapiRosterMemberCount
memberTypeType of the member.AppsPeopleOzExternalMergedpeopleapiRosterMemberRepresents details of a member of a roster. Used in RosterDetails. Corresponds to http://cs/symbol:google.apps.cloudidentity.groups.internal.MembershipString
personIdFocus-Obfuscated Gaia Id of the member.AppsPeopleOzExternalMergedpeopleapiRosterMemberRepresents details of a member of a roster. Used in RosterDetails. Corresponds to http://cs/symbol:google.apps.cloudidentity.groups.internal.MembershipString
directGroupCountIndicates the number of direct sub-rosters of the roster. This comes from http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.DirectMemberCountPerType.group_countAppsPeopleOzExternalMergedpeopleapiRosterMemberCountRepresents the summary of member counts of a roster. Used in RosterDetails. Corresponds to http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.DirectMemberCountPerTypeString
directUserCountIndicates the number of direct, non-roster members of the roster. This comes from http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.DirectMemberCountPerType.user_countAppsPeopleOzExternalMergedpeopleapiRosterMemberCountRepresents the summary of member counts of a roster. Used in RosterDetails. Corresponds to http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.DirectMemberCountPerTypeString
metadataAppsPeopleOzExternalMergedpeopleapiSearchProfileProfile for Janata and Search. go/janata-profile-in-sgbeAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
searchProfileDataAppsPeopleOzExternalMergedpeopleapiSearchProfileProfile for Janata and Search. go/janata-profile-in-sgbeSocialGraphApiProtoSearchProfileData
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiSipAddressAs of 03/2018 is not supported for user Profile.String
metadataAppsPeopleOzExternalMergedpeopleapiSipAddressAs of 03/2018 is not supported for user Profile.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeThe type of the SIP address. The type can be free form or or one of these predefined values: * `home` * `work` * `mobile` * `other`AppsPeopleOzExternalMergedpeopleapiSipAddressAs of 03/2018 is not supported for user Profile.String
valueAppsPeopleOzExternalMergedpeopleapiSipAddressAs of 03/2018 is not supported for user Profile.String
metadataAppsPeopleOzExternalMergedpeopleapiSkillsAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiSkillsString
metadataAppsPeopleOzExternalMergedpeopleapiSocialConnectionThe social connection of this person to the viewer. NOTE: this is used by go/starlight, but not actually used or returned in PeopleAPI. See b/27281119 for context.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeAppsPeopleOzExternalMergedpeopleapiSocialConnectionThe social connection of this person to the viewer. NOTE: this is used by go/starlight, but not actually used or returned in PeopleAPI. See b/27281119 for context.list(String)
affinityAppsPeopleOzExternalMergedpeopleapiSortKeyslist(AppsPeopleOzExternalMergedpeopleapiAffinity)
interactionRankDeprecated. This field is only populated with 0.000 for legacy reasons. Clients should not use this field.AppsPeopleOzExternalMergedpeopleapiSortKeysString
lastNameAppsPeopleOzExternalMergedpeopleapiSortKeysString
lastNameRawAppsPeopleOzExternalMergedpeopleapiSortKeysString
nameAppsPeopleOzExternalMergedpeopleapiSortKeysString
nameRawRaw 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).AppsPeopleOzExternalMergedpeopleapiSortKeysString
containerThe type of source. To be deprecated infavor of container_typeAppsPeopleOzExternalMergedpeopleapiSourceIdentityId of a single source from the merged person.String
containerTypeThe type of the source.AppsPeopleOzExternalMergedpeopleapiSourceIdentityId of a single source from the merged person.String
deletedIn sync responses, indicates whether the identity source has been deleted. Not applicable to GOOGLE_GROUP.AppsPeopleOzExternalMergedpeopleapiSourceIdentityId of a single source from the merged person.boolean
idThe encoded id of the data source. This field correlates to PersonFieldMetadata.encoded_container_id. The possible values of this `id` field are as follows based on the value of the `container_type` field: CONTACT: Hex-encoded contact id. PROFILE: DOMAIN_PROFILE: GOOGLE_GROUP: NAMED_CHAT_ROOM: Focus-obfuscated Gaia ID. DOMAIN_CONTACT: Synthetic-contact id representing the domain shared contact. PLACE: Encoded PlaceId (go/javagoog/maps/api/places/util/PlaceIdEncoder.java) RAW_DEVICE_CONTACT: Pair of device_id and raw_contact_id, encoded as base64 serialized social.graph.peopleapi.proto.internal.RawDeviceContactId proto. CONTACT_ANNOTATION: Pair of annotation_id and event_timestamp, encoded as base64 serialized social.graph.peopleapi.proto.internal.ContactAnnotationId proto. — DEPRECATED container types — If the container is CIRCLE, then the id is going to be the synthetic- contact id representing the email-only circle member or gaia circle member for which the requester does not have a contact for.AppsPeopleOzExternalMergedpeopleapiSourceIdentityId of a single source from the merged person.String
lastUpdatedLast update timestamp of this source. NOTE: Only populated for CONTACT container type in Java PeopleAPI. Populated for CONTACT, PROFILE, DOMAIN_PROFILE in Sharpen implementation. NOTE: Not populated for GOOGLE_GROUP.AppsPeopleOzExternalMergedpeopleapiSourceIdentityId of a single source from the merged person.DateTime
lastUpdatedMicros**DEPRECATED** Please use `last_updated` field instead. Last update timestamp of this source in microseconds. NOTE: Only populated for CONTACT container type.AppsPeopleOzExternalMergedpeopleapiSourceIdentityId of a single source from the merged person.String
sourceEtagNOTE: Not populated for GOOGLE_GROUP.AppsPeopleOzExternalMergedpeopleapiSourceIdentityId of a single source from the merged person.String
expirationTimeAppsPeopleOzExternalMergedpeopleapiSshPublicKeyCustom field that represents SSH public keys associated with the user. We can treat the field as a map from a string fingerprint to the SSH public key information.DateTime
fingerprintThe value is automatically set to a SHA-256 fingerprint of an SSH public key. A fingerprint should uniquely identify an SSH public key.AppsPeopleOzExternalMergedpeopleapiSshPublicKeyCustom field that represents SSH public keys associated with the user. We can treat the field as a map from a string fingerprint to the SSH public key information.String
keyAppsPeopleOzExternalMergedpeopleapiSshPublicKeyCustom field that represents SSH public keys associated with the user. We can treat the field as a map from a string fingerprint to the SSH public key information.String
metadataAppsPeopleOzExternalMergedpeopleapiSshPublicKeyCustom field that represents SSH public keys associated with the user. We can treat the field as a map from a string fingerprint to the SSH public key information.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
formattedTypeThe phone formatted type. See docs from mirrored proto: http://google3/ccc/grand_central/common/types.proto?l=128&rcl=241000760AppsPeopleOzExternalMergedpeopleapiStructuredPhoneThis message mirrors the ContactPhoneNumber message in ccc/grand_central/common/types.proto. For various reasons, we cannot take on a direct dependency. See other proto file for most recent documentation.String
phoneNumberAppsPeopleOzExternalMergedpeopleapiStructuredPhoneThis message mirrors the ContactPhoneNumber message in ccc/grand_central/common/types.proto. For various reasons, we cannot take on a direct dependency. See other proto file for most recent documentation.AppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumber
shortCodeAppsPeopleOzExternalMergedpeopleapiStructuredPhoneThis message mirrors the ContactPhoneNumber message in ccc/grand_central/common/types.proto. For various reasons, we cannot take on a direct dependency. See other proto file for most recent documentation.AppsPeopleOzExternalMergedpeopleapiStructuredPhoneShortCode
typeThe type of phone. See docs from mirrored proto: http://google3/ccc/grand_central/common/types.proto?l=125&rcl=241000760AppsPeopleOzExternalMergedpeopleapiStructuredPhoneThis message mirrors the ContactPhoneNumber message in ccc/grand_central/common/types.proto. For various reasons, we cannot take on a direct dependency. See other proto file for most recent documentation.String
e164AppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberString
i18nDataAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nData
countryCodeAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nDatainteger
internationalNumberAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nDataString
isValidAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nDataboolean
nationalNumberAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nDataString
regionCodeAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nDataString
validationResultAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nDataString
codeThe phone code. See docs from mirrored proto: http://google3/ccc/grand_central/common/types.proto?l=70&rcl=241000760AppsPeopleOzExternalMergedpeopleapiStructuredPhoneShortCodeString
countryCodeAppsPeopleOzExternalMergedpeopleapiStructuredPhoneShortCodeString
metadataAppsPeopleOzExternalMergedpeopleapiTaglineAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiTaglineString
adminToAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData*UNSUPPORTED*. This message is never populated and is no longer used.list(AppsPeopleOzExternalMergedpeopleapiPerson)
adminsAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData*UNSUPPORTED*. This message is never populated and is no longer used.list(AppsPeopleOzExternalMergedpeopleapiPerson)
dottedLineManagersAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData*UNSUPPORTED*. This message is never populated and is no longer used.list(AppsPeopleOzExternalMergedpeopleapiPerson)
dottedLineReportsAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData*UNSUPPORTED*. This message is never populated and is no longer used.AppsPeopleOzExternalMergedpeopleapiPersonListWithTotalNumber
failuresAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData*UNSUPPORTED*. This message is never populated and is no longer used.list(String)
managementChainAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData*UNSUPPORTED*. This message is never populated and is no longer used.list(AppsPeopleOzExternalMergedpeopleapiPerson)
reportsAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData*UNSUPPORTED*. This message is never populated and is no longer used.AppsPeopleOzExternalMergedpeopleapiPersonListWithTotalNumber
keyAppsPeopleOzExternalMergedpeopleapiUserDefinedString
metadataAppsPeopleOzExternalMergedpeopleapiUserDefinedAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiUserDefinedString
incomingAnyCircleCountReplacement for deprecated follower_count. Comes from the EdgeSummary.AppsPeopleOzExternalMergedpeopleapiUserVisibleStatsDEPRECATED in favor of ProfileStats. Stats pertaining to incoming edges and views, visible to the requester (with acls applied). Related to, but not equal to, com.google.focus.proto.Storage.UserVisibleStats.String
viewCountAppsPeopleOzExternalMergedpeopleapiUserVisibleStatsDEPRECATED in favor of ProfileStats. Stats pertaining to incoming edges and views, visible to the requester (with acls applied). Related to, but not equal to, com.google.focus.proto.Storage.UserVisibleStats.String
metadataAppsPeopleOzExternalMergedpeopleapiVisibleToGuestsStore metadata information like annotation-id and product source for visible to guests contacts go/visible-to-guests.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
isIncompleteUsed by Contacts client-side to indicate whether a person is not completed.AppsPeopleOzExternalMergedpeopleapiWebContactsExtendedDataboolean
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiWebsiteString
metadataAppsPeopleOzExternalMergedpeopleapiWebsiteAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
relCurrently in Oz: “Links”: Links with no rel. “Other profiles”: Links with rel=ME. “Contributor to”: Links with rel=CONTRIBUTOR_TO or PAST_CONTRIBUTOR_TO.AppsPeopleOzExternalMergedpeopleapiWebsitelist(AppsPeopleOzExternalMergedpeopleapiWebsiteRelationshipInfo)
typeThe 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`AppsPeopleOzExternalMergedpeopleapiWebsiteString
valueAppsPeopleOzExternalMergedpeopleapiWebsiteString
typeAppsPeopleOzExternalMergedpeopleapiWebsiteRelationshipInfoString
channelDataInformation about a channel created by the user. A user can create multiple Youtube channels.AppsPeopleOzExternalMergedpeopleapiYoutubeExtendedDataExtension data for use in Youtube Product Profile.list(AppsPeopleOzExternalMergedpeopleapiChannelData)
failureFailure type if there is an error when fetching product profile data.AppsPeopleOzExternalMergedpeopleapiYoutubeExtendedDataExtension data for use in Youtube Product Profile.AppsPeopleOzExternalMergedpeopleapiProductProfileFailure
expressUrlInSettingsResponseSupportedThis flag is used to work around a bug in AGSA 6.8 that got away. The bug prevents users from accessing their shopping list if the URL of the shopping list is not a keep.google.com URL. This will happen when switch the backend that stores the shopping list from Keep to a backend maintained by the Google Shopping Express team.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.boolean
reconnectClientInputSupportedWhether client supports reconnect client input in action v2 payload. This capability is needed to determine if client supports parsing client input payload from actionv2 proto for workflow purposes. See go/personal-workflow. OWNER:nyzstar,vvvemuri.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.boolean
simpleActionV2PuntSupportedWhether or not the surface supports a simple UnsupportedAction instead of a ModalState punt card for rendering. For ActionV2 punt cards, the ModalState extension on the ResourceSet is the canonical way of building punt cards. However, while most all devices support the ActionV2 protocol, not all devices handle the ModalState rendering as part of the ActionV2. For these devices, we want to build a modified ActionV2 for punt cards which omits this ModalState. At present, this is only Android Wear and should not be used for other devices if they support ModalState or Conversation protocol.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.boolean
supportedActionTypeA list of all the action types supported by the client. These should be the string representation of majel.ActionTypes within “quality/majel/api/proto/action_v2.proto”.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.list(String)
takeScreenshotSupportedChecks if screenshots can be taken on the client. This field is set on the client from AGSA 7.2 onwards.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.boolean
voiceDelightImmersiveUiSupportedIf IMMERSIVE_ACTIONS UiType is supported by the client.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.boolean
voiceDelightStickersSupportedIf Voice Delight Stickers are supported by the client. In order to support Voice Delight stickers, the client should know how to extract sticker_url from VoiceDelightSystemInteractionSegment.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.boolean
voiceDelightSuggestionsSupportedIf Voice Delight Suggestion Chips are supported by the client. In order to support Voice Delight Suggestion Chips, the client should know how to extract suggestions form VoiceDelightSystemInteraction.ResourceSet.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.boolean
androidIntentCapabilityAssistantApiAndroidIntentCapabilitiesCapabilities related to Android intent support. These capabilities can apply to any device on the Android platform. Provides the list of Android package names that support a given Android intent.list(AssistantApiAndroidIntentCapabilitiesAndroidIntentCapability)
intentActionNameThe Action name of the Android Intent in standard notation (https://developer.android.com/reference/android/content/Intent#getAction()).AssistantApiAndroidIntentCapabilitiesAndroidIntentCapabilityString
packageNamesThe Android provider packages that support the intent, e.g. “com.google.android.deskclock”.AssistantApiAndroidIntentCapabilitiesAndroidIntentCapabilitylist(String)
allowlistedForMediaFulfillmentIndicates whether the provider is compatible for media fulfillment on this surface. For example, Amazon Music isn’t compatible with the driving mode.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
appIntegrationsSettingsCurrently unused. Will be used in the future when integrating with incremental app capabilities.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.AssistantApiAppIntegrationsSettings
disabledSystemAppThis system app is disabled in settings.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
providerThe installed app of the provider.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.AssistantApiCoreTypesProvider
routableToProviderCloudThis provider has integrated its cloud backend with Google, and Google can route the user queries to the provider’s cloud.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
searchableOnDeviceThis provider has an app that supports on-device search through the provider’s own inventory.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
searchableOnServerThis provider has integrated its content with Google, and Google has enabled to serve its content as a server-side solution.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
supports3pPodcastPlaybackIndicates whether the provider supports playback of 3P(externally hosted) podcasts.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
supportsScreenlessInitiationThis provider has an app that supports starting new media playback when there is no screen (e.g. by integrating with the Bisto SDK).AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
whitelistedForAnnotationThis provider is an app which should be used for query annotations. This is useful for apps which may not be already indexed by Google or are client specific.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
appIntegrationsSettingsCurrently unused. Will be used in the future when integrating with incremental app capabilities.AssistantApiAppCapabilitiesDeltaUsed to describe the incremental change of app capabilities of the device installed apps reported to the server.AssistantApiAppIntegrationsSettings
providerDeltaThe installed app of the provider.AssistantApiAppCapabilitiesDeltaUsed to describe the incremental change of app capabilities of the device installed apps reported to the server.AssistantApiCoreTypesProviderDelta
enabledAssistantApiAppControlSupportString
sendMessageSuppressedIf true, disable send message AppControl/SD flow. This is needed to suppress the feature for specific device. If we decide to turn down this feature for all devices, then this field will become obsolete and should be removed. See context in b/275727627.AssistantApiAppControlSupportboolean
handleRequestsWithPredictedAppsWhether to enable Assistant to handle request with predicted apps.AssistantApiAppIntegrationsSettingsContains the app privacy bits used for App Integrations implicit request. (go/app-privacy-settings-for-implicit-requests)String
plateSupportIndicates in what cases assistant continued presence can be shown as a plate. This field is white-listed as being PII-free. Please do not add PII here.AssistantApiAssistantContinuedPresenceSupportString
environmentAssistantApiAudioInputThese capabilities represent the audio input features associated with the device. This includes what kind of audio input the device can handle, and what the privacy circumstances of that input are.String
qualityAssistantApiAudioInputThese capabilities represent the audio input features associated with the device. This includes what kind of audio input the device can handle, and what the privacy circumstances of that input are.String
alwaysOnSpeakerAssistantApiAudioOutputThese capabilities represent the audio output features associated with the device. This includes what kind of audio output the device can handle, and what the privacy circumstances of that output are.String
environmentAssistantApiAudioOutputThese capabilities represent the audio output features associated with the device. This includes what kind of audio output the device can handle, and what the privacy circumstances of that output are.String
mediaTtsMixableAssistantApiAudioOutputThese capabilities represent the audio output features associated with the device. This includes what kind of audio output the device can handle, and what the privacy circumstances of that output are.String
qualityAssistantApiAudioOutputThese capabilities represent the audio output features associated with the device. This includes what kind of audio output the device can handle, and what the privacy circumstances of that output are.String
volumePropertiesAssistantApiAudioOutputThese capabilities represent the audio output features associated with the device. This includes what kind of audio output the device can handle, and what the privacy circumstances of that output are.AssistantApiVolumeProperties
isBluetoothConnectedProfileRequiredIf this surface needs to bluetooth pair a phone before using a feature.AssistantApiBluetoothCapabilitiesBluetooth capabilities related to usage of a feature.boolean
callFormatsThe supported call formats on the surface.AssistantApiCallCapabilitiesCallCapabilities supported by a surface. See go/call-capabilities. Next ID: 7list(String)
callMediumsThe supported call mediums on the surface.AssistantApiCallCapabilitiesCallCapabilities supported by a surface. See go/call-capabilities. Next ID: 7list(String)
callOptionsThe call options this surface can provide. For example, SPEAKERPHONE is available on Android OPA while iOPA doesn’t support it yet.AssistantApiCallCapabilitiesCallCapabilities supported by a surface. See go/call-capabilities. Next ID: 7list(String)
fallbackToTetheredDeviceAppCapabilitiesIf true, APP_ID queries initiated by this device should fall back to execution on the tethered device if it’s available and if the primary device cannot perform the action (e.g. due to the app not being installed).AssistantApiCallCapabilitiesCallCapabilities supported by a surface. See go/call-capabilities. Next ID: 7boolean
supportedRecipientTypesShould only be checked if nonempty.AssistantApiCallCapabilitiesCallCapabilities supported by a surface. See go/call-capabilities. Next ID: 7list(String)
supportsDuoEmailEndpointAssistantApiCallCapabilitiesCallCapabilities supported by a surface. See go/call-capabilities. Next ID: 7boolean
faceMatchCapableWhether the device supports Face Match.AssistantApiCameraCapabilitiesThese capabilities represent the camera features associated with the device.boolean
hasCameraWhether the device has a camera.AssistantApiCameraCapabilitiesThese capabilities represent the camera features associated with the device.boolean
hasLimitedCameraStreamCapabilityWhether the device has limited camera stream capability. If true, check supported_camera_receivers for detailed supported cameras.AssistantApiCameraReceiverCapabilitiesThese capabilities present the capability of the device running camera receiver apps.boolean
supportedCameraReceiversThe camera receiver cast apps the device supports. Only used if has_limited_camera_stream_capability is true.AssistantApiCameraReceiverCapabilitiesThese capabilities present the capability of the device running camera receiver apps.list(AssistantApiCoreTypesCastAppInfo)
shouldPuntMultiAssistantModeIndicates whether the current Assistant should provide a multi Assistant specific punt when there are multiple Auto specific Google Assistants (Android Auto Projected (AAP) and Android Auto Embedded (AAE)) in the same GAS enabled car. This will be used by both AAP and AAE. Design doc: go/doubledash++AssistantApiCarAssistantCapabilitiesCapabilities that are associated with Assistants on auto surfaces. This is different from other capabilities such as CarSettingsCapabilities, CloudCarCapabilities since they are specific to settings and 3P cloud information. All the auto/car Assistant specific capabilities should live here.boolean
playWarmerWelcomeIf true, it indicates that the auto surface client should receive a warmer welcome TTS for signed-out users. For signed-in user, we will rely on server side metadata. go/aaae:preview-langAssistantApiCarSettingsCapabilitiesCapabilities that are associated with Assistant Settings on auto surfaces.boolean
supportsAddingCarsIf true, it indicates that the client can be used to add cars after account linking with the OEM.AssistantApiCarSettingsCapabilitiesCapabilities that are associated with Assistant Settings on auto surfaces.boolean
castLinkingStatusCast linking status for ATV surfaces. This is derived from error messages returned from Cast Orchestration Server and will be used for data profiling only(go/katniss-settings-dashboard).AssistantApiCastAssistantSettingLinkingResultString
truncatedErrorMsgThe error msg returned from COS, truncated in case it’s too large.AssistantApiCastAssistantSettingLinkingResultString
cameraReceiverCapabilitiesWhether the device has limited camera stream capability and if yes, which receivers are supported.AssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9AssistantApiCameraReceiverCapabilities
cameraStreamSupportedProtocolsThe supported protocols for camera streaming. The value is used as string in go/smarthome-internal-api#camera-stream, so using a string for this field instead of an enum. Supported protocols: (align the definition in go/smarthome-camerastream-trait) – “hls”: HTTP Live Streaming – “dash”: Dynamic Adaptive Streaming over HTTP – “smooth_stream”: Smooth Streaming – “progressive_mp4”: Progressive MP4 (will likely only be used for Clips) – “webrtc”: WebRTC (currently, only H.264 is supported) – “nexustalk”: Internal-only protocol used for NestAssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9list(String)
canReceiveCastTrue if we can cast things to this device.AssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9boolean
deviceIdOptional for primarily cast devices (e.g., Chirp, Chromecast). For devices that are NOT primarily cast devices, but having a cast receiver as secondary functionality, this field SHOULD store the cast-device-id to be used to send remote casting commands to the device. Example: Android TV, which supports both Android-native actions as well as remote casting using its built-in cast receiver. Android TV device id contains a DUSI id, which is not a cast-device-id. When executing a cast command on the Android TV, this field is used to route the cast command (through CloudCastService) to the cast receiver on the device.AssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9AssistantApiCoreTypesDeviceId
dynamicGroupsSupportedWhether this device supports dynamic groups or not. It implies if a Stream Control operation (transfer, expansion, and contraction) could be applied on this device since Stream Control is implemented as part of dynamic groups (ie, adding/removing devices from playback)AssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9boolean
groupTypeAssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9String
overlayApplicationsSupportedWhether UI overlay applications are supported on this device. It’s used by Chromecast only.AssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9boolean
yetiGamingSupportedWhether the device supports playing games through Yeti. This is set by the cast device when the device is updated: Chromecast updates -> Chromecast registers its capabilities with CCS -> CCS passes the capabilities to the AssistantSettingsService -> AssistantSettingsService stores the device’s capabilities. go/yeti-gaming-supported-cast-capabilityAssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9boolean
skipAndroidAndGsaVersionCheckAdditional specific setting capabilities. This boolean is used to indicate whether we want to skip the Android and GSA version check in CheckSettingSchemaAndMaybeGetUris() from assistant/vertical/device/fulfillment/utils/setting_utils.h. Consider setting this field to true if your device is neither Android or GSA (especially when the UserAgent string of your device’s TaskRequest will not contain a valid/up-to-date Android/GSA version).AssistantApiClientOpPropertiesDeviceModifySettingClientOpPropertyThe properties of the client op device.MODIFY_SETTING. This proto is stored in the SupportedClientOp proto.boolean
supportedSettingsUses DeviceSetting enum which corresponds to setting_id. This indicates which specific settings are supported by client. An empty list implies all settings are supported.AssistantApiClientOpPropertiesDeviceModifySettingClientOpPropertyThe properties of the client op device.MODIFY_SETTING. This proto is stored in the SupportedClientOp proto.list(String)
supportsDoNotDisturbWithDurationAdditional specific setting capabilities. This boolean is used to indicate if do not disturb with duration is supported through device.MODIFY_SETTING clientop on a client or not.AssistantApiClientOpPropertiesDeviceModifySettingClientOpPropertyThe properties of the client op device.MODIFY_SETTING. This proto is stored in the SupportedClientOp proto.boolean
supportsMuteUnmuteAdditional specific setting capabilities. This boolean is used to indicate if new unmute logic is enabled on a client or not.AssistantApiClientOpPropertiesDeviceModifySettingClientOpPropertyThe properties of the client op device.MODIFY_SETTING. This proto is stored in the SupportedClientOp proto.boolean
keepsConversationAliveAfterOpeningAppWhether conversation is kept alive after opening the app. See go/keep-opa-conversation-alive for details.AssistantApiClientOpPropertiesProviderOpenClientOpPropertyThe properties of the provider.OPEN ClientOp. This proto is stored in the SupportedClientOp proto with the key provider.OPEN.boolean
maxSupportedAlarmsMaximum number of alarms that can be created on the client.AssistantApiClockCapabilitiesUsed to describe clock capabilities of the device (for example, capabilities related to maximum number of supported alarms and timers that can be created on the device). Fields may be populated by clients or be backfilled by SAL (in case of Timon, for example).integer
maxSupportedExtendedTimerDurationMaximum extended timer duration supported by the client. The extended timer duration is the total start-to-finish duration after an AddTimeToTimer operation. E.g. if a user sets a timer for 30 minutes, and later adds 10 minutes, the extended duration is 40 minutes.AssistantApiClockCapabilitiesUsed to describe clock capabilities of the device (for example, capabilities related to maximum number of supported alarms and timers that can be created on the device). Fields may be populated by clients or be backfilled by SAL (in case of Timon, for example).AssistantApiDuration
maxSupportedTimerDurationMaximum duration of timers that can be created on the client.AssistantApiClockCapabilitiesUsed to describe clock capabilities of the device (for example, capabilities related to maximum number of supported alarms and timers that can be created on the device). Fields may be populated by clients or be backfilled by SAL (in case of Timon, for example).AssistantApiDuration
maxSupportedTimersMaximum number of timers that can be created on the client.AssistantApiClockCapabilitiesUsed to describe clock capabilities of the device (for example, capabilities related to maximum number of supported alarms and timers that can be created on the device). Fields may be populated by clients or be backfilled by SAL (in case of Timon, for example).integer
preferredStopwatchProviderThe preferred provider to use for stopwatch related functionality.AssistantApiClockCapabilitiesUsed to describe clock capabilities of the device (for example, capabilities related to maximum number of supported alarms and timers that can be created on the device). Fields may be populated by clients or be backfilled by SAL (in case of Timon, for example).AssistantApiCoreTypesProvider
restrictAlarmsToNext24hWhether the client restricts alarms to ring within the next 24 hours.AssistantApiClockCapabilitiesUsed to describe clock capabilities of the device (for example, capabilities related to maximum number of supported alarms and timers that can be created on the device). Fields may be populated by clients or be backfilled by SAL (in case of Timon, for example).boolean
fluidActionsUiTypeAssistantApiCommunicationUiCapabilitiesUI capabilities for the surfaces rendering Comms features. See go/rohan-comms-fluid-actions-customization.String
fallbackToTetheredDeviceIf true, contact.LOOKUP should be routed to the tethered device (if present) if the tethered device supports contact.LOOKUP and the primary device does not.AssistantApiContactLookupCapabilitiesboolean
accountTypeAssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
activityInfoAssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17AssistantApiCoreTypesAndroidAppInfoActivityInfo
androidIntentIntent associated with the app. We include intents here as different versions of the same app may support different intents. In those cases, the package_name is not enough to identify the app and we should use the combination of package_name and android_intent. This field might contain sensitive data, if represents ClientOp with encapsulated PII such as user query.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
appUniqueIdStore the app unique id endpoint. This will be passed over to app to fulfill the action.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
appVersionThe android app version. Deprecated because https://developer.android.com/reference/android/content/pm/PackageInfo.html#getLongVersionCodeAssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17integer
dataMimetypedata_mimetype and account_type are the what AGSA uses to filter which contacts support this Android app in ContactProvider.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
isBroadcastIntentIf true, client should broadcast the intent instead of open the intent.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17boolean
isDefaultApp is the default app for it’s core functionality. For example, it will be true for Android messages if it is the default app to send and receive SMS on the phone.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17boolean
localizedAppNameThe localized app name.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
longVersionCodeThe long android app version.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
mimetypeStore mimetype of this endpoint. We will use this as the differentiator for Assistant to know whether to use the RawContact for messaging, call or video call. For example, send message mimetype for whatsapp: “vnd.android.cursor.item/vnd.com.whatsapp.profile” voice call mimetype for whatsapp: “vnd.android.cursor.item/vnd.com.whatsapp.voip.call”AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
packageNameThe android app package of the provider, like “com.spotify.music”.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
providerTypeThe OemProviderType is specific for OEM system Android apps. For example, in Auto Embedded, the OEM will have a system Radio/Media app. The system app’s capabilities/core functionalities are captured here. For physical media sources, the OEM may decide to implement one media app (thus, one package name) that handles multiple physical media sources. For these cases, each physical media source will be sent as different providers even though the package name is the same.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
shortcutIdId of the app’s Android shortcut to be launched by Assistant. The client is expected to use the Android LauncherApps API to execute this shortcut which in turn will open the app. For example, Whatsapp may create an Android shortcut for a frequently messaged contact with an id “contact_123”. This field will contain that id and the client can execute it to open up the chat with that particular contact. If this field is set, the package_name field must also be set since both will be used by the LauncherApps API for execution. If this field is set, the intent related fields will be ignored and not used as a fallback. Design: go/shortcut-id-in-provider-open-clientop This field should only be set for devices with Android API level >= 25 (since that is the version from which the LauncherApps startShortcut API is available)AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
targetClassThe fully qualified target class name of the provider, like “com.example.myapp.GetOrderService”.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
versionNameThe android app version name, like “4.1.091.05.40d”, “11.2.7.21.alpha”. Android Docs: https://developer.android.com/reference/android/content/pm/PackageInfo#versionNameAssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
activeLaunchableActivitiesActivities that are currently active and tagged as ACTION_MAIN and CATEGORY_LAUNCHER. Includes the activity corresponding to android_intent if it falls under CATEGORY_LAUNCHER.AssistantApiCoreTypesAndroidAppInfoActivityInfoGeneral information about activities in the app.list(AssistantApiCoreTypesAndroidAppInfoActivityInfoActivity)
localizedActivityNameThe localized user visible activity name.AssistantApiCoreTypesAndroidAppInfoActivityInfoActivityInformation about an individual activity.String
shortClassNameShort class name for activity, following https://developer.android.com/reference/android/content/ComponentName#getShortClassName()AssistantApiCoreTypesAndroidAppInfoActivityInfoActivityInformation about an individual activity.String
androidAppInfoThe android app information of the provider. Like, Spotify.AssistantApiCoreTypesAndroidAppInfoDeltaThe change of AndroidAppInfo, e.g. app installation or deletion for incremental delta app info upload.AssistantApiCoreTypesAndroidAppInfo
lastUpdateTimestampThe client-side timestamp in millis when the app is last updated, installed or deleted.AssistantApiCoreTypesAndroidAppInfoDeltaThe change of AndroidAppInfo, e.g. app installation or deletion for incremental delta app info upload.DateTime
updateTypeApp is installed or deleted.AssistantApiCoreTypesAndroidAppInfoDeltaThe change of AndroidAppInfo, e.g. app installation or deletion for incremental delta app info upload.String
attendeesAttendees invited to the event, usually includes also the organizer.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26list(AssistantApiCoreTypesCalendarEventAttendee)
backgroundColorThe background color of the event, in RGB format.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26integer
calendarIdOptional calendar containing the event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
creatorThe person who created this event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26AssistantApiCoreTypesCalendarEventAttendee
descriptionOptional description of the event (plain text).AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
endThe end time of the event. Start and end time must either both be date or both be datetime. End is exclusive, ie. the first day / first second when the event is over.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26AssistantApiDateTime
eventIdOptional event id provided by assistant server. Needs to be unique, at least on a per-user and calendar level, ideally globally unique. If none is given, the server will assign an id.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
flairNameThe flair name, calculated according to the event title (go/as-cal-flair). With the flair name, background images can be got from gstatic (go/scs): https://ssl.gstatic.com/tmly/f8944938hffheth4ew890ht4i8/flairs/AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
foregroundColorThe foreground color of the event, in RGB format.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26integer
guestsCanInviteOthersWhether the guests can invite other guests.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26boolean
guestsCanModifyWhether the guests can modify the event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26boolean
guestsCanSeeGuestsWhether the guests of the event can be seen. If false, the user is reported as the only attendee to the event, even though there may be more attendees.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26boolean
habitIdOptional id of the Habit (Calendar Goal) this event is linked toAssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
habitStatusOptional status for this habit event instance.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
htmlLinkAbsolute link to this event in the Calendar web UI.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
locationOptional location of the event (plain text).AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
meetingContactsAssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26list(AssistantApiCoreTypesCalendarEventMeetingContact)
organizerThe organizer of this event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26AssistantApiCoreTypesCalendarEventAttendee
otherAttendeesExcludedWhether not all attendees are included in the attendee list. This is set when the attendees list has been truncated (e.g., when the number of attendees is beyond the maxAttendees limitation).AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26boolean
participationResponseThe user’s response (the owner of this copy of the event) to this event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
recurringEventIdIf this is an instance of a recurring event, recurring_event_id identifies the recurring series as a whole.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
roomsMeeting rooms associated to this event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26list(AssistantApiCoreTypesCalendarEventRoom)
startThe start time of the event. This event is an all-day event if start has no time_of_day.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26AssistantApiDateTime
summaryThe title of the event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
visibilityOptional visibility of the event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
displayNameDisplay name, present only if available.AssistantApiCoreTypesCalendarEventAttendeeNext id: 8String
emailEmail address of the attendee (calendar), for regular events. For +Events, this field is not populated, instead “id” is used.AssistantApiCoreTypesCalendarEventAttendeeNext id: 8String
givenNameGiven (first) name, present only if available. This is used for generating meeting titles as given name is preferred over display (full) name (ie: “Jeff : Sundar” is better than “Jeff Dean : Sundar Pichai”).AssistantApiCoreTypesCalendarEventAttendeeNext id: 8String
idProfile ID of the principal, for +Events. For regular events, this field is not populated, instead “email” is used.AssistantApiCoreTypesCalendarEventAttendeeNext id: 8String
organizerIs this the organizer?AssistantApiCoreTypesCalendarEventAttendeeNext id: 8boolean
responseStatusAttendees response status.AssistantApiCoreTypesCalendarEventAttendeeNext id: 8String
selfIs this the owner of this copy of the event?AssistantApiCoreTypesCalendarEventAttendeeNext id: 8boolean
conferenceIdID that corresponds to in ConferenceData.conference_id in calendar.common.ConferenceData proto. For Meet, this is the identifier used to join a meeting via URL.AssistantApiCoreTypesCalendarEventMeetingContactNext id: 10String
dialInNumberClassesAssistantApiCoreTypesCalendarEventMeetingContactNext id: 10list(String)
phoneNumberUriDefault meeting phone number, for example: “tel:+1-475-777-1840”AssistantApiCoreTypesCalendarEventMeetingContactNext id: 10String
pinNumberA PIN that the participant will need to input after dialing in the conference.AssistantApiCoreTypesCalendarEventMeetingContactNext id: 10String
providerProvider info for the meeting.AssistantApiCoreTypesCalendarEventMeetingContactNext id: 10AssistantApiCoreTypesProvider
regionCodeThe region code for the default meeting phone numberAssistantApiCoreTypesCalendarEventMeetingContactNext id: 10String
sourceAssistantApiCoreTypesCalendarEventMeetingContactNext id: 10String
universalPinNumberThe universal meeting PIN number for phone numbers in all available countriesAssistantApiCoreTypesCalendarEventMeetingContactNext id: 10String
urlURL that can be used to join the meeting.AssistantApiCoreTypesCalendarEventMeetingContactNext id: 10String
emailRoom email that identifies the room and is used to book it.AssistantApiCoreTypesCalendarEventRoomA room that is available for a potential meeting or has been booked for a scheduled meeting. Next id: 4String
locationDetailsAdditional room details. Read-only, populated on request.AssistantApiCoreTypesCalendarEventRoomA room that is available for a potential meeting or has been booked for a scheduled meeting. Next id: 4AssistantApiCoreTypesCalendarEventRoomRoomLocationDetails
nameRoom name (ex: “MTV-PR55-5-A-Shadow 5K0 (13) GVC (No external guests)”).AssistantApiCoreTypesCalendarEventRoomA room that is available for a potential meeting or has been booked for a scheduled meeting. Next id: 4String
buildingBuilding where the room is (ex: “PR55”).AssistantApiCoreTypesCalendarEventRoomRoomLocationDetailsRoom location details. Read-only, populated on request. Next id: 8String
cityCity where the room is (ex: “MTV”).AssistantApiCoreTypesCalendarEventRoomRoomLocationDetailsRoom location details. Read-only, populated on request. Next id: 8String
floorFloor where the room is (ex: “5”).AssistantApiCoreTypesCalendarEventRoomRoomLocationDetailsRoom location details. Read-only, populated on request. Next id: 8String
latitudeThe latitude in degrees.AssistantApiCoreTypesCalendarEventRoomRoomLocationDetailsRoom location details. Read-only, populated on request. Next id: 8float
longitudeThe longitude in degrees.AssistantApiCoreTypesCalendarEventRoomRoomLocationDetailsRoom location details. Read-only, populated on request. Next id: 8float
sectionSection in the floor (ex: “A”).AssistantApiCoreTypesCalendarEventRoomRoomLocationDetailsRoom location details. Read-only, populated on request. Next id: 8String
simpleNameRoom name (ex: “Shadow 5K0”).AssistantApiCoreTypesCalendarEventRoomRoomLocationDetailsRoom location details. Read-only, populated on request. Next id: 8String
castAppIdThe cast app id. |cast_app_id| is the ID of the cast app used on the current device and |content_app_id| is the ID of the app that provides the actual content. For example, in a group playback, on a follower device, the |cast_app_id| is the follower cast app ID and the |content_app_id| is the leader cast app ID.AssistantApiCoreTypesCastAppInfoThe cast app information of the provider.String
contentAppIdThe id of the cast app that provides the content in a group. The field will always be filled. In the case of a group playback and the current device is a follower, the |cast_app_id| has the ID of the follower app, and |content_app_id| has ID of the actual content app. In all other cases, |content_app_id| and |cast_app_id| will be the same.AssistantApiCoreTypesCastAppInfoThe cast app information of the provider.String
localizedAppNameThe localized app name.AssistantApiCoreTypesChromeOsAppInfoThe ChromeOS app information of the provider. Next ID: 3String
packageNameUnique package name that identifies a ChromeOS app of the provider.AssistantApiCoreTypesChromeOsAppInfoThe ChromeOS app information of the provider. Next ID: 3String
agentStyleAssistantApiCoreTypesCloudProviderInfoThe third party provider information.AssistantApiCoreTypesCloudProviderInfoAgentStyle
directoryUrlURL to a directory page about the third party agent in Assistant HQ. This is a universal (https) URL that may be handled natively by clients to show HQ or launch to the HQ directory web page.AssistantApiCoreTypesCloudProviderInfoThe third party provider information.String
logoUrlThe logo url for the third party provider.AssistantApiCoreTypesCloudProviderInfoThe third party provider information.String
nameThe user visible name of the cloud provider, which may be used for example in the chat header during a conversation with the third party.AssistantApiCoreTypesCloudProviderInfoThe third party provider information.String
backgroundColorThe background color of the agent. Used if no background image is specified for the given display orientation, or if the provided background image does not fit.AssistantApiCoreTypesCloudProviderInfoAgentStyleThe style customizations for the 3p agent.AssistantApiCoreTypesColor
headerThemeAssistantApiCoreTypesCloudProviderInfoAgentStyleThe style customizations for the 3p agent.String
landscapeBackgroundImageUrlURL for the background image of the agent on landscape display.AssistantApiCoreTypesCloudProviderInfoAgentStyleThe style customizations for the 3p agent.String
logoUrlURL for the image containing the 3p logo. This can include logomark and logotype, or logotype only. If present, this can be used in place of the square logo contained in the top level logo_url field in CloudProviderInfo. See go/cards-logo-customization for details on applying this logo.AssistantApiCoreTypesCloudProviderInfoAgentStyleThe style customizations for the 3p agent.String
maskColorThe color of the mask to apply to the background. See go/aog-cards-background-mask for details on applying this mask.AssistantApiCoreTypesCloudProviderInfoAgentStyleThe style customizations for the 3p agent.AssistantApiCoreTypesColor
portraitBackgroundImageUrlURL for the background image of the agent on portrait display.AssistantApiCoreTypesCloudProviderInfoAgentStyleThe style customizations for the 3p agent.String
primaryColorThe primary color of the agent. Used by the client to style the header and suggestion chips.AssistantApiCoreTypesCloudProviderInfoAgentStyleThe style customizations for the 3p agent.AssistantApiCoreTypesColor
alphaThe fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (this color) + (1.0 – alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. If omitted, this color object is to be rendered as a solid color (as if the alpha value had been explicitly given with a value of 1.0).AssistantApiCoreTypesColorRepresents a color in the RGBA color space. This message mirrors google.type.Color.number
blueThe amount of blue in the color as a value in the interval [0, 1].AssistantApiCoreTypesColorRepresents a color in the RGBA color space. This message mirrors google.type.Color.number
greenThe amount of green in the color as a value in the interval [0, 1].AssistantApiCoreTypesColorRepresents a color in the RGBA color space. This message mirrors google.type.Color.number
redThe amount of red in the color as a value in the interval [0, 1].AssistantApiCoreTypesColorRepresents a color in the RGBA color space. This message mirrors google.type.Color.number
agentIdPantheon Project ID that uniquely identifies the consumer project ID. RequiredAssistantApiCoreTypesDeviceConfigThe identification information for third party devices that integrates with the assistant. All of these fields will be populated by the third party when the query is sent from the third party device. Next Id: 5String
deviceIdUnique identifier for the device. Example: DBCDW098234. RequiredAssistantApiCoreTypesDeviceConfigThe identification information for third party devices that integrates with the assistant. All of these fields will be populated by the third party when the query is sent from the third party device. Next Id: 5String
agsaClientInstanceIdThe client_instance_id on devices with GSA. See ‘client_instance_field’ in go/androidids.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
alloDeviceIdAllo Id. Corresponds to the GBotRequest.Sender.sender. NOTE(dychen): This may change to standard android/ios physical device ids in order to enable shared data (e.g. installed app on physical device shared between Allo and Opa apps on Nexus).AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
canonicalDeviceIdA unique device ID for Assistant devices as proposed by go/ocelot-team to solve the device id fragmentation problem. The value of this id is the HomeGraph id of the device. See go/ocelot-track-0-registry-design. New surfaces should use the canonical_device_id instead of using other ids, and the registration should utilize the DeviceDataLayer (go/ddl-v0). Please contact the assistant-state-management@ team for guidance. Note: We didn’t reuse |home_graph_device_id| because in Assistant code base |home_graph_device_id| is common to associate it with 3P devices. See go/project-yellowstone for more context.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
castDeviceIdIf set, indicates that the device is a cast device, and contains the UUID of the cast device. Corresponds to the device_id field of the CastDevice proto.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
clientInstanceIdDUSI (go/dusi) is used as the identifier here. This identifier is unique to the user and device. This will help identify which device or application the user’s request originated from. This is not to be confused with the client_instance_id that android devices provide. This is currently used by surfaces that use the assistant-legacy-nexus and assistant-legacy-clockwork pipelines. DUSI is created and set in S3. This field is only filled for GAIA requests.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
connectedDockIdA device ID produced by a connected dock, which is registered in HomeGraph.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
deviceConfigThe unique DeviceConfig to the specific third party device. It is also used by Android Auto Embedded first party device. See go/opa-ids.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14AssistantApiCoreTypesDeviceConfig
deviceTypeDEPRECATED. assistant.api.core_types.governed.SurfaceIdentity.surface_type field should be used instead. The device’s surface type. This is the string version of surface_type. The server should use the SurfaceType value derived from this string. If the device_type isn’t supported within the SurfaceType enum, it will be set as UNKNOWN. Developers should use the enum in ServerParams instead of this string. WARNING: Clients are not actually setting this field. This field will be removed once references to it within the code base have been removed.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
homeGraphDeviceIdThe unique device ID for HomeGraph devices. This is the HomeGraph ID, created when the device is registered into HomeGraph. It is immutable for the same device unless it is completely deleted and recreated. See go/home-graph for details.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
libassistantDeviceIdThe unique ID for libassistant based devices. See go/libassistant-id for details.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
multiHotwordArbitrationDeviceIdIf set, indicates that the device is participating the multi-hotword arbitration and the id is an UUID to distinguish it from other devices. It should also be consistent between requests from a single device within a session (or short duration).AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
opaIosDeviceIdThe unique device ID for the Assistant App on iOS. See go/opa-ios-design for details.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
quartzDeviceIdThe unique ID of a Quartz device. See go/quartz-design-doc for more details. Quartz ID is a hash of (android_id + gaia).AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
deviceIdThe identifier of the device.AssistantApiCoreTypesDeviceUserIdentityThe set of information that helps Assistant identify a device-user pair. An example use of this proto is in broadcast reply, when after receiving a broadcast, we store a device-user pair in an attentional entity in order to later infer who initated the broadcast on which device.AssistantApiCoreTypesDeviceId
gaiaIdThe identifier of the user.AssistantApiCoreTypesDeviceUserIdentityThe set of information that helps Assistant identify a device-user pair. An example use of this proto is in broadcast reply, when after receiving a broadcast, we store a device-user pair in an attentional entity in order to later infer who initated the broadcast on which device.String
localizedAppNameThe localized app name.AssistantApiCoreTypesHomeAppInfoThe Home app information of the provider. Next ID: 3String
packageNameUnique package name that identifies a Home app of the provider.AssistantApiCoreTypesHomeAppInfoThe Home app information of the provider. Next ID: 3String
accessibilityTextA text description of the image to be used for accessibility, e.g. screen readers.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
appIconIdentifierApp identifier. This field is specific to mobile surfaces and stands for app package name for Android surface, and app bundle identifier for iOS. In case identifier is specified but invalid, some default icon will be used, e.g. PackageManager.getDefaultActivityIcon() for Android. If you want to show image for AGSA versions which don’t support this field, you can specify source_url as backup.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
badgeImageThis is the image that is displayed as the badge on the main image.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13AssistantApiCoreTypesImage
contentContent of the image in bytes.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
heightAssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13integer
imageSourceIndicate the data source where the image is fetched.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
jsonContentContent of image in form of JSON representation.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
letterDrawableTextText used to generate a letter drawable (a letter icon with color). It will be the default icon if the source_url is empty or cannot be rendered.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
providerUrlUrl of the image provider, which is the website containing the image. For example, https://www.agentx.com.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
sourceUrlThe source url of the image. For example, https://www.agentx.com/logo.pngAssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
sourceUrlTypeType of the source url.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
widthThe width and height of the image in pixels.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13integer
typeSpecifying which type of internal provider.AssistantApiCoreTypesInternalProviderInfoInfo for targeting a feature provided directly by the Assistant surface itself. i.e Could be pointing to AGSA audio player for AUDIO_PLAYER on AGSA.String
bundleIdentifierBundle identifier that identifies an iOS app of the provider.AssistantApiCoreTypesIosAppInfoThe iOS app information of the provider. Next ID: 4String
localizedAppNameThe localized app name.AssistantApiCoreTypesIosAppInfoThe iOS app information of the provider. Next ID: 4String
openAppUrlA URL to open the provider’s app.AssistantApiCoreTypesIosAppInfoThe iOS app information of the provider. Next ID: 4String
localizedAppNameThe localized app name.AssistantApiCoreTypesKaiOsAppInfoThe KaiOS app information of the provider. Next ID: 4String
openAppUrlA URL to open the provider’s app.AssistantApiCoreTypesKaiOsAppInfoThe KaiOS app information of the provider. Next ID: 4String
packageNameUnique package name that identifies a KaiOS app of the provider.AssistantApiCoreTypesKaiOsAppInfoThe KaiOS app information of the provider. Next ID: 4String
accuracyMetersThe accuracy of the coordinates in meters.AssistantApiCoreTypesLocationCoordinatesGeographic coordinate information for location.float
latDegreesLatitude degrees.AssistantApiCoreTypesLocationCoordinatesGeographic coordinate information for location.float
lngDegreesLongitude degrees.AssistantApiCoreTypesLocationCoordinatesGeographic coordinate information for location.float
appNameApp name of the message notification, e.g. Hangouts.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
bundleIdThe key used to group this notification into a cluster.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
dataUriUri for the attachment (image, audio, video etc.).AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
groupNameName of the group associated with the message notification. This field is set iff this is a group message.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
groupingKeyThe group key of a proactive notification. Details in assistant.api.client_op.NotificationArgs.grouping_key.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
indexIndex of the message notification.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21integer
markAsReadActionAvailableBoolean indicating if the mark_as_read action is available for this message.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21boolean
messageLengthLength of the message/notification content in characters. Note: We can’t send the full content because of privacy restriction, preventing sending client content to our backends. Concatenated message_length of all notification_entries.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21integer
messageRecipientTypeAssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
messageWordCountWord count of the messageAssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21integer
mimeTypeMime type of the data_uri. e.g. ‘audio/wav’, ‘video/mp4’, ‘image/png’.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
notificationEntriesAssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21list(AssistantApiCoreTypesMessageNotificationNotificationEntry)
notificationIconKeyOn-device cache key for notification icon.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
notificationKeyString key of the notification. It is the key from original StatusBarNotification received from Android OS. It is used to identify the original notification to send a reply.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
opaqueTokenThe opaque_token of a proactive notification. Details in assistant.api.client_op.NotificationArgs.opaque_token.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
packageNameApp pkg of the message notification, e.g. “com.google.android.talk”.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
postTimeTimestamp of the last notification’s post time.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
replyActionAvailableBoolean indicating if the reply action is available for this message.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21boolean
senderAssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21AssistantApiCoreTypesMessageNotificationPerson
senderNameSender’s name of the message notification, e.g. Elsa. Last sender name in case of a group conversation.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
audioDurationDuration of audio message.AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9String
charCountCount of characters in the message body in the notification.AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9integer
dataUriUri for the attachment (image, audio, video etc.).AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9String
messageBodyNote that this is not present in production traffic. Content of the message body in the notification.AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9String
mimeTypeMime type of the data_uri. e.g. ‘audio/wav’, ‘video/mp4’, ‘image/png’.AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9String
postTimeTimestamp of the notification’s post time.AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9DateTime
senderSender of the message notification.AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9AssistantApiCoreTypesMessageNotificationPerson
wordCountCount of words in the message body in the notification.AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9integer
isImportantAssistantApiCoreTypesMessageNotificationPersonMirrors part of https://developer.android.com/reference/android/app/Person Next Id: 4boolean
keyAssistantApiCoreTypesMessageNotificationPersonMirrors part of https://developer.android.com/reference/android/app/Person Next Id: 4String
nameAssistantApiCoreTypesMessageNotificationPersonMirrors part of https://developer.android.com/reference/android/app/Person Next Id: 4String
androidAppInfoThe android app information of the provider.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesAndroidAppInfo
castAppInfoThe cast app information of the provider.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesCastAppInfo
chromeosAppInfoThe ChromeOS app information of the provider.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesChromeOsAppInfo
cloudProviderInfoThe third party provider information.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesCloudProviderInfo
fallbackUrlA URL to fallback to if app can not be opened.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13String
homeAppInfoAssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesHomeAppInfo
iconImageUrlPublic URL pointing to an icon image for the provider. e.g. https://lh3.googleusercontent.com/UrY7BAZ-XfXGpfkeWg0zCCeo-7ras4DCoRalC_WXXWTK9q5b0Iw7B0YQMsVxZaNB7DMAssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13String
internalProviderInfoThe internal assistant provider information.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesInternalProviderInfo
iosAppInfoThe iOS app information of the provider.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesIosAppInfo
kaiosAppInfoThe KaiOS app information of the provider.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesKaiOsAppInfo
sipProviderInfoThe sip information of the provider.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesSipProviderInfo
webProviderInfoThe web provider information.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesWebProviderInfo
androidAppInfoDeltaThe android app information of the provider.AssistantApiCoreTypesProviderDeltaProviderDelta. The incremental change, e.g. installation or deletion for Spotify or iHeartRadio. Currently it is for Android only. A few considerations for edge cases: – If the app being deleted is not found from Footprints, it is ignored. – For Footprint upload through Geller, the gPRC response is available for client to retry in the next upload if the upload fails. – For Assistant Request, there is no upload status similar to the current AppCapabilities. Next ID: 4AssistantApiCoreTypesAndroidAppInfoDelta
fallbackUrlA URL to fallback to if app can not be opened.AssistantApiCoreTypesProviderDeltaProviderDelta. The incremental change, e.g. installation or deletion for Spotify or iHeartRadio. Currently it is for Android only. A few considerations for edge cases: – If the app being deleted is not found from Footprints, it is ignored. – For Footprint upload through Geller, the gPRC response is available for client to retry in the next upload if the upload fails. – For Assistant Request, there is no upload status similar to the current AppCapabilities. Next ID: 4String
iconImageUrlPublic URL pointing to an icon image for the provider. e.g. https://lh3.googleusercontent.com/UrY7BAZ-XfXGpfkeWg0zCCeo-7ras4DCoRalC_WXXWTK9q5b0Iw7B0YQMsVxZaNB7DMAssistantApiCoreTypesProviderDeltaProviderDelta. The incremental change, e.g. installation or deletion for Spotify or iHeartRadio. Currently it is for Android only. A few considerations for edge cases: – If the app being deleted is not found from Footprints, it is ignored. – For Footprint upload through Geller, the gPRC response is available for client to retry in the next upload if the upload fails. – For Assistant Request, there is no upload status similar to the current AppCapabilities. Next ID: 4String
categoryThe category related with the ringtone. It’s used to generate ringtone related with the category if the entity_mid is not be populated. E.g. for instrument, the ringtone may be piano sound.AssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11String
characterAlarmMetadataAssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11AssistantApiCoreTypesRingtoneTaskMetadataCharacterAlarmMetadata
characterTagAssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11String
entityMidThe freebase mid of the entity related to the ringtone. It will be used to generate the ringtone for the alarm or timer (with support for i18n). For instance, for the “cat” mid, the related ringtone will be a cat sound in some language, and for the “Beyonce” mid, the ringtone will be, e.g., a playlist of Beyonce’s best hits.AssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11String
funtimeMetadataAssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadata
genMlAlarmMetadataAssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11AssistantApiCoreTypesRingtoneTaskMetadataGenMlAlarmMetadata
gentleWakeInfoGentle wake information for this alarm.AssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11AssistantApiCoreTypesRingtoneTaskMetadataGentleWakeInfo
onDeviceAlarmMetadataAssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11AssistantApiCoreTypesRingtoneTaskMetadataOnDeviceAlarmMetadata
onDeviceAlarmSoundWill be deprecated. Use OnDeviceAlarmMetadata.AssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11String
routineAlarmMetadataAssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11AssistantApiCoreTypesRingtoneTaskMetadataRoutineAlarmMetadata
agentIdsFor character alarm, the media resources are provided through AOG apps. During alarm trigger phase, aog apps with the specified agent_ids are used to get the media resources. Multiple “AoG agents” can satisfy a character_tag. So the user will select the agents they want at alarm creation time. The chosen agents will be recorded so that the resources only from those agents will be used at trigger time. The number of selected agent_ids will not exceed 3. See go/character-alarm-aog.AssistantApiCoreTypesRingtoneTaskMetadataCharacterAlarmMetadatalist(String)
characterTagsThe Character Alarm tag. Tags are needed to identify the theme of the alarm. For example, if the tag is ‘astronaut’, astronaut based audio is played during alarm ring. Note : We have made it repeated so that the user can choose multiple character alarm themes at one go. At present, the user is allowed to choose only one theme during alarm creation.AssistantApiCoreTypesRingtoneTaskMetadataCharacterAlarmMetadatalist(String)
iconUrlsIcons urls corresponding to a character. Note : We have made it repeated so that we can show different images when the alarm rings. At present, we only support only one image.AssistantApiCoreTypesRingtoneTaskMetadataCharacterAlarmMetadatalist(String)
agentIdsFor FunTime alarms and timers, the media resources are provided through AOG apps during their ringtone. Multiple AoG agents can satisfy a label. So a random agent will be chosen from those that are supplied. See go/funtime-engdesign.AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadataUsed to make timers and alarms more delightful. See go/funtime-engdesign for more details.list(String)
animationBlobThese bytes may represent the blob of the Rive animation that we pass to the Opal App. We will deprecate this field if we figure out a solution to load the animation from the web.AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadataUsed to make timers and alarms more delightful. See go/funtime-engdesign for more details.String
animationUrlUrl for Rive animation that is brought up on ring. Rive is a lightweight animation library that is compatible with Flutter on Opal. See https://rive.app/.AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadataUsed to make timers and alarms more delightful. See go/funtime-engdesign for more details.String
timerHeroUrlThe url used to load the image that is at the center of the timer during timer countdown visuals.AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadataUsed to make timers and alarms more delightful. See go/funtime-engdesign for more details.String
ttsServiceRequestBytesThis is used to call S3 to realize the TTS. Is in the form of bytes because of a circular dependency issue in libassistant protos. It is a serialized proto of type speech.s3.TtsServiceRequest.AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadataUsed to make timers and alarms more delightful. See go/funtime-engdesign for more details.String
isEnabledAssistantApiCoreTypesRingtoneTaskMetadataGenMlAlarmMetadataMetadata for machine learning generated audio samples. This will be similar to character alarms, Category will be set MEDIA but this metadata field will be used to identify the ringtone type on surface. (go/magenta-alarm-ringtones).boolean
ringtoneLabelLabel for the generated ringtone.AssistantApiCoreTypesRingtoneTaskMetadataGenMlAlarmMetadataMetadata for machine learning generated audio samples. This will be similar to character alarms, Category will be set MEDIA but this metadata field will be used to identify the ringtone type on surface. (go/magenta-alarm-ringtones).String
effectDurationMsSpecifies how long the effect lasts. Allowed for effect to last after the alarm has started ringing. If unset or negative or 0, effect is assumed to last until alarm trigger time.AssistantApiCoreTypesRingtoneTaskMetadataGentleWakeInfoGentle wake actions like slowly brightening the room/device screen leading up to the alarm firing (go/cube-gentle-wake-up).String
isEnabledIndicates if gentle wake action is to be performed before this alarm fires. This is enabled only if the device supports sunrise alarm capability. http://cs/symbol:assistant.api.SunriseFeaturesSupportAssistantApiCoreTypesRingtoneTaskMetadataGentleWakeInfoGentle wake actions like slowly brightening the room/device screen leading up to the alarm firing (go/cube-gentle-wake-up).boolean
startTimedeltaMsSpecifies how long before the alarm fire time, the wakeup effect will start. ALWAYS POSITIVE.AssistantApiCoreTypesRingtoneTaskMetadataGentleWakeInfoGentle wake actions like slowly brightening the room/device screen leading up to the alarm firing (go/cube-gentle-wake-up).String
onDeviceAlarmSoundOpal/UI layer will set this bit based on the user selection.AssistantApiCoreTypesRingtoneTaskMetadataOnDeviceAlarmMetadataThis describes the alarm sound resource enum and the alarm sound label for the on device alarm sound. On-device ringtones are product specific, hence Opal/UI layer will be responsible for populating this metadata at creation/edit. The enum map will be used to convert to an internal resource id used by libassistant for accessing the asset which are not exposed to UI.String
onDeviceAlarmSoundLabelA string label to identify the alarm sound name. Opal/UI layer will set this as per product definition. This will be used to display the name of the selected ringtone.AssistantApiCoreTypesRingtoneTaskMetadataOnDeviceAlarmMetadataThis describes the alarm sound resource enum and the alarm sound label for the on device alarm sound. On-device ringtones are product specific, hence Opal/UI layer will be responsible for populating this metadata at creation/edit. The enum map will be used to convert to an internal resource id used by libassistant for accessing the asset which are not exposed to UI.String
ttsServiceRequestBytesThis is used to call S3 to realize the TTS. Is in the form of bytes because of a circular dependency issue in libassistant protos. It is a serialized proto of type speech.s3.TtsServiceRequest. This request will contain an ssml with the url to the ringtone files hosted on gstatic.AssistantApiCoreTypesRingtoneTaskMetadataOnDeviceAlarmMetadataThis describes the alarm sound resource enum and the alarm sound label for the on device alarm sound. On-device ringtones are product specific, hence Opal/UI layer will be responsible for populating this metadata at creation/edit. The enum map will be used to convert to an internal resource id used by libassistant for accessing the asset which are not exposed to UI.String
routineIdThe unique id for each routine. When the alrm is dismissed, it will trigger the routine of the routine alarm’s creator if feasible.AssistantApiCoreTypesRingtoneTaskMetadataRoutineAlarmMetadataString
providerIdThe providers id (MID) which is the primary identifier for a call provider within the Assistant. A MID, or machine identifier, is a unique identifier issued by Knowledge Graph for all entities contained in it’s graph.AssistantApiCoreTypesSipProviderInfoSession Initiation Protocol (SIP) information for providers that use SIP to initiate multimedia communication sessions, like Google Voice and Fi. https://en.wikipedia.org/wiki/Session_Initiation_ProtocolString
realmCalling realm to be use for each call. i.e. For anonymous, this would be set to anonymous.chirp.google.comAssistantApiCoreTypesSipProviderInfoSession Initiation Protocol (SIP) information for providers that use SIP to initiate multimedia communication sessions, like Google Voice and Fi. https://en.wikipedia.org/wiki/Session_Initiation_ProtocolString
useBirdsongTaclIf true, client should use the Birdsong TaCL API for this call. Uses the VoiceCallManager API by default. For more details: go/birdsong-migration-google-homeAssistantApiCoreTypesSipProviderInfoSession Initiation Protocol (SIP) information for providers that use SIP to initiate multimedia communication sessions, like Google Voice and Fi. https://en.wikipedia.org/wiki/Session_Initiation_Protocolboolean
deviceIdThe identifier of the device.AssistantApiCoreTypesSurfaceIdentityThe set of information that helps the server identify the surface. This replaces the User-Agent string within the Assistant Server. Note: The SurfaceIdentity proto should only be used to derive the capabilities of a surface. It should not be accessed outside of the CapabilityBuilder or CapabilityChecker. NEXT ID: 6AssistantApiCoreTypesDeviceId
legacySurfaceTypeDEPRECATED: The legacy device’s surface type enum. NOTE: Prefer using the ontological `surface_type` field above. If you need to access the legacy surface type, please file a bug and add it in your code to migrate to ontological surface type.AssistantApiCoreTypesSurfaceIdentityThe set of information that helps the server identify the surface. This replaces the User-Agent string within the Assistant Server. Note: The SurfaceIdentity proto should only be used to derive the capabilities of a surface. It should not be accessed outside of the CapabilityBuilder or CapabilityChecker. NEXT ID: 6String
surfaceTypeThe device’s surface type. The types are defined at google3/assistant/api/core_types/surfaces.gcl. For more details, refer to go/ontologicalize-surface-type.AssistantApiCoreTypesSurfaceIdentityThe set of information that helps the server identify the surface. This replaces the User-Agent string within the Assistant Server. Note: The SurfaceIdentity proto should only be used to derive the capabilities of a surface. It should not be accessed outside of the CapabilityBuilder or CapabilityChecker. NEXT ID: 6String
surfaceTypeStringDEPRECATED. The legacy device’s surface type string. NOTE: Prefer using the ontological `surface_type` field. The device’s surface type. This is the string version of the assistant.api.core_types.SurfaceType enum. The server should not use this field, rather it should use the SurfaceType value derived from this string.AssistantApiCoreTypesSurfaceIdentityThe set of information that helps the server identify the surface. This replaces the User-Agent string within the Assistant Server. Note: The SurfaceIdentity proto should only be used to derive the capabilities of a surface. It should not be accessed outside of the CapabilityBuilder or CapabilityChecker. NEXT ID: 6String
surfaceVersionThe version of the surface/client. This is different from the Conversation protocol version.AssistantApiCoreTypesSurfaceIdentityThe set of information that helps the server identify the surface. This replaces the User-Agent string within the Assistant Server. Note: The SurfaceIdentity proto should only be used to derive the capabilities of a surface. It should not be accessed outside of the CapabilityBuilder or CapabilityChecker. NEXT ID: 6AssistantApiCoreTypesSurfaceVersion
typeAssistantApiCoreTypesSurfaceTypeSpecifies the types of device surfaces. LINT.IfChange When adding new surface types make sure that My Activity (https://myactivity.google.com/product/assistant) will correctly render by adding your enum to http://cs/symbol:GetAssistSurfaceName%20f:%5C.cc$ If your type doesn’t fit in to any of the existing surfaces messages, add a new message in http://google3/personalization/footprints/boq/uservisible/events/intl/smh_frontend_messages.h.String
majorAssistantApiCoreTypesSurfaceVersionThe version of the surface/client. New surfaces are encouraged to only use the “major” field to keep track of version number. The “minor” field may be used for surfaces that rely on both the “major” and “minor” fields to define their version.integer
minorAssistantApiCoreTypesSurfaceVersionThe version of the surface/client. New surfaces are encouraged to only use the “major” field to keep track of version number. The “minor” field may be used for surfaces that rely on both the “major” and “minor” fields to define their version.integer
homeStorageSerialized storage (context) persisted and retrieved for the app and home.AssistantApiCoreTypesWebProviderInfoThe web information of the provider. Next ID: 5String
localizedAppNameThe localized app name.AssistantApiCoreTypesWebProviderInfoThe web information of the provider. Next ID: 5String
openAppUrlA URL to open the provider’s app.AssistantApiCoreTypesWebProviderInfoThe web information of the provider. Next ID: 5String
thirdPartyCustomNluInfoInfo about 3P Custom NLU used in this web provider. TODO(b/321644453) remove when QRewrite is able to call SERoot.AssistantApiCoreTypesWebProviderInfoThe web information of the provider. Next ID: 5AssistantApiCoreTypesWebProviderInfoThirdPartyCustomNluInfo
localeThe locale of this agent version, represented by BCP-47 language strings, such as “en”, “en-US”, “fr”, “fr-CA”, “sr-Latn”, “zh-Hans-CN”, etc.AssistantApiCoreTypesWebProviderInfoThirdPartyCustomNluInfoString
nluAgentIdUnique internal identifier of 3P Custom NLU agent. UUID.AssistantApiCoreTypesWebProviderInfoThirdPartyCustomNluInfoString
nluAgentVersionIdentifies the 3P Custom NLU agent version.AssistantApiCoreTypesWebProviderInfoThirdPartyCustomNluInfoString
localConnectivityEnabledWhether the device has torus/usonia capabililities enabled or not.AssistantApiCrossDeviceExecutionCapabilityboolean
remoteCastMediaEnabledWhether the device supports cast media originated from a remote device to be executed through local execution and can upload results asynchronously. Needs to be checked before sending remote media initiation through local channel since it needs an async result upload path.AssistantApiCrossDeviceExecutionCapabilityboolean
fallbackToTetheredDeviceIf true, data.VALIDATE should be routed to the tethered device (if present) if the tethered device supports data.VALIDATE and the primary device does not.AssistantApiDataValidateCapabilitiesboolean
dayThe day, in 1…31.AssistantApiDateA Gregorian calendar date.integer
monthThe month, in 1…12.AssistantApiDateA Gregorian calendar date.integer
yearThe year, e.g. 2016.AssistantApiDateA Gregorian calendar date.integer
dateA Gregorian calendar date.AssistantApiDateTimeA date-time specification, combining a date and civil time (relative to a given timezone).AssistantApiDate
timeOfDayA civil time relative to a timezone.AssistantApiDateTimeA date-time specification, combining a date and civil time (relative to a given timezone).AssistantApiTimeOfDay
timeZoneA time zone in IANA format.AssistantApiDateTimeA date-time specification, combining a date and civil time (relative to a given timezone).AssistantApiTimeZone
endDateEnd date of the range.AssistantApiDateTimeRangeA representation of a range of time with start and end datetime specified.AssistantApiDateTime
startDateStart date of the range.AssistantApiDateTimeRangeA representation of a range of time with start and end datetime specified.AssistantApiDateTime
movementThese capabilities are scoped to abilities of the device to move around.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiMovementCapabilities
surfaceIdentityThe set of information that helps the server identify the surface.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiCoreTypesSurfaceIdentity
screenThese capabilities are scoped to the ability to see and interact with the Assistant through a screen. If the device has no screen it should send an empty ScreenCapabilities. Sending no ScreenCapabilities will cause this to be overridden with the surface default.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiScreenCapabilities
callCapabilitiesThe call capabilities of this device. go/call-capabilitiesAssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiCallCapabilities
systemNotificationRestrictionsRestrictions related to system-level notifications. This field is superficially similar to ProactiveNotificationOutput, but unlike that field which tracks a per-user preference on the OPA side, this field captures system level notifications restrictions. This field is not stored and is merged to capabilities from conversation params. It exists mostly for logging purposes of android channel state and global app-level notification opt out.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiSystemNotificationRestrictions
sodaCapabilitiesCapabilities related to SODA (Speech On-Device API).AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiSodaCapabilities
hasVoiceTelephonyIndicates that the device has connection to cellular network that allows it to make voice calls. This is distinct from device just being capable of voice telephony, because the device can be capable yet miss the suitable SIM card (for example, it could miss SIM card altogether, or have data-only SIM card).AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37boolean
lensPerceptionCapabilitiesCapabilities related to Lens Perception, i.e. image understanding. See go/lens-perception-sdk.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiLensPerceptionCapabilities
castThese capabilities are scoped to the cast abilities of this device.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiCastCapabilities
deviceIdThis is the same device id that is specified in the conversation protocol and should be unique to each device/user/model combination. For example, if a request is coming from a watch through AGSA the watch and AGSA should have different device_ids. Note: this field should only be used to determine which device the capabilities belong to and not to access the id of the device. Instead DeviceProperties should be used and accessed through ParamsAccessor.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiCoreTypesDeviceId
thirdPartyCapabilitiesCapabilities related to third party integration.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiThirdPartyCapabilities
androidIntentCapabilitiesCapabilites related to Android intent support.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiAndroidIntentCapabilities
cameraThese capabilities are scoped to the camera abilities of this device.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiCameraCapabilities
deviceUxModeCapabilities related to Android tablet UX experience.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37String
assistantCapabilityCapabilities if surface supports Google Assistant.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37String
bluetoothCapabilitiesBluetooth capabilities related to usage of a feature.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiBluetoothCapabilities
locationThese capabilities are scoped to the location abilities of this device.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiLocationCapabilities
notificationOutputRestrictionsSettings, that reflect whether a specific notification type is allowed for current device, e.g. if the user opted out from notification category or category group. This settings are server-side stored and evaluated unlike SystemNotificationRestrictions field.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiNotificationOutputRestrictions
loggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiLoggingOnlyData
notificationCapabilitiesDEPRECATED: Use SystemNotificationRestrictions instead. Specifies whether the surface is able to display notifications. This field is superficially similar to ProactiveNotificationOutput, but unlike that field which tracks a per-user preference on the OPA side, this field captures whether the surface is capable of displaying notifications.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37String
messageCapabilitiesAssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiMessageCapabilities
audioInputThese capabilities are scoped to the ability to gather audio. It includes information like the type of audio that can be gathered (e.g. public, private).AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiAudioInput
contactLookupCapabilitiesAssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiContactLookupCapabilities
outputRestrictionsThese are user configured restrictions indicating what the device is allowed to output from the privacy point of view.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiOutputRestrictions
softwareThese capabilities are scoped to the software available on the device as well as the set of supported Assistant features.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiSoftwareCapabilities
communicationUiCapabilitiesAssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiCommunicationUiCapabilities
carUxRestrictionsUX restrictions for Auto.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37list(String)
audioOutputThese capabilities are scoped to the ability to play audio. It includes information like the type of audio that can be played (e.g. public, private).AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiAudioOutput
popOnLockscreenCapabilityCapability to support Pop on lockscreen.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37String
dataValidateCapabilitiesAssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiDataValidateCapabilities
surfaceTypeStringDEPRECATED. surface_identity field below already contains this information. The device’s surface type. This is the string version of the assistant.api.core_types.SurfaceType enum. The server should not use this field, rather it should use the SurfaceType value derived from this string.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37String
jwnCapabilitiesIndicates if the client supports Javascript Whatsnext (go/jwn). Also contains the Jwn libraries present on the client along with their versions.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiJwnCapabilities
safetyRestrictionsIndicates if the client has safety related restriction.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37String
supportedLocaleLocales supported by assistant settings for speaking and display. This is independent from device language that is defined in device setting. New locales are added based on rollout, whitelist and app version releases because older versions does not have model support. Currently supported locale list differs by surface type.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37list(String)
speechCapabilitiesDEPRECATED Capabilities related to speech detection on devices.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiSpeechCapabilities
nanosSigned fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.AssistantApiDurationA Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like “day” or “month”. It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years.integer
secondsSigned seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.AssistantApiDurationA Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like “day” or “month”. It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years.String
clarificationDataSupportedWhether client supports clarification suggestion chip to be displayed see |assistant.suggestions.ClarificationData|AssistantApiFeatureSpecificActionSupportboolean
supportedActivitiesA list of fitness activity types supported by this client.AssistantApiFitnessFeatureSupportlist(String)
stateSyncMethodSpecifies the params proto that Fluid Actions uses to sync state with server.AssistantApiFluidActionsSupportString
deviceIdDeviceId of the accessory device (eg. watch) Commonly the go/dusi (eg. client_instance_id) is provided.AssistantApiGacsCapabilitiesCapabilities of Google assistant conversation service(GACS) devices. These capabilites including supported GACS actions and response size limitations.AssistantApiCoreTypesDeviceId
responseConfigConfiguration sent by device.AssistantApiGacsCapabilitiesCapabilities of Google assistant conversation service(GACS) devices. These capabilites including supported GACS actions and response size limitations.GoogleAssistantAccessoryV1ResponseConfig
ttsEncodingDEPRECATED: Format of TTS audio requested by the device.AssistantApiGacsCapabilitiesCapabilities of Google assistant conversation service(GACS) devices. These capabilites including supported GACS actions and response size limitations.String
gcmRegistrationIdGCM registration id for the device. Used to pass messages to the device.AssistantApiGcmCapabilitiesCapabilities related to GCM.String
supportsAssistantGcmAssistant supports GCM on the device. ClientOps can be sent to it over GCM and will be executed.AssistantApiGcmCapabilitiesCapabilities related to GCM.boolean
supportsClientInputOverGcmIf it is set to true, then it indicates to server that device is capable of receiving a GCM payload with serialized client input. The client input will be sent back to Assistant Server over conversation protocol.AssistantApiGcmCapabilitiesCapabilities related to GCM.boolean
gestureSensingWhether Gesture is supported. When false, override the value for tap and omniswipe.AssistantApiGestureCapabilitiesThe gesture capabilities related to Selina. Next ID: 4boolean
omniswipeGestureCapableWhether omniswipe is supportedAssistantApiGestureCapabilitiesThe gesture capabilities related to Selina. Next ID: 4boolean
tapGestureCapableWhether tap is supportedAssistantApiGestureCapabilitiesThe gesture capabilities related to Selina. Next ID: 4boolean
guestAccessOnYoutubeAssistantApiGuestAccessOutputAccess settings for guests.String
confirmationMessageSupportedWhether the client supports confirmation messages in Immersive Canvas actions.AssistantApiImmersiveCanvasSupportboolean
pauseSignalSupportedWhether the client support canvas pause signal. If true, the Assistant Server will send a signal when canvas transitioning to pause mode.AssistantApiImmersiveCanvasSupportboolean
librariesVersionMapThe name and version of the jwn libraries currently stored on the client. These are the same that the server communicated when the library was first sent down.AssistantApiJwnCapabilitiesThese capabilities are used to determine the jwn libraries and their versions that are present on the client.map
supportedCompressionModeCompression algorithms supported on the client. Server can choose one of these to compress WhatsNext Javascript programs and libraries.AssistantApiJwnCapabilitiesThese capabilities are used to determine the jwn libraries and their versions that are present on the client.list(String)
supportsJwnWhether the client supports running jwn code.AssistantApiJwnCapabilitiesThese capabilities are used to determine the jwn libraries and their versions that are present on the client.boolean
hasLensPerceptionWhether the device supports Lens Perception.AssistantApiLensPerceptionCapabilitiesCapabilities related to Lens Perception, i.e. image understanding. See go/loa-lens-device-capabilities. Next ID: 6boolean
isLensDirectIntentAvailableIndicates whether Lens supports Lens Direct Intent (go/lensdirectintent).AssistantApiLensPerceptionCapabilitiesCapabilities related to Lens Perception, i.e. image understanding. See go/loa-lens-device-capabilities. Next ID: 6boolean
isLensLiveViewfinderAvailableIndicates whether Lens supports Live view-finder experience.AssistantApiLensPerceptionCapabilitiesCapabilities related to Lens Perception, i.e. image understanding. See go/loa-lens-device-capabilities. Next ID: 6boolean
isLensPostCaptureAvailableIndicates whether Lens supports Post-capture experience with an image payload.AssistantApiLensPerceptionCapabilitiesCapabilities related to Lens Perception, i.e. image understanding. See go/loa-lens-device-capabilities. Next ID: 6boolean
lensCapabilitiesContains the capabilities that Lens can support.AssistantApiLensPerceptionCapabilitiesCapabilities related to Lens Perception, i.e. image understanding. See go/loa-lens-device-capabilities. Next ID: 6AssistantApiLensPerceptionCapabilitiesLensCapabilities
diningThe presence of this message means that Dining is supported.AssistantApiLensPerceptionCapabilitiesLensCapabilitiesThe set of capabilities that Lens can support. This is the Assistant proto representation of Lens capabilities defined at j/c/g/android/apps/gsa/search/shared/service/proto/lens_service_event.proto Next ID: 7AssistantApiLensPerceptionCapabilitiesLensCapabilitiesDining
educationThe presence of this message means that Education is supported.AssistantApiLensPerceptionCapabilitiesLensCapabilitiesThe set of capabilities that Lens can support. This is the Assistant proto representation of Lens capabilities defined at j/c/g/android/apps/gsa/search/shared/service/proto/lens_service_event.proto Next ID: 7AssistantApiLensPerceptionCapabilitiesLensCapabilitiesEducation
outdoorThe presence of this message means that Outdoor is supported.AssistantApiLensPerceptionCapabilitiesLensCapabilitiesThe set of capabilities that Lens can support. This is the Assistant proto representation of Lens capabilities defined at j/c/g/android/apps/gsa/search/shared/service/proto/lens_service_event.proto Next ID: 7AssistantApiLensPerceptionCapabilitiesLensCapabilitiesOutdoor
shoppingThe presence of this message means that Shopping is supported.AssistantApiLensPerceptionCapabilitiesLensCapabilitiesThe set of capabilities that Lens can support. This is the Assistant proto representation of Lens capabilities defined at j/c/g/android/apps/gsa/search/shared/service/proto/lens_service_event.proto Next ID: 7AssistantApiLensPerceptionCapabilitiesLensCapabilitiesShopping
textThe presence of this message means that intenting directly into the text filter is supported.AssistantApiLensPerceptionCapabilitiesLensCapabilitiesThe set of capabilities that Lens can support. This is the Assistant proto representation of Lens capabilities defined at j/c/g/android/apps/gsa/search/shared/service/proto/lens_service_event.proto Next ID: 7AssistantApiLensPerceptionCapabilitiesLensCapabilitiesText
translateThe presence of this message means that Translation is supported.AssistantApiLensPerceptionCapabilitiesLensCapabilitiesThe set of capabilities that Lens can support. This is the Assistant proto representation of Lens capabilities defined at j/c/g/android/apps/gsa/search/shared/service/proto/lens_service_event.proto Next ID: 7AssistantApiLensPerceptionCapabilitiesLensCapabilitiesTranslate
isTextToSpeechSupportedIndicates whether text-to-speech is supported.AssistantApiLensPerceptionCapabilitiesLensCapabilitiesTextText recognition capability.boolean
supportedLanguageTagsThe list of language IETF BCP 47 tags that are supported. See the full details in the comment on the equivalent field in: http://google3/java/com/google/android/apps/gsa/search/shared/service/proto/lens_service_event.proto;l=55;rcl=355512559AssistantApiLensPerceptionCapabilitiesLensCapabilitiesTranslateTranslation capability.list(String)
channelsByProviderA list of channel providers each of which provides a list of its channels.AssistantApiLiveTvChannelCapabilitieslist(AssistantApiLiveTvChannelCapabilitiesChannelsByProvider)
channelsA list of channels provided by this input. Keep the performance impact in mind when the number/size of the channels is large. When there are too many channels, consider stripping out some data.AssistantApiLiveTvChannelCapabilitiesChannelsByProviderlist(AssistantApiLiveTvChannelCapabilitiesLiveTvChannel)
inputIdAn identifier to identify the input source. For example for TIF based channels, this will be the TIF input ID to differentiate different tuner apps. See https://source.android.com/devices/tvAssistantApiLiveTvChannelCapabilitiesChannelsByProviderString
providerTypeType of provider who provides this channel input.AssistantApiLiveTvChannelCapabilitiesChannelsByProviderString
channelIdUnique channel identifier.AssistantApiLiveTvChannelCapabilitiesLiveTvChannelString
channelNameA list of channel names and synonyms.AssistantApiLiveTvChannelCapabilitiesLiveTvChannellist(String)
channelNumberChannel number displayed to user. Optional.AssistantApiLiveTvChannelCapabilitiesLiveTvChannelString
deeplinkA deep link into the Live player app that tunes to this channel.AssistantApiLiveTvChannelCapabilitiesLiveTvChannelString
midKG mid of the channel if it exists in KG.AssistantApiLiveTvChannelCapabilitiesLiveTvChannelString
networkMidNetwork KG mid of the channel if it exists in KGAssistantApiLiveTvChannelCapabilitiesLiveTvChannelString
providerInfoContains detailed provider information such as android app package name.AssistantApiLiveTvProviderAssistantApiCoreTypesProvider
providerKeyA provider enum string for OTT providers. The available key can be found in go/ump-provider-enum For Tuner provider, the provider key would be an ID the tuner app uploaded from TIF. See https://source.android.com/devices/tvAssistantApiLiveTvProviderString
providerTypeAssistantApiLiveTvProviderString
gpsAvailableAssistantApiLocationCapabilitiesboolean
acpVersionA user-readable string describing the ACP version (go/acp-version) of the client app used by the user to originate the conversation.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
androidIdRandom identifier assigned to Android mobile devices. Older logs may have previously stored other kinds of android IDs in this field, but all current logs should use the GServices Id. See go/androidids.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
appVersionA user-readable string describing the version of the client app used by the user to originate the conversation.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
assistantSettingsSourceAn enum specifying when was this ATV AssistantSettings entry initially created.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
boardNameThe type of board used by manufacturer for this deviceAssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
boardRevisionThe revision of board usedAssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
castAssistantSettingLinkingResultThis field records the linking status between Assistant setting entry and Cast setting entry. Currently only ATV surface populates this field for profiling purpose.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16AssistantApiCastAssistantSettingLinkingResult
deviceModelA user-readable string describing the device’s hardware platform.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
embedderBuildInfoAny relevant info concerning the build options of the embedder (that is the software which runs as the ‘driver’ of an Assistant library, such as libassistant. the embedder is typically built by a third party)AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
initialAppVersionA string recording the app version that is initially used to created this settings entry.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
isPrimaryUserBoolean field to indicate whether a certain user is the primary user of a device or not. This is useful for distinguishing the user0 from other users given user0 might have certain privileges (Eg: Hubmode on Tangor)AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16boolean
mdnsDisplayNamedefault display name of device over mdns. This is specified at the factory, not specified by the user.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
platformBuildA user-readable string describing the device’s software platform.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
virtualReleaseChannelA string describing device’s release channel. For cast devices, the string will look like “qa-beta-channel”, “eng-no-update”, etc.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
skipConfirmationsWhilePlayingWhether to prevent confirmations (text, tts) for media control actions while media is playing so that the media session is not interrupted.AssistantApiMediaControlSupportboolean
fallbackToTetheredDeviceAppCapabilitiesIf true, APP_ID queries initiated by this device should fall back to execution on the tethered device if it’s available and if the primary device cannot perform the action (e.g. due to the app not being installed).AssistantApiMessageCapabilitiesboolean
preferTargetingPrimaryDeviceFor chat_message.SEND targeting, when either the primary or secondary (tethered) device is capable of handling the chat_message.SEND action, prefer targeting it to the primary device.AssistantApiMessageCapabilitiesboolean
supportedRecipientTypesShould only be checked if nonempty.AssistantApiMessageCapabilitieslist(String)
deviceSettingStatusThe current setting status of message summary on current device.AssistantApiMessageSummarySupportLINT.IfChange(messageSummarySupport)String
lastVoiceOptInFlowTimestampLast time that voice opt-in flow has been triggered.AssistantApiMessageSummarySupportLINT.IfChange(messageSummarySupport)DateTime
readNotificationSummarizationSupportedWhether the client supports message summarization.AssistantApiMessageSummarySupportLINT.IfChange(messageSummarySupport)boolean
voiceOptInFlowCounterThe voice consent flow counter on current device.AssistantApiMessageSummarySupportLINT.IfChange(messageSummarySupport)integer
mobilityIndicates how much the device moves around. E.g., TV has a low mobility level, while Auto has a very high level.AssistantApiMovementCapabilitiesString
optOutStateAssistantApiNotificationOutputRestrictionsAssistantApiNotificationOutputRestrictionsOptOutState
categoryGroupStateAssistantApiNotificationOutputRestrictionsOptOutStatePer category/category group notification opt out settings.list(AssistantApiNotificationOutputRestrictionsOptOutStateCategoryGroupState)
categoryStateAssistantApiNotificationOutputRestrictionsOptOutStatePer category/category group notification opt out settings.list(AssistantApiNotificationOutputRestrictionsOptOutStateCategoryState)
categoryGroupAssistantApiNotificationOutputRestrictionsOptOutStateCategoryGroupStateString
stateAssistantApiNotificationOutputRestrictionsOptOutStateCategoryGroupStateString
categoryAssistantApiNotificationOutputRestrictionsOptOutStateCategoryStateString
stateAssistantApiNotificationOutputRestrictionsOptOutStateCategoryStateString
cloudCapabilityThe OEM Cloud execution capability of this device, containing routing details for cloud fulfillment.AssistantApiOemCapabilitiesEncapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.AssistantDevicesPlatformProtoCloudCapability
cloudDeviceCapabilitiesIf fulfillment is done via 3P cloud and 3P supports device capabilities, this field will be set.AssistantApiOemCapabilitiesEncapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.map
deviceModelIdDevice Model Id from DeviceModelPackage.AssistantApiOemCapabilitiesEncapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.String
deviceModelRevisionIdDevice Model Revision Id from DeviceModelPackage.AssistantApiOemCapabilitiesEncapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.String
deviceSpecificDataOpaque supported action data related to a specific domain of devices, for example for car. go/car-talk-registration-modelAssistantApiOemCapabilitiesEncapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.String
internalCapabilityInternal-only config containing metadata about the Device Model, for example to control the ranking behavior.AssistantApiOemCapabilitiesEncapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.AssistantDevicesPlatformProtoInternalCapability
thirdPartyActionConfig3P Action Metadata, populated from the Device Model lookup and the client request parameters. For example, an Assistant SDK request would have the billed project id of the Assistant request added here in order to enable any Device Actions developed using the same Google Cloud project. This data is sent to Service Engine to mask triggering for Device Actions.AssistantApiOemCapabilitiesEncapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.AssistantApiThirdPartyActionConfig
isLocalNetworkArbitrationSupportedCapabilities related to local network arbitration (go/local-network-arbitration). Indicates if the device is capable of being a host device in the LAN whiling doing local network arbitration.AssistantApiOnDeviceAssistantCapabilitiesDefinitions of on-device assistant capabilities.boolean
isOnDeviceArbitrationSupportedCapabilities related to on-device arbitration(go/arbitration-on-device).AssistantApiOnDeviceAssistantCapabilitiesDefinitions of on-device assistant capabilities.boolean
isOnDeviceAssistantSupportedIndicates if on-device assistant is enabled on this device. Example usecases: NGA (go/nga) or Marble (go/marble).AssistantApiOnDeviceAssistantCapabilitiesDefinitions of on-device assistant capabilities.boolean
isOnDeviceUnderstandingSupportedThis may be used by NGA. E.g. if understanding happens on device, we can have more aggressive logic when fulfilling some features on the server side, like teleport.AssistantApiOnDeviceAssistantCapabilitiesDefinitions of on-device assistant capabilities.boolean
isOnDeviceSmartHomeSupportedMaster bit for on-device Smart Home features.AssistantApiOnDeviceSmartHomeCapabilitiesDefinitions of on-device Smart Home capabilities. Next ID: 2boolean
isSupportedDetermines if an on-device storage is supported.AssistantApiOnDeviceStorageCapabilitiesThe on-device storage capabilities found on the device.boolean
googlePhotoContentThe type of Google Photo content which the device can output.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11String
guestAccessOutputAccess settings for guests.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11AssistantApiGuestAccessOutput
personalDataThe level of personal data which the device can output. See go/personal-readout for detail.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11String
proactiveNotificationOutputThis controls if the server can proactively send notification to users, and it does not affect scenarios that users ask for information. The notification may include TTS and lights. It could be only lights for chirp.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11String
proactiveOutputRestrictions on displaying and interacting with content on proactive surfaces (e.g. Dragonglass home screen). Note: NEVER access this field of OutputRestrictions directly, use the code in assistant/assistant_server/settings/device/device_settings_util.h instead.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11AssistantApiProactiveOutput
youtubeAutoplayRestrictionWhether YouTube autoplay is allowed for queries from the user to this device. See go/assistant-youtube-settings for details.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11String
youtubeContentThe type of YouTube content which the device can output.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11String
youtubeTvContentThe type of YouTube TV content which the device can output.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11String
allowAllPersonalDataAllows displaying all personal data on proactive surfaces with no face match capability.AssistantApiProactiveOutputNext ID: 7boolean
androidTvAssistantSettingsSourceFor ANDROID_TV devices, the location that this setting was last changed from. Note: this structure allows to extend to more per-vertical bits in the future.AssistantApiProactiveOutputNext ID: 7String
healthAndFitnessProactiveAllows displaying Health and Fitness content on proactive surfaces. This is a sub bit of the device-wide PR bit – the device-wide PR bit must be enabled AND this vertical sub bit must be enabled for H&F content to be shown. This bit will be available on all surfaces that have the proactive-bit enabled. If the proactive-bit is not enabled, then we do not show health and fitness content at all (or even allow access to this setting).AssistantApiProactiveOutputNext ID: 7String
photosProactiveAllows displaying photos content on Dragonglass proactive surfaces. This is a sub bit of the device-wide PR bit – the device-wide PR bit must be enabled AND this vertical sub bit must be enabled for photos content to be shown on Dragonglass surfaces. This bit will be available on all Dragonglass surfaces that have the proactive-bit enabled. If the proactive-bit is not enabled or it’s not a Dragonglass surface, then we do not show proactive photos content at all, nor allow access to this setting. See go/opa-photos-sg-settings for more details.AssistantApiProactiveOutputNext ID: 7String
userMatchProactiveSettings for displaying personal data on proactive surfaces with face match capability.AssistantApiProactiveOutputNext ID: 7String
protobufDataThe serialized protocol buffer.AssistantApiProtobufAlso known as “Extensions Without Extensions” or “The Poor Man’s Any”, this simple proto is used to transmit arbitrary protocol buffers over the wire. Unlike extensions: – It does not require the proto type to be compiled into the binary. (Useful so that the proto declaration can be inside the conversation package) – It is compatible with all versions of proto, including proto3 and the wack-tastic version used on ChromecastOS. Server libraries for dealing with it live in google3/assistant/protocol/protobuf_lib.h.String
protobufTypeThe type of the protocol buffer to use. This must be a resolvable name (Namespace.ProtoName) and refer to a proto which is either compiled in to both client and server (e.g. a base proto type) or to one which is part of the conversation package.AssistantApiProtobufAlso known as “Extensions Without Extensions” or “The Poor Man’s Any”, this simple proto is used to transmit arbitrary protocol buffers over the wire. Unlike extensions: – It does not require the proto type to be compiled into the binary. (Useful so that the proto declaration can be inside the conversation package) – It is compatible with all versions of proto, including proto3 and the wack-tastic version used on ChromecastOS. Server libraries for dealing with it live in google3/assistant/protocol/protobuf_lib.h.String
beginThe first day of the recurrence. If begin is not set, then the reminder will start infinitely in the past.AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.AssistantApiDate
blacklistedRangesA list of blacklisted dates to skip the alarm on.AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.list(AssistantApiDateTimeRange)
dayOfMonthSpecifies the date in a month. For example, if day_of_month is 15, then it represent the 15th day of the specified month.AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.list(integer)
dayOfWeekSpecifies a weekly or daily recurrence. Constraint: The date falls on one of these days of the week, in 0…6 (Sunday…Saturday).AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.list(integer)
endThe last day of the recurrence.AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.AssistantApiDate
everyMultiplier on the frequency of the recurrence. Use this to specify patterns that recur every X days, months, years, etc. Example: [remind me to call mom every 2nd week]. Default is 1 (every day, every month, every year).AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.integer
monthOfYearSpecifies the month in a year. Constrain: the month falls on one of these months, in 1, 2, … 12 (January…December).AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.list(integer)
numOccurrencesThe number of occurrences after which the recurrence should end.AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.integer
weekOfMonthSpecifies the index of week in a month. For example, the second Tuesday every month, in this case, week_of_month should be 2.AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.list(integer)
enabledExtensionsList of enabled Robin extensions.AssistantApiRobinCapabilitiesUsed to describe the capabilities and params of Robin Client. Field will be populated from Client or backfilled in SAL only for Robin client.list(String)
robinStatusAssistantApiRobinCapabilitiesUsed to describe the capabilities and params of Robin Client. Field will be populated from Client or backfilled in SAL only for Robin client.AssistantApiRobinCapabilitiesRobinStatus
supportedRobinOpsList of supported RobinOps.AssistantApiRobinCapabilitiesUsed to describe the capabilities and params of Robin Client. Field will be populated from Client or backfilled in SAL only for Robin client.list(String)
availableAssistantApiRobinCapabilitiesRobinStatusCurrent Robin status of the client.AssistantApiRobinCapabilitiesRobinStatusRobinStatusAvailable
notAvailableAssistantApiRobinCapabilitiesRobinStatusCurrent Robin status of the client.AssistantApiRobinCapabilitiesRobinStatusRobinStatusNotAvailable
optedInAssistantApiRobinCapabilitiesRobinStatusCurrent Robin status of the client.AssistantApiRobinCapabilitiesRobinStatusRobinStatusOptedIn
optedOutAssistantApiRobinCapabilitiesRobinStatusCurrent Robin status of the client.AssistantApiRobinCapabilitiesRobinStatusRobinStatusOptedOut
reasonsAssistantApiRobinCapabilitiesRobinStatusRobinStatusNotAvailableRobin is not available and can not be enabled by the user.list(integer)
fontScaleFactorThe scale factor used to convert Scalable Pixel (SP) units to Density-independent Pixel (DP) units (DP = SP * scale factor). Fonts are measured in units of SP, and on some platforms such as Android the SP to DP scale factor can be affected by the font size a user selects in accessibility settings.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11number
inputTypeThe types of input that this screen supports. Note that this can be empty in which case the screen’s input type is unknown.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11list(String)
maskMask defined for this device, if any.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11AssistantApiScreenCapabilitiesMask
protoLayoutTargetedSchemaThe targeted schema version for ProtoLayout requests.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11AssistantApiScreenCapabilitiesProtoLayoutVersion
resolutionIf this field is absent, the resolution of the screen is unknown.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11AssistantApiScreenCapabilitiesResolution
screenOffIf screen is turned off.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11boolean
screenStateDetectionThe ability of the client to correctly report screen state.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11String
supportedRenderingFormatThe primary supported rendering format for display on the device’s screen. This may be used to determine what format of card to be returned when rendering cards.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11String
supportedScreenStatesThe screen states that the client supports. The current screen state is specified in DeviceProperties.screen.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11list(String)
visionHelpEnabledWhether the device enabled vision help features in accessibility settings. The settings is config in Assistant App and on-device settings, and stored in footprints. When enabled, font, color and TTS will be adjusted.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11boolean
typeAssistantApiScreenCapabilitiesMaskA mask applied to the screen’s pixel space to determine regions not visible on the physical device.String
majorAssistantApiScreenCapabilitiesProtoLayoutVersionVersion info for ProtoLayout requests.integer
minorAssistantApiScreenCapabilitiesProtoLayoutVersionVersion info for ProtoLayout requests.integer
dpiDots (pixels) per inch of the screen.AssistantApiScreenCapabilitiesResolutionA Resolution proto indicates the size of the application window. All fields are required.integer
heightPxAssistantApiScreenCapabilitiesResolutionA Resolution proto indicates the size of the application window. All fields are required.integer
mSizem_size is the smallest square box size to display a capital letter M so that the user can still easily understand it.AssistantApiScreenCapabilitiesResolutionA Resolution proto indicates the size of the application window. All fields are required.integer
nengSizeneng_size is the smallest square box size to display a letter 螚 (Neng, U+879A) so that the user can easily understand it. (Neng is a visually dense Chinese letter, and so may require a larger box than an M.)AssistantApiScreenCapabilitiesResolutionA Resolution proto indicates the size of the application window. All fields are required.integer
widthPxThe dimensions of the application window, in pixels.AssistantApiScreenCapabilitiesResolutionA Resolution proto indicates the size of the application window. All fields are required.integer
gestureCapabilitiesA list of gestures that selina supportsAssistantApiSelinaCapabilitesThe Soli capabilities on Elaine, including gestures and sleep sensing. go/dingo-dc-software Next ID: 4AssistantApiGestureCapabilities
selinaSupportedWhether the client supports selina.AssistantApiSelinaCapabilitesThe Soli capabilities on Elaine, including gestures and sleep sensing. go/dingo-dc-software Next ID: 4boolean
sleepSensingSupportedWhether the client can monitor sleep. This allows us to show sleep CUJ related information: go/TwilightDesignAssistantApiSelinaCapabilitesThe Soli capabilities on Elaine, including gestures and sleep sensing. go/dingo-dc-software Next ID: 4boolean
anyUserHasSetPersonalPhotosWhether any user sets personal photos on this device. See go/ambient-setting-in-assistant-design.AssistantApiSettingsAmbientSettingsboolean
recentHighlightsEnabledWhether or not the user’s current selection for their ambient photo frame includes the auto-generated “Recent Highlights” album. This is used to determine which users to display the go/opa-photos-memories-tile. See go/opa-photo-memories-imax-optin for more discussion on why this bit was created.AssistantApiSettingsAmbientSettingsboolean
showPersonalPhotoDataWhether to enable the personal photo data in the ambient settings: https://screenshot.googleplex.com/Wd4OFkQfOyF See go/opa-photos-ambient-location-date-dd#heading=h.5x4iaouuiett for explanation.AssistantApiSettingsAmbientSettingsboolean
showPersonalPhotosWhether current user sets personal photos on this device. See go/ambient-setting-in-assistant-design.AssistantApiSettingsAmbientSettingsboolean
carSettingsCapabilitiesCapabilities that are associated with Assistant Settings on auto surfaces.AssistantApiSettingsAppCapabilitiesThese capabilities are associated with Assistant Settings on devices.AssistantApiCarSettingsCapabilities
reissueQueryAfterMusicSetupWhether the client supports reissuing query after setting up in Music Settings.AssistantApiSettingsAppCapabilitiesThese capabilities are associated with Assistant Settings on devices.boolean
supportsPaymentsSettingsUpdateWhether the client supports updating payments setting.AssistantApiSettingsAppCapabilitiesThese capabilities are associated with Assistant Settings on devices.boolean
isAutoFramingEnabledAssistantApiSettingsAutoFramingSettingsSettings pertaining to auto framing. See go/auto-framing-presentation.boolean
allowIncomingCallsWhether this device is allowed to receive incoming PSTN calls.AssistantApiSettingsCarrierCallDeviceSettingsCarrier related call settings on the device.boolean
stateAssistantApiSettingsCommunicationsFilterSpecification of which communication features can be used.String
schedulesAssistantApiSettingsDeviceDowntimeSettingsSpecification of times when most features on a device are disabled for certain users. During these periods, the device will respond to most interactions with something like “sorry, I’m sleeping right now”. Design: go/home-ft-settings-storage PRD: go/home-family-tools-prdlist(AssistantApiSettingsLabeledDowntimeSchedule)
targetsThe set of users of this device that will have these downtime settings applied. Must have at least one element.AssistantApiSettingsDeviceDowntimeSettingsSpecification of times when most features on a device are disabled for certain users. During these periods, the device will respond to most interactions with something like “sorry, I’m sleeping right now”. Design: go/home-ft-settings-storage PRD: go/home-family-tools-prdlist(String)
enabledEnables/disables all the filters at the same time. For new devices or non-Cast devices this is always false.AssistantApiSettingsDeviceFeatureFiltersDefines a set of restrictions on particular device features for a certain set of users. Design: go/home-ft-settings-storage PRD: go/home-family-tools-prdboolean
featureFiltersThe filters (feature restrictions) to apply when `enabled` is true.AssistantApiSettingsDeviceFeatureFiltersDefines a set of restrictions on particular device features for a certain set of users. Design: go/home-ft-settings-storage PRD: go/home-family-tools-prdAssistantApiSettingsFeatureFilters
targetsThe set of users of this device that will have these settings applied. Must have at least one element.AssistantApiSettingsDeviceFeatureFiltersDefines a set of restrictions on particular device features for a certain set of users. Design: go/home-ft-settings-storage PRD: go/home-family-tools-prdlist(String)
optInEnabledIndicates whether the crash logs can be uploaded and the device logs can be enabledAssistantApiSettingsDeviceLogsOptInboolean
voiceEnrollmentStatusIndicates whether the user’s voice has been successfully enrolled on this device.AssistantApiSettingsDeviceSettingsNext ID: 73String
paymentsEnabledDEPRECATED: Use DeviceCapabilities.OutputRestrictions.personal_data instead. Whether the user has enabled payments for this device.AssistantApiSettingsDeviceSettingsNext ID: 73boolean
linkedUsersPlease do NOT use this field without prior approval from PWG. Users who have signed in onto this device, go/linked-users-in-pkg.AssistantApiSettingsDeviceSettingsNext ID: 73list(AssistantApiSettingsLinkedUser)
ancillaryDeviceIdThe additional device ids. Currently used only for ATV. go/project-yellowstone Note: This field is for internal (Within settings) use only.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsInternalAncillaryDeviceId
speakerIdEnabledIndicates whether the user has enabled speaker-id for this device. See go/google-assistant-multi-user for more info on this project.AssistantApiSettingsDeviceSettingsNext ID: 73boolean
faceEnrollmentStatusIndicates whether the user’s face has been successfully enrolled on this device. See go/face-match-server-design for more info.AssistantApiSettingsDeviceSettingsNext ID: 73String
speechSettingsSpeech/hotword detection related settings.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsSpeechSettings
colocationStatusStatus of colocation. go/co-location-work-v2 Note: this is a cache at the Assistant level. The source of truth is inside CastAuthenticationServer, which is only used for Home devices.AssistantApiSettingsDeviceSettingsNext ID: 73String
lastUsedCoarseTimestampCoarsened hourly timestamp of when the device was last used.AssistantApiSettingsDeviceSettingsNext ID: 73DateTime
supervisionSettingsRestrictions on how and when certain users can use a device. See go/home-ft-prd.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsDeviceSupervisionSettings
postalCodeAssistantApiSettingsDeviceSettingsNext ID: 73String
humanFriendlyNameThe human-friendly name of the cast device, e.g., my living room tv. This field is set by the user and already localized.AssistantApiSettingsDeviceSettingsNext ID: 73String
homeGraphDataHolds the data that should be written to HomeGraph. Note: this field is not persisted in Assistant Settings storage. It is simply used for transporting data when client calls UpdateSettings.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsHomeGraphData
blueSteelEnabledIndicates whether the user has enabled Blue Steel. See go/blue-steel for more info on this project.AssistantApiSettingsDeviceSettingsNext ID: 73boolean
locationFeatureThe feature proto of the location of the device. Note: client does not need to populate this. It will be auto-populated based on “address” field on server side. Currently, only “bound” and “type” are persisted, since the entire FeatureProto is too big.AssistantApiSettingsDeviceSettingsNext ID: 73GeostoreFeatureProto
defaultAudioDeviceIdThe identification of the default device which user want to output audio. See go/default-media-output-design for more info.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiCoreTypesDeviceId
speechOutputSettingsSettings related to TTS output.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsSpeechOutputSettings
oauthClientIdOAuth client id for the device. This field is available for Assistant SDK devices. It is written when the device is registered to the user (AssistantSettingsUiService.LinkAssistantDeviceUi). When user revokes grant on the Assistant device, Assistant Devices Platform Service will receive Pubsub notification with OAuth client id for the revoked device, and we will compare that with this stored id to identity device to remove.AssistantApiSettingsDeviceSettingsNext ID: 73String
marketplaceDisclosureSee go/marketplace-disclosure for more info.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsMarketplaceDisclosure
localeThe locale for the device: language + region, i.e., en-US, ja-JP.AssistantApiSettingsDeviceSettingsNext ID: 73String
linkedDeviceIdStores pairing between different devices. See go/quartz-design-doc for more info.AssistantApiSettingsDeviceSettingsNext ID: 73list(AssistantApiCoreTypesDeviceId)
deviceModelIdThe model ID of the device. This should be globally unique across manufactures/OEMs. Examples: “nest_cam_iq_2017”, “comcast_voice_box_2017”.AssistantApiSettingsDeviceSettingsNext ID: 73String
verboseTtsForChromecastEnabledIndicates whether to play verbose tts for Elementary on chirp. See: go/opa-cast-a11y-impl-design fore more info on this project. Note: this should probably be in SpeechOutputSetting below.AssistantApiSettingsDeviceSettingsNext ID: 73boolean
shortenedAddressA human-readable shortened address. This is usually the street address. Note: client does not need to populate this. It will be auto-populated based on “address” field on server side. Developers can use this field to avoid reading out the full address everytime.AssistantApiSettingsDeviceSettingsNext ID: 73String
deviceBrandThe brand of the device, populated from DeviceOemParams. Examples: “google”, “samsung”.AssistantApiSettingsDeviceSettingsNext ID: 73String
creationTimestampMsThe timestamp that the device is linked with the user in milliseconds.AssistantApiSettingsDeviceSettingsNext ID: 73String
deviceIdThe identification of the device.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiCoreTypesDeviceId
faceEnrollmentErrorsList of errors that happened during the face enrollment process if it failed. See go/face-match-enrollment-error for more info.AssistantApiSettingsDeviceSettingsNext ID: 73list(String)
faceMatchEnabledIndicates whether the user has enabled Face Match for this device. See go/face-match-server-design for more info on this project.AssistantApiSettingsDeviceSettingsNext ID: 73boolean
locationCoordinatesCoordinate information of the device location.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiCoreTypesLocationCoordinates
allowIncomingCallsWhether this device is allowed to receive incoming calls.AssistantApiSettingsDeviceSettingsNext ID: 73boolean
isCloudSyncDeviceIndicates whether the device is also managed through HA cloud sync. go/ha-dev-guideAssistantApiSettingsDeviceSettingsNext ID: 73boolean
politeModeSpecify whether polite mode is enabled for this device. See go/pretty-please-dd.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsPoliteMode
hotwordThresholdAdjustmentFactorHotwordThresholdAdjustmentFactor contains threshold_adjustment_factor, and it’s validity. TAF is a measure of adjustment applied to the hotword threshold as a result of go/autotune. Currently, this is updated from query_settings_frame, but if we move to updating it from the client, this could also contain TAFs as a result of Hotword Sensitivity, in addition to Autotune.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsHotwordThresholdAdjustmentFactor
autoFramingSettingsAuto framing settings associated with a device. See go/auto-framing-presentation.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsAutoFramingSettings
onDeviceAppSettingsDevice specific app related settings.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsOnDeviceAppSettings
kidsModeSpecifies if kids-mode is enabled for the device. See go/aff-parentalsupervision-dd.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsKidsMode
gcmSettingsStores GCM info associated with a device. See go/quartz-design-doc for more info.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsGcmSettings
tetheredInfoPresence indicates a tethered wearable. go/wearable-device-ids.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsTetheredInfo
hotwordSensitivityThe level of hotword sensitivity. go/hotword-sensitivity-prdAssistantApiSettingsDeviceSettingsNext ID: 73String
reauthTrustedDeviceSettingsTrusted device preferences Assistant reauth. go/assistant-reauth-verify-skip.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsReauthTrustedDeviceSettings
ambientSettingsAmbient settings contains the configuration of Photo Frame on DG device. This field relies on IMAX service to do the update, sync happenes after user updates IMAX device settings or a device registers in CloudCastDevice. So it’s more like a cached version instead of definitive source-of-truth. More details at go/ambient-setting-in-assistant-design.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsAmbientSettings
hospitalityModeStatusIndicates whether the device is currently in Hospitality mode. go/hospitality-mode-design. This is moved to a per user setting in assistant settings. ref. go/hospitality-settings-v2AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsHospitalityMode
masqueradeModeAssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsMasqueradeMode
personalizationMetadataMetadata about how personalization settings were configured.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsPersonalizationMetadata
defaultVideoDeviceIdThe identification of the default device which user want to output video. Note that, we don’t fallback to this for audio playback when default_audio_device_id is not set. See go/default-media-output-design for more info.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiCoreTypesDeviceId
optInStatusSpecifies if device logs and crashes can be captured during SendFeedbackAssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsDeviceLogsOptIn
surfaceTypeThe type of assistant surface. Only use this field when device type is ASSISTANT.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiCoreTypesSurfaceType
truncatedLocalNetworkIdLocal network ID of the device (truncated to obfuscate devices and households globally). This is a temporary signal to determine proximity of Assistant devices in a house (HGS place).AssistantApiSettingsDeviceSettingsNext ID: 73String
vmLastUsedCoarseTimestampCoarsened hourly timestamp of when the user was last verified by VoiceMatch on this device. This is used for enforcing VoiceMatch model TTL. go/voicematch-pdd-ttlAssistantApiSettingsDeviceSettingsNext ID: 73DateTime
ackStatusLINT.ThenChange(//depot/google3/assistant/ui/assistant_device_settings_ui.proto)AssistantApiSettingsDeviceSettingsNext ID: 73String
deviceModelRevisionThe Device Platform Service lookup revision. (go/device-model-revision) For 1p devices, and most 3p devices with no custom feature, this should be always 0, which means no lookup needed. For 3p devices with custom assistant feature, this is provided directly by OEM as incremental (e.g. 1, 2, 3, …)AssistantApiSettingsDeviceSettingsNext ID: 73integer
notificationProfileInformation about how to send the user a notification. This won’t be populated for fb-conv users (allo group chat users).AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsNotificationProfile
voiceInputEnabledA boolean indicates whether voice input (mic-button, hotword, etc) is enabled.AssistantApiSettingsDeviceSettingsNext ID: 73boolean
citycity and postal_code are sent to third party AoG Apps as location when permission is granted for precise or coarse location. https://developers.google.com/actions/reference/rest/Shared.Types/Permission city and postal_code have the same description as in Proto Postal Address: https://cs.corp.google.com/piper///depot/google3/location/country/postaladdress.proto city corresponds to locality_name, postal_code corresponds to postal_code_number. These two fields are set in assistant_settings_service by AddressConverter. https://cs.corp.google.com/piper///depot/google3/location/addressformatter/public/addressconverter.h See go/aog-i18n-address-parse for more informationAssistantApiSettingsDeviceSettingsNext ID: 73String
dusiOnly valid for ATV. Stores the android DUSI for the corresponding user. More details: go/auto-logout-on-unlink.AssistantApiSettingsDeviceSettingsNext ID: 73String
timeZoneDevice time zone. It’s mainly used for a one-time notification for new users when they just bought and activated their devices. They may not have used Search or Assistant before, so their timezone info may not available elsewhere when we want to send a notification. This should be used as a fallback only when other timezone sources such as assistant_settings:user_attribute#inferred_user_timezone are not available. Also, when both |time_zone| and |location| are set, the |location| should be preferred to derive the most up to date timezone. This info directly comes from the device through early device setting recording mechanism. See more details at go/early-device-setting-recording.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiTimeZone
lastCastRegistrationTimestampDevice’s latest registration timestamp provided by Cast side. This field is not necessarily up to date. The update frequency is defined in last_registration_update_frequency_in_days field of AssistantConfig in java/com/google/chrome/dongle/common/proto/home_assistant_config.proto. go/cast-last-registration-timeAssistantApiSettingsDeviceSettingsNext ID: 73DateTime
crossSurfaceAvailabilityAvailability of this device for Assistant Cross-surface handoffs. (go/assistant-cross-surface)AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsDeviceSettingsCrossSurfaceAvailability
typeThe type of the device. Note: this should only be used for grouping devices for UI presentation purpose. Use |capabilities| to decide what the device can do.AssistantApiSettingsDeviceSettingsNext ID: 73String
aliasNameThe alias names of the device, e.g. my living room tv, tv, living room and etc., which user will usually use to refer to the device in addition to human_friendly_name. It can help speech biasing and query understanding. This field is set by the user and already localized.AssistantApiSettingsDeviceSettingsNext ID: 73list(String)
homeGraphIdThe home graph ID that can be used to lookup the corresponding entry in HomeGraph. go/home-graph. Note: when this field is empty, it doesn’t necessarily mean that the device is not in home graph. It just means that Assistant doesn’t know about the mapping.AssistantApiSettingsDeviceSettingsNext ID: 73String
addressA human-readable address string for the location; generally a one-line address such as “34 Masonic Ave, San Francisco CA 94117, United States”. Set this field to empty string for deletion, in which case the rest of the location related fields below will be cleared as well.AssistantApiSettingsDeviceSettingsNext ID: 73String
internalVersionInternal version of the DeviceSettings for measurement of the DeviceSettings mutation race conditions. See go/consistent-assistant-settings-update.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsInternalVersion
isDeviceActivationCacheEnabledWhen true, the user has explicitly allowed audio and visual data collection on this deviceAssistantApiSettingsDeviceSettingsNext ID: 73boolean
capabilitiesDescribes roughly what a device is capable of doing and metadata around those capabilities. Note: this includes device limitations as well as user configurable settings.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiDeviceCapabilities
lastKnownClientLocaleLast known locale of the client.AssistantApiSettingsDeviceSettingsCrossSurfaceAvailabilityString
lastParamsWriteTimestampThis is the timestamp when the AssistantRequestParams (in ASSISTANT_SNAPSHOT corpus) were last written for this device.AssistantApiSettingsDeviceSettingsCrossSurfaceAvailabilityDateTime
downtimeSettingsSpecification of times that a device shouldn’t respond to certain users. See go/home-ft-prd.AssistantApiSettingsDeviceSupervisionSettingsAssistantApiSettingsDeviceDowntimeSettings
featureFiltersRestrictions on features that certain users can access on a device. See go/home-ft-prd.AssistantApiSettingsDeviceSupervisionSettingsAssistantApiSettingsDeviceFeatureFilters
enabledTrue if downtime should be enabled during this period.AssistantApiSettingsDowntimePeriodSpecifies a period of up to 24 hours when downtime should be enabled, starting at certain time on a certain day of the week, and ending at a later time on either that day or the following day.boolean
endTimeTime of day that this downtime period should end. Required. If end_time > start_time, end_time is relative to start_day. Otherwise, end_time is relative to the day after start_day. For example, start_day: MONDAY, start_time: 9 p.m., end_time: 6 a.m. means that the downtime period starts at 9 p.m. on Monday and ends at 6 a.m. on Tuesday.AssistantApiSettingsDowntimePeriodSpecifies a period of up to 24 hours when downtime should be enabled, starting at certain time on a certain day of the week, and ending at a later time on either that day or the following day.GoogleTypeTimeOfDay
startDayThe day of the week when this downtime period starts. Required.AssistantApiSettingsDowntimePeriodSpecifies a period of up to 24 hours when downtime should be enabled, starting at certain time on a certain day of the week, and ending at a later time on either that day or the following day.String
startTimeTime of day that this downtime period should start. Required.AssistantApiSettingsDowntimePeriodSpecifies a period of up to 24 hours when downtime should be enabled, starting at certain time on a certain day of the week, and ending at a later time on either that day or the following day.GoogleTypeTimeOfDay
enabledTrue if this downtime schedule should be enabled.AssistantApiSettingsDowntimeScheduleSpecification of when downtime is enabled on different days of the week. Contains up to 7 DowntimePeriod messages, up to one per day of the week.boolean
periodsDowntime entries for the days of the week, in no particular order. There can be at most one period defined for each day of the week. Days of the week with no explicit period defined are treated as disabled, so the device is available all day (modulo an end time that may spill over from the previous day).AssistantApiSettingsDowntimeScheduleSpecification of when downtime is enabled on different days of the week. Contains up to 7 DowntimePeriod messages, up to one per day of the week.list(AssistantApiSettingsDowntimePeriod)
allowKnockKnockTrue if Duo Knock Kncok feature is enabled on the device.AssistantApiSettingsDuoCallDeviceSettingsDuo related call settings on the device. Next ID: 5boolean
shouldBeLinkedBoolean indicating if user has explicitly marked this device to be linked or not. This bit is used in case where unexpected errors occur and we have to check for account/device status and mark the device linked after verification.AssistantApiSettingsDuoCallDeviceSettingsDuo related call settings on the device. Next ID: 5boolean
stateThe call state of the device (i.e. whether a Duo call account has been setup on the device).AssistantApiSettingsDuoCallDeviceSettingsDuo related call settings on the device. Next ID: 5String
talkbackEnabledClient device settings: settings which are populated by client to give to duocore. TalkBack is an accessibility service that helps blind and vision-impaired users interact with their devices. Indicates whether talkback is enabled for the device. Note: this is per device settings currently filled by client for all users.AssistantApiSettingsDuoCallDeviceSettingsDuo related call settings on the device. Next ID: 5boolean
communicationsFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsCommunicationsFilter
musicFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsMusicFilter
newsFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsNewsFilter
podcastFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsPodcastFilter
searchFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsSearchFilter
thirdPartyAppsFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsThirdPartyAppsFilter
videoFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsVideoFilter
webviewFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsWebviewFilter
gcmIdAssistantApiSettingsGcmSettingsString
gcmPackageAssistantApiSettingsGcmSettingsString
agentIdAgent ID, aka project ID. Used as the AgentDeviceId.agent_id of device when calling Home Graph Service.AssistantApiSettingsHomeGraphDataNext ID: 8String
attributesSee go/ha-dev-guide and HomeGraphItem.attribute in //assistant/verticals/homeautomation/proto/home_graph.protoAssistantApiSettingsHomeGraphDataNext ID: 8map
deviceIdDevice ID, used as AgentDeviceId.device_id of device when calling Home Graph Service.AssistantApiSettingsHomeGraphDataNext ID: 8String
deviceTypeHGS device type. See java/com/google/home/graph/service/config/protoconf.pi for the exhaustive list of type strings.AssistantApiSettingsHomeGraphDataNext ID: 8String
shouldWriteToHomeGraphWhether device data should be written to Home Graph via Assistant device_settings. Assistant SDK and Google Home write their devices into Home Graph through AssistantSettingsService, while Home Automation Partner devices (e.g. SmartThings, Philips Hue, Nest, TP-Link, etc.) don’t need to be written to Home Graph through AssistantSettingsService. This field decides whether AssistantSettingsService writes devices to Home Graph or not.AssistantApiSettingsHomeGraphDataNext ID: 8boolean
supportedTraitsSupported traits of the device. See java/com/google/home/graph/service/config/protoconf.pi for the exhaustive list of trait-strings.AssistantApiSettingsHomeGraphDataNext ID: 8list(String)
supportsDirectResponseWhether the device supports direct response. See HomeGraphItem.supports_direct_response in //assistant/verticals/homeautomation/proto/home_graph.protoAssistantApiSettingsHomeGraphDataNext ID: 8boolean
cardConfigConfig for Hospitality UI modules.AssistantApiSettingsHospitalityCardSettingslist(AssistantApiSettingsHospitalityCardSettingsCardConfig)
showMediaTapGestureTutorialToggle media tap gesture tutorial card.AssistantApiSettingsHospitalityCardSettingsboolean
showPhotoSwipeGestureTutorialToggle photo swipe gesture tutorial card.AssistantApiSettingsHospitalityCardSettingsboolean
youtubeCardConfigConfig for YouTube video cards.AssistantApiSettingsHospitalityCardSettingslist(AssistantApiSettingsHospitalityCardSettingsYouTubeCardConfig)
activeActionRequiredWhether the UI module requires user action. If true, the UI module can peek on to the top of Ambient. See SmartDisplayModuleState::ACTIVE_ACTION_REQUIRED.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.boolean
dismissableWhether the UI module is dismissable.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.boolean
effectiveTimeThe time that the module is effective and visible to the user. If not set, the module is effective immediately.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.AssistantApiTimestamp
expiryTimeThe time that the module is expired and invisible to the user. If not set, the module never expires.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.AssistantApiTimestamp
imageUrlThe image URL for the UI module.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.String
moduleIdModule ID.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.String
payloadQueryPayload query to the partner AoG action when user responds to UI Module, e.g. “Tell the hotel how my stay is going”.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.String
titleTitle of the message to be shown to user at the top of the UI Module.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.String
imageUrlURL of image to go on card. The URL must be a public link accessible from ZeroState.AssistantApiSettingsHospitalityCardSettingsYouTubeCardConfigConfiguration for YouTube video card (Stargazer tile).String
playlistIdID of YouTube playlist to play on card tap. A playlist is used instead of a single video id to avoid autoplaying related videos. The playlist and the videos it contains must be public or unlisted to be accessible from ZeroState.AssistantApiSettingsHospitalityCardSettingsYouTubeCardConfigConfiguration for YouTube video card (Stargazer tile).String
textText on card (i.e., video title).AssistantApiSettingsHospitalityCardSettingsYouTubeCardConfigConfiguration for YouTube video card (Stargazer tile).String
aogContextIdList of AOG app context ids that are linked to this device. These apps will have access to the structure information for the device.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17list(String)
aogInvocationPhraseInvocation phrase for hotel’s AoG action. Used for ZS promotion card and “talk to my hotel” rewrites. Setting this to an empty value will mark it unset.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17String
brandingAssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17AssistantApiSettingsHospitalityModeBranding
cardSettingsAssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17AssistantApiSettingsHospitalityCardSettings
deviceClearRequestThe time when we received a request to reset the device.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17AssistantApiTimestamp
dialogTtlOverrideMicrosShould the dialog have a shorter ttl. See go/ipp-consumer-prd#heading=h.ibu9b1ysdl4t and go/interpreter-device-clear#bookmark=id.hw8ey1bzjadn for context.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17String
enterpriseIdIdentifier for the enterprise which owns the device. Setting this to an empty value will mark it unset.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17String
hospitalityModeEnabledIndicates whether this device is in the hospitality mode.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17boolean
lastDeviceClearLast time the device was cleared and placed in hospitality mode. Will be set when the switch is toggled on and reset when a guest checks out. On the device this triggers removing alarms, timers, etc.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17AssistantApiTimestamp
lastModifiedTimestampIndicates when hospitality settings were last updated.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17AssistantApiTimestamp
lastWelcomedLast time the welcome message was played for the guest. If last_welcomed < welcome_request, the message should be replayed and this time set.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17AssistantApiTimestamp
manualResetRequiredIndicates whether or not the device must be reset manually (by voice or touch), as opposed to being automatically reset. go/hospitality-manual-resetAssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17boolean
promotedLanguagesIn order promoted languages for interpreter devices. This represents languages by BCP-47 language strings, such as “en”, “en-US”, “fr”, “fr-CA”, “sr-Latn”, “zh-Hans-CN”, “zh-Hant-HK”,etc.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17list(String)
typeAssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17String
verbalResetSupportedWhether we allow users to initiate clearing the device verbally. We generally allow this for private devices and not for public ones.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17boolean
welcomeRequestThe time when we received a request to welcome the user.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17AssistantApiTimestamp
displayNameBrand display in the UIAssistantApiSettingsHospitalityModeBrandingTODO(b/169423976) Consider moving Branding out of user level settings into enterprise level settings. Partner branding fields used to customize the ui. Next ID: 7String
displayNameForLanguageBrand display in the UI for languages that the enterprise has a localized name that is different from its global branding name. For example, Hilton is ‘ヒルトン’ in Japanese and ‘希爾頓’ in Chinese. The keys are hospitality supported display locales, e.g. en, ja-JP, etc, defined in experiment parameter Hospitality__hospitality_display_supported_locales.AssistantApiSettingsHospitalityModeBrandingTODO(b/169423976) Consider moving Branding out of user level settings into enterprise level settings. Partner branding fields used to customize the ui. Next ID: 7map
largeLogoUrlAssistantApiSettingsHospitalityModeBrandingTODO(b/169423976) Consider moving Branding out of user level settings into enterprise level settings. Partner branding fields used to customize the ui. Next ID: 7String
smallLogoUrlAssistantApiSettingsHospitalityModeBrandingTODO(b/169423976) Consider moving Branding out of user level settings into enterprise level settings. Partner branding fields used to customize the ui. Next ID: 7String
isValidCurrently, is_valid is set to false whenever the TAF is not an Autotune aware value. This includes hotword sensitivity users, or devices not eligible for autotune.AssistantApiSettingsHotwordThresholdAdjustmentFactorHotwordThresholdAdjustmentFactor contains threshold_adjustment_factor, and it’s validity. value should only be considered when is_valid = true.boolean
valueAssistantApiSettingsHotwordThresholdAdjustmentFactorHotwordThresholdAdjustmentFactor contains threshold_adjustment_factor, and it’s validity. value should only be considered when is_valid = true.integer
deviceIdContains device ids known to devices. eg. For ATV, it contains client_instance_id and cast_id.AssistantApiSettingsInternalAncillaryDeviceIdRepresents supporting device ids.AssistantApiCoreTypesDeviceId
generationTimeContains the timestamp when this version was generated.AssistantApiSettingsInternalVersionRepresents a version of a specifit setting, e.g. DeviceSettings.DateTime
idInteger value of the version, it is a monotonically increasing number and starts at 0. On every update it is incremented by 1.AssistantApiSettingsInternalVersionRepresents a version of a specifit setting, e.g. DeviceSettings.String
kidsModeEnabledAssistantApiSettingsKidsModeKids mode config for the current device. go/aff-parentalsupervision-ddboolean
obfuscatedGaiaIdIdentifier of the account currently specified to be used with kids mode.AssistantApiSettingsKidsModeKids mode config for the current device. go/aff-parentalsupervision-ddString
displayNameUser-provided name for this schedule.AssistantApiSettingsLabeledDowntimeScheduleString
scheduleAssistantApiSettingsLabeledDowntimeScheduleAssistantApiSettingsDowntimeSchedule
castLinkingTimeTime of linking of the device with the user provided by Cast.AssistantApiSettingsLinkedUserRepresents the profile of the user who has signed in onto this device. Next id: 5DateTime
emailPrimary email address of the user.AssistantApiSettingsLinkedUserRepresents the profile of the user who has signed in onto this device. Next id: 5String
gaiaIdAssistantApiSettingsLinkedUserRepresents the profile of the user who has signed in onto this device. Next id: 5String
namesSupports features which depend on profile name, when no matching contact is found.AssistantApiSettingsLinkedUserRepresents the profile of the user who has signed in onto this device. Next id: 5list(AppsPeopleOzExternalMergedpeopleapiName)
confirmedTrue if the user has confirmed the marketplace disclosure.AssistantApiSettingsMarketplaceDisclosureboolean
timestampMsThe time user confirmed the marketplace disclosure.AssistantApiSettingsMarketplaceDisclosureString
lastEnterGuestModeTimestampAssistantApiSettingsMasqueradeModeGuest mode for the current device. go/assistant-guest-mode-summaryAssistantApiTimestamp
lastExitGuestModeTimestampAssistantApiSettingsMasqueradeModeGuest mode for the current device. go/assistant-guest-mode-summaryAssistantApiTimestamp
masqueradeModeEnabledAssistantApiSettingsMasqueradeModeGuest mode for the current device. go/assistant-guest-mode-summaryboolean
availableProvidersProviders available at the time user updated settings.AssistantApiSettingsMusicFilterSpecification of which music features can be used.list(String)
providerFilterStateRepresents the state for the music provider filter.AssistantApiSettingsMusicFilterSpecification of which music features can be used.String
stateAssistantApiSettingsMusicFilterSpecification of which music features can be used.String
whitelistedProvidersContains the list of whitelisted music providers.AssistantApiSettingsMusicFilterSpecification of which music features can be used.list(String)
stateAssistantApiSettingsNewsFilterSpecification of which news features can be used.String
alloNotificationProfileEach device can have only one type of notification profile.AssistantApiSettingsNotificationProfileAssistantApiSettingsNotificationProfileAlloNotificationProfile
botSendTokenThe send token of the conversation with the user.AssistantApiSettingsNotificationProfileAlloNotificationProfileChatBotPlatformBotSendToken
idThe fireball id of this user.AssistantApiSettingsNotificationProfileAlloNotificationProfileChatBotPlatformFireballId
carrierCallDeviceSettingsOn device carrier call related settings.AssistantApiSettingsOnDeviceAppSettingsAssistantApiSettingsCarrierCallDeviceSettings
duoCallDeviceSettingsOn device duo call related settings.AssistantApiSettingsOnDeviceAppSettingsAssistantApiSettingsDuoCallDeviceSettings
faceMatchAssistantApiSettingsPersonalizationMetadataString
personalResultsAssistantApiSettingsPersonalizationMetadataString
voiceMatchAssistantApiSettingsPersonalizationMetadataString
stateAssistantApiSettingsPodcastFilterSpecification of which podcast features can be used.String
politeModeEnabledAssistantApiSettingsPoliteModePolite mode config for the current device. go/polite-mode-ddboolean
neverAskAgainIf true, don’t ask user to trust this device again.AssistantApiSettingsReauthTrustedDeviceSettingsTrustSettingsNext id: 6boolean
neverAskExpirationTimestampDEPRECATED: Use never_ask_again instead. Expiration timestamp of “never ask again” status. If this field is set and is later than current timestamp, we should NOT ask the user whether they’d like to trust this device.AssistantApiSettingsReauthTrustedDeviceSettingsTrustSettingsNext id: 6DateTime
trustDeviceExpirationTimestampExpiration timestamp of “trusted” status. If this field is set and is later than current timestamp, we can consider this device to be trusted.AssistantApiSettingsReauthTrustedDeviceSettingsTrustSettingsNext id: 6DateTime
stateAssistantApiSettingsSearchFilterSpecification of which search features can be used.String
speechOutputAssistantApiSettingsSpeechOutputSettingsSettings related to TTS output.String
continuedConversationEnabledIndicates whether Continued Conversation is enabled for this device.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
deviceModelTypeStores the device model type e.g Pixel.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16String
dspAvailableWhether the device has DSP chip to enable always on hotword detection.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
hotwordInNavigationEnabledWhether hotword has been enabled by the user during navigation.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16String
hotwordSettingStores hotword setting status for the locales which don’t support voice match.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16String
lockscreenEnabledWhether pin/pattern lockscreen has been enabled by the user.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
opaEligibilityStateStores if Assistant is available for the user’s device/locale, where Enabled means it is available and disabled means it is not.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16String
opaEligibleStores if Assistant is available for the user’s device/locale. Deprecated as bools do not give accurate true/false ratios due to old clients reporting the default value.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
sdkVersionStores the Android SDK version. This comes from android.os.Build.VERSION.SDK_INT.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16integer
speakerIdModelPresentWhether speaker ID model is present for the user.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
speakerIdRecognitionEnabledIndicates whether the user has enabled speaker-id (fromAnyScreen/alwaysOn) for this device. Deprecated – use voice_match_setting insteadAssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
trustedVoiceEnabledIndicates whether the user has enabled trusted voice for this device.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
unlockWithHotwordAvailableA bool indicating whether device supports unlocking device with hotword.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
userMigratedToDeclinedStores if user was migrated from undecided to declined as apart of Mariko project. Used for potential growth targeting.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
voiceMatchSettingStores the hotword/voice match setting status for the locales which support voice match.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16String
primaryHostDeviceIdThe host this wearable is tethered to (e.g. phone). When host is AGSA then this is agsa_client_instance_id. When host is IOPA then this is opa_ios_device_id.AssistantApiSettingsTetheredInfoString
stateAssistantApiSettingsThirdPartyAppsFilterSpecification of which third party apps can be used.String
autoplayToggleStateState that indicates whether autoplay is enabled for youtube videos.AssistantApiSettingsVideoFilterSpecification of which video features can be used.String
availableProvidersProviders available at the time user updated settings.AssistantApiSettingsVideoFilterSpecification of which video features can be used.list(String)
providerFilterStateRepresents the state for the video provider filter.AssistantApiSettingsVideoFilterSpecification of which video features can be used.String
stateAssistantApiSettingsVideoFilterSpecification of which video features can be used.String
whitelistedProvidersContains the list of whitelisted video providers.AssistantApiSettingsVideoFilterSpecification of which video features can be used.list(String)
jasperWebviewConsentIndicates if user has consented Jasper warning message.AssistantApiSettingsWebviewFilterSpecification of which webview features can be used.boolean
stateAssistantApiSettingsWebviewFilterSpecification of which webview features can be used.String
methodAssistantApiSignInMethodThe method of sign in which the client supports.String
signInRequiredMake Google sign-in mandatory for using Google Assistant on the device.AssistantApiSignInMethodThe method of sign in which the client supports.boolean
supportsHotwordSensitivityWhether the device supports different levels of hotword sensitivity. go/hotword-sensitivity-prdAssistantApiSodaCapabilitiesCapabilities related to SODA (Speech On-Device API). Next ID: 5boolean
supportsSimpleStopWhether Simple Stop (go/simple-stop) is enabled on the device. Simple stop allows users to stop firing alarms and timers by just saying “stop” without first saying the hotword.AssistantApiSodaCapabilitiesCapabilities related to SODA (Speech On-Device API). Next ID: 5boolean
supportsSpeakerIdWhether the device supports speaker-id (speaker identification based on hotword and/or spoken query – go/speaker-id). Note: there are existing devices that support speaker-id but does not have this capability set. Not having this field populated doesn’t necessarily mean the device doesn’t support speaker-id.AssistantApiSodaCapabilitiesCapabilities related to SODA (Speech On-Device API). Next ID: 5boolean
supportsWarmWordsWhether the device supports WarmWords (go/warm-words-framework).AssistantApiSodaCapabilitiesCapabilities related to SODA (Speech On-Device API). Next ID: 5boolean
appCapabilitiesIMPORTANT: Only one of AppCapabilities and AppCapabilitiesDelta should be in the SoftwareCapabilities. In the edge case if the client sends up both AppCapabilities and AppCapabilitiesDelta, AppCapabilitiesDelta is ignored. Complete list of app capabilities.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28list(AssistantApiAppCapabilities)
appCapabilitiesDeltaIncremental update for app capabilities.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28list(AssistantApiAppCapabilitiesDelta)
carAssistantCapabilitiesCapabilities related to Assistant on Auto surfaces.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiCarAssistantCapabilities
clockCapabilitiesCapabilities related to clock functionality, like alarms, timers, etc.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiClockCapabilities
conversationVersionA top-level version of Conversation protocol where the versions are explicitly defined at go/conversation-versions.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiSupportedConversationVersion
crossDeviceExecutionCapabilitiesFor torus x-device execution supportAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiCrossDeviceExecutionCapability
gacsCapabilitiesAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiGacsCapabilities
gcmCapabilitiesAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiGcmCapabilities
liveTvChannelCapabilitiesCapabilities related to live TV channels.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiLiveTvChannelCapabilities
oemCapabilitiesList of actions OEM supports. This includes built-in actions and custom actions.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiOemCapabilities
onDeviceAssistantCapabilitieson-device Assistant capabilitiesAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiOnDeviceAssistantCapabilities
onDeviceSmartHomeCapabilitiesCapability bits for on-device Smart Home. go/framework-for-local-semexAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiOnDeviceSmartHomeCapabilities
onDeviceStorageCapabilitiesReflects the storage capabilities on the device.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiOnDeviceStorageCapabilities
operatingSystemThe operating system of the device.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28String
orderedLiveTvProvidersAn ordered list containing the live tv providers available in the client. The order of the providers reflects the ranking in the client and will be respected by server as well.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28list(AssistantApiLiveTvProvider)
robinCapabilitiesCapabilities of Robin client.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiRobinCapabilities
selinaCapabilitiesThe Soli capabilities on Elaine. go/dingo-dc-softwareAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiSelinaCapabilites
settingsAppCapabilitiesAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiSettingsAppCapabilities
supportedClientOpAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28list(AssistantApiSupportedClientOp)
supportedFeaturesAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiSupportedFeatures
supportedMsgVersionAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiSupportedProtocolVersion
supportedProviderTypesAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiSupportedProviderTypes
surfacePropertiesAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiSurfaceProperties
dspAvailableA bool indicating whether device supports dsp based hotword detection.AssistantApiSpeechCapabilitiesDEPRECATED These capabilities are associated with speech detection on devices.boolean
unlockWithHotwordAvailableA bool indicating whether device supports unlocking device with hotword.AssistantApiSpeechCapabilitiesDEPRECATED These capabilities are associated with speech detection on devices.boolean
clickImpersonationSupportedWhether client supports user impersonation on suggestion chip click. go/suggestion-click-impersonationAssistantApiSuggestionsSupportNext ID: 18boolean
debugDataSupportedWhether client supports suggestions debug data to be displayed.AssistantApiSuggestionsSupportNext ID: 18boolean
drlHistoryChipSupportedWhether DRL history chip is supported. Related bug: http://b/241837879, http://b/171854732 Design doc: http://go/panthera-history-chip-dd DRL history chip was originally rolled out to Panthera in http://google3/googledata/experiments/mobile/agsa/studies/agsa_nga/opa_panthera_one_input_ui_launch.gcl?l=55&rcl=384682900. We plan to roll it out to NGA and TNG. drl_history_chip_supported bit specifies whether the client support (and should have) DRL history chip.AssistantApiSuggestionsSupportNext ID: 18boolean
escapeHatchSupportedWhether client supports escape hatches aka post execution suggestions go/nga-escape-hatch-prdAssistantApiSuggestionsSupportNext ID: 18String
executedTextSupportedWhether the client can rewrite suggestion query text into executed text, if the latter is present. If this feature is disabled, the rewrite happens in Assistant Server.AssistantApiSuggestionsSupportNext ID: 18boolean
executionContextSupportedWhether the client supports passing back `execution_context` from |assistant.api.client_op.SuggestionProcessingParams| when the suggestion is clicked or spoken.AssistantApiSuggestionsSupportNext ID: 18boolean
featureSpecificActionSupportWhether the client supports features in |SuggestionFeatureSpecificAction|.AssistantApiSuggestionsSupportNext ID: 18AssistantApiFeatureSpecificActionSupport
featureSpecificAppActionsNotificationSupportedWhether the client supports handling App Actions’ notification when the suggestion is clicked. This will allow the server to populate the `app_actions_notification_data` extension field from |SuggestionFeatureSpecificAction| proto message.AssistantApiSuggestionsSupportNext ID: 18boolean
multiStepTrySayingSupportedWhether the multi-step try saying suggestion feature is supported. dd: go/tng-multi-step-simplifiedAssistantApiSuggestionsSupportNext ID: 18boolean
ruleIdInExecutionContextSupportedWhether the rule_id field in the execution_context is supported. This is a temporary workaround to be able to identify clicks on Person entity suggestions on Sabrina and is expected to be eventually deprecated. TODO(b/185517153) : Deprecate (but do not delete) once click tracking is correctly sent up from the Katniss client.AssistantApiSuggestionsSupportNext ID: 18boolean
showExecutedTextSupportedWhether the client can show executed_text after the click on the suggestion chip. Must be set to false on TNG. TNG disregards |SuggestionProcessingParams.show_executed_text| field and always treats it as if |show_executed_text=true|.AssistantApiSuggestionsSupportNext ID: 18boolean
showTranslationSupportedWhether the client can show chip as (text | translation). go/lang-partner-docAssistantApiSuggestionsSupportNext ID: 18boolean
supportedDisplayTargetsA list of suggestions display targets supported by this client. If unset only DEFAULT SuggestionDisplayTarget is supported.AssistantApiSuggestionsSupportNext ID: 18list(AssistantApiSuggestionsSupportDisplayTargetSupport)
widgetDataSupportedWhether client supports widget suggestion chip to be displayed.AssistantApiSuggestionsSupportNext ID: 18boolean
executedTextSupportedWhether the client can rewrite suggestion query text into executed text, if the latter is present for the display target.AssistantApiSuggestionsSupportDisplayTargetSupportboolean
headerTextSupportedWhether PresentationParams.header_text is supported for the display target.AssistantApiSuggestionsSupportDisplayTargetSupportboolean
repressImpressionSupportedWhether Suggestion.repress_impression is supported. If not repressed suggestions are not returned.AssistantApiSuggestionsSupportDisplayTargetSupportboolean
targetDisplay target that is supported.AssistantApiSuggestionsSupportDisplayTargetSupportString
sunriseSimulationSupportedIf true, the device can slowly brighten the screen and simulate sunrise experience. Alarms with sunrise field enabled can be set on this device.AssistantApiSunriseFeaturesSupportboolean
clientOpNameThis should be the same as the name of the SemanticClientOp that is supported.AssistantApiSupportedClientOpThese are the set of ClientOps that are supported by the device.String
clientOpPropertiesThe properties associated with the ClientOp. This proto should be associated with the client_op_name.AssistantApiSupportedClientOpThese are the set of ClientOps that are supported by the device.AssistantApiProtobuf
supportedExecutionAssistantApiSupportedClientOpThese are the set of ClientOps that are supported by the device.AssistantApiSupportedClientOpSupportedExecution
versionA version of 0 is the equivalent to not having support for that client_op type. Note that a client_op is also unsupported if it is not included at all in the list of supported client_ops.AssistantApiSupportedClientOpThese are the set of ClientOps that are supported by the device.integer
supportsPartialFulfillmentClientOp execution supports special rendering behavior while the user is in the middle of expressing their query. This behavior includes: 1) New partial output always over-writes prior partial output. 2) Canceling the interaction removes partial fulfilment from any user visible interaction history. If this is true, whether to apply the special rendering behavior will be determined by PartialFulfillmentRenderingParams. More details can be found at go/ma-natcon-pf-api.AssistantApiSupportedClientOpSupportedExecutionAdditional properties that client can support for executing the client op. They are surface-specific execution properties and are unrelated to the execution model.boolean
supportsSynchronousExecutionClient can support synchronous execution of the client op. For tts.OUTPUT client op it means that client would honor |synchronous_playback_args| argument. Please see more at go/synchronous-sounds-design.AssistantApiSupportedClientOpSupportedExecutionAdditional properties that client can support for executing the client op. They are surface-specific execution properties and are unrelated to the execution model.boolean
supportsConversationProtocolWhether conversation protocol is supported explicitly. If true, SingleDeviceCapabilityChecker::SupportsConversationProtocol will always return true.AssistantApiSupportedConversationVersionThe overall Conversation Protocol version. As we make fundamental changes to Conversation protocol that are non-backwards compatible, we will increment the protocol version. By default, all clients will support version 0. All versions are documented at go/conversation-versions.boolean
versionThe supported version number.AssistantApiSupportedConversationVersionThe overall Conversation Protocol version. As we make fundamental changes to Conversation protocol that are non-backwards compatible, we will increment the protocol version. By default, all clients will support version 0. All versions are documented at go/conversation-versions.integer
readNotificationSummarizationSupportedWhether the client supports message summarization. Deprecated, use message_summary_support instead.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
fitnessFeatureSupportInformation about what support this device has for fitness.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiFitnessFeatureSupport
masqueradeModeSupportedWhether the device supports masquerade mode (go/masquerade).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
appControlSupportThe client information for app control support. More details in: go/acaia.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiAppControlSupport
gearheadNotificationSourceSupportedWhether the client supports the Gearhead message notification source, in which case notification-related operations can access it.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
parentalControlsSupportedWhether or not the client supports enabling parental controls. When a device to supports parental controls, it has the software necessary to store the relevant information required for parental controls to work. This information includes a boolean “enabled bit” as well as the obfuscated gaia ID of the kid account selected for use with parental controls. Devices supportings kids mode send this information to S3 via S3ClientInfo in every request. See go/aff-kidsproduct for details.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
mediaControlSupportInformation about how client handles media controls (play, pause, skip …)AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiMediaControlSupport
sunriseFeaturesSupportWhether the client supports the sunrise screen brightening feature before the alarm fires. This is used to indicate whether sunrise alarms can be set on the device. http://cs/symbol:assistant.api.core_types.governed.RingtoneTaskMetadata.GentleWakeInfoAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiSunriseFeaturesSupport
shLockScreenSupportedWhether the client supports SmartHome lock screen logic (i.e. on Tangor).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
fluidActionsSupportFluid Actions features supported by the client. If this field is not set in the incoming request, it could mean that the client does not support Fluid Actions. Alternatively, it could mean that the client supports Fluid Actions, but syncs state with server using the old protocol, namely ConversationStateParams. When b/140733618 is resolved, Surface Adaptation Layer will add this field for old clients that support Fluid Actions framework.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiFluidActionsSupport
bypassMsgNotificationDismissalWhether or not Assistant should enforce the dismissal of communication notifications associated with messages.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
justInTimeSupportedWhether the client supports confirmation flow when a permission is missing. If set to true, the user will be prompted and on confirmation the original flow will continue.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
sleepSensingSupportedWhether the client can monitor sleep. This allows us to show sleep CUJ related information: go/TwilightDesign Use for development only, see the same field in DeviceCapabilities.SoftwareCapabilities.SelinaCapabilities.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
actionV2SupportedFeaturesAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiActionV2SupportedFeatures
mediaSessionDetectionThe ability of the client to detect media sessions on the device.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69String
gdiSupportedWhether account linking via Google Deep Integrations (GDI) is supported. go/opa-gdi-designAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
zoomSupportedWhether the client supports joining a Zoom meeting.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
persistentDisplaySupportedWhether the client supports persistent display. The new feature allows Assistant devices with screen to display a continuously updating permanent display, such as ambient weather, without the need for a user to ask the Assistant. Design doc: go/assistant-persistent-display.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
alarmTimerManagerApiSupportedWhether the client supports AlarmTimerManager API (go/alarm-timer-manager-api).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
bypassDiDcCheckForCommsWhether communications flows for the client can bypass the DI/DC check. The client will enforce some other equivalent permission as necessary concerning access to device contacts and apps.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
readMessagesTtsTaperingSupportedWhether the client supports tts tapering for the read messages flow. If set to true the tapered tts variant would be used during the read messages flow.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
funtimeSupportedWhether the surface client op performer supports Funtime alarms and timers. go/funtime-engdesignAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
webBrowserSupportedWhether the supports opening a URL in a web browser. For example, we want to disable this for clients like Chirp.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
mapsDialogsSupportedWhether the client supports Assistant dialogs within Maps. This field will be set only when the Maps on the surface supports Assistant dialogs embedded within Maps. go/gsa-gmm.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
opaOnSearchSupportedWhen the entry source is search, whether the client supports rendering a similar response as OPA one does. Entry source is defined at http://cs/symbol:assistant.api.params.DeviceProperties.EntrySourceAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
isPairedPhoneContactUploadNeededForCommsWhether paired-phone contact upload is needed for communications queries to work (e.g. on AAE).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
noInputResponseSupportedWhether the client can render no input response or just ignore it. No input response is returned when client has a no speech input interaction, eg. user tapped mic but didn’t say anything.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
smartspaceCrossDeviceTimerSupportedWhether the client supports smart space cross-device timers. (go/ss-x-device-timer)AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
clientOpResultBatchingSupportedWhether the client can batch client op results before sending them to the server.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
usesSeparateFullViewerIf set, it indicates that the client can open a separate HTML browser/webviewer (full viewer) to display certain visual results. These visual results usually require more memory to render (e.g. high resolution photos). Compared to the regular viewer that display all other Assistant result, the full viewer does not have memory limit. The field is copied from the device model. See http://google3/assistant/devices_platform/proto/device_model_capabilities.proto?l=225&rcl=312576471 Also see go/webassistant-full-card-viewer.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
confirmationBeforeReadingMultipleMessagesSupportedWhether the client supports confirmation flow before announcement of multiple messages. If set to true the user will be prompted once and confirmation will be taken before all the messages are announced.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
messageSummarySupportThe client information for message summary. More details in: go/roadwayrecap-prdAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiMessageSummarySupport
acpSupportIn what way is assistant continued presence supported. (go/opa-acp-prd)AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiAssistantContinuedPresenceSupport
viewReminderHubPageNotSupportedWhether the client supports viewing of reminder hub page or not. Default is supported. Set to true to disable returning reminder hub page url in reminder responses.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
duoGroupCallingSupportedWhether the client supports Duo group calling.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
client1mProvidersSupportedWhether the client supports 1m providers (go/1m-partner-expansion).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
hasPhysicalRadioWhether the client has a physical radio installed.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
liveCardsSupportedWhether the surface supports LiveCards. In cases where the user intent flow cannot be completed within the Assistant, LiveCards are used to take the user to an external app or website. These cards will be pushed to the Google Home app via the PushMessage ClientOp.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
signInMethodWhich kind of sign in the client supports.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiSignInMethod
lottieAnimationSupportWhether the client supports the Lottie animation library for the broadcast feature.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69String
serverGeneratedFeedbackChipsEnabledWhether the Assistant Server should generate feedback suggestion chips.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
transactionFeaturesSupportTransactions features, supported by the client. Transactions feature may includes how Transactions team want to populate additional information from the device to the server.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiTransactionFeaturesSupport
tapToReadOptimizationSupportedWhether the client supports faster optimization for tap_to_read feature.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
remoteCloudCastingEnabledWhether the client has remote casting enabled. For ex: we want to disable this for clients like Auto.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
crossDeviceBroadcastSupportedWhether the client supports cross-device broadcast (i.e. on Torus).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
suggestionsSupportSuggestion chips features, supported by the client.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiSuggestionsSupport
crossDeviceBroadcastVersionThe version of cross device broadcast (ie; broadcast on torus) which the client supports.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69String
conversationalCareSupportedWhether the client can render conversational care responses. go/conversational-careAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
assistantForKidsSupportedWhether Assistant for Kids (a.k.a. Designed for Family) features are supported.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
isPairedPhoneNeededForCommsWhether a Bluetooth-paired phone is a core component of communications flows on the client.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
csatVisualOverlaySupportedWhether the client supports csat visual overlay. (go/sd-od-csat)AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
transactionsVersionThe version of transactions which the client supports.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69String
duoClientApiFeaturesThe features set which duo client on the device supports. This should be serialized from proto {@code duo_client_api.DuoClientApiFeatures}.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69String
aaeNotificationSourceSupportedWhether the client supports the alternative message notification sources on AAE, in which case notification-related operations can access it.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
immersiveCanvasSupportAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiImmersiveCanvasSupport
soliGestureDetectionSupportedWhether or not the client supports gesture detection via soli chips. The reason to prepend the name with soli is to distinguish it from computer vision based methods, e.g. Newman devices.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
lensSupportedWhether the client has Google Lens (Assistant Eyes).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
privacyAwareLockscreenSupportedWhether the client supports the privacy-aware lockscreen protocol (go/assistant-lockscreen-spec).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
assistantExploreSupportedWhether the client supports the assistant explore section. This field will be active only when the Explore section is available to the user. This means that the user is (a) signed-in, (b) a IOPA / AGSA user, and (c) in a locale where explore is available.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
meetSupportedWhether the client supports joining a Google Meet meeting.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
launchKeyboardSupportedWhich way of launching the keyboard the client supports.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69String
immersiveCanvasConfirmationMessageSupportedWhether the client supports confirmation messages in Immersive Canvas actions. Deprecated: use the filed in immersive_canvas_support.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
warmWelcomeTutorialSupportedWhether the client supports the programmatic warm welcome tutorial. Design doc: go/opal-pww-design.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
inDialogAccountLinkingSupportedWhether the client supports account linking in-dialog (askForSignIn). This is used before this feature is moved to conversation protocol. To support this, the client needs to: – Integrate with Google Deep Integrations. – Have logic to send the result of account linking back to AS.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
thirdPartyGuiSupportedWhether the device supports the 3p GUI framework, which allows third parties to enter the conversation with the user, showing their logo next to their chat bubbles, etc. go/3p-phoneAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
messageVersionAssistantApiSupportedProtocolVersionContains versions of protocol buffer messages. This is the equivalence of a proto3 map, keyed by a protocol buffer message’s name, and the value is the version of this message. e.g. {“assistant.api.core_types.Timer”: 2, “assistant.api.core_types.Alarm”: 1} See go/assistant-protocol-versioning for more details.list(AssistantApiSupportedProtocolVersionMessageVersionPair)
messageNameThe full path of a message which should start from the package name. e.g. “assistant.api.core_types.Timer”.AssistantApiSupportedProtocolVersionMessageVersionPairString
versionThe supported version number.AssistantApiSupportedProtocolVersionMessageVersionPairinteger
supportedTypesAssistantApiSupportedProviderTypesTypes of providers that are supported by the client. For example, ChromeOS support both web app and Android app (for eligible devices).list(String)
executionCapabilitiesAssistantApiSurfacePropertiesProperties of the surface that are not hardware related or feature specific.AssistantApiSurfacePropertiesExecutionCapabilities
prefersGlanceableUiIndicates if the surface prefers glanceable UI when rendering Assistant response. (see go/mobile-dr-hbird-glanceable-comms-cuj for more context).AssistantApiSurfacePropertiesProperties of the surface that are not hardware related or feature specific.boolean
responseDisplayFormatIf this field is unset, the response format is unknownAssistantApiSurfacePropertiesProperties of the surface that are not hardware related or feature specific.String
supportsMultiResponseIf true, the client supports receiving multiple responses. See go/multiple-response-in-media-use-cases for more details.AssistantApiSurfacePropertiesProperties of the surface that are not hardware related or feature specific.boolean
supportsClientOpPreloadingCompletes the preloading ie., sets up the stage for the execution of client ops on the device while the previous conv delta is being executed. Refer to go/preload-convdelta for more information.AssistantApiSurfacePropertiesExecutionCapabilitiesDescribes the capabilities that are related to the execution of client ops on the device.boolean
supportsNonFinalizedResponsesA value of true indicates that the client supports streaming of non-finalized responses by use of ClientExecutionParams.response_stream_id. and ClientExecutionParams.to_be_finalized.AssistantApiSurfacePropertiesExecutionCapabilitiesDescribes the capabilities that are related to the execution of client ops on the device.boolean
supportsNonMaterializedInteractionsIf true, the client supports receiving non-materialized interactions (go/as-streaming-protocol-nm).AssistantApiSurfacePropertiesExecutionCapabilitiesDescribes the capabilities that are related to the execution of client ops on the device.boolean
categoryStateAssistantApiSystemNotificationRestrictionsRestrictions related to system-level notifications.list(AssistantApiSystemNotificationRestrictionsNotificationCategoryState)
channelStateAssistantApiSystemNotificationRestrictionsRestrictions related to system-level notifications.list(AssistantApiSystemNotificationRestrictionsNotificationChannelState)
notificationCapabilitiesSpecifies whether the surface is able to display notifications.AssistantApiSystemNotificationRestrictionsRestrictions related to system-level notifications.String
categoryIdNotification channel type.AssistantApiSystemNotificationRestrictionsNotificationCategoryStateNotification channels state for the new server driven channels.integer
disabledWeather the notifications on this channel are disabled.AssistantApiSystemNotificationRestrictionsNotificationCategoryStateNotification channels state for the new server driven channels.boolean
disabledReasonAssistantApiSystemNotificationRestrictionsNotificationCategoryStateNotification channels state for the new server driven channels.String
channelTypeNotification channel type.AssistantApiSystemNotificationRestrictionsNotificationChannelStateNotification channels state.String
enabledWhether the notifications on this channel are enabled.AssistantApiSystemNotificationRestrictionsNotificationChannelStateNotification channels state.boolean
deviceActionCapabilityDeviceActionCapability from DeviceModelPackage.AssistantApiThirdPartyActionConfig3P Action Metadata. Next ID: 3AssistantDevicesPlatformProtoDeviceActionCapability
projectConfigsList of Action project capabilities.AssistantApiThirdPartyActionConfig3P Action Metadata. Next ID: 3list(AssistantApiThirdPartyActionConfigProjectConfig)
projectIdGoogle cloud project id for which the Action Package or Device Model is registered.AssistantApiThirdPartyActionConfigProjectConfigMetadata for ActionPackage. Device Actions are disabled by default unless explicitly enabled for the device here, see go/3p-device-actions-v2-design.String
dataSharingRestrictionsRestrictions for the device to share any data with third party apps. See details in go/atv-dsc.AssistantApiThirdPartyCapabilitiesString
hourThe hour, in 0…23.AssistantApiTimeOfDayA civil time relative to a timezone.integer
minuteThe minute, in 0…59.AssistantApiTimeOfDayA civil time relative to a timezone.integer
nanosecondThe fraction of seconds in nanoseconds, in 0..999999999.AssistantApiTimeOfDayA civil time relative to a timezone.integer
secondThe second, in 0…59. Leap seconds are not supported.AssistantApiTimeOfDayA civil time relative to a timezone.integer
nanosNon-negative fractions of a second at nanosecond resolution.AssistantApiTimestampAn absolute point in time independent of timezone or calendar, based on the proto3 Timestamp (//google/protobuf/timestamp.proto). NOTE: THIS IS NO LONGER RECOMMENDED TO BE USED. It was originally defined separately from google.protobuf.Timestamp due to incompatibility with proto2 syntax. The incompatibility issues have since been resolved and so the Google-wide standard representation of google.protobuf.Timestamp should be preferred. In fact, google.protobuf.* protos in general are now recommended to be used in new APIs.integer
secondsSeconds of UTC time since the Unix epoch.AssistantApiTimestampAn absolute point in time independent of timezone or calendar, based on the proto3 Timestamp (//google/protobuf/timestamp.proto). NOTE: THIS IS NO LONGER RECOMMENDED TO BE USED. It was originally defined separately from google.protobuf.Timestamp due to incompatibility with proto2 syntax. The incompatibility issues have since been resolved and so the Google-wide standard representation of google.protobuf.Timestamp should be preferred. In fact, google.protobuf.* protos in general are now recommended to be used in new APIs.String
ianaIdTime zone in IANA format, e.g. America/Los_Angeles for USA Pacific Time.AssistantApiTimeZoneA time zone. Conceptually, a time zone is a set of rules associated with a location that describes a UTC offset and how it changes over time (e.g. Daylight Saving Time). The offset is used to compute the local date and time.String
voicePinSuppressedIf true, setting this boolean means the device should not support voice PIN. For example, although the phone supports both voice and PIN pad, but we don’t want users using voice. https://docs.google.com/document/d/1M8iJQX3GuxGZGeidS8Gl4KJt3LuBWAIlolPlW10DkxU/edit#heading=h.8ovvdd3i2thvAssistantApiTransactionFeaturesSupportboolean
defaultVolumePercentageThe volume percentages for spelled out values.AssistantApiVolumePropertiesinteger
highVolumePercentageAssistantApiVolumePropertiesinteger
levelStepSizeThe number of levels to move for a step.AssistantApiVolumePropertiesfloat
lowVolumePercentageAssistantApiVolumePropertiesinteger
maximumVolumeLevelThe max number of volume levels the client supports.AssistantApiVolumePropertiesinteger
mediumVolumePercentageAssistantApiVolumePropertiesinteger
veryHighVolumePercentageAssistantApiVolumePropertiesinteger
veryLowVolumePercentageAssistantApiVolumePropertiesinteger
maxSupportedAlarmsMaximum number of alarms that can be created on the client. Zero or unset indicates no maximum limit.AssistantDevicesPlatformProtoAlarmCapabilityCapability with regard to support of alarms by the client.integer
restrictAlarmsToNextDayWhether the client restricts alarms to ring within the next 24 hours.AssistantDevicesPlatformProtoAlarmCapabilityCapability with regard to support of alarms by the client.boolean
supportsGenericMutationsWhether the client supports mutation of any alarm attribute such as time_pattern, recurrence_pattern, etc through the MUTATE action. If this is false, MUTATE may only be used to disable or dismiss an alarm. This field is true by default for backwards-compatibility; clients which don’t support mutation outside of Disable/DismissAlarm should explicitly set this to false.AssistantDevicesPlatformProtoAlarmCapabilityCapability with regard to support of alarms by the client.boolean
supportsStopActionWhether the client supports the STOP alarm action. If this is false, stop actions will be represented by the MUTATE action, and the device may need to check alarm state to determine if there’s a firing alarm that needs to be dismissed.AssistantDevicesPlatformProtoAlarmCapabilityCapability with regard to support of alarms by the client.boolean
intValueSpecAssistantDevicesPlatformProtoArgSpecAssistantDevicesPlatformProtoIntValueSpec
optionValueSpecAssistantDevicesPlatformProtoArgSpecAssistantDevicesPlatformProtoOptionValueSpec
typeAssistantDevicesPlatformProtoArgSpecString
cloudEndpointsThe list of CloudEndpoints supported by this Device Model. Note that each should have a unique |name|. If any cloud endpoints are provided here, then the first one in the list will be used by default for all Cloud Execution. An Intent may override the default by providing an |execution_config|.AssistantDevicesPlatformProtoCloudCapabilityStates the cloud capabilities of the device, i.e. the endpoint(s) to use for cloud execution of Actions or Registration.list(AssistantDevicesPlatformProtoCloudEndpoint)
nameThe name for this cloud endpoint. It’s unique per Locale. This is not an API resource name. Ex: sample-nlu-endpointAssistantDevicesPlatformProtoCloudEndpointA cloud endpoints associates with this device, it can be used for query parsing, or cloud execution.String
scopesThe list of scopes to be provided in the OAuth2 token. They must be a subset of the scopes registered in the Account Linking flow, or the request will fail. If the client itself provides the token, then this field is ignored.AssistantDevicesPlatformProtoCloudEndpointA cloud endpoints associates with this device, it can be used for query parsing, or cloud execution.list(String)
urlThe URL for this endpoint, it must start with https.AssistantDevicesPlatformProtoCloudEndpointA cloud endpoints associates with this device, it can be used for query parsing, or cloud execution.String
assistantDeviceInRoomOptOutIntegrate your device with Google’s Smart Home solution by putting your device into Google’s Home Graph, a database that stores and provides contextual data about the home and its devices. For example, Home Graph can store the concept of a living room that contains multiple types of devices, when you say “turn on the light” to a device, if you have light in the living room, that light will be turned on.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10boolean
builtInIntentModeSpecifies behavior for built-in device actions for this device model. If not specified, defaults to ENABLE_CONFIGURED_INTENTS_ONLY.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10String
customIntentModeSpecifies which custom device actions should be enabled for this device model. This will only affect the behavior of intents corresponding to those from the Action Package of this project. If not specified, defaults to ENABLE_ALL.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10String
defaultExecutionConfigDefault instructions for routing of any Intent. The data here could be overridden for specific Intents if provided directly in the ‘intents’ field.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10AssistantDevicesPlatformProtoExecutionConfig
inlinedActionCapabilitySpecifies capabilities for device actions that are inlined in the google.assistant.embedded.v1.DeviceAction message.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10AssistantDevicesPlatformProtoInlinedActionCapability
intentsIntent configurations. Built-in and custom intents may be configured here. Note that built-in intents will always behave with IntentMode of ENABLE_CONFIGURED_INTENTS_ONLY. The IntentMode for custom intents can be changed using the custom_intent_mode. To configure an intent, list it here with its intent name, e.g. “MY_CUSTOM_INTENT”, “google.assistant.car.model.capabilities.AC_TEMPERATURE”.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10list(AssistantDevicesPlatformProtoIntent)
providedDataProvided data which augments the device action capabilities. Some built-in intents may require additional configuration to be provided. One example could be the list of channels available for the `action.intent.SelectChannel` intent.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10list(AssistantDevicesPlatformProtoProvidedData)
traitsList of built-in traits such as “action.devices.traits.OnOff” See java/com/google/home/graph/service/config/protoconf.pi As of Nov. 2017, we also support custom traits for EAP users. We’ll eventually disable custom traits once custom actions are in place.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10list(String)
understandingConfigSpecifies the format how Google routes queries to 3P cloud. By default, this field is unset, all partners should get shallow NLU. This is needed *ONLY* for specific partners for strong business reasons.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10AssistantDevicesPlatformProtoUnderstandingConfig
clientOpPropertyAssistantDevicesPlatformProtoDeviceModifySettingCapabilityAssistantApiClientOpPropertiesDeviceModifySettingClientOpProperty
cloudEndpointNameInstructions for performing a cloud execution request for the Intent when the execution_type is set to CLOUD. If non-empty, then the device execution would be routed to the CloudEndpoint specified by this name. The Account Linking exchange may be performed to fetch the OAuth access token, and the access token will be included in the HTTP header.AssistantDevicesPlatformProtoExecutionConfigSpecifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8String
cloudIntentTranslationDisabledIf this field is set, then the Syndication cloud call will be disabled for this intent. Note this only applies if any Syndication cloud endpoint is associated with the Device Model, otherwise setting this field does nothing. By default, all Intents that are enabled and supported by the Syndication API will be routed through the Syndication cloud endpoint if it’s provided.AssistantDevicesPlatformProtoExecutionConfigSpecifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8boolean
intentCommandFormatSpecifies the intent command format for this Action. For example, in order to launch an Android intent instead of receiving the device action payload on the client, then this field can be set with “intent:/#Intent;…;my_extra={$.params.channels[0].channelCode};end” The parameter “{$.params.channels[0].channelCode}” is in JSON path format, and will be replaced with the content from the original device action payload. Thus, with # JSON “execution”: [ { “command”: “action.devices.commands.SelectChannel”, “params”: { “channels”: [{ “channelName”: “exampleChannel”, “channelCode”: “1-1” }] } } ] as the original action result, then the final result would look like “intent:/#Intent;…;my_extra=\\”1-1\\”;end”AssistantDevicesPlatformProtoExecutionConfigSpecifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8String
localDisabledIf this field is set, then local execution capability is disabled for all matching intents.AssistantDevicesPlatformProtoExecutionConfigSpecifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8boolean
localExecutionTypeSpecifies how to execute this Action when it is invoked locally (from the same device.)AssistantDevicesPlatformProtoExecutionConfigSpecifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8String
remoteDisabledIf this field is set, then remote execution capability is disabled for all matching intents.AssistantDevicesPlatformProtoExecutionConfigSpecifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8boolean
remoteExecutionTypeSpecifies how to execute this Action when it is invoked remotely (from a different device.)AssistantDevicesPlatformProtoExecutionConfigSpecifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8String
alarmSpecifies capabilities for handling on-device alarms. The presence of this field, even if empty, implies that the device supports alarms.AssistantDevicesPlatformProtoInlinedActionCapabilityAssistantDevicesPlatformProtoAlarmCapability
responseLimitsSpecifies the size limits on responses. If message is not defined then no limits exist.AssistantDevicesPlatformProtoInlinedActionCapabilityAssistantDevicesPlatformProtoResponseLimits
supportSdkExecuteWhether this device model package support sdk.EXECUTE client_op (a.k.a action.devices.EXECUTE intent), which will be filled into google.assistant.embedded.v1.DeviceAction.device_request_json. It is default to true (and not public), since all 3P will depends on the device_request_json. Only internal projects like Edoras will set this to false.AssistantDevicesPlatformProtoInlinedActionCapabilityboolean
supportedDeviceOpsSpecifies capabilities for handling assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoInlinedActionCapabilityAssistantDevicesPlatformProtoSupportedDeviceOps
supportsMultiResponseSpecifies whether server can send a series of responses for a single query. Example: Routines where multiple actions to be executed one after another.AssistantDevicesPlatformProtoInlinedActionCapabilityboolean
timerSpecifies capabilities for handling on-device timers. The presence of this field, even if empty, implies that the device supports timers.AssistantDevicesPlatformProtoInlinedActionCapabilityAssistantDevicesPlatformProtoTimerCapability
ttsOutputSpecifies whether client supports receiving `DeviceAction.tts_output`.AssistantDevicesPlatformProtoInlinedActionCapabilityAssistantDevicesPlatformProtoTtsOutputCapability
executionConfigInstructions for the routing of this Intent.AssistantDevicesPlatformProtoIntentAn intent configures the behavior of a device action for this device. Next ID: 7AssistantDevicesPlatformProtoExecutionConfig
nameThe name of the intent.AssistantDevicesPlatformProtoIntentAn intent configures the behavior of a device action for this device. Next ID: 7String
providedDataNamesList of provided data names used by this intent. Note that some built-in intents will not function properly without provided data, such as `action.intent.SwitchChannel` or `action.intent.AppSelector`.AssistantDevicesPlatformProtoIntentAn intent configures the behavior of a device action for this device. Next ID: 7list(String)
securityConfigSecurity configuration for this Intent.AssistantDevicesPlatformProtoIntentAn intent configures the behavior of a device action for this device. Next ID: 7AssistantDevicesPlatformProtoSecurityConfig
triggerConditionsThe conditions which must be met by the device before executing this Intent. More than one can be provided, in which case the conditions operate with the “AND” operator, i.e. the first condition which is failed will be used to restrict the execution of this Intent.AssistantDevicesPlatformProtoIntentAn intent configures the behavior of a device action for this device. Next ID: 7list(AssistantDevicesPlatformProtoTriggerCondition)
allowedAssistantSdkAuthProjectIdsWhen using the Assistant SDK (Embedded Assistant API), the project id used to authenticate the gRPC request is checked and must match against the project id of the Device Model. We will additionally allow the project ids listed in the device model here to be let through. See https://docs.google.com/document/d/1InAczpQJs6LCH1l–2yy67JM9hsBJbiL57fusnL3A8AAssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.list(String)
appCapabilitiesFromDeviceInstallAppsLoad the assistant.api.AppCapabilities from DEVICE_INSTALLED_APP footprint corpus. See go/edoras-geller.AssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.boolean
cloudDeviceActionEndpointUses this endpoint for device action fulfillment when there’s no endpoint in syndication_metadata. 1p surfaces/devices such as telephone can enable this for its cloud action fulfillment without enabling the whole syndication experience.AssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.AssistantDevicesPlatformProtoCloudEndpoint
deviceActionsEligibleForHighConfidenceSignals that the model will have updated ranking behavior as described in https://docs.google.com/document/d/1SN_AgadRr_cdIrFe-qgRbIX2J1sOE7lcRXAvM1GUPoU.AssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.boolean
forceSignInMake Google sign-in mandatory for using Google Assistant on the device. (This bit is initially added for Samsung TV.)AssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.boolean
forceThirdPartyDeviceIdForDeviceLookupWhen looking up device (for example for disclosure consent check), then always use the third party device id for lookup instead of any other device id which would normally have higher precedence, such as cast_device_id.AssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.boolean
forceTransactionsAuthenticationAdds “transactions.AUTHENTICATION” for car automation probers. Since the probers run as Assistant SDK requests, voice match always fails for car automation requests, so we add this client op as a hack to allow probers to appear as personal devices and bypass voice match. See b/137221645.AssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.boolean
hasCustomSearchResultsRenderingSignals that this device can “render” raw search results even with no screen (e.g., using a text reader). If this is true, fallback search results can be returned as a custom device action in a SearchResults message. http://google3/assistant/embedded/proto_translation/utils/proto/search_results.protoAssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.boolean
overrideProjectIdForDeviceLookupWhen looking up device (for example for disclosure consent check), use this project id as part of the primary key for the device lookup (i.e. instead of the device_config.agent_id.) The precedence is as follows: 1) this field, if set for the device’s device model 2) device_config.agent_id 3) device_model.project_idAssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.String
stadiaAssistantConfigAssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.AssistantDevicesPlatformProtoInternalCapabilityStadiaAssistantConfig
telephoneAttributionTelephone server is able to send attribution to user feature phone. See go/telephone-attribution.AssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.boolean
stadiaPlatformAssistantDevicesPlatformProtoInternalCapabilityStadiaAssistantConfigThe StadiaAssistantConfig. This field should only be set if the device model is a Stadia.String
maxValueAssistantDevicesPlatformProtoIntValueSpecString
minValueAssistantDevicesPlatformProtoIntValueSpecString
valuesAssistantDevicesPlatformProtoOptionValueSpeclist(String)
nameAssistantDevicesPlatformProtoProvidedDataProvided data which augments the device action capabilities. Some built-in intents may require additional configuration to be provided. One example could be the list of channels available for the `action.intent.SelectChannel` intent.String
clientOpPropertyAssistantDevicesPlatformProtoProviderOpenCapabilityAssistantApiClientOpPropertiesProviderOpenClientOpProperty
maxAssistResponseSizeBytesMax size in bytes of the total serialized AssistResponse receivable by the client. If response exceeds this max, response may be modified by the server.AssistantDevicesPlatformProtoResponseLimitsSpecifies the size limits on responses receivable by the client.integer
maxDisplayLinesBytesMaximum size in bytes (not characters) of text the display can handle (which may be different from how much the display can show at a time due to scrolling).AssistantDevicesPlatformProtoResponseLimitsSpecifies the size limits on responses receivable by the client.integer
maxSuggestionChipBytesMaximum size in bytes (not characters) for each suggestion chip.AssistantDevicesPlatformProtoResponseLimitsSpecifies the size limits on responses receivable by the client.integer
maxSuggestionChipsMaximum number of suggestion chips the device can handle to display.AssistantDevicesPlatformProtoResponseLimitsSpecifies the size limits on responses receivable by the client.integer
authMechanismForRemoteRequestsSpecifies auth mechanism to be used upon remote request for device action.AssistantDevicesPlatformProtoSecurityConfigEncapsulates security configuration for a single intent of a device model.String
callCall|call_call| specifies the support for the call.CALL clientop, and the corresponding call_call field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoCallCallCapability
clientReconnect|client_reconnect| indicates support for client.RECONNECT using assistant.embedded.v1.DeviceOp. There is an alternative API/capability for client.RECONNECT specified in RoutineCapability.supports_reconnect. Client should choose between this and RoutineCapability but not both.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoClientReconnectCapability
coreDismissAssistant[core_dismiss_assistant] specifies the support for core.DISMISS_ASSISTANT client_op and the corresponding core_dismiss_assistant field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoCoreDismissAssistantCapability
deviceModifySetting|device_modify_setting| specifies the support for device.MODIFY_SETTING client_op, and the corresponding device_modify_setting field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoDeviceModifySettingCapability
deviceTakePhoto[device_take_photo] specifies the support for the device.TAKE_PHOTO clientop, and the corresponding device_take_photo field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoDeviceTakePhotoCapability
executionWait|execution_wait| specifies the support for execution.WAIT client_op, and the corresponding execution_wait field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoExecutionWaitCapability
getHealthObservation|get_health_observation| specifies the support for get_health_observation client_op, and the corresponding get_health_observation field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoGetHealthObservationCapability
mediaNextAssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoMediaNextCapability
mediaPauseAssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoMediaPauseCapability
mediaPlayMediaAssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoMediaPlayMediaCapability
mediaPreviousAssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoMediaPreviousCapability
mediaResumeAssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoMediaResumeCapability
mediaShowControlsAssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoMediaShowControlsCapability
mediaStopAssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoMediaStopCapability
providerFulfill|provider_fulfill| specifies the support for provider.FULFILL client_op, and the corresponding provider_fulfill field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoProviderFulfillCapability
providerOpen|provider_open| specifies the support for provider.OPEN client_op, and the corresponding provider_open field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoProviderOpenCapability
sendChatMessage|send_chat_message| specifies the support for the chat_message.SEND clientop, and the corresponding send_chat_message field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoSendChatMessageCapability
uiShowInterpreter|ui_show_interpreter| specifies the support for ui.SHOW_INTERPRETER client_op, and the corresponding ui_show_interpreter field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoUiShowInterpreterCapability
maxSupportedExtendedTimerDurationMaximum extended timer duration supported by the client. The extended timer duration is the total start-to-finish duration after an AddTimeToTimer operation. E.g. if a user sets a timer for 30 minutes, and later adds 10 minutes, the extended duration is 40 minutes. Zero or unset indicates no maximum limit.AssistantDevicesPlatformProtoTimerCapabilityCapability with regard to support of timers by the client.AssistantApiDuration
maxSupportedTimerDurationMaximum timer duration supported by the client. Zero or unset indicates no maximum limit.AssistantDevicesPlatformProtoTimerCapabilityCapability with regard to support of timers by the client.AssistantApiDuration
maxSupportedTimersMaximum number of timers that can be created on the client. Zero or unset indicates no maximum limit.AssistantDevicesPlatformProtoTimerCapabilityCapability with regard to support of timers by the client.integer
supportsMutateActionWhether the client supports the MUTATE timer action. If this is false, mutate operations may be handled by sending a pair of REMOVE and CREATE timer actions to replace the existing timer instead of mutating it.AssistantDevicesPlatformProtoTimerCapabilityCapability with regard to support of timers by the client.boolean
simpleTtsA simple TTS to play.AssistantDevicesPlatformProtoTriggerConditionA TriggerCondition is described as a set of states which must be met by the device. It also includes instructions to the Assistant on what kind of response to execute when the condition is not met.String
statusRefers to a defined ConditionalResult keyed by its status. It could be a built-in or custom ConditionalResult for this Intent. Note: the states provided by the device MUST contain all of the states required by the ConditionalResult.AssistantDevicesPlatformProtoTriggerConditionA TriggerCondition is described as a set of states which must be met by the device. It also includes instructions to the Assistant on what kind of response to execute when the condition is not met.String
supportsStructuredTtsSpecifies whether client supports out-of-band TTS synthesis. When this is enabled, client could receive TTS request message in `SpeechOutputArgs.structured_tts` which it can then use to make request to S3 for synthesizing TTS audio.AssistantDevicesPlatformProtoTtsOutputCapabilityCapabilities with regard to support of outputting TTS.boolean
nluLevelSpecifies the NLU level for the intent.AssistantDevicesPlatformProtoUnderstandingConfigSpecifies the NLU level that Google performs, which determines the request format sent to the 3P cloud.String
typeAssistantDeviceTargetingDeviceTargetingErrorThe information associated with an error while selecting the target device. Next ID: 2String
streamsAll active media streams while the user issues the query.AssistantLogsAllMediaStreamLoglist(AssistantLogsMediaStreamLog)
targetStreamThe stream selected by stream transfer logic to be transferred to another device. It will be empty for other features. Target_stream is different from target_device since target_stream could have multiple devices.AssistantLogsAllMediaStreamLogAssistantLogsMediaStreamLog
ambiguousDeviceIndexDevice index of the initial ambiguous devices. The device index in this message is consistent with the device index in DeviceInfoLog. It would be used to track more detailed information of a device if needed.AssistantLogsAmbiguousTargetDeviceLogThis message logs details on ambiguous device targeting logic. 1. It first takes a list of ambiguous devices 2. Then applies two filters: structure filter and playability filter. 3. If more than one device remains, it tiggers DeviceSelectionDialog to let the user pick one device.list(integer)
devicesAfterPromotersDeviceInfo for devices after the filters and promoters. – When device targeting is only configured for single target, these are ambiguous devices that would have been the output of Lumos. Downstream may perform extra check before disambiguation dialog. For example, Media Initiation checks playability for devices. The output here is before the check. – When configured for multi-target, these are just the target devices. For privacy consideration, we may only log device id field inside.AssistantLogsAmbiguousTargetDeviceLogThis message logs details on ambiguous device targeting logic. 1. It first takes a list of ambiguous devices 2. Then applies two filters: structure filter and playability filter. 3. If more than one device remains, it tiggers DeviceSelectionDialog to let the user pick one device.list(AssistantLogsDeviceInfoLog)
finalTargetDevicethe final targeted device selected by playability filter or DeviceSelectionDialogAssistantLogsAmbiguousTargetDeviceLogThis message logs details on ambiguous device targeting logic. 1. It first takes a list of ambiguous devices 2. Then applies two filters: structure filter and playability filter. 3. If more than one device remains, it tiggers DeviceSelectionDialog to let the user pick one device.AssistantLogsDeviceInfoLog
playabilityFilteredDevicesIndexDevice index of the devices after playability filterAssistantLogsAmbiguousTargetDeviceLogThis message logs details on ambiguous device targeting logic. 1. It first takes a list of ambiguous devices 2. Then applies two filters: structure filter and playability filter. 3. If more than one device remains, it tiggers DeviceSelectionDialog to let the user pick one device.list(integer)
puntInfoLogWhen there is no qualified devices after playability check, it would populate punt_info below. If all devices are filtered out for the same reason, there would only be one item. Otherwise, there will be multiple items.AssistantLogsAmbiguousTargetDeviceLogThis message logs details on ambiguous device targeting logic. 1. It first takes a list of ambiguous devices 2. Then applies two filters: structure filter and playability filter. 3. If more than one device remains, it tiggers DeviceSelectionDialog to let the user pick one device.list(AssistantLogsAmbiguousTargetDeviceLogPuntInfoLog)
structureFilteredDeviceIndexDevice index of the devices after structure filterAssistantLogsAmbiguousTargetDeviceLogThis message logs details on ambiguous device targeting logic. 1. It first takes a list of ambiguous devices 2. Then applies two filters: structure filter and playability filter. 3. If more than one device remains, it tiggers DeviceSelectionDialog to let the user pick one device.list(integer)
deviceIndexIndex of devices that have the same punt info during playability check, i.e. same media_excuse and provider_mid.AssistantLogsAmbiguousTargetDeviceLogPuntInfoLogPuntInfoLog is used to log why devices get filtered out during media content playability check. It contains media excuse, provider mid and also index of devices filtered by them.list(integer)
mediaExcuseExcuse for media action triggering. See: assistant/verticals/media/proto/media_excuse.proto.AssistantLogsAmbiguousTargetDeviceLogPuntInfoLogPuntInfoLog is used to log why devices get filtered out during media content playability check. It contains media excuse, provider mid and also index of devices filtered by them.integer
providerMidProvider id that the excuse belongs to. This is the KG MID of the provider, e.g., “/m/09jcvs” for Youtube.AssistantLogsAmbiguousTargetDeviceLogPuntInfoLogPuntInfoLog is used to log why devices get filtered out during media content playability check. It contains media excuse, provider mid and also index of devices filtered by them.String
localNetworkIdDiffThe diff between AvailableDevice and CTF for the local network ID of the device.AssistantLogsAvailableDeviceAndCtfContextDiffLogA list of per-device contexts and their respective diffs between AvailableDevice and CTF.String
locationFeatureDiffThe diff between AvailableDevice and CTF for the feature proto of the location of the device.AssistantLogsAvailableDeviceAndCtfContextDiffLogA list of per-device contexts and their respective diffs between AvailableDevice and CTF.String
availableDeviceInfoLogAssistantLogsAvailableDevicesLogContains the available devices in DeviceTargetingContext.list(AssistantLogsDeviceInfoLog)
rawContactInfoThis list provides account information from the raw contact which is the source of this field.AssistantLogsCommunicationDeviceContactInfoLogThis is the log version of apps.people.oz.external.mergedpeopleapi.DeviceContactInfo Next ID: 2list(AssistantLogsCommunicationRawDeviceContactInfoLog)
relativeCostAssistantLogsCommunicationFuzzyNgramMatchLogThis is the log version of fuzzy ngram match results that’s used for generating the best fuzzy match. Next ID: 3number
typeAssistantLogsCommunicationFuzzyNgramMatchLogThis is the log version of fuzzy ngram match results that’s used for generating the best fuzzy match. Next ID: 3String
emailAssistantLogsCommunicationGoogleAccountProvenanceFrom google3/quality/qrewrite/proto/account_provenance.proto;l=14 We need to copy this as the above proto has Enum field which is not compatible between proto2 and proto3. go/proto2-versus-proto3#enumsString
gaiaIdAssistantLogsCommunicationGoogleAccountProvenanceFrom google3/quality/qrewrite/proto/account_provenance.proto;l=14 We need to copy this as the above proto has Enum field which is not compatible between proto2 and proto3. go/proto2-versus-proto3#enumsString
isDasherAccountAssistantLogsCommunicationGoogleAccountProvenanceFrom google3/quality/qrewrite/proto/account_provenance.proto;l=14 We need to copy this as the above proto has Enum field which is not compatible between proto2 and proto3. go/proto2-versus-proto3#enumsboolean
accountProvenanceGoogle AccountProvenance of the contact.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31AssistantLogsCommunicationGoogleAccountProvenance
commonNameAliasConfidencePopulated if matched_name_type is GIVEN_NAME_ALIAS or FULL_NAME_ALIAS.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31number
conceptIdConcept id for relationships in English, e.g. “Mother” for all non-English locales. It’s only populated for source = RELATIONSHIP.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
deviceContactAttributesInteger value corresponding to DeviceContactExtraMetadata.Attribute enum. http://google3/social/graph/wire/proto/merged_person.proto?l=933&rcl=320308954AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31list(integer)
emailIdCount# emails stored for the contact.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31integer
fuzzyNgramMatchPopulate only if ContactRecognitionAlternate.Source is ‘FUZZY_CONTACT_MATCH’.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31list(AssistantLogsCommunicationFuzzyNgramMatchLog)
gaiaIdContact owner’s gaia id from cs/symbol::symbol:quality_qrewrite.PersonalContactData.shared_contact_owner_gaia_id. Only populated for is_shared = true and non sign-out mode and user is not the owner of the contact(shared contact from other user). This field is not being logged in P2.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
isContactFromSecondaryAccountBoolean value indicating whether selected contact is from different account than the logged in account.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31boolean
isExactMatchIf the contact is matched exactly from the query name.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31boolean
isSharedIf this is a shared contact. This is true in 2 cases: – User is calling their own contacts that have been marked as shared. – User is calling shared contacts from some other user’s contact list. This field is not being logged in P2.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31boolean
isTransliteratedMatchIndicate the contact matches the transliterated query.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31boolean
isVanityContactTrue if the contact is a vanity contact(has email = user’s email address).AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31boolean
isVisibleToGuestsRelationshipIf the lookup was done using relationship which is visible to guests. This value will only be set if lookup was done using relationship. E.g. user has a guest relationship (doctor) -> (John) And user says “call doctor”, then this value will be true.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31boolean
matchedNameTypeThe matched name type of a contact candidate.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
matchedRecognitionAlternateNameAlternate recognition term which was used to match this contact.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
matchedStarlightLookupNameNgram matched by starlight lookup for fuzzy matching in fulfillment. We need this to analyze how many contacts are returned by starlight lookup that is not matched by fuzzy matching. For example, “Komal Dear” is matched to “Komal Dr” by fuzzy match. When doing starlight lookup, “Komal” and “Dr” will be looked up separately. So “Dr xxx” will also be returned. We want to see how often this happens.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31list(String)
metadataPersonMetadata of the selected contact.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31AssistantLogsCommunicationPersonMetadataLog
nameMatchedContactIndexThe indices of the contact in |candidate_contact| whose name matches the |selected_contact_data|. |candidate_contact|: http://google3/logs/proto/assistant/contact.proto?l=111&rcl=306283376 |selected_contact_data|: http://google3/logs/proto/assistant/contact.proto?l=108&rcl=306283376AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31list(integer)
originalQueryNameThe original name in the query as transcribed by ASR.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
phoneInformation regarding the phone endpoints of the selected contact. Currently it is only logged for selected candidate.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31list(AssistantLogsCommunicationPhoneLog)
phoneNumberCount# phone_numbers stored for the contact.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31integer
pkgReferenceTypeEncodes if pkg_person was resolved via a name or relationship reference.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
recognitionAlternateScorePopulate only if ContactRecognitionAlternate.Source is not NONE.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31number
recognitionAlternateSourceRecognition alternative source type. If not none, then it indicates the personal contact data is alternative and how the alternative is fulfilled.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
relationshipMemoryCountThe number of resolved relationship names and contact pointers from Assistant Memory.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31integer
selectedPhoneInformation regarding the selected phone endpoint. Currently it is only logged for selected candidate.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31AssistantLogsCommunicationPhoneLog
shortcutContactInfoShortcut information of the contact.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31MajelContactInformationShortcutInformation
sourceThe contact source of a contact candidate.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
systemContactGroupIdInteger value corresponding to SystemContactGroup enum. http://google3/social/graph/wire/proto/merged_person.proto?l=3151&rcl=320308954AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31list(integer)
whatsappPhoneNumberCountDEPRECATED. Use phone instead. Used before 2020-01-13. Number of phone numbers annotated with Whatsapp.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31integer
deviceContactInfoAssistantLogsCommunicationPersonMetadataLogThis is the log version of apps.people.oz.external.mergedpeopleapi.PersonMetadata Next ID: 2list(AssistantLogsCommunicationDeviceContactInfoLog)
rawDeviceContactInfoThis list provides account information from the raw contact which is the source of this field.AssistantLogsCommunicationPhoneLogThis is the log version of apps.people.oz.external.mergedpeopleapi.Phone proto. Next ID: 3list(AssistantLogsCommunicationRawDeviceContactInfoLog)
typeLabel for phone number in the Contacts app. It can have standard values provided by the app e.g. MOBILE, HOME, WORK etc, but users are allowed to modify. So essentially it becomes user content.AssistantLogsCommunicationPhoneLogThis is the log version of apps.people.oz.external.mergedpeopleapi.Phone proto. Next ID: 3String
accountTypeAccount type of raw contact, e.g. “com.google” or “com.linkedin.android”.AssistantLogsCommunicationRawDeviceContactInfoLogThis is the log version of apps.people.oz.external.mergedpeopleapi.RawDeviceContactInfo proto. Next ID: 3String
defaultSpeakerAssistantLogsDefaultDeviceLogLog device info of default speaker and tvAssistantLogsDeviceInfoLog
defaultTvAssistantLogsDefaultDeviceLogLog device info of default speaker and tvAssistantLogsDeviceInfoLog
sourceDeviceIdAssistantLogsDefaultDeviceLogLog device info of default speaker and tvString
localDefaultDevicesAssistantLogsDefaultDevicesLogAssistantLogsDefaultDeviceLog
nearbyDefaultDevicesDefault settings of nearby devices.AssistantLogsDefaultDevicesLoglist(AssistantLogsDefaultDeviceLog)
deviceIdLogThe identification of the device. The logging version of the full DeviceId.AssistantLogsDeviceAnnotationLogDevice annotation mention from querylist(AssistantLogsSettingsDeviceIdLog)
rawTextFromQueryThe raw text mentioning a device from the query, such as “any tv”.AssistantLogsDeviceAnnotationLogDevice annotation mention from queryString
typeThe annotation type mentioned in the query.AssistantLogsDeviceAnnotationLogDevice annotation mention from queryString
userDefinedNameThe matched device name set by the user, such as “big screen tv”.AssistantLogsDeviceAnnotationLogDevice annotation mention from queryString
arbitrationDeviceIdDevice identifier string for the current device used in the arbitration service.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
availableDeviceAndCtfContextDiffA list of diffs for the device’s context between AvailableDevice and CTF.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19AssistantLogsAvailableDeviceAndCtfContextDiffLog
connectivityAssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
deviceIdThe identification of the device. DeviceId (go/as-device-id) has multiple fields. To consloidate it to a single to make dremel easier, we use the string obtained by calling go/get-device-id.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
deviceIdLogThe identification of the device. The logging version of the full DeviceId.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19AssistantLogsSettingsDeviceIdLog
deviceIndexWe index linked devices and log these index to avoid logging device_id. device_index should always be a positive number or -1. -1 means this device is not in homegraph.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19integer
deviceModelIdThis is the device_model_id field in device_settings proto. It has the same value for the same type of devices. e.g. Sonos.Sonos One.S13AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
distanceLINT.ThenChange(//depot/google3/assistant/context/proto/device_arbitration.proto:EstimatedRelativeDistance)AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
eliminatingLumosProcessorThe lumos processor which eliminated this device, if applicableAssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
homeStructureIdThe home structure id of the device.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
isRemoteAssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19boolean
isTetheredThis flag indicates this is a non-local device that is tethered to local/originating device. Tethered device is a special case of is_remote and typically used in wearable scenarios. This is always false for local device and when it is true, it implies is_remote is also true.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19boolean
mediaCapabilitiesAssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19AssistantLogsMediaCapabilities
mediaDeviceTypeAssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
nameUser defined device nameAssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
sessionsThis field should be populated only when there is at least one session on this device.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19list(AssistantLogsDeviceMediaSessionLog)
surfaceTypeThis field should be populated only when the device is an Assistant device.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
deviceIdAssistantLogsDeviceMediaSessionLogLog about the media session on a device.AssistantApiCoreTypesDeviceId
mediaSessionTypeAssistantLogsDeviceMediaSessionLogLog about the media session on a device.String
mediaTypeThe type of the media session. If provider does not report this field, we ## compute it by mapping provider type to media type. Here is the mapping: |ProviderType |MediaItemMetadata.Type| |————————————– |MUSIC |TRACK | |VIDEO |VIDEO | |LIVE_TV |TV_CHANNEL | |AUDIOBOOK |AUDIO_BOOK | |PODCAST |PODCAST_EPISODE | ## |LIVE_STREAMING|VIDEO |AssistantLogsDeviceMediaSessionLogLog about the media session on a device.String
playbackStateThe playback states of the session.AssistantLogsDeviceMediaSessionLogLog about the media session on a device.String
providerMidThe KG mid of the media provider.AssistantLogsDeviceMediaSessionLogLog about the media session on a device.String
supportedTransportControlAssistantLogsDeviceMediaSessionLogLog about the media session on a device.list(String)
allDefaultDevicesDefault settings of all nearby devices Deprecated, use default_devices_log instead.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23list(AssistantLogsDefaultDeviceLog)
allMediaStreamLogLogs all active media sessions.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsAllMediaStreamLog
availableDevicesLogThe list of `available_devices` as they appear in DeviceTargetingContext. This is very useful for debugging diffs between GB and CMP since they have different methods of populating the `available_devices` field.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsAvailableDevicesLog
counterfactualDeviceSelectionLogDeviceSelectionLog for counterfactual logging.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsDeviceSelectionLog
defaultDevicesInclude default tv and default speaker Deprecated, use all_default_devices below.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsDefaultDeviceLog
defaultDevicesLogAssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsDefaultDevicesLog
devicesStrTemporaray field for debugging ANDROID_AUTO multi_target_devices punt. This will be removed once we identify the root cause.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23list(String)
inputErrorLogAssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23list(AssistantLogsInputErrorLog)
localDeviceNow we just log the media sessions on local device Deprecated, use NearbyDevicesLog::LocalDevice instead.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsDeviceInfoLog
logDataSourceIndicates which library populated the device_selection_log for this query.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23String
mediaFocusThe Media Focus information. This field should be populated only when there is a Media Focus. Deprecated, use media_focuses below instead.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsMediaFocusInfoLog
mediaFocusesLogMedia focuses on all devices.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsMediaFocusesLog
nearbyDevicesLogAll nearby devices and local device.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsNearbyDevicesLog
queryAnnotationThis should log the query annotation features found in the device, such as the device annotation, the room annotation, and the structure annotation from the query.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsQueryAnnotationLog
selectionResultThe result of device selection.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsDeviceSelectionResultLog
testCodesAssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23list(AssistantLogsDeviceTargetingTestCode)
ambiguousTargetDevicesDeprecated, please use qualified_devices.AssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11AssistantLogsAmbiguousTargetDeviceLog
deviceSelectionDecisionSummaryAssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11AssistantLogsMediaDeviceSelectionDecisionSummary
deviceTargetingErrorTypeAssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11String
finalLumosStageThe class name for the final filter/promoter used by Lumos for device targeting. This filter or promoter runs for all users, and contains no data specific to the individual user.AssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11String
lowConfidenceTargetDevice////////////////////////////////////////////////////////////////////////// Ambiguous Results: the library failed to select the final target device(s) but it narrows down to a set of devices which are all valid target device candidates. The client needs to do further disambiguation, e.g., giving a dialog or having customized logic. The low confidence target device means the library falied to select the target device but it picked two devices for the client to do disambiguation.AssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11AssistantLogsLowConfidenceTargetDeviceLog
mediaFocusSelectionErrorType////////////////////////////////////////////////////////////////////////// This field log the error while selecting target device in media_focus_selector.AssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11String
processorInfoThe log for each stage of Lumos, showing the number of eliminated devices from each processor.AssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11list(AssistantLogsLumosProcessorInfo)
qualifiedDevicesWe will apply several filters and dialogs to select a target device if media_focus_selector fail to select one. This field should log the devices left after each filter or dialog. It also log the detailed info of the final target device.AssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11AssistantLogsAmbiguousTargetDeviceLog
singleTargetDevice////////////////////////////////////////////////////////////////////////// Unambiguous Results: the library successfully selected the final target device(s) and no further disambiguation is needed. Deprecated, please use target_device.AssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11AssistantLogsDeviceInfoLog
targetDeviceAssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11AssistantLogsTargetDeviceLog
typeAssistantLogsDeviceTargetingTestCodeTest code is used to track special events happening in Device Targeting Library. Next Id: 2String
errorCodeAssistantLogsInputErrorLoginteger
errorTypeAssistantLogsInputErrorLogString
fallbackDeviceLogThe fallback device.AssistantLogsLowConfidenceTargetDeviceLogRepresents the case where there is a target device with low confidence so that the library didn’t directly target it. Instead, the library returns the low confidence target device and the fallback device for the client to decide to either trigger a dialog to disambiguate or select one of them based on extra business logic. Next ID: 3AssistantLogsDeviceInfoLog
lowConfTargetDeviceLogThe selected low confidence focus device.AssistantLogsLowConfidenceTargetDeviceLogRepresents the case where there is a target device with low confidence so that the library didn’t directly target it. Instead, the library returns the low confidence target device and the fallback device for the client to decide to either trigger a dialog to disambiguate or select one of them based on extra business logic. Next ID: 3AssistantLogsDeviceInfoLog
devicesAfterRunNumber of candidate devices after this stage is run.AssistantLogsLumosProcessorInfointeger
devicesBeforeRunNumber of candidate devices before this stage is run.AssistantLogsLumosProcessorInfointeger
processorNameName of the processor for this stage.AssistantLogsLumosProcessorInfoString
canReceiveRemoteActionAssistantLogsMediaCapabilitiesboolean
hasScreenAssistantLogsMediaCapabilitiesboolean
deviceSelectionPreferenceUsedAssistantLogsMediaDeviceSelectionDecisionSummaryA summary of the reasons that we chose a certain target device.String
deviceSelectionReasonAssistantLogsMediaDeviceSelectionDecisionSummaryA summary of the reasons that we chose a certain target device.String
miscSelectionSignalAssistantLogsMediaDeviceSelectionDecisionSummaryA summary of the reasons that we chose a certain target device.list(String)
dialogTriggeredAssistantLogsMediaFocusesLogFollowing are the MDA compatible loggings for media focus, default settings and nearby devices.boolean
localMediaFocusAssistantLogsMediaFocusesLogFollowing are the MDA compatible loggings for media focus, default settings and nearby devices.AssistantLogsMediaFocusInfoLog
mediaFocusesDeprecated, use nearby_media_focuses instead.AssistantLogsMediaFocusesLogFollowing are the MDA compatible loggings for media focus, default settings and nearby devices.list(AssistantLogsMediaFocusInfoLog)
nearbyMediaFocusesMediaFouces found on nearby devices.AssistantLogsMediaFocusesLogFollowing are the MDA compatible loggings for media focus, default settings and nearby devices.list(AssistantLogsMediaFocusInfoLog)
currentFocusDurationSecHow long the device is in focus so farAssistantLogsMediaFocusInfoLogThe information related to Media Focus. TODO(b/138952173) Deprecate MediaFocusState in logs/proto/majel_gws/media_action_triggering_info.proto and assistant/verticals/media/proto/target_device_info.protointeger
dialogTriggeredTODO(b/134944092) Log MediaFocusDialogTrigger Enum in focus_status.AssistantLogsMediaFocusInfoLogThe information related to Media Focus. TODO(b/138952173) Deprecate MediaFocusState in logs/proto/majel_gws/media_action_triggering_info.proto and assistant/verticals/media/proto/target_device_info.protoboolean
focusDeviceLINT.ThenChange(//depot/google3/logs/proto/majel_gws/media_action_triggering_info.proto) The focus device.AssistantLogsMediaFocusInfoLogThe information related to Media Focus. TODO(b/138952173) Deprecate MediaFocusState in logs/proto/majel_gws/media_action_triggering_info.proto and assistant/verticals/media/proto/target_device_info.protoAssistantLogsDeviceInfoLog
mediaFocusStateThe media focus state at the time of the request.AssistantLogsMediaFocusInfoLogThe information related to Media Focus. TODO(b/138952173) Deprecate MediaFocusState in logs/proto/majel_gws/media_action_triggering_info.proto and assistant/verticals/media/proto/target_device_info.protoString
sourceDeviceIdThe source device of media focus.AssistantLogsMediaFocusInfoLogThe information related to Media Focus. TODO(b/138952173) Deprecate MediaFocusState in logs/proto/majel_gws/media_action_triggering_info.proto and assistant/verticals/media/proto/target_device_info.protoString
deviceIndexThe device index in this message is consistent with the device index in DeviceInfoLog. This field refers to the devices that hosting the session.AssistantLogsMediaStreamLogMedia stream is composed of a media session and one or more devices which are hosting (playing) the session. Usually, a session is only hosted by one devcie. However, with cast group or stream transfer/expansion, a session could be hosted by multiple devices, which are playing the same session simultaneously.list(integer)
sessionAssistantLogsMediaStreamLogMedia stream is composed of a media session and one or more devices which are hosting (playing) the session. Usually, a session is only hosted by one devcie. However, with cast group or stream transfer/expansion, a session could be hosted by multiple devices, which are playing the same session simultaneously.AssistantLogsDeviceMediaSessionLog
deviceArbitrationCreationTimestampMsThe timestamp that DeviceArbitration is created in milliseconds.AssistantLogsNearbyDevicesLogString
deviceTargetingInputCreationTimestampMsThe timestamp that DeviceTargetingInput is built in milliseconds.AssistantLogsNearbyDevicesLogString
eliminatedByFurtherDistanceAssistantLogsNearbyDevicesLoginteger
eliminatedByLocalClosestAssistantLogsNearbyDevicesLoginteger
eliminatedByUnknownDifferentRoomAssistantLogsNearbyDevicesLoginteger
eliminatedByUnregisteredDeviceAssistantLogsNearbyDevicesLoginteger
localDeviceAssistantLogsNearbyDevicesLogAssistantLogsDeviceInfoLog
nearbyDevicesAssistantLogsNearbyDevicesLoglist(AssistantLogsDeviceInfoLog)
numClosestDevicesAssistantLogsNearbyDevicesLoginteger
numEquallyCloseDevicesAssistantLogsNearbyDevicesLoginteger
numFurtherDevicesAssistantLogsNearbyDevicesLoginteger
numHearingDevicesAssistantLogsNearbyDevicesLoginteger
numUnknownDistanceDevicesAssistantLogsNearbyDevicesLoginteger
langAssistantLogsProviderAnnotationLogProvider annotation annotated from the query. These fields contain the detailed information for the provider. (e.g. for Youtube, package_names contains “com.google.android.youtube”, localized_names contains “youtube”, and lang contains “en” from “en-US” which depends on user’s setting.)String
localizedNamesAssistantLogsProviderAnnotationLogProvider annotation annotated from the query. These fields contain the detailed information for the provider. (e.g. for Youtube, package_names contains “com.google.android.youtube”, localized_names contains “youtube”, and lang contains “en” from “en-US” which depends on user’s setting.)list(String)
packageNamesAssistantLogsProviderAnnotationLogProvider annotation annotated from the query. These fields contain the detailed information for the provider. (e.g. for Youtube, package_names contains “com.google.android.youtube”, localized_names contains “youtube”, and lang contains “en” from “en-US” which depends on user’s setting.)list(String)
deviceAnnotationDeprecated, please use room_annotations.AssistantLogsQueryAnnotationLogLog about the query requirementsAssistantLogsDeviceAnnotationLog
deviceAnnotationsLog the device annotations mentioned in the query.AssistantLogsQueryAnnotationLogLog about the query requirementslist(AssistantLogsDeviceAnnotationLog)
providerAnnotationLog the provider annotations annotated from the query.AssistantLogsQueryAnnotationLogLog about the query requirementsAssistantLogsProviderAnnotationLog
roomAnnotationTODO(b/171250187) Deprecates the optional RoomAnnotationLog and DeviceAnnotationLog. Deprecated, please use device_annotations.AssistantLogsQueryAnnotationLogLog about the query requirementsAssistantLogsRoomAnnotationLog
roomAnnotationsLog the room annotations mentioned in the query.AssistantLogsQueryAnnotationLogLog about the query requirementslist(AssistantLogsRoomAnnotationLog)
structureAnnotationsLog the structure annotations mentioned in the query.AssistantLogsQueryAnnotationLogLog about the query requirementslist(AssistantLogsStructureAnnotationLog)
createdSecondsAgoThe reminder is created N seconds ago. This helps tracking how the user issues follow-up actions after reminder is created. For example, whether the user likes to issues another [show reminders] query right after reminder is created?AssistantLogsReminderLogAnnotate a single reminder instance.String
retrievedRankingClassIf the reminder is retrieved by a ranking class (see go/opa-reminders-ranker), this will be populated with the class info. Refer to assistant.productivity.ReminderRankingClass.RankingType. Since that proto is in proto2 format, we can only wire by int type.AssistantLogsReminderLogAnnotate a single reminder instance.integer
rawTextFromQueryThe raw text mentioning a room from the query, such as “my living room”.AssistantLogsRoomAnnotationLogRoom annotation mentioned in query.String
roomCountThe number of rooms annotated, if there are multiple structures. They are guaranteed to have the same text_from_query and name due to exact matching.AssistantLogsRoomAnnotationLogRoom annotation mentioned in query.integer
roomIdThe identification of the room.AssistantLogsRoomAnnotationLogRoom annotation mentioned in query.list(String)
typeThe annotation type mentioned in the query.AssistantLogsRoomAnnotationLogRoom annotation mentioned in query.String
userDefinedNameAssistantLogsRoomAnnotationLogRoom annotation mentioned in query.String
agsaClientInstanceIdThe client_instance_id on devices with GSA. See ‘client_instance_field’ in go/androidids.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
alloDeviceIdAllo Id. Corresponds to the GBotRequest.Sender.sender. This ID type should be deprecated by now, yet we’ve observed it serving prod traffic in GB.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
canonicalDeviceIdA unique device ID for Assistant devices as proposed by go/ocelot-team.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
castDeviceIdIf set, indicates that the device is a cast device, and contains the UUID of the cast device. Corresponds to the device_id field of the CastDevice proto.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
clientInstanceIdDUSI (go/dusi) is used as the identifier here. This identifier is unique to the user and device. This will help identify which device or application the user’s request originated from. This is not to be confused with the client_instance_id that android devices provide. This is currently used by surfaces that use the assistant-legacy-nexus and assistant-legacy-clockwork pipelines. DUSI is created and set in S3. This field is only filled for GAIA requests.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
deviceConfigIdThe unique DeviceConfig to the specific third party device. It is also used by Android Auto Embedded first party device. See go/opa-ids.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
homeGraphDeviceIdThe unique device ID for HomeGraph devices. This is the HomeGraph ID, created when the device is registered into HomeGraph. It is immutable for the same device unless it is completely deleted and recreated. See go/home-graph for details. }AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
libassistantDeviceIdThe unique ID for libassistant based devices.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
opaIosDeviceIdThe unique device ID for the Assistant App on iOS. See go/opa-ios-design for details.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
rawTextFromQueryThe raw text mentioning a structure from the query, such as “my house”.AssistantLogsStructureAnnotationLogStructure annotation mentioned in query.String
structureIdThe identification of the structure.AssistantLogsStructureAnnotationLogStructure annotation mentioned in query.list(String)
typeThe annotation type mentioned in the query.AssistantLogsStructureAnnotationLogStructure annotation mentioned in query.String
userDefinedNameAssistantLogsStructureAnnotationLogStructure annotation mentioned in query.String
devicesAssistantLogsTargetDeviceLogRepresents the case where the library successfully selects the target device. It could be one or multiple devices. Next ID: 4list(AssistantLogsDeviceInfoLog)
lowConfidenceReasonAssistantLogsTargetDeviceLogRepresents the case where the library successfully selects the target device. It could be one or multiple devices. Next ID: 4String
resultConfidenceLevelAssistantLogsTargetDeviceLogRepresents the case where the library successfully selects the target device. It could be one or multiple devices. Next ID: 4String
deviceNameAssistantPfrDeviceRdMetadataString
deviceTypesAssistantPfrDeviceRdMetadatalist(String)
effectiveArgSpanLengthAssistantPfrDeviceRdMetadatanumber
hasAmbiguousResolutionsTrue if there are more than one possible resolutions to the RD.AssistantPfrDeviceRdMetadataboolean
hasResolvedDeviceIdTrue if there’s at least one device id that gets resolved. Note this is different from is_grounded = true: it is possible that is_grounded = false (num_grounded_args =0) but there is resolved device ids. E.g.: “turn on the blue light” Power_on(device_object = [d1, d2]:RD(category=DeviceObject(name=’blue light’)) where there are “blue light 1” and “blue light 2” hence two resolved device ids. But since the quantifier is single, GB can’t resolve the ambiguity and would set num_grounded_args = 0 to indicate such unresolved ambiguity.AssistantPfrDeviceRdMetadataboolean
roomNameAssistantPfrDeviceRdMetadataString
deviceRdMetadataEach DeviceRdMetadata represents one device RD (device slot) in the intent. Note that each device RD could have multiple device groundings inside of it.AssistantPfrSmartHomeIntentMetadataUsed by the Smarthome Business Rules twiddler to determine whether to replace the top-scoring Smarthome intent with another.list(AssistantPfrDeviceRdMetadata)
intentNameAssistantPfrSmartHomeIntentMetadataUsed by the Smarthome Business Rules twiddler to determine whether to replace the top-scoring Smarthome intent with another.String
isExactMatchWhen num_constraints == num_constraints_satisfied, indicating all slot matchings are exact match.AssistantPfrSmartHomeIntentMetadataUsed by the Smarthome Business Rules twiddler to determine whether to replace the top-scoring Smarthome intent with another.boolean
isGroundedWhen num_grounded_args > 0, indicating there is at least one top-level argument is grounded.AssistantPfrSmartHomeIntentMetadataUsed by the Smarthome Business Rules twiddler to determine whether to replace the top-scoring Smarthome intent with another.boolean
fingerprintAssistantPfrTiebreakingMetadataFeatures used by the PrefulfillmentRanker’s scorer exclusively to break ties.String
sortedNameStringAssistantPfrTiebreakingMetadataFeatures used by the PrefulfillmentRanker’s scorer exclusively to break ties.String
fulfillableDominantMediaWhether this is a fulfillable, dominant Media intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
generatedByLegacyAquaDomainWhether or not the intent was generated by a legacy Aqua domain that PFR should care about.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
hasAnswerGroupWhether the interpretation has a Search answer group object, signifying it came from Search resolution.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
subIntentTypeAssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74String
isIntentFromOrbitWhether the intent is from ORBIT.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
usesGroundingBoxWhether the interpretation should run through grounding box or not.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
effectiveArgSpanLengthThe total effective length of the spans for the arguments used to construct the parse. May include vertical specific adjustments. Eg: For the query [delete my 7 p.m. alarm called chicken] and intent Delete_alarm(alarm_object=RD(category=AlarmObject( label=”chicken”, trigger_time_datetime=<< 7 PM >>))), the effective argument span is “7 p.m.” + “chicken” (total length of 13).AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74number
phaseQuery understanding phase the intent was produced in.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74String
isFullyGroundedWhether the intent is fully grounded.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isSageInNageIntentWhether the intent is produced by the Sage IntentGenerator invoked by the NSP intent-generator (thus, Sage-in-NSP-invoking_Sage, or Sage-in-Nage).AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isSageDisabledIntentWhether the intent is an intent marked disabled by the Sage IG.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
deepMediaDominantWhether the intent is dominant according to NSP deep-media.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isVideoIntentWhether the intent is a media object video intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
parsingScoreMse8BucketIdA ID corresponding to which bucket a given parsing score belongs in.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74integer
predictedIntentConfidenceIntent confidence predicted by the AssistantVerticalClassifier QRewrite servlet.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74number
nspIntentParseScoreParse score generated by NSP. If NSP intent has been pruned due to dededuplication, It will have highest parse score for deduplicated intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
numConstraintsSignals as proposed in go/improved-grounding-signals. Sum of the number of constraints used by the Grounding Box to ground each variable.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
isPodcastIntentWhether the intent is a podcast intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isDummyIntentAssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isScoreBasedIntentWhether this intent is a score-based intent, relying on PFR for scoring and pruning to the top intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
platinumSourceWhether the intent comes from the Sage IntentGenerator’s “platinum” source, signifying high-confidence in quality.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
nspRankRank of the intent as reported by NSP.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74integer
dominantIndicates interpretation dominance predicted by KScorerAssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isRadioIntentWhether the intent is a PlayMedia radio intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
searchDispatchThe determination made by the SearchDispatchingConfig as to whether and how this interpretation should be dispatched to Search.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74String
isHighConfidencePodcastIntentUsed for PFR manual rule to prefer high confidence podcast intent (e.g. topical, genre) over generic podcast intents.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
calibratedParsingScoreA parsing score that is independently calibrated by each parser/IG.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
intentNameAuisScoreExpAssistant User Interaction Score which is aggregated using intent name from exp laelaps.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
inQueryMaxEffectiveArgSpanLengthThis is a cross-intent feature which is calculated by iterating all intent candidates. This feature should be populated in post-IG stage (before GB).AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74number
pq2tVsAssistantIbstCosineCosine similarity between predicted query-to-term model and assistant intent-type-based salient terms. This is intended to be only used for ACE ranking and only populated for assistant traffic.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
isTvmIntentWhether the intent is a media object tvm intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
numGroundedArgsNumber of grounded arguments the intent has, populated by the Grounding Box.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
numGroundableArgsGrounding Signals. Number of groundable arguments the intent has, populated by the Grounding Box.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
intentTypeintent_type differentiates between intents that share the top level intent name. For eg: for TV_FALLBACK_SEARCH_INTENT, the top level intent name must be “Find_media” and the media_object argument within it must be of type “Media_unspecified”.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74String
pq2tVsIbstCosineCosine similarity between predicted query-to-term model and intent-type-based salient terms. This is intended to be used as a backoff to pq2t_vs_qibst_cosine if it is missing.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
isNspIntentWhether this interpretation was genearted by NSP.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isSageIntentWhether this intent was generated by Sage.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
intentNameAuisScoreQUS intent-based ranking signals. Assistant User Interaction Score which is aggregated using intent name.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
kScoreUsed for PFR manaul rule to prefer high kscore radio intent. The k-score comes from twiddled_ranking_scores in query interpretations.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74number
isAquaMediaIntentWhether the intent aqua intent from media domain enabled in QBTAssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isValidSmarthomeIntentWhether the intent is a Smarthome-domain intent with valid device arguments.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
tiebreakingMetadataAssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74AssistantPfrTiebreakingMetadata
smarthomeIntentMetadataSmartHome intent metadata used for the SmartHome business-rules twiddler.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74AssistantPfrSmartHomeIntentMetadata
numConstraintsSatisfiedSum of the number of constraints satisfied for each variable. Depending on the match score for a constraint, this number can be fractional and is in the range [0, num_constraints]. Populated by the Grounding Box.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
isMediaControlIntentWhether the intent is a media control intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isPodcastGenericIntentUsed for PFR manual rule to prefer high confidence podcast intent (e.g. topical, genre) over generic podcast intents.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
maxHgrScoreAcrossBindingSetsThe maximum score assigned by the Horizontal Grounding Ranker (HGR) across all of the intent’s binding sets.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
intentNameintent_name is used by PFR ensemble model. See go/pfr_ha_launch_docAssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74String
kscorerRankThe rank order of the interpretation as determined by kscorer. The kscorer-determined dominant interpretation, if any, gets a rank of 0. The remaining N interpretations get a rank of 1 through N.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74integer
isPlayGenericMusicWhether the intent is a PlayGenericMusic-type intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
name[REQUIRED] The name of the list item.AssistantProductivityListItemA message to represent an item in a list. Just a basic string for now, but extensible for the future.String
idREQUIRED. An unique identifier for the attachment. We have a plan to index this field, so it’s marked as REQUIRED. Chat with opa-reminders-eng@ if you have a use case without an attachment ID.AssistantRemindersAttachmentProto descrbing an attachment to an Assistant Reminder. If the attachment has different behavior on different surfaces (e.g., deeplinks), there will be multiple attachments attach to the Reminder. Each of them will specify the surface type and the corresponding deeplink.String
linkAssistantRemindersAttachmentProto descrbing an attachment to an Assistant Reminder. If the attachment has different behavior on different surfaces (e.g., deeplinks), there will be multiple attachments attach to the Reminder. Each of them will specify the surface type and the corresponding deeplink.AssistantRemindersAttachmentLink
surfaceTypeREQUIRED. Surface types this attachment should be shown.AssistantRemindersAttachmentProto descrbing an attachment to an Assistant Reminder. If the attachment has different behavior on different surfaces (e.g., deeplinks), there will be multiple attachments attach to the Reminder. Each of them will specify the surface type and the corresponding deeplink.list(String)
linkUrlREQUIRED. The link to surface to frontends (e.g., Hubpage, notifications.) This could also be a surface-specific deeplink (be sure to set `surface_type` accordingly.)AssistantRemindersAttachmentLinkString
notificationTextREQUIRED. The text for the notification link button. Note: We cannot take nlp_generation.TemplateData yet due to cyclic dependency. The plan is to cut dependency from TemplateData to quality.actions.Reminder. DEPRECATED. No longer used as part of the notification flow.AssistantRemindersAttachmentLinkAssistantRemindersNlgTemplateKey
hasReferencedEntityAtCreationWhether the reminder created has a referenced_entity attached to it or not(go/hub-memory-payload). Since we plan to set this in Assistant reminder creation path flow, in case later the referenced_entity is removed from the reminder, then this bit might still remain true. Also in case referenced_entity is later added to reminder(for example when referenced_entity is attached by Server), then also this bit might remain false. This bit will be used to *guess* if the user has a memory-enabled AGSA, thus we’ll surface the “open memory” button on hubpage. This check is not perfect, as the user might have other phones with older AGSA, so this is just a *best guess*. This field won’t be stored in Memory backend, and will not be populated back when retrieving reminders.AssistantRemindersMemoryPayloadSince this is stored in BE, any update on this proto needs LGTM by ARIS storage ownerboolean
recordIdId of record that is associated with Reminder. This will be set for all Assistant reminders created after the first launch of the Reminder Memory integration, see go/reminders-memory for more details. Also, this might apply to all other types of reminders.AssistantRemindersMemoryPayloadSince this is stored in BE, any update on this proto needs LGTM by ARIS storage ownerString
messageSetREQUIRED.AssistantRemindersNlgTemplateKeyEquivalent to nlp_generation.TemplateKey. We cannot use nlp_generation.TemplateKey message directly becasue that proto is defined in a relatively large proto and has other dependencies, which will increase the size unnecessary and might hit many limitations (e.g., 5MiB limitation for Spanner type environment.).String
templateNameREQUIRED.AssistantRemindersNlgTemplateKeyEquivalent to nlp_generation.TemplateKey. We cannot use nlp_generation.TemplateKey message directly becasue that proto is defined in a relatively large proto and has other dependencies, which will increase the size unnecessary and might hit many limitations (e.g., 5MiB limitation for Spanner type environment.).String
hasLocationInterpretationWhether the nickname could also refer to a location. For example, “walmart”, “starbucks”.AssistantTeleportTeleportNicknameSignalsboolean
installInfoIndicates whether the user has the app installed.AssistantTeleportTeleportNicknameSignalsString
isGenericTrue when the name is generic, i.e when it could refer to multiple packages from different developrs. For example, “mail” is considered a generic name (since it can refer to “gmail”, “yahoo mail” etc.) but “facebook” although could refer to both “facebook” and “facebook lite” is not considered generic (both packages are from the same third party).AssistantTeleportTeleportNicknameSignalsboolean
nicknameTierThe tier of the nickname.AssistantTeleportTeleportNicknameSignalsString
sourceAssistantTeleportTeleportNicknameSignalsString
matchScoreNeural contact match similarity score.AssistantVerticalsCommonContactMatchSignalNeural contact match signals.number
contextIdActions-on-Google action context ID. See go/sdm-hospitality-design.AssistantVerticalsHomeautomationProtoActionProjectConfigMetadata for Actions-on-Google configuration.String
agentIdThe agent’s ID. Generally it is the agent’s Google pantheon project id.AssistantVerticalsHomeautomationProtoAgentDeviceIdAn agent + device pair that uniquely identifies a device.String
deviceIdDevice ID defined by the agent.AssistantVerticalsHomeautomationProtoAgentDeviceIdAn agent + device pair that uniquely identifies a device.String
authTypeAssistantVerticalsHomeautomationProtoAgentInformationAgentInformation represents the details needed to support both 1P and 3P partnerships for Home Automation. Next ID: 7String
deviceSourceAssistantVerticalsHomeautomationProtoAgentInformationAgentInformation represents the details needed to support both 1P and 3P partnerships for Home Automation. Next ID: 7String
executionPathAssistantVerticalsHomeautomationProtoAgentInformationAgentInformation represents the details needed to support both 1P and 3P partnerships for Home Automation. Next ID: 7String
idUnique Agent ID which maps to a specific Agent. Not using Agent Name here as it may change over time.AssistantVerticalsHomeautomationProtoAgentInformationAgentInformation represents the details needed to support both 1P and 3P partnerships for Home Automation. Next ID: 7String
keyAgent’s foreign key that uniquely identifies a user’s device.AssistantVerticalsHomeautomationProtoAgentInformationAgentInformation represents the details needed to support both 1P and 3P partnerships for Home Automation. Next ID: 7String
structureBasedRoutineAssistantVerticalsHomeautomationProtoAttributeProtos representing device or structure attributes. See go/hgs-attributes-protos. Only protos approved and formalized by assistant/HG team should be added here.AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutine
attributeProtosAssistantVerticalsHomeautomationProtoAttributesLINT.IfChange(proto_attributes)list(AssistantVerticalsHomeautomationProtoAttribute)
enabledAssistantVerticalsHomeautomationProtoCommonEventTriggerLINT.IfChange(proto_event_trigger) Next id: 5boolean
eventTriggerPayloadDetailed settings for the event trigger; unset if not applicable.AssistantVerticalsHomeautomationProtoCommonEventTriggerLINT.IfChange(proto_event_trigger) Next id: 5map
eventTriggerTypeDifferent event type may have different settings. For example: * SCHEDULED will have event_trigger_payload of cs/symbol:assistant.verticals.voice_shortcut.proto.Schedule * LOCATION will have event_trigger_payload of cs/symbol:assistant.verticals.voice_shortcut.proto.LocationTriggerEventAssistantVerticalsHomeautomationProtoCommonEventTriggerLINT.IfChange(proto_event_trigger) Next id: 5String
triggerSourceUnique identifier for the EventTrigger, e.g. SCHEDULED_ROUTINES. See the enum values of cs/symbol:WorkflowTriggerInput.TriggerSourceAssistantVerticalsHomeautomationProtoCommonEventTriggerLINT.IfChange(proto_event_trigger) Next id: 5integer
enabledWhether this Routine is enabled or not. If false, then this Routine can’t be triggered by Voice.AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.boolean
googlePreconfigWorkflowIdThe unique identifier for a class of workflows. For example: * “sbr_001” => Away * “sbr_002” => Home * “category_template” => CUSTOMAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.String
languageAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.String
payloadInternal format payload primarily for Routines team use.AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.map
securityLevelThe security level of the Structure Based Routine as determined by the most security-sensitive task.AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.String
sharedAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.boolean
storagePayloadAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.map
structureIdAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.String
triggersVoice or event triggers.AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.list(AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineTrigger)
typeAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.String
uiPayloadUI format payload primarily for external team use.AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.map
eventTriggerAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineTriggerNext id: 3AssistantVerticalsHomeautomationProtoCommonEventTrigger
voiceTriggerAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineTriggerNext id: 3AssistantVerticalsHomeautomationProtoCommonVoiceTrigger
queryAssistantVerticalsHomeautomationProtoCommonVoiceTriggerLINT.IfChange(proto_voice_trigger) Next id: 2String
conciergeProductFeaturesAssistantVerticalsHomeautomationProtoConciergeFeaturesThe Concierge features a structure is eligible for. See {@link home.graph.common.ConciergeFeatures}.list(String)
annotatedSpanDeviceThe query span for device mention.AssistantVerticalsHomeautomationProtoDeviceTargetingOutputQueryInfoNext ID: 5String
annotatedSpanRoomThe query span for room mention.AssistantVerticalsHomeautomationProtoDeviceTargetingOutputQueryInfoNext ID: 5String
annotatedSpanStructureThe query span for structure mention.AssistantVerticalsHomeautomationProtoDeviceTargetingOutputQueryInfoNext ID: 5String
processedMentionedSpanThis field is from query_info.processed_mentioned_span in DTO.AssistantVerticalsHomeautomationProtoDeviceTargetingOutputQueryInfoNext ID: 5String
supportedStructureFeaturesThe features that are available for a structure. Will only be populated if the item_type == STRUCTURE.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45AssistantVerticalsHomeautomationProtoSupportedStructureFeatures
traitRoutingHintsFor SHED devices, some traits can only be executed on 3P cloud, e.g. “action.devices.traits.MediaInitiation”, “action.devices.traits.Channel” go/shed-per-trait-routingAssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(HomeGraphCommonTraitRoutingHints)
parentNodeLINT.IfChange(home_graph_single_parent) At the moment, we just have a single string. In future this will expand with additional metadata from client or cloud execution data store. In today’s ‘tree’ HomeGraph each object has a single parent. In the future this may have a mesh for complex cases — zones, doors, etc — so we make this a repeated element today. LINT.ThenChange(//depot/google3/assistant/assistant_server/settings/user_defined_actions/footprints/footprint_accessor.cc:home_graph_single_parent)AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(String)
actionProjectConfigsCustom actions that this item supports.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(AssistantVerticalsHomeautomationProtoActionProjectConfig)
zoneNameSaftDocumentSAFT Document with linguistic annotations for the zone name, if applicable.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45NlpSaftDocument
operationalNodeIdOperational CHIP Node ID that combines the fabric ID and node id in format of . (Hex format without 0x prefix, for example, 0F001234FA67AA39.1234ABCD1111DDDD).AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
saftDocumentSAFT Document with linguistic annotations for the primary device name.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45NlpSaftDocument
opaqueCustomDataStore custom data for agent calls here. This will likely be short-lived — we will replace this with calls to HGS. (Note: This may end up not temporary if we only need it for a couple partners — more efficient to have it on a few users than require HGS reads for all users.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
lanscanOptedInWhether local home platform should discover new devices via LAN for the structure.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45boolean
pluralWe use this to determine if the synonyms matched in the aqua interpretation is plural. Then we will return disambiguate dialog or execute commands with all the targets.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(String)
deviceModelIdSee note in home_graph.proto; loaded into DE now to avoid having to double-read assistant settings records as per go/smarthome-removing-assistant-settingsAssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
notificationSupportedByAgentIndicates whether the device is capable of sending notifications. This field will be set by the agent (partner) on an incoming SYNC. If a device is not capable of generating notifications, the partner should set this flag to false. If a partner is not capable of calling ReportStateAndNotification to send notifications to Google, the partner should set this flag to false. If there is a user setting in the partner app to enable notifications and it is turned off, the partner should set this flag to false.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45boolean
parentTypeThe type of the parent. Currently only set for devices, to distinguish between structure and room parents. Items currently have only one parent, and entries after the first parent_type are ignored.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(String)
gcmExecutionAddressGCM address for cloud execution across google cloud messaging rather than 3p cloud.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
smartDeviceManagementDataData needed for SDM (fleet management). See go/enterprise-id-in-assistant.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45AssistantVerticalsHomeautomationProtoSmartDeviceManagementData
voiceMatchRequiredSet to which level of voice match is needed. Enum based on string input from the partner in json sync. Values accepted: “none” (but in this case partners won’t set it), “owner” [requires matching one of the creator gaia IDs], or “member” [any recognized voice ‘enrolled’ on the device]. This may expand; only “owner” is in use for first partner, Tile.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
personalizedNicknamesUser-given nicknames for an entity (e.g. “My house”). These nicknames are unique to the gaia user. Nickname in DeviceInfo is per-entity level nickname, while personalized_nicknames is per-user per-entity.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(String)
primaryNameWhich of the values was the original, user-provided name — or our disambiguated, cleaned-up version of it. This is what we use in TTS when we need to identify an object that wasn’t just spoken uniquely by the user — in disambiguation dialogue, or in response to a collective interrogative (e.g. “what lights are on in the kitchen?”)AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
attributesAttributes data as provided from SYNC. This gets used in mutation and execution and in some potential cases, in biasing.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45map
hashValueThe hash value from go/de-consistency-checkAssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
willReportStateThis device will report state; we can query realtime state from local HGS rather than slow QUERY intent to the 3p cloud.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45boolean
matterUniqueIdMatter Unique ID. Contains VID/PID informationAssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45AssistantVerticalsHomeautomationProtoMatterUniqueId
userDefinedDeviceTypeThe priority order of speech targeting: 1. user_defined_device_type 2. derived_device_type 3. device_typeAssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45