@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 SwampHow well-documented and verifiable this extension is.
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/walletobjectsloyaltyclass.tsv2026.04.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| accountIdLabel? | string | The account ID label, such as "Member ID." Recommended maximum length is 15 characters to ensure full string is displayed on smaller screens. |
| accountNameLabel? | string | The account name label, such as "Member Name." Recommended maximum length is 15 characters to ensure full string is displayed on smaller screens. |
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| callbackOptions? | object | URL 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? | object | If more than one reference is supplied, then the first one that references a non-empty field will be displayed. |
| countryCode? | string | Country 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? | object | The 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? | boolean | Identifies 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| hexBackgroundColor? | string | The 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? | object | The 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? | string | Required. 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? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The 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? | string | Required. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens. |
| linksModuleData? | object | The 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedAccountNameLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedIssuerName? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedProgramName? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedRewardsTier? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedRewardsTierLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedSecondaryRewardsTier? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedSecondaryRewardsTierLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| multipleDevicesAndHoldersAllowedStatus? | enum | Identifies whether multiple users and devices will save the same object referencing this class. |
| notifyPreference? | enum | Whether 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| programName? | string | Required. 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? | array | Identifies 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? | enum | Required. 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? | string | The rewards tier, such as "Gold" or "Platinum." Recommended maximum length is 7 characters to ensure full string is displayed on smaller screens. |
| rewardsTierLabel? | string | The rewards tier label, such as "Rewards Tier." Recommended maximum length is 9 characters to ensure full string is displayed on smaller screens. |
| secondaryRewardsTier? | string | The secondary rewards tier, such as "Gold" or "Platinum." |
| secondaryRewardsTierLabel? | string | The secondary rewards tier label, such as "Rewards Tier." |
| securityAnimation? | object | Type of animation. |
| textModulesData? | array | The 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? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| viewUnlockRequirement? | enum | View Unlock Requirement options for the loyalty card. |
| wideProgramLogo? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| wordMark? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
createCreate a loyaltyclass
getGet a loyaltyclass
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the loyaltyclass |
updateUpdate loyaltyclass attributes
syncSync loyaltyclass state from GCP
addmessageaddmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
transitclass.tsv2026.04.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| activationOptions? | object | HTTPS URL that supports REST semantics. Would be used for requesting activation from partners for given valuable, triggered by the users. |
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| callbackOptions? | object | URL 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? | object | If more than one reference is supplied, then the first one that references a non-empty field will be displayed. |
| countryCode? | string | Country 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customCoachLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customConcessionCategoryLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customConfirmationCodeLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customDiscountMessageLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customFareClassLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customFareNameLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customOtherRestrictionsLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customPlatformLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customPurchaseFaceValueLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customPurchasePriceLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customPurchaseReceiptNumberLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customRouteRestrictionsDetailsLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customRouteRestrictionsLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customSeatLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customTicketNumberLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customTimeRestrictionsLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customTransitTerminusNameLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customZoneLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| enableSingleLegItinerary? | boolean | Controls the display of the single-leg itinerary for this class. By default, an itinerary will only display for multi-leg trips. |
| enableSmartTap? | boolean | Identifies 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| hexBackgroundColor? | string | The 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? | object | The 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? | string | Required. 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? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The 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? | string | Required. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens. |
| languageOverride? | string | If 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? | object | The 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| logo? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| multipleDevicesAndHoldersAllowedStatus? | enum | Identifies whether multiple users and devices will save the same object referencing this class. |
| notifyPreference? | enum | Whether 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? | array | Identifies 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? | enum | Required. 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? | object | Type of animation. |
| textModulesData? | array | The 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| transitType? | enum | Required. The type of transit this class represents, such as "bus". |
| valueAddedModuleData? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| viewUnlockRequirement? | enum | View Unlock Requirement options for the transit ticket. |
| watermark? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| wideLogo? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| wordMark? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
createCreate a transitclass
getGet a transitclass
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the transitclass |
updateUpdate transitclass attributes
syncSync transitclass state from GCP
addmessageaddmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
giftcardobject.tsv2026.04.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| balance? | object | The currency code, such as "USD" or "EUR." |
| balanceUpdateTime? | object | An 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? | object | An 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? | string | Required. The card's number. |
| classId? | string | Required. 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? | object | Determines 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? | boolean | Indicates 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? | string | The card's event number, an optional field used by some gift cards. |
| groupingInfo? | object | Optional grouping ID for grouping the passes with the same ID visually together. Grouping with different types of passes is allowed. |
| hasLinkedDevice? | boolean | Whether 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? | boolean | Indicates if the object has users. This field is set by the platform. |
| heroImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| id? | string | Required. 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? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The 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? | array | linked_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? | object | The 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? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| notifyPreference? | enum | Whether 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? | object | The NFC constraints for the pass. |
| pin? | string | The card's PIN. |
| rotatingBarcode? | object | An 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? | object | Restrict 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? | string | The 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? | enum | Required. 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? | array | The 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? | object | An 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? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
createCreate a giftcardobject
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after creation (default: true) |
getGet a giftcardobject
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the giftcardobject |
updateUpdate giftcardobject attributes
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after update (default: true) |
syncSync giftcardobject state from GCP
addmessageaddmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
giftcardclass.tsv2026.04.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| allowBarcodeRedemption? | boolean | Determines 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| callbackOptions? | object | URL 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? | string | The label to display for the card number, such as "Card Number". |
| classTemplateInfo? | object | If more than one reference is supplied, then the first one that references a non-empty field will be displayed. |
| countryCode? | string | Country 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? | boolean | Identifies 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? | string | The label to display for event number, such as "Target Event #". |
| heroImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| hexBackgroundColor? | string | The 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? | object | The 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? | string | Required. 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? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The 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? | string | Required. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens. |
| linksModuleData? | object | The 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedEventNumberLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedIssuerName? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedMerchantName? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedPinLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| merchantName? | string | Merchant 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? | array | The message body. |
| multipleDevicesAndHoldersAllowedStatus? | enum | Identifies whether multiple users and devices will save the same object referencing this class. |
| notifyPreference? | enum | Whether 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? | string | The label to display for the PIN, such as "4-digit PIN". |
| programLogo? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| redemptionIssuers? | array | Identifies 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? | enum | Required. 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? | object | Type of animation. |
| textModulesData? | array | The 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? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| viewUnlockRequirement? | enum | View Unlock Requirement options for the gift card. |
| wideProgramLogo? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| wordMark? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
createCreate a giftcardclass
getGet a giftcardclass
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the giftcardclass |
updateUpdate giftcardclass attributes
syncSync giftcardclass state from GCP
addmessageaddmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
eventticketobject.tsv2026.04.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| barcode? | object | An 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? | string | Required. 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? | object | Deprecated. Use `multipleDevicesAndHoldersAllowedStatus` instead. |
| disableExpirationNotification? | boolean | Indicates 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? | object | The currency code, such as "USD" or "EUR." |
| groupingInfo? | object | Optional grouping ID for grouping the passes with the same ID visually together. Grouping with different types of passes is allowed. |
| hasLinkedDevice? | boolean | Whether 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? | boolean | Indicates if the object has users. This field is set by the platform. |
| heroImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| hexBackgroundColor? | string | The 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? | string | Required. 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? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The 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? | array | linked_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? | array | A 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? | object | The 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? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| notifyPreference? | enum | Whether 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? | object | The NFC constraints for the pass. |
| reservationInfo? | object | The confirmation code of the event reservation. This may also take the form of an "order number", "confirmation number", "reservation number", or other equivalent. |
| rotatingBarcode? | object | An 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? | object | Restrict 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| smartTapRedemptionValue? | string | The 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? | enum | Required. 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? | array | The 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? | string | Name of the ticket holder, if the ticket is assigned to a person. E.g. "John Doe" or "Jane Doe". |
| ticketNumber? | string | The 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| validTimeInterval? | object | An 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? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
createCreate a eventticketobject
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after creation (default: true) |
getGet a eventticketobject
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the eventticketobject |
updateUpdate eventticketobject attributes
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after update (default: true) |
syncSync eventticketobject state from GCP
addmessageaddmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
modifylinkedofferobjectsmodifylinkedofferobjects
| Argument | Type | Description |
|---|---|---|
| linkedOfferObjectIds? | any |
loyaltyobject.tsv2026.04.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| accountId? | string | The loyalty account identifier. Recommended maximum length is 20 characters. |
| accountName? | string | The loyalty account holder name, such as "John Smith." Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens. |
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| barcode? | object | An 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? | string | Required. 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? | object | The account ID label, such as "Member ID." Recommended maximum length is 15 characters to ensure full string is displayed on smaller screens. |
| disableExpirationNotification? | boolean | Indicates 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? | object | Optional grouping ID for grouping the passes with the same ID visually together. Grouping with different types of passes is allowed. |
| hasLinkedDevice? | boolean | Whether 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? | boolean | Indicates if the object has users. This field is set by the platform. |
| heroImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| id? | string | Required. 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? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The 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? | array | linked_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? | array | A 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? | object | The 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? | object | The double form of a balance. Only one of these subtypes (string, int, double, money) should be populated. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| notifyPreference? | enum | Whether 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? | object | The NFC constraints for the pass. |
| rotatingBarcode? | object | An 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? | object | Restrict 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? | object | The double form of a balance. Only one of these subtypes (string, int, double, money) should be populated. |
| smartTapRedemptionValue? | string | The 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? | enum | Required. 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? | array | The 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? | object | An 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? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
createCreate a loyaltyobject
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after creation (default: true) |
getGet a loyaltyobject
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the loyaltyobject |
updateUpdate loyaltyobject attributes
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after update (default: true) |
syncSync loyaltyobject state from GCP
addmessageaddmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
modifylinkedofferobjectsmodifylinkedofferobjects
| Argument | Type | Description |
|---|---|---|
| linkedOfferObjectIds? | any |
offerobject.tsv2026.04.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| barcode? | object | An 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? | string | Required. 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? | object | Deprecated. Use `multipleDevicesAndHoldersAllowedStatus` instead. |
| disableExpirationNotification? | boolean | Indicates 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? | object | Optional grouping ID for grouping the passes with the same ID visually together. Grouping with different types of passes is allowed. |
| hasLinkedDevice? | boolean | Whether 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? | boolean | Indicates if the object has users. This field is set by the platform. |
| heroImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| id? | string | Required. 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? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The 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? | array | linked_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? | object | The 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? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#latLongPoint"`. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| notifyPreference? | enum | Whether 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? | object | The NFC constraints for the pass. |
| rotatingBarcode? | object | An 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? | object | Restrict 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? | string | The 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? | enum | Required. 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? | array | The 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? | object | An 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? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
createCreate a offerobject
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after creation (default: true) |
getGet a offerobject
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the offerobject |
updateUpdate offerobject attributes
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after update (default: true) |
syncSync offerobject state from GCP
addmessageaddmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
eventticketclass.tsv2026.04.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| callbackOptions? | object | URL 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? | object | If more than one reference is supplied, then the first one that references a non-empty field will be displayed. |
| confirmationCodeLabel? | enum | The 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? | string | Country 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customGateLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customRowLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customSeatLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customSectionLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| dateTime? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| enableSmartTap? | boolean | Identifies 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? | string | The 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| finePrint? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| gateLabel? | enum | The 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| hexBackgroundColor? | string | The 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? | object | The 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? | string | Required. 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? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The 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? | string | Required. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens. |
| linksModuleData? | object | The 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| logo? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| multipleDevicesAndHoldersAllowedStatus? | enum | Identifies whether multiple users and devices will save the same object referencing this class. |
| notifyPreference? | enum | Whether 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? | array | Identifies 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? | enum | Required. 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? | enum | The 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? | enum | The 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? | enum | The 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? | object | Type of animation. |
| textModulesData? | array | The 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? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| venue? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| viewUnlockRequirement? | enum | View Unlock Requirement options for the event ticket. |
| wideLogo? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| wordMark? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
createCreate a eventticketclass
getGet a eventticketclass
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the eventticketclass |
updateUpdate eventticketclass attributes
syncSync eventticketclass state from GCP
addmessageaddmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
flightclass.tsv2026.04.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| boardingAndSeatingPolicy? | object | Indicates the policy the airline uses for boarding. If unset, Google will default to `zoneBased`. |
| callbackOptions? | object | URL 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? | object | If more than one reference is supplied, then the first one that references a non-empty field will be displayed. |
| countryCode? | string | Country 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? | object | Three character IATA airport code. This is a required field for `origin` and `destination`. Eg: "SFO" |
| enableSmartTap? | boolean | Identifies 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| flightStatus? | enum | Status 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| hexBackgroundColor? | string | The 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? | object | The 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? | string | Required. 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? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The 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? | string | Required. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens. |
| languageOverride? | string | If 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? | object | The 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? | string | The 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? | string | The 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? | string | The 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? | string | The 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? | string | The 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? | string | Required. 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| multipleDevicesAndHoldersAllowedStatus? | enum | Identifies whether multiple users and devices will save the same object referencing this class. |
| notifyPreference? | enum | Whether 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? | object | Three character IATA airport code. This is a required field for `origin` and `destination`. Eg: "SFO" |
| redemptionIssuers? | array | Identifies 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? | enum | Required. 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? | object | Type of animation. |
| textModulesData? | array | The 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? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| viewUnlockRequirement? | enum | View Unlock Requirement options for the boarding pass. |
| wordMark? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
createCreate a flightclass
getGet a flightclass
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the flightclass |
updateUpdate flightclass attributes
syncSync flightclass state from GCP
addmessageaddmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
permissions.tsv2026.04.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| issuerId? | string | ID of the issuer the list of permissions refer to. |
| permissions? | array | The email address of the user, group, or service account to which this permission refers to. |
getGet a permissions
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the permissions |
updateUpdate permissions attributes
syncSync permissions state from GCP
issuer.tsv2026.04.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| callbackOptions? | object | URL 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? | object | Email addresses which will receive alerts. |
| homepageUrl? | string | URL for the issuer's home page. |
| issuerId? | string | The unique identifier for an issuer account. This is automatically generated when the issuer is inserted. |
| name? | string | The account name of the issuer. |
| smartTapMerchantData? | object | Available only to Smart Tap enabled partners. Contact support for additional guidance. |
createCreate a issuer
getGet a issuer
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the issuer |
updateUpdate issuer attributes
syncSync issuer state from GCP
genericobject.tsv2026.04.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| barcode? | object | An 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| classId? | string | Required. 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? | enum | Specify which `GenericType` the card belongs to. |
| groupingInfo? | object | Optional grouping ID for grouping the passes with the same ID visually together. Grouping with different types of passes is allowed. |
| hasUsers? | boolean | Indicates if the object has users. This field is set by the platform. |
| header? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| heroImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| hexBackgroundColor? | string | The 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? | string | Required. 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? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| linkedObjectIds? | array | linked_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? | object | The 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| notifications? | object | Indicates if the object needs to have expiry notification enabled. |
| passConstraints? | object | The NFC constraints for the pass. |
| rotatingBarcode? | object | An 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? | object | Restrict 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? | string | The 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? | enum | 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. If this is not provided, the object would be considered `ACTIVE`. |
| subheader? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| textModulesData? | array | The 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? | object | An 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? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| wideLogo? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
createCreate a genericobject
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after creation (default: true) |
getGet a genericobject
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the genericobject |
updateUpdate genericobject attributes
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after update (default: true) |
syncSync genericobject state from GCP
addmessageaddmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
offerclass.tsv2026.04.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| callbackOptions? | object | URL 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? | object | If more than one reference is supplied, then the first one that references a non-empty field will be displayed. |
| countryCode? | string | Country 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? | string | The details of the offer. |
| enableSmartTap? | boolean | Identifies 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? | string | The fine print or terms of the offer, such as "20% off any t-shirt at Adam\'s Apparel." |
| helpUri? | object | The 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| hexBackgroundColor? | string | The 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? | object | The 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? | string | Required. 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? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The 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? | string | Required. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens. |
| linksModuleData? | object | The 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedFinePrint? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedIssuerName? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedProvider? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedShortTitle? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedTitle? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| multipleDevicesAndHoldersAllowedStatus? | enum | Identifies whether multiple users and devices will save the same object referencing this class. |
| notifyPreference? | enum | Whether 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? | string | Required. 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? | enum | Required. The redemption channels applicable to this offer. |
| redemptionIssuers? | array | Identifies 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? | enum | Required. 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? | object | Type of animation. |
| shortTitle? | string | A 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? | array | The 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? | string | Required. 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| valueAddedModuleData? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| viewUnlockRequirement? | enum | View Unlock Requirement options for the offer. |
| wideTitleImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| wordMark? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
createCreate a offerclass
getGet a offerclass
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the offerclass |
updateUpdate offerclass attributes
syncSync offerclass state from GCP
addmessageaddmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
flightobject.tsv2026.04.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| barcode? | object | An 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? | object | Set 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? | string | Required. 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? | object | Deprecated. Use `multipleDevicesAndHoldersAllowedStatus` instead. |
| disableExpirationNotification? | boolean | Indicates 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? | object | Optional grouping ID for grouping the passes with the same ID visually together. Grouping with different types of passes is allowed. |
| hasLinkedDevice? | boolean | Whether 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? | boolean | Indicates if the object has users. This field is set by the platform. |
| heroImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| hexBackgroundColor? | string | The 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? | string | Required. 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? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The 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? | array | linked_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? | object | The 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? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| notifyPreference? | enum | Whether 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? | object | The NFC constraints for the pass. |
| passengerName? | string | Required. Passenger name as it would appear on the boarding pass. eg: "Dave M Gahan" or "Gahan/Dave" or "GAHAN/DAVEM" |
| reservationInfo? | object | Confirmation 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? | object | An 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? | object | Restrict 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? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| smartTapRedemptionValue? | string | The 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? | enum | Required. 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? | array | The 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? | object | An 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? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
createCreate a flightobject
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after creation (default: true) |
getGet a flightobject
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the flightobject |
updateUpdate flightobject attributes
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after update (default: true) |
syncSync flightobject state from GCP
addmessageaddmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
transitobject.tsv2026.04.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| activationStatus? | object | The activation status of the object. This field includes activation status if valuable supports activation. |
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| barcode? | object | An 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? | string | Required. 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? | object | HTTPS URL that supports REST semantics. Would be used for requesting activation from partners for given valuable, triggered by the users. |
| concessionCategory? | enum | The concession category for the ticket. |
| customConcessionCategory? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customTicketStatus? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| deviceContext? | object | If 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? | boolean | Indicates 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? | object | Optional grouping ID for grouping the passes with the same ID visually together. Grouping with different types of passes is allowed. |
| hasLinkedDevice? | boolean | Whether 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? | boolean | Indicates if the object has users. This field is set by the platform. |
| heroImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| hexBackgroundColor? | string | The 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? | string | Required. 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? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The 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? | array | linked_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? | object | The 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? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| notifyPreference? | enum | Whether 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? | object | The NFC constraints for the pass. |
| passengerNames? | string | The name(s) of the passengers the ticket is assigned to. The above `passengerType` field is meant to give Google context on this field. |
| passengerType? | enum | The number of passengers. |
| purchaseDetails? | object | ID of the account used to purchase the ticket. |
| rotatingBarcode? | object | An 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? | object | Restrict 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? | string | The 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? | enum | Required. 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? | array | The 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? | object | The 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? | array | The 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? | string | The number of the ticket. This is a unique identifier for the ticket in the transit operator's system. |
| ticketRestrictions? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| ticketStatus? | enum | The status of the ticket. For states which affect display, use the `state` field instead. |
| tripId? | string | This id is used to group tickets together if the user has saved multiple tickets for the same trip. |
| tripType? | enum | Required. 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? | object | An 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? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
createCreate a transitobject
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after creation (default: true) |
getGet a transitobject
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the transitobject |
updateUpdate transitobject attributes
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after update (default: true) |
syncSync transitobject state from GCP
addmessageaddmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
genericclass.tsv2026.04.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| callbackOptions? | object | URL 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? | object | If more than one reference is supplied, then the first one that references a non-empty field will be displayed. |
| enableSmartTap? | boolean | Available only to Smart Tap enabled partners. Contact support for additional guidance. |
| id? | string | Required. 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? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| linksModuleData? | object | The 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? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| multipleDevicesAndHoldersAllowedStatus? | enum | Identifies whether multiple users and devices will save the same object referencing this class. |
| redemptionIssuers? | array | Identifies 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? | object | Type of animation. |
| textModulesData? | array | The 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? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| viewUnlockRequirement? | enum | View Unlock Requirement options for the generic pass. |
createCreate a genericclass
getGet a genericclass
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the genericclass |
updateUpdate genericclass attributes
syncSync genericclass state from GCP
addmessageaddmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
2026.04.04.1678.4 KBApr 4, 2026
Google Cloud walletobjects infrastructure models
Release Notes
- Updated: eventticketclass, eventticketobject, flightclass, flightobject, genericclass, genericobject, giftcardclass, giftcardobject, loyaltyclass, loyaltyobject, offerclass, offerobject, transitclass, transitobject
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
gcpgoogle-cloudwalletobjectscloudinfrastructure
2026.04.03.3770.9 KBApr 3, 2026
Google Cloud walletobjects infrastructure models
Release Notes
- Updated: eventticketclass, eventticketobject, flightclass, flightobject, genericclass, genericobject, giftcardclass, giftcardobject, issuer, loyaltyclass, loyaltyobject, offerclass, offerobject, permissions, transitclass, transitobject
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
gcpgoogle-cloudwalletobjectscloudinfrastructure
2026.04.03.1768.5 KBApr 3, 2026
Google Cloud walletobjects infrastructure models
Release Notes
- Updated: eventticketclass, eventticketobject, flightclass, flightobject, genericclass, genericobject, giftcardclass, giftcardobject, issuer, loyaltyclass, loyaltyobject, offerclass, offerobject, permissions, transitclass, transitobject
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
gcpgoogle-cloudwalletobjectscloudinfrastructure
2026.04.02.2768.3 KBApr 2, 2026
Google Cloud walletobjects infrastructure models
Changelog
Models
~methods: +addmessage
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
gcpgoogle-cloudwalletobjectscloudinfrastructure
2026.03.27.1788.2 KBMar 27, 2026
Google Cloud walletobjects infrastructure models
Release Notes
- Added: eventticketclass, eventticketobject, flightclass, flightobject, genericclass, genericobject, giftcardclass, giftcardobject, issuer, loyaltyclass, loyaltyobject, offerclass, offerobject, permissions, transitclass, transitobject
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
gcpgoogle-cloudwalletobjectscloudinfrastructure