Skip to main content

@swamp/gcp/walletobjects

v2026.04.23.1

Google Cloud walletobjects infrastructure models

Repository

https://github.com/systeminit/swamp-extensions

Labels

gcpgoogle-cloudwalletobjectscloudinfrastructure

Contents

Quality score

Verified by Swamp

How well-documented and verifiable this extension is.

100%

Grade A

  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types1/1earned
  • Has description1/1earned
  • At least one platform tag (or universal)1/1earned
  • Two or more platform tags (or universal)1/1earned
  • License declared1/1earned
  • Verified public repository2/2earned

Install

$ swamp extension pull @swamp/gcp/walletobjects

loyaltyclass.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
accountIdLabel?stringThe account ID label, such as "Member ID." Recommended maximum length is 15 characters to ensure full string is displayed on smaller screens.
accountNameLabel?stringThe account name label, such as "Member Name." Recommended maximum length is 15 characters to ensure full string is displayed on smaller screens.
appLinkData?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
callbackOptions?objectURL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated.
classTemplateInfo?objectIf more than one reference is supplied, then the first one that references a non-empty field will be displayed.
countryCode?stringCountry code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale.
discoverableProgram?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
enableSmartTap?booleanIdentifies whether this class supports Smart Tap. The `redemptionIssuers` and one of object level `smartTapRedemptionLevel`, barcode.value`, or `accountId` fields must also be set up correctly in order for a pass to support Smart Tap.
heroImage?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
hexBackgroundColor?stringThe background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.
homepageUri?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
id?stringRequired. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.
imageModulesData?arrayThe ID associated with an image module. This field is here to enable ease of management of image modules.
infoModuleData?objectThe label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout.
issuerName?stringRequired. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens.
linksModuleData?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
localizedAccountIdLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedAccountNameLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedIssuerName?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedProgramName?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedRewardsTier?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedRewardsTierLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedSecondaryRewardsTier?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedSecondaryRewardsTierLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
merchantLocations?arrayThe latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected.
messages?arrayThe message body.
multipleDevicesAndHoldersAllowedStatus?enumIdentifies whether multiple users and devices will save the same object referencing this class.
notifyPreference?enumWhether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.
programLogo?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
programName?stringRequired. The program name, such as "Adam\'s Apparel". The app may display an ellipsis after the first 20 characters to ensure full string is displayed on smaller screens.
redemptionIssuers?arrayIdentifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and one of object level `smartTapRedemptionValue`, barcode.value`, or `accountId` fields must also be set up correctly in order for a pass to support Smart Tap.
review?object
reviewStatus?enumRequired. The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`.
rewardsTier?stringThe rewards tier, such as "Gold" or "Platinum." Recommended maximum length is 7 characters to ensure full string is displayed on smaller screens.
rewardsTierLabel?stringThe rewards tier label, such as "Rewards Tier." Recommended maximum length is 9 characters to ensure full string is displayed on smaller screens.
secondaryRewardsTier?stringThe secondary rewards tier, such as "Gold" or "Platinum."
secondaryRewardsTierLabel?stringThe secondary rewards tier label, such as "Rewards Tier."
securityAnimation?objectType of animation.
textModulesData?arrayThe body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens.
valueAddedModuleData?arrayIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
viewUnlockRequirement?enumView Unlock Requirement options for the loyalty card.
wideProgramLogo?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
wordMark?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
createCreate a loyaltyclass
getGet a loyaltyclass
ArgumentTypeDescription
identifierstringThe id of the loyaltyclass
updateUpdate loyaltyclass attributes
syncSync loyaltyclass state from GCP
addmessageaddmessage
ArgumentTypeDescription
message?any
transitclass.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
activationOptions?objectHTTPS URL that supports REST semantics. Would be used for requesting activation from partners for given valuable, triggered by the users.
appLinkData?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
callbackOptions?objectURL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated.
classTemplateInfo?objectIf more than one reference is supplied, then the first one that references a non-empty field will be displayed.
countryCode?stringCountry code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale.
customCarriageLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customCoachLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customConcessionCategoryLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customConfirmationCodeLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customDiscountMessageLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customFareClassLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customFareNameLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customOtherRestrictionsLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customPlatformLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customPurchaseFaceValueLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customPurchasePriceLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customPurchaseReceiptNumberLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customRouteRestrictionsDetailsLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customRouteRestrictionsLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customSeatLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customTicketNumberLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customTimeRestrictionsLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customTransitTerminusNameLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customZoneLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
enableSingleLegItinerary?booleanControls the display of the single-leg itinerary for this class. By default, an itinerary will only display for multi-leg trips.
enableSmartTap?booleanIdentifies whether this class supports Smart Tap. The `redemptionIssuers` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.
heroImage?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
hexBackgroundColor?stringThe background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.
homepageUri?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
id?stringRequired. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.
imageModulesData?arrayThe ID associated with an image module. This field is here to enable ease of management of image modules.
infoModuleData?objectThe label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout.
issuerName?stringRequired. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens.
languageOverride?stringIf this field is present, transit tickets served to a user\'s device will always be in this language. Represents the BCP 47 language tag. Example values are "en-US", "en-GB", "de", or "de-AT".
linksModuleData?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
localizedIssuerName?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
logo?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
merchantLocations?arrayThe latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected.
messages?arrayThe message body.
multipleDevicesAndHoldersAllowedStatus?enumIdentifies whether multiple users and devices will save the same object referencing this class.
notifyPreference?enumWhether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.
redemptionIssuers?arrayIdentifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.
review?object
reviewStatus?enumRequired. The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`.
securityAnimation?objectType of animation.
textModulesData?arrayThe body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens.
transitOperatorName?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
transitType?enumRequired. The type of transit this class represents, such as "bus".
valueAddedModuleData?arrayIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
viewUnlockRequirement?enumView Unlock Requirement options for the transit ticket.
watermark?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
wideLogo?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
wordMark?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
createCreate a transitclass
getGet a transitclass
ArgumentTypeDescription
identifierstringThe id of the transitclass
updateUpdate transitclass attributes
syncSync transitclass state from GCP
addmessageaddmessage
ArgumentTypeDescription
message?any
giftcardobject.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
appLinkData?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
balance?objectThe currency code, such as "USD" or "EUR."
balanceUpdateTime?objectAn ISO 8601 extended format date/time. Offset may or may not be required (refer to the parent field's documentation). Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the date/time is intended for a physical location in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. Providing an offset makes this an absolute instant in time around the world. The date/time will be adjusted based on the user's time zone. For example, a time of `2018-06-19T18:30:00-04:00` will be 18:30:00 for a user in New York and 15:30:00 for a user in Los Angeles. Omitting the offset makes this a local date/time, representing several instants in time around the world. The date/time will always be in the user's current time zone. For example, a time of `2018-06-19T18:30:00` will be 18:30:00 for a user in New York and also 18:30:00 for a user in Los Angeles. This is useful when the same local date/time should apply to many physical locations across several time zones.
barcode?objectAn optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned.
cardNumber?stringRequired. The card's number.
classId?stringRequired. The class associated with this object. The class must be of the same type as this object, must already exist, and must be approved. Class IDs should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you.
classReference?objectDetermines whether the merchant supports gift card redemption using barcode. If true, app displays a barcode for the gift card on the Gift card details screen. If false, a barcode is not displayed.
disableExpirationNotification?booleanIndicates if notifications should explicitly be suppressed. If this field is set to true, regardless of the `messages` field, expiration notifications to the user will be suppressed. By default, this field is set to false. Currently, this can only be set for offers.
eventNumber?stringThe card's event number, an optional field used by some gift cards.
groupingInfo?objectOptional grouping ID for grouping the passes with the same ID visually together. Grouping with different types of passes is allowed.
hasLinkedDevice?booleanWhether this object is currently linked to a single device. This field is set by the platform when a user saves the object, linking it to their device. Intended for use by select partners. Contact support for additional information.
hasUsers?booleanIndicates if the object has users. This field is set by the platform.
heroImage?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
id?stringRequired. The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'.
imageModulesData?arrayThe ID associated with an image module. This field is here to enable ease of management of image modules.
infoModuleData?objectThe label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout.
linkedObjectIds?arraylinked_object_ids are a list of other objects such as event ticket, loyalty, offer, generic, giftcard, transit and boarding pass that should be automatically attached to this giftcard object. If a user had saved this gift card, then these linked_object_ids would be automatically pushed to the user's wallet (unless they turned off the setting to receive such linked passes). Make sure that objects present in linked_object_ids are already inserted - if not, calls would fail. Once linked, the linked objects cannot be unlinked. You cannot link objects belonging to another issuer. There is a limit to the number of objects that can be linked to a single object. After the limit is reached, new linked objects in the call will be ignored silently. Object IDs should follow the format issuer ID. identifier where the former is issued by Google and the latter is chosen by you.
linksModuleData?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
merchantLocations?arrayThe latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected.
messages?arrayThe message body.
notifyPreference?enumWhether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.
passConstraints?objectThe NFC constraints for the pass.
pin?stringThe card's PIN.
rotatingBarcode?objectAn optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned.
saveRestrictions?objectRestrict the save of the referencing object to the given email address only. This is the hex output of SHA256 sum of the email address, all lowercase and without any notations like "." or "+", except "@". For example, for example@example.com, this value will be 31c5543c1734d25c7206f5fd591525d0295bec6fe84ff82f946a34fe970a1e66 and for Example@example.com, this value will be bc34f262c93ad7122763684ccea6f07fb7f5d8a2d11e60ce15a6f43fe70ce632 If email address of the logged-in user who tries to save this pass does not match with the defined value here, users won\'t be allowed to save this pass. They will instead be prompted with an error to contact the issuer. This information should be gathered from the user with an explicit consent via Sign in with Google integration https://developers.google.com/identity/authentication. Please contact with support before using Save Restrictions.
smartTapRedemptionValue?stringThe value that will be transmitted to a Smart Tap certified terminal over NFC for this object. The class level fields `enableSmartTap` and `redemptionIssuers` must also be set up correctly in order for the pass to support Smart Tap. Only ASCII characters are supported.
state?enumRequired. The state of the object. This field is used to determine how an object is displayed in the app. For example, an `inactive` object is moved to the "Expired passes" section.
textModulesData?arrayThe body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens.
validTimeInterval?objectAn ISO 8601 extended format date/time. Offset may or may not be required (refer to the parent field's documentation). Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the date/time is intended for a physical location in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. Providing an offset makes this an absolute instant in time around the world. The date/time will be adjusted based on the user's time zone. For example, a time of `2018-06-19T18:30:00-04:00` will be 18:30:00 for a user in New York and 15:30:00 for a user in Los Angeles. Omitting the offset makes this a local date/time, representing several instants in time around the world. The date/time will always be in the user's current time zone. For example, a time of `2018-06-19T18:30:00` will be 18:30:00 for a user in New York and also 18:30:00 for a user in Los Angeles. This is useful when the same local date/time should apply to many physical locations across several time zones.
valueAddedModuleData?arrayIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
createCreate a giftcardobject
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach a ready state after creation (default: true)
getGet a giftcardobject
ArgumentTypeDescription
identifierstringThe id of the giftcardobject
updateUpdate giftcardobject attributes
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach a ready state after update (default: true)
syncSync giftcardobject state from GCP
addmessageaddmessage
ArgumentTypeDescription
message?any
giftcardclass.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
allowBarcodeRedemption?booleanDetermines whether the merchant supports gift card redemption using barcode. If true, app displays a barcode for the gift card on the Gift card details screen. If false, a barcode is not displayed.
appLinkData?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
callbackOptions?objectURL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated.
cardNumberLabel?stringThe label to display for the card number, such as "Card Number".
classTemplateInfo?objectIf more than one reference is supplied, then the first one that references a non-empty field will be displayed.
countryCode?stringCountry code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale.
enableSmartTap?booleanIdentifies whether this class supports Smart Tap. The `redemptionIssuers` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.
eventNumberLabel?stringThe label to display for event number, such as "Target Event #".
heroImage?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
hexBackgroundColor?stringThe background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.
homepageUri?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
id?stringRequired. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.
imageModulesData?arrayThe ID associated with an image module. This field is here to enable ease of management of image modules.
infoModuleData?objectThe label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout.
issuerName?stringRequired. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens.
linksModuleData?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
localizedCardNumberLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedEventNumberLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedIssuerName?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedMerchantName?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedPinLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
merchantLocations?arrayThe latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected.
merchantName?stringMerchant name, such as "Adam\'s Apparel". The app may display an ellipsis after the first 20 characters to ensure full string is displayed on smaller screens.
messages?arrayThe message body.
multipleDevicesAndHoldersAllowedStatus?enumIdentifies whether multiple users and devices will save the same object referencing this class.
notifyPreference?enumWhether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.
pinLabel?stringThe label to display for the PIN, such as "4-digit PIN".
programLogo?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
redemptionIssuers?arrayIdentifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.
review?object
reviewStatus?enumRequired. The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`.
securityAnimation?objectType of animation.
textModulesData?arrayThe body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens.
valueAddedModuleData?arrayIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
viewUnlockRequirement?enumView Unlock Requirement options for the gift card.
wideProgramLogo?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
wordMark?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
createCreate a giftcardclass
getGet a giftcardclass
ArgumentTypeDescription
identifierstringThe id of the giftcardclass
updateUpdate giftcardclass attributes
syncSync giftcardclass state from GCP
addmessageaddmessage
ArgumentTypeDescription
message?any
eventticketobject.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
appLinkData?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
barcode?objectAn optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned.
classId?stringRequired. The class associated with this object. The class must be of the same type as this object, must already exist, and must be approved. Class IDs should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you.
classReference?objectDeprecated. Use `multipleDevicesAndHoldersAllowedStatus` instead.
disableExpirationNotification?booleanIndicates if notifications should explicitly be suppressed. If this field is set to true, regardless of the `messages` field, expiration notifications to the user will be suppressed. By default, this field is set to false. Currently, this can only be set for offers.
faceValue?objectThe currency code, such as "USD" or "EUR."
groupingInfo?objectOptional grouping ID for grouping the passes with the same ID visually together. Grouping with different types of passes is allowed.
hasLinkedDevice?booleanWhether this object is currently linked to a single device. This field is set by the platform when a user saves the object, linking it to their device. Intended for use by select partners. Contact support for additional information.
hasUsers?booleanIndicates if the object has users. This field is set by the platform.
heroImage?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
hexBackgroundColor?stringThe background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.
id?stringRequired. The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'.
imageModulesData?arrayThe ID associated with an image module. This field is here to enable ease of management of image modules.
infoModuleData?objectThe label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout.
linkedObjectIds?arraylinked_object_ids are a list of other objects such as event ticket, loyalty, offer, generic, giftcard, transit and boarding pass that should be automatically attached to this event ticket object. If a user had saved this event ticket, then these linked_object_ids would be automatically pushed to the user's wallet (unless they turned off the setting to receive such linked passes). Make sure that objects present in linked_object_ids are already inserted - if not, calls would fail. Once linked, the linked objects cannot be unlinked. You cannot link objects belonging to another issuer. There is a limit to the number of objects that can be linked to a single object. After the limit is reached, new linked objects in the call will be ignored silently. Object IDs should follow the format issuer ID. identifier where the former is issued by Google and the latter is chosen by you.
linkedOfferIds?arrayA list of offer objects linked to this event ticket. The offer objects must already exist. Offer object IDs should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you.
linksModuleData?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
merchantLocations?arrayThe latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected.
messages?arrayThe message body.
notifyPreference?enumWhether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.
passConstraints?objectThe NFC constraints for the pass.
reservationInfo?objectThe confirmation code of the event reservation. This may also take the form of an "order number", "confirmation number", "reservation number", or other equivalent.
rotatingBarcode?objectAn optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned.
saveRestrictions?objectRestrict the save of the referencing object to the given email address only. This is the hex output of SHA256 sum of the email address, all lowercase and without any notations like "." or "+", except "@". For example, for example@example.com, this value will be 31c5543c1734d25c7206f5fd591525d0295bec6fe84ff82f946a34fe970a1e66 and for Example@example.com, this value will be bc34f262c93ad7122763684ccea6f07fb7f5d8a2d11e60ce15a6f43fe70ce632 If email address of the logged-in user who tries to save this pass does not match with the defined value here, users won\'t be allowed to save this pass. They will instead be prompted with an error to contact the issuer. This information should be gathered from the user with an explicit consent via Sign in with Google integration https://developers.google.com/identity/authentication. Please contact with support before using Save Restrictions.
seatInfo?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
smartTapRedemptionValue?stringThe value that will be transmitted to a Smart Tap certified terminal over NFC for this object. The class level fields `enableSmartTap` and `redemptionIssuers` must also be set up correctly in order for the pass to support Smart Tap. Only ASCII characters are supported.
state?enumRequired. The state of the object. This field is used to determine how an object is displayed in the app. For example, an `inactive` object is moved to the "Expired passes" section.
textModulesData?arrayThe body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens.
ticketHolderName?stringName of the ticket holder, if the ticket is assigned to a person. E.g. "John Doe" or "Jane Doe".
ticketNumber?stringThe number of the ticket. This can be a unique identifier across all tickets in an issuer's system, all tickets for the event (e.g. XYZ1234512345), or all tickets in the order (1, 2, 3, etc.).
ticketType?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
validTimeInterval?objectAn ISO 8601 extended format date/time. Offset may or may not be required (refer to the parent field's documentation). Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the date/time is intended for a physical location in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. Providing an offset makes this an absolute instant in time around the world. The date/time will be adjusted based on the user's time zone. For example, a time of `2018-06-19T18:30:00-04:00` will be 18:30:00 for a user in New York and 15:30:00 for a user in Los Angeles. Omitting the offset makes this a local date/time, representing several instants in time around the world. The date/time will always be in the user's current time zone. For example, a time of `2018-06-19T18:30:00` will be 18:30:00 for a user in New York and also 18:30:00 for a user in Los Angeles. This is useful when the same local date/time should apply to many physical locations across several time zones.
valueAddedModuleData?arrayIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
createCreate a eventticketobject
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach a ready state after creation (default: true)
getGet a eventticketobject
ArgumentTypeDescription
identifierstringThe id of the eventticketobject
updateUpdate eventticketobject attributes
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach a ready state after update (default: true)
syncSync eventticketobject state from GCP
addmessageaddmessage
ArgumentTypeDescription
message?any
modifylinkedofferobjectsmodifylinkedofferobjects
ArgumentTypeDescription
linkedOfferObjectIds?any
loyaltyobject.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
accountId?stringThe loyalty account identifier. Recommended maximum length is 20 characters.
accountName?stringThe loyalty account holder name, such as "John Smith." Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens.
appLinkData?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
barcode?objectAn optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned.
classId?stringRequired. The class associated with this object. The class must be of the same type as this object, must already exist, and must be approved. Class IDs should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you.
classReference?objectThe account ID label, such as "Member ID." Recommended maximum length is 15 characters to ensure full string is displayed on smaller screens.
disableExpirationNotification?booleanIndicates if notifications should explicitly be suppressed. If this field is set to true, regardless of the `messages` field, expiration notifications to the user will be suppressed. By default, this field is set to false. Currently, this can only be set for offers.
groupingInfo?objectOptional grouping ID for grouping the passes with the same ID visually together. Grouping with different types of passes is allowed.
hasLinkedDevice?booleanWhether this object is currently linked to a single device. This field is set by the platform when a user saves the object, linking it to their device. Intended for use by select partners. Contact support for additional information.
hasUsers?booleanIndicates if the object has users. This field is set by the platform.
heroImage?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
id?stringRequired. The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'.
imageModulesData?arrayThe ID associated with an image module. This field is here to enable ease of management of image modules.
infoModuleData?objectThe label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout.
linkedObjectIds?arraylinked_object_ids are a list of other objects such as event ticket, loyalty, offer, generic, giftcard, transit and boarding pass that should be automatically attached to this loyalty object. If a user had saved this loyalty card, then these linked_object_ids would be automatically pushed to the user's wallet (unless they turned off the setting to receive such linked passes). Make sure that objects present in linked_object_ids are already inserted - if not, calls would fail. Once linked, the linked objects cannot be unlinked. You cannot link objects belonging to another issuer. There is a limit to the number of objects that can be linked to a single object. After the limit is reached, new linked objects in the call will be ignored silently. Object IDs should follow the format issuer ID. identifier where the former is issued by Google and the latter is chosen by you.
linkedOfferIds?arrayA list of offer objects linked to this loyalty card. The offer objects must already exist. Offer object IDs should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you.
linksModuleData?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
loyaltyPoints?objectThe double form of a balance. Only one of these subtypes (string, int, double, money) should be populated.
merchantLocations?arrayThe latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected.
messages?arrayThe message body.
notifyPreference?enumWhether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.
passConstraints?objectThe NFC constraints for the pass.
rotatingBarcode?objectAn optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned.
saveRestrictions?objectRestrict the save of the referencing object to the given email address only. This is the hex output of SHA256 sum of the email address, all lowercase and without any notations like "." or "+", except "@". For example, for example@example.com, this value will be 31c5543c1734d25c7206f5fd591525d0295bec6fe84ff82f946a34fe970a1e66 and for Example@example.com, this value will be bc34f262c93ad7122763684ccea6f07fb7f5d8a2d11e60ce15a6f43fe70ce632 If email address of the logged-in user who tries to save this pass does not match with the defined value here, users won\'t be allowed to save this pass. They will instead be prompted with an error to contact the issuer. This information should be gathered from the user with an explicit consent via Sign in with Google integration https://developers.google.com/identity/authentication. Please contact with support before using Save Restrictions.
secondaryLoyaltyPoints?objectThe double form of a balance. Only one of these subtypes (string, int, double, money) should be populated.
smartTapRedemptionValue?stringThe value that will be transmitted to a Smart Tap certified terminal over NFC for this object. The class level fields `enableSmartTap` and `redemptionIssuers` must also be set up correctly in order for the pass to support Smart Tap. Only ASCII characters are supported. If this value is not set but the class level fields `enableSmartTap` and `redemptionIssuers` are set up correctly, the `barcode.value` or the `accountId` fields are used as fallback if present.
state?enumRequired. The state of the object. This field is used to determine how an object is displayed in the app. For example, an `inactive` object is moved to the "Expired passes" section.
textModulesData?arrayThe body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens.
validTimeInterval?objectAn ISO 8601 extended format date/time. Offset may or may not be required (refer to the parent field's documentation). Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the date/time is intended for a physical location in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. Providing an offset makes this an absolute instant in time around the world. The date/time will be adjusted based on the user's time zone. For example, a time of `2018-06-19T18:30:00-04:00` will be 18:30:00 for a user in New York and 15:30:00 for a user in Los Angeles. Omitting the offset makes this a local date/time, representing several instants in time around the world. The date/time will always be in the user's current time zone. For example, a time of `2018-06-19T18:30:00` will be 18:30:00 for a user in New York and also 18:30:00 for a user in Los Angeles. This is useful when the same local date/time should apply to many physical locations across several time zones.
valueAddedModuleData?arrayIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
createCreate a loyaltyobject
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach a ready state after creation (default: true)
getGet a loyaltyobject
ArgumentTypeDescription
identifierstringThe id of the loyaltyobject
updateUpdate loyaltyobject attributes
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach a ready state after update (default: true)
syncSync loyaltyobject state from GCP
addmessageaddmessage
ArgumentTypeDescription
message?any
modifylinkedofferobjectsmodifylinkedofferobjects
ArgumentTypeDescription
linkedOfferObjectIds?any
offerobject.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
appLinkData?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
barcode?objectAn optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned.
classId?stringRequired. The class associated with this object. The class must be of the same type as this object, must already exist, and must be approved. Class IDs should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you.
classReference?objectDeprecated. Use `multipleDevicesAndHoldersAllowedStatus` instead.
disableExpirationNotification?booleanIndicates if notifications should explicitly be suppressed. If this field is set to true, regardless of the `messages` field, expiration notifications to the user will be suppressed. By default, this field is set to false. Currently, this can only be set for offers.
groupingInfo?objectOptional grouping ID for grouping the passes with the same ID visually together. Grouping with different types of passes is allowed.
hasLinkedDevice?booleanWhether this object is currently linked to a single device. This field is set by the platform when a user saves the object, linking it to their device. Intended for use by select partners. Contact support for additional information.
hasUsers?booleanIndicates if the object has users. This field is set by the platform.
heroImage?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
id?stringRequired. The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'.
imageModulesData?arrayThe ID associated with an image module. This field is here to enable ease of management of image modules.
infoModuleData?objectThe label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout.
linkedObjectIds?arraylinked_object_ids are a list of other objects such as event ticket, loyalty, offer, generic, giftcard, transit and boarding pass that should be automatically attached to this offer object. If a user had saved this offer, then these linked_object_ids would be automatically pushed to the user's wallet (unless they turned off the setting to receive such linked passes). Make sure that objects present in linked_object_ids are already inserted - if not, calls would fail. Once linked, the linked objects cannot be unlinked. You cannot link objects belonging to another issuer. There is a limit to the number of objects that can be linked to a single object. After the limit is reached, new linked objects in the call will be ignored silently. Object IDs should follow the format issuer ID.identifier where the former is issued by Google and the latter is chosen by you.
linksModuleData?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
locations?arrayIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#latLongPoint"`.
merchantLocations?arrayThe latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected.
messages?arrayThe message body.
notifyPreference?enumWhether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.
passConstraints?objectThe NFC constraints for the pass.
rotatingBarcode?objectAn optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned.
saveRestrictions?objectRestrict the save of the referencing object to the given email address only. This is the hex output of SHA256 sum of the email address, all lowercase and without any notations like "." or "+", except "@". For example, for example@example.com, this value will be 31c5543c1734d25c7206f5fd591525d0295bec6fe84ff82f946a34fe970a1e66 and for Example@example.com, this value will be bc34f262c93ad7122763684ccea6f07fb7f5d8a2d11e60ce15a6f43fe70ce632 If email address of the logged-in user who tries to save this pass does not match with the defined value here, users won\'t be allowed to save this pass. They will instead be prompted with an error to contact the issuer. This information should be gathered from the user with an explicit consent via Sign in with Google integration https://developers.google.com/identity/authentication. Please contact with support before using Save Restrictions.
smartTapRedemptionValue?stringThe value that will be transmitted to a Smart Tap certified terminal over NFC for this object. The class level fields `enableSmartTap` and `redemptionIssuers` must also be set up correctly in order for the pass to support Smart Tap. Only ASCII characters are supported.
state?enumRequired. The state of the object. This field is used to determine how an object is displayed in the app. For example, an `inactive` object is moved to the "Expired passes" section.
textModulesData?arrayThe body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens.
validTimeInterval?objectAn ISO 8601 extended format date/time. Offset may or may not be required (refer to the parent field's documentation). Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the date/time is intended for a physical location in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. Providing an offset makes this an absolute instant in time around the world. The date/time will be adjusted based on the user's time zone. For example, a time of `2018-06-19T18:30:00-04:00` will be 18:30:00 for a user in New York and 15:30:00 for a user in Los Angeles. Omitting the offset makes this a local date/time, representing several instants in time around the world. The date/time will always be in the user's current time zone. For example, a time of `2018-06-19T18:30:00` will be 18:30:00 for a user in New York and also 18:30:00 for a user in Los Angeles. This is useful when the same local date/time should apply to many physical locations across several time zones.
valueAddedModuleData?arrayIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
createCreate a offerobject
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach a ready state after creation (default: true)
getGet a offerobject
ArgumentTypeDescription
identifierstringThe id of the offerobject
updateUpdate offerobject attributes
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach a ready state after update (default: true)
syncSync offerobject state from GCP
addmessageaddmessage
ArgumentTypeDescription
message?any
eventticketclass.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
appLinkData?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
callbackOptions?objectURL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated.
classTemplateInfo?objectIf more than one reference is supplied, then the first one that references a non-empty field will be displayed.
confirmationCodeLabel?enumThe label to use for the confirmation code value (`eventTicketObject.reservationInfo.confirmationCode`) on the card detail view. Each available option maps to a set of localized strings, so that translations are shown to the user based on their locale. Both `confirmationCodeLabel` and `customConfirmationCodeLabel` may not be set. If neither is set, the label will default to "Confirmation Code", localized. If the confirmation code field is unset, this label will not be used.
countryCode?stringCountry code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale.
customConfirmationCodeLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customGateLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customRowLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customSeatLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customSectionLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
dateTime?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
enableSmartTap?booleanIdentifies whether this class supports Smart Tap. The `redemptionIssuers` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.
eventId?stringThe ID of the event. This ID should be unique for every event in an account. It is used to group tickets together if the user has saved multiple tickets for the same event. It can be at most 64 characters. If provided, the grouping will be stable. Be wary of unintentional collision to avoid grouping tickets that should not be grouped. If you use only one class per event, you can simply set this to the `classId` (with or without the issuer ID portion). If not provided, the platform will attempt to use other data to group tickets (potentially unstable).
eventName?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
finePrint?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
gateLabel?enumThe label to use for the gate value (`eventTicketObject.seatInfo.gate`) on the card detail view. Each available option maps to a set of localized strings, so that translations are shown to the user based on their locale. Both `gateLabel` and `customGateLabel` may not be set. If neither is set, the label will default to "Gate", localized. If the gate field is unset, this label will not be used.
heroImage?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
hexBackgroundColor?stringThe background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.
homepageUri?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
id?stringRequired. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.
imageModulesData?arrayThe ID associated with an image module. This field is here to enable ease of management of image modules.
infoModuleData?objectThe label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout.
issuerName?stringRequired. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens.
linksModuleData?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
localizedIssuerName?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
logo?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
merchantLocations?arrayThe latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected.
messages?arrayThe message body.
multipleDevicesAndHoldersAllowedStatus?enumIdentifies whether multiple users and devices will save the same object referencing this class.
notifyPreference?enumWhether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.
redemptionIssuers?arrayIdentifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.
review?object
reviewStatus?enumRequired. The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`.
rowLabel?enumThe label to use for the row value (`eventTicketObject.seatInfo.row`) on the card detail view. Each available option maps to a set of localized strings, so that translations are shown to the user based on their locale. Both `rowLabel` and `customRowLabel` may not be set. If neither is set, the label will default to "Row", localized. If the row field is unset, this label will not be used.
seatLabel?enumThe label to use for the seat value (`eventTicketObject.seatInfo.seat`) on the card detail view. Each available option maps to a set of localized strings, so that translations are shown to the user based on their locale. Both `seatLabel` and `customSeatLabel` may not be set. If neither is set, the label will default to "Seat", localized. If the seat field is unset, this label will not be used.
sectionLabel?enumThe label to use for the section value (`eventTicketObject.seatInfo.section`) on the card detail view. Each available option maps to a set of localized strings, so that translations are shown to the user based on their locale. Both `sectionLabel` and `customSectionLabel` may not be set. If neither is set, the label will default to "Section", localized. If the section field is unset, this label will not be used.
securityAnimation?objectType of animation.
textModulesData?arrayThe body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens.
valueAddedModuleData?arrayIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
venue?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
viewUnlockRequirement?enumView Unlock Requirement options for the event ticket.
wideLogo?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
wordMark?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
createCreate a eventticketclass
getGet a eventticketclass
ArgumentTypeDescription
identifierstringThe id of the eventticketclass
updateUpdate eventticketclass attributes
syncSync eventticketclass state from GCP
addmessageaddmessage
ArgumentTypeDescription
message?any
flightclass.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
appLinkData?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
boardingAndSeatingPolicy?objectIndicates the policy the airline uses for boarding. If unset, Google will default to `zoneBased`.
callbackOptions?objectURL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated.
classTemplateInfo?objectIf more than one reference is supplied, then the first one that references a non-empty field will be displayed.
countryCode?stringCountry code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale.
destination?objectThree character IATA airport code. This is a required field for `origin` and `destination`. Eg: "SFO"
enableSmartTap?booleanIdentifies whether this class supports Smart Tap. The `redemptionIssuers` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.
flightHeader?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
flightStatus?enumStatus of this flight. If unset, Google will compute status based on data from other sources, such as FlightStats, etc. Note: Google-computed status will not be returned in API responses.
heroImage?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
hexBackgroundColor?stringThe background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.
homepageUri?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
id?stringRequired. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.
imageModulesData?arrayThe ID associated with an image module. This field is here to enable ease of management of image modules.
infoModuleData?objectThe label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout.
issuerName?stringRequired. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens.
languageOverride?stringIf this field is present, boarding passes served to a user\'s device will always be in this language. Represents the BCP 47 language tag. Example values are "en-US", "en-GB", "de", or "de-AT".
linksModuleData?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
localBoardingDateTime?stringThe boarding time as it would be printed on the boarding pass. This is an ISO 8601 extended format date/time without an offset. Time may be specified up to millisecond precision. eg: `2027-03-05T06:30:00` This should be the local date/time at the airport (not a UTC time). Google will reject the request if UTC offset is provided. Time zones will be calculated by Google based on departure airport.
localEstimatedOrActualArrivalDateTime?stringThe estimated time the aircraft plans to reach the destination gate (not the runway) or the actual time it reached the gate. This field should be set if at least one of the below is true: - It differs from the scheduled time. Google will use it to calculate the delay. - The aircraft already arrived at the gate. Google will use it to inform the user that the flight has arrived at the gate. This is an ISO 8601 extended format date/time without an offset. Time may be specified up to millisecond precision. eg: `2027-03-05T06:30:00` This should be the local date/time at the airport (not a UTC time). Google will reject the request if UTC offset is provided. Time zones will be calculated by Google based on arrival airport.
localEstimatedOrActualDepartureDateTime?stringThe estimated time the aircraft plans to pull from the gate or the actual time the aircraft already pulled from the gate. Note: This is not the runway time. This field should be set if at least one of the below is true: - It differs from the scheduled time. Google will use it to calculate the delay. - The aircraft already pulled from the gate. Google will use it to inform the user when the flight actually departed. This is an ISO 8601 extended format date/time without an offset. Time may be specified up to millisecond precision. eg: `2027-03-05T06:30:00` This should be the local date/time at the airport (not a UTC time). Google will reject the request if UTC offset is provided. Time zones will be calculated by Google based on departure airport.
localGateClosingDateTime?stringThe gate closing time as it would be printed on the boarding pass. Do not set this field if you do not want to print it in the boarding pass. This is an ISO 8601 extended format date/time without an offset. Time may be specified up to millisecond precision. eg: `2027-03-05T06:30:00` This should be the local date/time at the airport (not a UTC time). Google will reject the request if UTC offset is provided. Time zones will be calculated by Google based on departure airport.
localScheduledArrivalDateTime?stringThe scheduled time the aircraft plans to reach the destination gate (not the runway). Note: This field should not change too close to the flight time. For updates to departure times (delays, etc), please set `localEstimatedOrActualArrivalDateTime`. This is an ISO 8601 extended format date/time without an offset. Time may be specified up to millisecond precision. eg: `2027-03-05T06:30:00` This should be the local date/time at the airport (not a UTC time). Google will reject the request if UTC offset is provided. Time zones will be calculated by Google based on arrival airport.
localScheduledDepartureDateTime?stringRequired. The scheduled date and time when the aircraft is expected to depart the gate (not the runway) Note: This field should not change too close to the departure time. For updates to departure times (delays, etc), please set `localEstimatedOrActualDepartureDateTime`. This is an ISO 8601 extended format date/time without an offset. Time may be specified up to millisecond precision. eg: `2027-03-05T06:30:00` This should be the local date/time at the airport (not a UTC time). Google will reject the request if UTC offset is provided. Time zones will be calculated by Google based on departure airport.
localizedIssuerName?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
merchantLocations?arrayThe latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected.
messages?arrayThe message body.
multipleDevicesAndHoldersAllowedStatus?enumIdentifies whether multiple users and devices will save the same object referencing this class.
notifyPreference?enumWhether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.
origin?objectThree character IATA airport code. This is a required field for `origin` and `destination`. Eg: "SFO"
redemptionIssuers?arrayIdentifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.
review?object
reviewStatus?enumRequired. The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`.
securityAnimation?objectType of animation.
textModulesData?arrayThe body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens.
valueAddedModuleData?arrayIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
viewUnlockRequirement?enumView Unlock Requirement options for the boarding pass.
wordMark?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
createCreate a flightclass
getGet a flightclass
ArgumentTypeDescription
identifierstringThe id of the flightclass
updateUpdate flightclass attributes
syncSync flightclass state from GCP
addmessageaddmessage
ArgumentTypeDescription
message?any
permissions.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
issuerId?stringID of the issuer the list of permissions refer to.
permissions?arrayThe email address of the user, group, or service account to which this permission refers to.
getGet a permissions
ArgumentTypeDescription
identifierstringThe id of the permissions
updateUpdate permissions attributes
syncSync permissions state from GCP
issuer.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
callbackOptions?objectURL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated.
contactInfo?objectEmail addresses which will receive alerts.
homepageUrl?stringURL for the issuer's home page.
issuerId?stringThe unique identifier for an issuer account. This is automatically generated when the issuer is inserted.
name?stringThe account name of the issuer.
smartTapMerchantData?objectAvailable only to Smart Tap enabled partners. Contact support for additional guidance.
createCreate a issuer
getGet a issuer
ArgumentTypeDescription
identifierstringThe id of the issuer
updateUpdate issuer attributes
syncSync issuer state from GCP
genericobject.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
appLinkData?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
barcode?objectAn optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned.
cardTitle?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
classId?stringRequired. The class associated with this object. The class must be of the same type as this object, must already exist, and must be approved. Class IDs should follow the format `issuerID.identifier` where `issuerID` is issued by Google and `identifier` is chosen by you.
genericType?enumSpecify which `GenericType` the card belongs to.
groupingInfo?objectOptional grouping ID for grouping the passes with the same ID visually together. Grouping with different types of passes is allowed.
hasUsers?booleanIndicates if the object has users. This field is set by the platform.
header?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
heroImage?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
hexBackgroundColor?stringThe background color for the card. If not set, the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used and if logo is not set, a color would be chosen by Google.
id?stringRequired. The unique identifier for an object. This ID must be unique across all objects from an issuer. This value needs to follow the format `issuerID.identifier` where `issuerID` is issued by Google and `identifier` is chosen by you. The unique identifier can only include alphanumeric characters, `.`, `_`, or `-`.
imageModulesData?arrayThe ID associated with an image module. This field is here to enable ease of management of image modules.
linkedObjectIds?arraylinked_object_ids are a list of other objects such as event ticket, loyalty, offer, generic, giftcard, transit and boarding pass that should be automatically attached to this generic object. If a user had saved this generic card, then these linked_object_ids would be automatically pushed to the user's wallet (unless they turned off the setting to receive such linked passes). Make sure that objects present in linked_object_ids are already inserted - if not, calls would fail. Once linked, the linked objects cannot be unlinked. You cannot link objects belonging to another issuer. There is a limit to the number of objects that can be linked to a single object. After the limit is reached, new linked objects in the call will be ignored silently. Object IDs should follow the format issuer ID. identifier where the former is issued by Google and the latter is chosen by you.
linksModuleData?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
logo?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
merchantLocations?arrayThe latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected.
messages?arrayThe message body.
notifications?objectIndicates if the object needs to have expiry notification enabled.
passConstraints?objectThe NFC constraints for the pass.
rotatingBarcode?objectAn optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned.
saveRestrictions?objectRestrict the save of the referencing object to the given email address only. This is the hex output of SHA256 sum of the email address, all lowercase and without any notations like "." or "+", except "@". For example, for example@example.com, this value will be 31c5543c1734d25c7206f5fd591525d0295bec6fe84ff82f946a34fe970a1e66 and for Example@example.com, this value will be bc34f262c93ad7122763684ccea6f07fb7f5d8a2d11e60ce15a6f43fe70ce632 If email address of the logged-in user who tries to save this pass does not match with the defined value here, users won\'t be allowed to save this pass. They will instead be prompted with an error to contact the issuer. This information should be gathered from the user with an explicit consent via Sign in with Google integration https://developers.google.com/identity/authentication. Please contact with support before using Save Restrictions.
smartTapRedemptionValue?stringThe value that will be transmitted to a Smart Tap certified terminal over NFC for this object. The class level fields `enableSmartTap` and `redemptionIssuers` must also be set up correctly in order for the pass to support Smart Tap. Only ASCII characters are supported.
state?enumThe state of the object. This field is used to determine how an object is displayed in the app. For example, an `inactive` object is moved to the "Expired passes" section. If this is not provided, the object would be considered `ACTIVE`.
subheader?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
textModulesData?arrayThe body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens.
validTimeInterval?objectAn ISO 8601 extended format date/time. Offset may or may not be required (refer to the parent field's documentation). Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the date/time is intended for a physical location in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. Providing an offset makes this an absolute instant in time around the world. The date/time will be adjusted based on the user's time zone. For example, a time of `2018-06-19T18:30:00-04:00` will be 18:30:00 for a user in New York and 15:30:00 for a user in Los Angeles. Omitting the offset makes this a local date/time, representing several instants in time around the world. The date/time will always be in the user's current time zone. For example, a time of `2018-06-19T18:30:00` will be 18:30:00 for a user in New York and also 18:30:00 for a user in Los Angeles. This is useful when the same local date/time should apply to many physical locations across several time zones.
valueAddedModuleData?arrayIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
wideLogo?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
createCreate a genericobject
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach a ready state after creation (default: true)
getGet a genericobject
ArgumentTypeDescription
identifierstringThe id of the genericobject
updateUpdate genericobject attributes
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach a ready state after update (default: true)
syncSync genericobject state from GCP
addmessageaddmessage
ArgumentTypeDescription
message?any
offerclass.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
appLinkData?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
callbackOptions?objectURL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated.
classTemplateInfo?objectIf more than one reference is supplied, then the first one that references a non-empty field will be displayed.
countryCode?stringCountry code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale.
details?stringThe details of the offer.
enableSmartTap?booleanIdentifies whether this class supports Smart Tap. The `redemptionIssuers` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.
finePrint?stringThe fine print or terms of the offer, such as "20% off any t-shirt at Adam\'s Apparel."
helpUri?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
heroImage?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
hexBackgroundColor?stringThe background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.
homepageUri?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
id?stringRequired. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.
imageModulesData?arrayThe ID associated with an image module. This field is here to enable ease of management of image modules.
infoModuleData?objectThe label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout.
issuerName?stringRequired. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens.
linksModuleData?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
localizedDetails?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedFinePrint?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedIssuerName?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedProvider?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedShortTitle?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedTitle?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
merchantLocations?arrayThe latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected.
messages?arrayThe message body.
multipleDevicesAndHoldersAllowedStatus?enumIdentifies whether multiple users and devices will save the same object referencing this class.
notifyPreference?enumWhether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.
provider?stringRequired. The offer provider (either the aggregator name or merchant name). Recommended maximum length is 12 characters to ensure full string is displayed on smaller screens.
redemptionChannel?enumRequired. The redemption channels applicable to this offer.
redemptionIssuers?arrayIdentifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.
review?object
reviewStatus?enumRequired. The status of the class. This field can be set to `draft` or The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`.
securityAnimation?objectType of animation.
shortTitle?stringA shortened version of the title of the offer, such as "20% off," shown to users as a quick reference to the offer contents. Recommended maximum length is 20 characters.
textModulesData?arrayThe body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens.
title?stringRequired. The title of the offer, such as "20% off any t-shirt." Recommended maximum length is 60 characters to ensure full string is displayed on smaller screens.
titleImage?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
valueAddedModuleData?arrayIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
viewUnlockRequirement?enumView Unlock Requirement options for the offer.
wideTitleImage?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
wordMark?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
createCreate a offerclass
getGet a offerclass
ArgumentTypeDescription
identifierstringThe id of the offerclass
updateUpdate offerclass attributes
syncSync offerclass state from GCP
addmessageaddmessage
ArgumentTypeDescription
message?any
flightobject.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
appLinkData?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
barcode?objectAn optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned.
boardingAndSeatingInfo?objectSet this field only if this flight boards through more than one door or bridge and you want to explicitly print the door location on the boarding pass. Most airlines route their passengers to the right door or bridge by refering to doors/bridges by the `seatClass`. In those cases `boardingDoor` should not be set.
classId?stringRequired. The class associated with this object. The class must be of the same type as this object, must already exist, and must be approved. Class IDs should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you.
classReference?objectDeprecated. Use `multipleDevicesAndHoldersAllowedStatus` instead.
disableExpirationNotification?booleanIndicates if notifications should explicitly be suppressed. If this field is set to true, regardless of the `messages` field, expiration notifications to the user will be suppressed. By default, this field is set to false. Currently, this can only be set for Flights.
groupingInfo?objectOptional grouping ID for grouping the passes with the same ID visually together. Grouping with different types of passes is allowed.
hasLinkedDevice?booleanWhether this object is currently linked to a single device. This field is set by the platform when a user saves the object, linking it to their device. Intended for use by select partners. Contact support for additional information.
hasUsers?booleanIndicates if the object has users. This field is set by the platform.
heroImage?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
hexBackgroundColor?stringThe background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.
id?stringRequired. The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'.
imageModulesData?arrayThe ID associated with an image module. This field is here to enable ease of management of image modules.
infoModuleData?objectThe label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout.
linkedObjectIds?arraylinked_object_ids are a list of other objects such as event ticket, loyalty, offer, generic, giftcard, transit and boarding pass that should be automatically attached to this flight object. If a user had saved this boarding pass, then these linked_object_ids would be automatically pushed to the user's wallet (unless they turned off the setting to receive such linked passes). Make sure that objects present in linked_object_ids are already inserted - if not, calls would fail. Once linked, the linked objects cannot be unlinked. You cannot link objects belonging to another issuer. There is a limit to the number of objects that can be linked to a single object. After the limit is reached, new linked objects in the call will be ignored silently. Object IDs should follow the format issuer ID. identifier where the former is issued by Google and the latter is chosen by you.
linksModuleData?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
merchantLocations?arrayThe latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected.
messages?arrayThe message body.
notifyPreference?enumWhether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.
passConstraints?objectThe NFC constraints for the pass.
passengerName?stringRequired. Passenger name as it would appear on the boarding pass. eg: "Dave M Gahan" or "Gahan/Dave" or "GAHAN/DAVEM"
reservationInfo?objectConfirmation code needed to check into this flight. This is the number that the passenger would enter into a kiosk at the airport to look up the flight and print a boarding pass.
rotatingBarcode?objectAn optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned.
saveRestrictions?objectRestrict the save of the referencing object to the given email address only. This is the hex output of SHA256 sum of the email address, all lowercase and without any notations like "." or "+", except "@". For example, for example@example.com, this value will be 31c5543c1734d25c7206f5fd591525d0295bec6fe84ff82f946a34fe970a1e66 and for Example@example.com, this value will be bc34f262c93ad7122763684ccea6f07fb7f5d8a2d11e60ce15a6f43fe70ce632 If email address of the logged-in user who tries to save this pass does not match with the defined value here, users won\'t be allowed to save this pass. They will instead be prompted with an error to contact the issuer. This information should be gathered from the user with an explicit consent via Sign in with Google integration https://developers.google.com/identity/authentication. Please contact with support before using Save Restrictions.
securityProgramLogo?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
smartTapRedemptionValue?stringThe value that will be transmitted to a Smart Tap certified terminal over NFC for this object. The class level fields `enableSmartTap` and `redemptionIssuers` must also be set up correctly in order for the pass to support Smart Tap. Only ASCII characters are supported.
state?enumRequired. The state of the object. This field is used to determine how an object is displayed in the app. For example, an `inactive` object is moved to the "Expired passes" section.
textModulesData?arrayThe body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens.
validTimeInterval?objectAn ISO 8601 extended format date/time. Offset may or may not be required (refer to the parent field's documentation). Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the date/time is intended for a physical location in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. Providing an offset makes this an absolute instant in time around the world. The date/time will be adjusted based on the user's time zone. For example, a time of `2018-06-19T18:30:00-04:00` will be 18:30:00 for a user in New York and 15:30:00 for a user in Los Angeles. Omitting the offset makes this a local date/time, representing several instants in time around the world. The date/time will always be in the user's current time zone. For example, a time of `2018-06-19T18:30:00` will be 18:30:00 for a user in New York and also 18:30:00 for a user in Los Angeles. This is useful when the same local date/time should apply to many physical locations across several time zones.
valueAddedModuleData?arrayIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
createCreate a flightobject
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach a ready state after creation (default: true)
getGet a flightobject
ArgumentTypeDescription
identifierstringThe id of the flightobject
updateUpdate flightobject attributes
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach a ready state after update (default: true)
syncSync flightobject state from GCP
addmessageaddmessage
ArgumentTypeDescription
message?any
transitobject.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
activationStatus?objectThe activation status of the object. This field includes activation status if valuable supports activation.
appLinkData?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
barcode?objectAn optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned.
classId?stringRequired. The class associated with this object. The class must be of the same type as this object, must already exist, and must be approved. Class IDs should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you.
classReference?objectHTTPS URL that supports REST semantics. Would be used for requesting activation from partners for given valuable, triggered by the users.
concessionCategory?enumThe concession category for the ticket.
customConcessionCategory?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customTicketStatus?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
deviceContext?objectIf set, redemption information will only be returned to the given device upon activation of the object. This should not be used as a stable identifier to trace a user's device. It can change across different passes for the same device or even across different activations for the same device. When setting this, callers must also set has_linked_device on the object being activated.
disableExpirationNotification?booleanIndicates if notifications should explicitly be suppressed. If this field is set to true, regardless of the `messages` field, expiration notifications to the user will be suppressed. By default, this field is set to false. Currently, this can only be set for offers.
groupingInfo?objectOptional grouping ID for grouping the passes with the same ID visually together. Grouping with different types of passes is allowed.
hasLinkedDevice?booleanWhether this object is currently linked to a single device. This field is set by the platform when a user saves the object, linking it to their device. Intended for use by select partners. Contact support for additional information.
hasUsers?booleanIndicates if the object has users. This field is set by the platform.
heroImage?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
hexBackgroundColor?stringThe background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.
id?stringRequired. The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'.
imageModulesData?arrayThe ID associated with an image module. This field is here to enable ease of management of image modules.
infoModuleData?objectThe label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout.
linkedObjectIds?arraylinked_object_ids are a list of other objects such as event ticket, loyalty, offer, generic, giftcard, transit and boarding pass that should be automatically attached to this transit object. If a user had saved this transit card, then these linked_object_ids would be automatically pushed to the user's wallet (unless they turned off the setting to receive such linked passes). Make sure that objects present in linked_object_ids are already inserted - if not, calls would fail. Once linked, the linked objects cannot be unlinked. You cannot link objects belonging to another issuer. There is a limit to the number of objects that can be linked to a single object. After the limit is reached, new linked objects in the call will be ignored silently. Object IDs should follow the format issuer ID. identifier where the former is issued by Google and the latter is chosen by you.
linksModuleData?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
merchantLocations?arrayThe latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected.
messages?arrayThe message body.
notifyPreference?enumWhether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.
passConstraints?objectThe NFC constraints for the pass.
passengerNames?stringThe name(s) of the passengers the ticket is assigned to. The above `passengerType` field is meant to give Google context on this field.
passengerType?enumThe number of passengers.
purchaseDetails?objectID of the account used to purchase the ticket.
rotatingBarcode?objectAn optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned.
saveRestrictions?objectRestrict the save of the referencing object to the given email address only. This is the hex output of SHA256 sum of the email address, all lowercase and without any notations like "." or "+", except "@". For example, for example@example.com, this value will be 31c5543c1734d25c7206f5fd591525d0295bec6fe84ff82f946a34fe970a1e66 and for Example@example.com, this value will be bc34f262c93ad7122763684ccea6f07fb7f5d8a2d11e60ce15a6f43fe70ce632 If email address of the logged-in user who tries to save this pass does not match with the defined value here, users won\'t be allowed to save this pass. They will instead be prompted with an error to contact the issuer. This information should be gathered from the user with an explicit consent via Sign in with Google integration https://developers.google.com/identity/authentication. Please contact with support before using Save Restrictions.
smartTapRedemptionValue?stringThe value that will be transmitted to a Smart Tap certified terminal over NFC for this object. The class level fields `enableSmartTap` and `redemptionIssuers` must also be set up correctly in order for the pass to support Smart Tap. Only ASCII characters are supported.
state?enumRequired. The state of the object. This field is used to determine how an object is displayed in the app. For example, an `inactive` object is moved to the "Expired passes" section.
textModulesData?arrayThe body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens.
ticketLeg?objectThe date/time of arrival. This is an ISO 8601 extended format date/time, with or without an offset. Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the event were in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. The portion of the date/time without the offset is considered the "local date/time". This should be the local date/time at the destination station. For example, if the event occurs at the 20th hour of June 5th, 2018 at the destination station, the local date/time portion should be `2018-06-05T20:00:00`. If the local date/time at the destination station is 4 hours before UTC, an offset of `-04:00` may be appended. Without offset information, some rich features may not be available.
ticketLegs?arrayThe date/time of arrival. This is an ISO 8601 extended format date/time, with or without an offset. Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the event were in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. The portion of the date/time without the offset is considered the "local date/time". This should be the local date/time at the destination station. For example, if the event occurs at the 20th hour of June 5th, 2018 at the destination station, the local date/time portion should be `2018-06-05T20:00:00`. If the local date/time at the destination station is 4 hours before UTC, an offset of `-04:00` may be appended. Without offset information, some rich features may not be available.
ticketNumber?stringThe number of the ticket. This is a unique identifier for the ticket in the transit operator's system.
ticketRestrictions?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
ticketStatus?enumThe status of the ticket. For states which affect display, use the `state` field instead.
tripId?stringThis id is used to group tickets together if the user has saved multiple tickets for the same trip.
tripType?enumRequired. The type of trip this transit object represents. Used to determine the pass title and/or which symbol to use between the origin and destination.
validTimeInterval?objectAn ISO 8601 extended format date/time. Offset may or may not be required (refer to the parent field's documentation). Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the date/time is intended for a physical location in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. Providing an offset makes this an absolute instant in time around the world. The date/time will be adjusted based on the user's time zone. For example, a time of `2018-06-19T18:30:00-04:00` will be 18:30:00 for a user in New York and 15:30:00 for a user in Los Angeles. Omitting the offset makes this a local date/time, representing several instants in time around the world. The date/time will always be in the user's current time zone. For example, a time of `2018-06-19T18:30:00` will be 18:30:00 for a user in New York and also 18:30:00 for a user in Los Angeles. This is useful when the same local date/time should apply to many physical locations across several time zones.
valueAddedModuleData?arrayIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
createCreate a transitobject
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach a ready state after creation (default: true)
getGet a transitobject
ArgumentTypeDescription
identifierstringThe id of the transitobject
updateUpdate transitobject attributes
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach a ready state after update (default: true)
syncSync transitobject state from GCP
addmessageaddmessage
ArgumentTypeDescription
message?any
genericclass.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
appLinkData?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
callbackOptions?objectURL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated.
classTemplateInfo?objectIf more than one reference is supplied, then the first one that references a non-empty field will be displayed.
enableSmartTap?booleanAvailable only to Smart Tap enabled partners. Contact support for additional guidance.
id?stringRequired. The unique identifier for the class. This ID must be unique across all from an issuer. This value needs to follow the format `issuerID.identifier` where `issuerID` is issued by Google and `identifier` is chosen by you. The unique identifier can only include alphanumeric characters, `.`, `_`, or `-`.
imageModulesData?arrayThe ID associated with an image module. This field is here to enable ease of management of image modules.
linksModuleData?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
merchantLocations?arrayThe latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected.
messages?arrayThe message body.
multipleDevicesAndHoldersAllowedStatus?enumIdentifies whether multiple users and devices will save the same object referencing this class.
redemptionIssuers?arrayIdentifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.
securityAnimation?objectType of animation.
textModulesData?arrayThe body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens.
valueAddedModuleData?arrayIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
viewUnlockRequirement?enumView Unlock Requirement options for the generic pass.
createCreate a genericclass
getGet a genericclass
ArgumentTypeDescription
identifierstringThe id of the genericclass
updateUpdate genericclass attributes
syncSync genericclass state from GCP
addmessageaddmessage
ArgumentTypeDescription
message?any