Skip to main content

Gcp/walletobjects

@swamp/gcp/walletobjectsv2026.10.23.1· AGPL-3.0-or-later(was none)· 3d agoBEHAVIORS
01README

Google Cloud walletobjects infrastructure models

02Release Notes
  • Updated: eventticketclass, eventticketobject, flightclass, flightobject, genericclass, genericobject, giftcardclass, giftcardobject, issuer, loyaltyclass, loyaltyobject, offerclass, offerobject, permissions, transitclass, transitobject
03Behaviors16
eventticketclass.tsv2026.10.23.1

Global Arguments

ArgumentTypeDescription
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
scopes?stringComma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes.
quotaProject?stringGCP project ID for quota and billing attribution; sets the x-goog-user-project header. Overrides GOOGLE_CLOUD_QUOTA_PROJECT environment variable. Required for APIs like Cloud Identity when using user credentials.
apiEndpoint?stringCustom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL.
appLinkData?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
callbackOptions?objectURL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated.
classTemplateInfo?objectIf more than one reference is supplied, then the first one that references a non-empty field will be displayed.
confirmationCodeLabel?enumThe label to use for the confirmation code value (`eventTicketObject.reservationInfo.confirmationCode`) on the card detail view. Each available option maps to a set of localized strings, so that translations are shown to the user based on their locale. Both `confirmationCodeLabel` and `customConfirmationCodeLabel` may not be set. If neither is set, the label will default to "Confirmation Code", localized. If the confirmation code field is unset, this label will not be used.
countryCode?stringCountry code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale.
customConfirmationCodeLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customGateLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customRowLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customSeatLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customSectionLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
dateTime?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
enableSmartTap?booleanIdentifies whether this class supports Smart Tap. The `redemptionIssuers` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.
eventId?stringThe ID of the event. This ID should be unique for every event in an account. It is used to group tickets together if the user has saved multiple tickets for the same event. It can be at most 64 characters. If provided, the grouping will be stable. Be wary of unintentional collision to avoid grouping tickets that should not be grouped. If you use only one class per event, you can simply set this to the `classId` (with or without the issuer ID portion). If not provided, the platform will attempt to use other data to group tickets (potentially unstable).
eventName?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
finePrint?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
gateLabel?enumThe label to use for the gate value (`eventTicketObject.seatInfo.gate`) on the card detail view. Each available option maps to a set of localized strings, so that translations are shown to the user based on their locale. Both `gateLabel` and `customGateLabel` may not be set. If neither is set, the label will default to "Gate", localized. If the gate field is unset, this label will not be used.
heroImage?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
hexBackgroundColor?stringThe background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.
homepageUri?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
id?stringRequired. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.
imageModulesData?arrayThe ID associated with an image module. This field is here to enable ease of management of image modules.
infoModuleData?objectThe label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout.
issuerName?stringRequired. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens.
linksModuleData?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
localizedIssuerName?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
logo?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
merchantLocations?arrayThe latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected.
messages?arrayThe message body.
multipleDevicesAndHoldersAllowedStatus?enumIdentifies whether multiple users and devices will save the same object referencing this class.
notifyPreference?enumWhether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.
redemptionIssuers?arrayIdentifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.
review?objectThe review comments set by the platform when a class is marked `approved` or `rejected`.
reviewStatus?enumRequired. The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`.
rowLabel?enumThe label to use for the row value (`eventTicketObject.seatInfo.row`) on the card detail view. Each available option maps to a set of localized strings, so that translations are shown to the user based on their locale. Both `rowLabel` and `customRowLabel` may not be set. If neither is set, the label will default to "Row", localized. If the row field is unset, this label will not be used.
seatLabel?enumThe label to use for the seat value (`eventTicketObject.seatInfo.seat`) on the card detail view. Each available option maps to a set of localized strings, so that translations are shown to the user based on their locale. Both `seatLabel` and `customSeatLabel` may not be set. If neither is set, the label will default to "Seat", localized. If the seat field is unset, this label will not be used.
sectionLabel?enumThe label to use for the section value (`eventTicketObject.seatInfo.section`) on the card detail view. Each available option maps to a set of localized strings, so that translations are shown to the user based on their locale. Both `sectionLabel` and `customSectionLabel` may not be set. If neither is set, the label will default to "Section", localized. If the section field is unset, this label will not be used.
securityAnimation?objectType of animation.
textModulesData?arrayThe body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens.
valueAddedModuleData?arrayIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
venue?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
viewUnlockRequirement?enumView Unlock Requirement options for the event ticket.
wideLogo?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
wordMark?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
fn create()
Create a eventticketclass
fn get(identifier: string)
Get a eventticketclass
ArgumentTypeDescription
identifierstringThe id of the eventticketclass
fn update(identifier?: string)
Update eventticketclass attributes
ArgumentTypeDescription
identifier?stringTarget a specific eventticketclass by id (e.g. one discovered by list)
fn sync(identifier?: string)
Sync eventticketclass state from GCP
ArgumentTypeDescription
identifier?stringTarget a specific eventticketclass by id (e.g. one discovered by list)
fn list(issuerId?: string, maxResults?: number, token?: string, maxPages?: number)
List eventticketclass resources
ArgumentTypeDescription
issuerId?stringThe ID of the issuer authorized to list classes.
maxResults?numberIdentifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined.
token?stringUsed to get the next set of results if `maxResults` is specified, but more than `maxResults` classes are available in a list. For example, if you have a list of 200 classes and you call list with `maxResults` set to 20, list will return the first 20 classes and a token. Call list again with `maxResults` set to 20 and the token to get the next 20 classes.
maxPages?numberMaximum number of pages to fetch (default: 10)
fn addmessage(message?: any)
addmessage
ArgumentTypeDescription
message?any

Resources

state(infinite)— Returns the event ticket class with the given class ID.
eventticketobject.tsv2026.10.23.1

Global Arguments

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

Resources

state(infinite)— Returns the event ticket object with the given object ID.
flightclass.tsv2026.10.23.1

Global Arguments

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

Resources

state(infinite)— Returns the flight class with the given class ID.
flightobject.tsv2026.10.23.1

Global Arguments

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

Resources

state(infinite)— Returns the flight object with the given object ID.
genericclass.tsv2026.10.23.1

Global Arguments

ArgumentTypeDescription
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
scopes?stringComma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes.
quotaProject?stringGCP project ID for quota and billing attribution; sets the x-goog-user-project header. Overrides GOOGLE_CLOUD_QUOTA_PROJECT environment variable. Required for APIs like Cloud Identity when using user credentials.
apiEndpoint?stringCustom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL.
appLinkData?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
callbackOptions?objectURL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated.
classTemplateInfo?objectIf more than one reference is supplied, then the first one that references a non-empty field will be displayed.
enableSmartTap?booleanAvailable only to Smart Tap enabled partners. Contact support for additional guidance.
id?stringRequired. The unique identifier for the class. This ID must be unique across all from an issuer. This value needs to follow the format `issuerID.identifier` where `issuerID` is issued by Google and `identifier` is chosen by you. The unique identifier can only include alphanumeric characters, `.`, `_`, or `-`.
imageModulesData?arrayThe ID associated with an image module. This field is here to enable ease of management of image modules.
linksModuleData?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
merchantLocations?arrayThe latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected.
messages?arrayThe message body.
multipleDevicesAndHoldersAllowedStatus?enumIdentifies whether multiple users and devices will save the same object referencing this class.
redemptionIssuers?arrayIdentifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.
securityAnimation?objectType of animation.
textModulesData?arrayThe body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens.
valueAddedModuleData?arrayIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
viewUnlockRequirement?enumView Unlock Requirement options for the generic pass.
fn create()
Create a genericclass
fn get(identifier: string)
Get a genericclass
ArgumentTypeDescription
identifierstringThe id of the genericclass
fn update(identifier?: string)
Update genericclass attributes
ArgumentTypeDescription
identifier?stringTarget a specific genericclass by id (e.g. one discovered by list)
fn sync(identifier?: string)
Sync genericclass state from GCP
ArgumentTypeDescription
identifier?stringTarget a specific genericclass by id (e.g. one discovered by list)
fn list(issuerId?: string, maxResults?: number, token?: string, maxPages?: number)
List genericclass resources
ArgumentTypeDescription
issuerId?stringThe ID of the issuer authorized to list classes.
maxResults?numberIdentifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined.
token?stringUsed to get the next set of results if `maxResults` is specified, but more than `maxResults` classes are available in a list. For example, if you have a list of 200 classes and you call list with `maxResults` set to 20, list will return the first 20 classes and a token. Call list again with `maxResults` set to 20 and the token to get the next 20 classes.
maxPages?numberMaximum number of pages to fetch (default: 10)
fn addmessage(message?: any)
addmessage
ArgumentTypeDescription
message?any

Resources

state(infinite)— Generic Class
genericobject.tsv2026.10.23.1

Global Arguments

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

Resources

state(infinite)— Generic Object
giftcardclass.tsv2026.10.23.1

Global Arguments

ArgumentTypeDescription
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
scopes?stringComma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes.
quotaProject?stringGCP project ID for quota and billing attribution; sets the x-goog-user-project header. Overrides GOOGLE_CLOUD_QUOTA_PROJECT environment variable. Required for APIs like Cloud Identity when using user credentials.
apiEndpoint?stringCustom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL.
allowBarcodeRedemption?booleanDetermines whether the merchant supports gift card redemption using barcode. If true, app displays a barcode for the gift card on the Gift card details screen. If false, a barcode is not displayed.
appLinkData?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
callbackOptions?objectURL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated.
cardNumberLabel?stringThe label to display for the card number, such as "Card Number".
classTemplateInfo?objectIf more than one reference is supplied, then the first one that references a non-empty field will be displayed.
countryCode?stringCountry code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale.
enableSmartTap?booleanIdentifies whether this class supports Smart Tap. The `redemptionIssuers` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.
eventNumberLabel?stringThe label to display for event number, such as "Target Event #".
heroImage?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
hexBackgroundColor?stringThe background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.
homepageUri?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
id?stringRequired. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.
imageModulesData?arrayThe ID associated with an image module. This field is here to enable ease of management of image modules.
infoModuleData?objectThe label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout.
issuerName?stringRequired. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens.
linksModuleData?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
localizedCardNumberLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedEventNumberLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedIssuerName?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedMerchantName?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedPinLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
merchantLocations?arrayThe latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected.
merchantName?stringMerchant name, such as "Adam\'s Apparel". The app may display an ellipsis after the first 20 characters to ensure full string is displayed on smaller screens.
messages?arrayThe message body.
multipleDevicesAndHoldersAllowedStatus?enumIdentifies whether multiple users and devices will save the same object referencing this class.
notifyPreference?enumWhether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.
pinLabel?stringThe label to display for the PIN, such as "4-digit PIN".
programLogo?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
redemptionIssuers?arrayIdentifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.
review?objectThe review comments set by the platform when a class is marked `approved` or `rejected`.
reviewStatus?enumRequired. The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`.
securityAnimation?objectType of animation.
textModulesData?arrayThe body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens.
valueAddedModuleData?arrayIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
viewUnlockRequirement?enumView Unlock Requirement options for the gift card.
wideProgramLogo?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
wordMark?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
fn create()
Create a giftcardclass
fn get(identifier: string)
Get a giftcardclass
ArgumentTypeDescription
identifierstringThe id of the giftcardclass
fn update(identifier?: string)
Update giftcardclass attributes
ArgumentTypeDescription
identifier?stringTarget a specific giftcardclass by id (e.g. one discovered by list)
fn sync(identifier?: string)
Sync giftcardclass state from GCP
ArgumentTypeDescription
identifier?stringTarget a specific giftcardclass by id (e.g. one discovered by list)
fn list(issuerId?: string, maxResults?: number, token?: string, maxPages?: number)
List giftcardclass resources
ArgumentTypeDescription
issuerId?stringThe ID of the issuer authorized to list classes.
maxResults?numberIdentifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined.
token?stringUsed to get the next set of results if `maxResults` is specified, but more than `maxResults` classes are available in a list. For example, if you have a list of 200 classes and you call list with `maxResults` set to 20, list will return the first 20 classes and a token. Call list again with `maxResults` set to 20 and the token to get the next 20 classes.
maxPages?numberMaximum number of pages to fetch (default: 10)
fn addmessage(message?: any)
addmessage
ArgumentTypeDescription
message?any

Resources

state(infinite)— Returns the gift card class with the given class ID.
giftcardobject.tsv2026.10.23.1

Global Arguments

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

Resources

state(infinite)— Returns the gift card object with the given object ID.
issuer.tsv2026.10.23.1

Global Arguments

ArgumentTypeDescription
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
scopes?stringComma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes.
quotaProject?stringGCP project ID for quota and billing attribution; sets the x-goog-user-project header. Overrides GOOGLE_CLOUD_QUOTA_PROJECT environment variable. Required for APIs like Cloud Identity when using user credentials.
apiEndpoint?stringCustom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL.
callbackOptions?objectURL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated.
contactInfo?objectEmail addresses which will receive alerts.
homepageUrl?stringURL for the issuer's home page.
issuerId?stringThe unique identifier for an issuer account. This is automatically generated when the issuer is inserted.
name?stringThe account name of the issuer.
smartTapMerchantData?objectAvailable only to Smart Tap enabled partners. Contact support for additional guidance.
fn create()
Create a issuer
fn get(identifier: string)
Get a issuer
ArgumentTypeDescription
identifierstringThe id of the issuer
fn update(identifier?: string)
Update issuer attributes
ArgumentTypeDescription
identifier?stringTarget a specific issuer by id (e.g. one discovered by list)
fn sync(identifier?: string)
Sync issuer state from GCP
ArgumentTypeDescription
identifier?stringTarget a specific issuer by id (e.g. one discovered by list)
fn list(maxPages?: number)
List issuer resources
ArgumentTypeDescription
maxPages?numberMaximum number of pages to fetch (default: 10)

Resources

state(infinite)— Returns the issuer with the given issuer ID.
loyaltyclass.tsv2026.10.23.1

Global Arguments

ArgumentTypeDescription
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
scopes?stringComma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes.
quotaProject?stringGCP project ID for quota and billing attribution; sets the x-goog-user-project header. Overrides GOOGLE_CLOUD_QUOTA_PROJECT environment variable. Required for APIs like Cloud Identity when using user credentials.
apiEndpoint?stringCustom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL.
accountIdLabel?stringThe account ID label, such as "Member ID." Recommended maximum length is 15 characters to ensure full string is displayed on smaller screens.
accountNameLabel?stringThe account name label, such as "Member Name." Recommended maximum length is 15 characters to ensure full string is displayed on smaller screens.
appLinkData?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
callbackOptions?objectURL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated.
classTemplateInfo?objectIf more than one reference is supplied, then the first one that references a non-empty field will be displayed.
countryCode?stringCountry code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale.
discoverableProgram?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
enableSmartTap?booleanIdentifies whether this class supports Smart Tap. The `redemptionIssuers` and one of object level `smartTapRedemptionLevel`, barcode.value`, or `accountId` fields must also be set up correctly in order for a pass to support Smart Tap.
heroImage?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
hexBackgroundColor?stringThe background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.
homepageUri?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
id?stringRequired. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.
imageModulesData?arrayThe ID associated with an image module. This field is here to enable ease of management of image modules.
infoModuleData?objectThe label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout.
issuerName?stringRequired. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens.
linksModuleData?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
localizedAccountIdLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedAccountNameLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedIssuerName?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedProgramName?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedRewardsTier?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedRewardsTierLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedSecondaryRewardsTier?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedSecondaryRewardsTierLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
merchantLocations?arrayThe latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected.
messages?arrayThe message body.
multipleDevicesAndHoldersAllowedStatus?enumIdentifies whether multiple users and devices will save the same object referencing this class.
notifyPreference?enumWhether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.
programLogo?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
programName?stringRequired. The program name, such as "Adam\'s Apparel". The app may display an ellipsis after the first 20 characters to ensure full string is displayed on smaller screens.
redemptionIssuers?arrayIdentifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and one of object level `smartTapRedemptionValue`, barcode.value`, or `accountId` fields must also be set up correctly in order for a pass to support Smart Tap.
review?objectThe review comments set by the platform when a class is marked `approved` or `rejected`.
reviewStatus?enumRequired. The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`.
rewardsTier?stringThe rewards tier, such as "Gold" or "Platinum." Recommended maximum length is 7 characters to ensure full string is displayed on smaller screens.
rewardsTierLabel?stringThe rewards tier label, such as "Rewards Tier." Recommended maximum length is 9 characters to ensure full string is displayed on smaller screens.
secondaryRewardsTier?stringThe secondary rewards tier, such as "Gold" or "Platinum."
secondaryRewardsTierLabel?stringThe secondary rewards tier label, such as "Rewards Tier."
securityAnimation?objectType of animation.
textModulesData?arrayThe body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens.
valueAddedModuleData?arrayIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
viewUnlockRequirement?enumView Unlock Requirement options for the loyalty card.
wideProgramLogo?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
wordMark?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
fn create()
Create a loyaltyclass
fn get(identifier: string)
Get a loyaltyclass
ArgumentTypeDescription
identifierstringThe id of the loyaltyclass
fn update(identifier?: string)
Update loyaltyclass attributes
ArgumentTypeDescription
identifier?stringTarget a specific loyaltyclass by id (e.g. one discovered by list)
fn sync(identifier?: string)
Sync loyaltyclass state from GCP
ArgumentTypeDescription
identifier?stringTarget a specific loyaltyclass by id (e.g. one discovered by list)
fn list(issuerId?: string, maxResults?: number, token?: string, maxPages?: number)
List loyaltyclass resources
ArgumentTypeDescription
issuerId?stringThe ID of the issuer authorized to list classes.
maxResults?numberIdentifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined.
token?stringUsed to get the next set of results if `maxResults` is specified, but more than `maxResults` classes are available in a list. For example, if you have a list of 200 classes and you call list with `maxResults` set to 20, list will return the first 20 classes and a token. Call list again with `maxResults` set to 20 and the token to get the next 20 classes.
maxPages?numberMaximum number of pages to fetch (default: 10)
fn addmessage(message?: any)
addmessage
ArgumentTypeDescription
message?any

Resources

state(infinite)— Returns the loyalty class with the given class ID.
loyaltyobject.tsv2026.10.23.1

Global Arguments

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

Resources

state(infinite)— Returns the loyalty object with the given object ID.
offerclass.tsv2026.10.23.1

Global Arguments

ArgumentTypeDescription
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
scopes?stringComma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes.
quotaProject?stringGCP project ID for quota and billing attribution; sets the x-goog-user-project header. Overrides GOOGLE_CLOUD_QUOTA_PROJECT environment variable. Required for APIs like Cloud Identity when using user credentials.
apiEndpoint?stringCustom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL.
appLinkData?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
callbackOptions?objectURL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated.
classTemplateInfo?objectIf more than one reference is supplied, then the first one that references a non-empty field will be displayed.
countryCode?stringCountry code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale.
details?stringThe details of the offer.
enableSmartTap?booleanIdentifies whether this class supports Smart Tap. The `redemptionIssuers` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.
finePrint?stringThe fine print or terms of the offer, such as "20% off any t-shirt at Adam\'s Apparel."
helpUri?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
heroImage?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
hexBackgroundColor?stringThe background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.
homepageUri?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
id?stringRequired. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.
imageModulesData?arrayThe ID associated with an image module. This field is here to enable ease of management of image modules.
infoModuleData?objectThe label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout.
issuerName?stringRequired. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens.
linksModuleData?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
localizedDetails?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedFinePrint?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedIssuerName?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedProvider?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedShortTitle?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
localizedTitle?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
merchantLocations?arrayThe latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected.
messages?arrayThe message body.
multipleDevicesAndHoldersAllowedStatus?enumIdentifies whether multiple users and devices will save the same object referencing this class.
notifyPreference?enumWhether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.
provider?stringRequired. The offer provider (either the aggregator name or merchant name). Recommended maximum length is 12 characters to ensure full string is displayed on smaller screens.
redemptionChannel?enumRequired. The redemption channels applicable to this offer.
redemptionIssuers?arrayIdentifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.
review?objectThe review comments set by the platform when a class is marked `approved` or `rejected`.
reviewStatus?enumRequired. The status of the class. This field can be set to `draft` or The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`.
securityAnimation?objectType of animation.
shortTitle?stringA shortened version of the title of the offer, such as "20% off," shown to users as a quick reference to the offer contents. Recommended maximum length is 20 characters.
textModulesData?arrayThe body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens.
title?stringRequired. The title of the offer, such as "20% off any t-shirt." Recommended maximum length is 60 characters to ensure full string is displayed on smaller screens.
titleImage?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
valueAddedModuleData?arrayIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
viewUnlockRequirement?enumView Unlock Requirement options for the offer.
wideTitleImage?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
wordMark?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
fn create()
Create a offerclass
fn get(identifier: string)
Get a offerclass
ArgumentTypeDescription
identifierstringThe id of the offerclass
fn update(identifier?: string)
Update offerclass attributes
ArgumentTypeDescription
identifier?stringTarget a specific offerclass by id (e.g. one discovered by list)
fn sync(identifier?: string)
Sync offerclass state from GCP
ArgumentTypeDescription
identifier?stringTarget a specific offerclass by id (e.g. one discovered by list)
fn list(issuerId?: string, maxResults?: number, token?: string, maxPages?: number)
List offerclass resources
ArgumentTypeDescription
issuerId?stringThe ID of the issuer authorized to list classes.
maxResults?numberIdentifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined.
token?stringUsed to get the next set of results if `maxResults` is specified, but more than `maxResults` classes are available in a list. For example, if you have a list of 200 classes and you call list with `maxResults` set to 20, list will return the first 20 classes and a token. Call list again with `maxResults` set to 20 and the token to get the next 20 classes.
maxPages?numberMaximum number of pages to fetch (default: 10)
fn addmessage(message?: any)
addmessage
ArgumentTypeDescription
message?any

Resources

state(infinite)— Returns the offer class with the given class ID.
offerobject.tsv2026.10.23.1

Global Arguments

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

Resources

state(infinite)— Returns the offer object with the given object ID.
permissions.tsv2026.10.23.1

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
scopes?stringComma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes.
quotaProject?stringGCP project ID for quota and billing attribution; sets the x-goog-user-project header. Overrides GOOGLE_CLOUD_QUOTA_PROJECT environment variable. Required for APIs like Cloud Identity when using user credentials.
apiEndpoint?stringCustom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL.
issuerId?stringID of the issuer the list of permissions refer to.
permissions?arrayThe email address of the user, group, or service account to which this permission refers to.
fn get(identifier: string)
Get a permissions
ArgumentTypeDescription
identifierstringThe id of the permissions
fn update(identifier?: string)
Update permissions attributes
ArgumentTypeDescription
identifier?stringTarget a specific permissions by id (e.g. one discovered by list)
fn sync(identifier?: string)
Sync permissions state from GCP
ArgumentTypeDescription
identifier?stringTarget a specific permissions by id (e.g. one discovered by list)

Resources

state(infinite)— Returns the permissions for the given issuer id.
transitclass.tsv2026.10.23.1

Global Arguments

ArgumentTypeDescription
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
scopes?stringComma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes.
quotaProject?stringGCP project ID for quota and billing attribution; sets the x-goog-user-project header. Overrides GOOGLE_CLOUD_QUOTA_PROJECT environment variable. Required for APIs like Cloud Identity when using user credentials.
apiEndpoint?stringCustom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL.
activationOptions?objectHTTPS URL that supports REST semantics. Would be used for requesting activation from partners for given valuable, triggered by the users.
appLinkData?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
callbackOptions?objectURL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated.
classTemplateInfo?objectIf more than one reference is supplied, then the first one that references a non-empty field will be displayed.
countryCode?stringCountry code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale.
customCarriageLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customCoachLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customConcessionCategoryLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customConfirmationCodeLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customDiscountMessageLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customFareClassLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customFareNameLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customOtherRestrictionsLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customPlatformLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customPurchaseFaceValueLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customPurchasePriceLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customPurchaseReceiptNumberLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customRouteRestrictionsDetailsLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customRouteRestrictionsLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customSeatLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customTicketNumberLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customTimeRestrictionsLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customTransitTerminusNameLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
customZoneLabel?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
enableSingleLegItinerary?booleanControls the display of the single-leg itinerary for this class. By default, an itinerary will only display for multi-leg trips.
enableSmartTap?booleanIdentifies whether this class supports Smart Tap. The `redemptionIssuers` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.
heroImage?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
hexBackgroundColor?stringThe background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.
homepageUri?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
id?stringRequired. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.
imageModulesData?arrayThe ID associated with an image module. This field is here to enable ease of management of image modules.
infoModuleData?objectThe label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout.
issuerName?stringRequired. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens.
languageOverride?stringIf this field is present, transit tickets served to a user\'s device will always be in this language. Represents the BCP 47 language tag. Example values are "en-US", "en-GB", "de", or "de-AT".
linksModuleData?objectThe URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.
localizedIssuerName?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
logo?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
merchantLocations?arrayThe latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected.
messages?arrayThe message body.
multipleDevicesAndHoldersAllowedStatus?enumIdentifies whether multiple users and devices will save the same object referencing this class.
notifyPreference?enumWhether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.
redemptionIssuers?arrayIdentifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.
review?objectThe review comments set by the platform when a class is marked `approved` or `rejected`.
reviewStatus?enumRequired. The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`.
securityAnimation?objectType of animation.
textModulesData?arrayThe body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens.
transitOperatorName?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
transitType?enumRequired. The type of transit this class represents, such as "bus".
valueAddedModuleData?arrayIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
viewUnlockRequirement?enumView Unlock Requirement options for the transit ticket.
watermark?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
wideLogo?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
wordMark?objectIdentifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`.
fn create()
Create a transitclass
fn get(identifier: string)
Get a transitclass
ArgumentTypeDescription
identifierstringThe id of the transitclass
fn update(identifier?: string)
Update transitclass attributes
ArgumentTypeDescription
identifier?stringTarget a specific transitclass by id (e.g. one discovered by list)
fn sync(identifier?: string)
Sync transitclass state from GCP
ArgumentTypeDescription
identifier?stringTarget a specific transitclass by id (e.g. one discovered by list)
fn list(issuerId?: string, maxResults?: number, token?: string, maxPages?: number)
List transitclass resources
ArgumentTypeDescription
issuerId?stringThe ID of the issuer authorized to list classes.
maxResults?numberIdentifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined.
token?stringUsed to get the next set of results if `maxResults` is specified, but more than `maxResults` classes are available in a list. For example, if you have a list of 200 classes and you call list with `maxResults` set to 20, list will return the first 20 classes and a token. Call list again with `maxResults` set to 20 and the token to get the next 20 classes.
maxPages?numberMaximum number of pages to fetch (default: 10)
fn addmessage(message?: any)
addmessage
ArgumentTypeDescription
message?any

Resources

state(infinite)— Returns the transit class with the given class ID.
transitobject.tsv2026.10.23.1

Global Arguments

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

Resources

state(infinite)— Returns the transit object with the given object ID.
04Previous Versions19
2026.10.13.1
  • Updated: eventticketclass, eventticketobject, flightclass, flightobject, genericclass, genericobject, giftcardclass, giftcardobject, issuer, loyaltyclass, loyaltyobject, offerclass, offerobject, permissions, transitclass, transitobject
2026.10.06.1
  • Updated: eventticketclass, eventticketobject, flightclass, flightobject, genericclass, genericobject, giftcardclass, giftcardobject, issuer, loyaltyclass, loyaltyobject, offerclass, offerobject, permissions, transitclass, transitobject
2026.09.29.1
  • Updated: eventticketclass, eventticketobject, flightclass, flightobject, genericclass, genericobject, giftcardclass, giftcardobject, issuer, loyaltyclass, loyaltyobject, offerclass, offerobject, permissions, transitclass, transitobject

Modified 1 behaviors

2026.08.12.2
  • Updated: eventticketclass, eventticketobject, flightclass, flightobject, genericclass, genericobject, giftcardclass, giftcardobject, issuer, loyaltyclass, loyaltyobject, offerclass, offerobject, permissions, transitclass, transitobject
2026.07.29.1
  • Updated: eventticketclass, eventticketobject, flightclass, flightobject, genericclass, genericobject, giftcardclass, giftcardobject, issuer, loyaltyclass, loyaltyobject, offerclass, offerobject, permissions, transitclass, transitobject
2026.07.21.3
  • Updated: eventticketclass, eventticketobject, flightclass, flightobject, genericclass, genericobject, giftcardclass, giftcardobject, issuer, loyaltyclass, loyaltyobject, offerclass, offerobject, permissions, transitclass, transitobject
2026.07.21.1
  • Updated: eventticketclass, eventticketobject, flightclass, flightobject, genericclass, genericobject, giftcardclass, giftcardobject, issuer, loyaltyclass, loyaltyobject, offerclass, offerobject, transitclass, transitobject
2026.07.20.1
  • Updated: eventticketclass, eventticketobject, flightclass, flightobject, genericclass, genericobject, giftcardclass, giftcardobject, issuer, loyaltyclass, loyaltyobject, offerclass, offerobject, permissions, transitclass, transitobject
2026.07.19.1
  • Updated: eventticketclass, eventticketobject, flightclass, flightobject, genericclass, genericobject, giftcardclass, giftcardobject, issuer, loyaltyclass, loyaltyobject, offerclass, offerobject, permissions, transitclass, transitobject
2026.07.18.1
  • Updated: eventticketclass, eventticketobject, flightclass, flightobject, genericclass, genericobject, giftcardclass, giftcardobject, issuer, loyaltyclass, loyaltyobject, offerclass, offerobject, permissions, transitclass, transitobject
2026.07.17.1
  • Updated: eventticketclass, eventticketobject, flightclass, flightobject, genericclass, genericobject, giftcardclass, giftcardobject, issuer, loyaltyclass, loyaltyobject, offerclass, offerobject, transitclass, transitobject
2026.06.08.2
  • Updated: eventticketclass, eventticketobject, flightclass, flightobject, genericclass, genericobject, giftcardclass, giftcardobject, issuer, loyaltyclass, loyaltyobject, offerclass, offerobject, permissions, transitclass, transitobject
2026.06.07.1
  • Updated: eventticketclass, eventticketobject, flightclass, flightobject, genericclass, genericobject, giftcardclass, giftcardobject, issuer, loyaltyclass, loyaltyobject, offerclass, offerobject, permissions, transitclass, transitobject
2026.05.25.3
  • Updated: issuer

Modified 1 behaviors

2026.05.24.1
  • Updated: eventticketclass, eventticketobject, flightclass, flightobject, genericclass, genericobject, giftcardclass, giftcardobject, issuer, loyaltyclass, loyaltyobject, offerclass, offerobject, permissions, transitclass, transitobject
2026.05.21.2
  • Updated: eventticketclass, eventticketobject, flightclass, flightobject, genericclass, genericobject, giftcardclass, giftcardobject, issuer, loyaltyclass, loyaltyobject, offerclass, offerobject, permissions, transitclass, transitobject
2026.05.21.1
2026.05.19.2
2026.05.19.1
05Stats
A
100 / 100
Downloads
35
Archive size
968.3 KB
Verified by Swamp
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Docs keep secrets in a vault1/1earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License2/2earned
  • Verified public repository2/2earned
06Platforms
07Labels