Gcp/walletobjects
@swamp/gcp/walletobjectsv2026.10.23.1
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
03Behaviors
eventticketclass.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| accessToken? | string | GCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| credentialsJson? | string | GCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| project? | string | GCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables. |
| scopes? | string | Comma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes. |
| quotaProject? | string | GCP 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? | string | Custom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL. |
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| callbackOptions? | object | URL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated. |
| classTemplateInfo? | object | If more than one reference is supplied, then the first one that references a non-empty field will be displayed. |
| confirmationCodeLabel? | enum | The label to use for the confirmation code value (`eventTicketObject.reservationInfo.confirmationCode`) on the card detail view. Each available option maps to a set of localized strings, so that translations are shown to the user based on their locale. Both `confirmationCodeLabel` and `customConfirmationCodeLabel` may not be set. If neither is set, the label will default to "Confirmation Code", localized. If the confirmation code field is unset, this label will not be used. |
| countryCode? | string | Country code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale. |
| customConfirmationCodeLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customGateLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customRowLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customSeatLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customSectionLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| dateTime? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| enableSmartTap? | boolean | Identifies whether this class supports Smart Tap. The `redemptionIssuers` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap. |
| eventId? | string | The ID of the event. This ID should be unique for every event in an account. It is used to group tickets together if the user has saved multiple tickets for the same event. It can be at most 64 characters. If provided, the grouping will be stable. Be wary of unintentional collision to avoid grouping tickets that should not be grouped. If you use only one class per event, you can simply set this to the `classId` (with or without the issuer ID portion). If not provided, the platform will attempt to use other data to group tickets (potentially unstable). |
| eventName? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| finePrint? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| gateLabel? | enum | The label to use for the gate value (`eventTicketObject.seatInfo.gate`) on the card detail view. Each available option maps to a set of localized strings, so that translations are shown to the user based on their locale. Both `gateLabel` and `customGateLabel` may not be set. If neither is set, the label will default to "Gate", localized. If the gate field is unset, this label will not be used. |
| heroImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| hexBackgroundColor? | string | The background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`. |
| homepageUri? | object | The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. |
| id? | string | Required. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'. |
| imageModulesData? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout. |
| issuerName? | string | Required. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens. |
| linksModuleData? | object | The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. |
| localizedIssuerName? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| logo? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| multipleDevicesAndHoldersAllowedStatus? | enum | Identifies whether multiple users and devices will save the same object referencing this class. |
| notifyPreference? | enum | Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. |
| redemptionIssuers? | array | Identifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap. |
| review? | object | The review comments set by the platform when a class is marked `approved` or `rejected`. |
| reviewStatus? | enum | Required. The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`. |
| rowLabel? | enum | The label to use for the row value (`eventTicketObject.seatInfo.row`) on the card detail view. Each available option maps to a set of localized strings, so that translations are shown to the user based on their locale. Both `rowLabel` and `customRowLabel` may not be set. If neither is set, the label will default to "Row", localized. If the row field is unset, this label will not be used. |
| seatLabel? | enum | The label to use for the seat value (`eventTicketObject.seatInfo.seat`) on the card detail view. Each available option maps to a set of localized strings, so that translations are shown to the user based on their locale. Both `seatLabel` and `customSeatLabel` may not be set. If neither is set, the label will default to "Seat", localized. If the seat field is unset, this label will not be used. |
| sectionLabel? | enum | The label to use for the section value (`eventTicketObject.seatInfo.section`) on the card detail view. Each available option maps to a set of localized strings, so that translations are shown to the user based on their locale. Both `sectionLabel` and `customSectionLabel` may not be set. If neither is set, the label will default to "Section", localized. If the section field is unset, this label will not be used. |
| securityAnimation? | object | Type of animation. |
| textModulesData? | array | The body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens. |
| valueAddedModuleData? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| venue? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| viewUnlockRequirement? | enum | View Unlock Requirement options for the event ticket. |
| wideLogo? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| wordMark? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
fn create()
Create a eventticketclass
fn get(identifier: string)
Get a eventticketclass
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the eventticketclass |
fn update(identifier?: string)
Update eventticketclass attributes
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific eventticketclass by id (e.g. one discovered by list) |
fn sync(identifier?: string)
Sync eventticketclass state from GCP
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific eventticketclass by id (e.g. one discovered by list) |
fn list(issuerId?: string, maxResults?: number, token?: string, maxPages?: number)
List eventticketclass resources
| Argument | Type | Description |
|---|---|---|
| issuerId? | string | The ID of the issuer authorized to list classes. |
| maxResults? | number | Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined. |
| token? | string | Used 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? | number | Maximum number of pages to fetch (default: 10) |
fn addmessage(message?: any)
addmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
Resources
state(infinite)— Returns the event ticket class with the given class ID.
eventticketobject.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| accessToken? | string | GCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| credentialsJson? | string | GCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| project? | string | GCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables. |
| scopes? | string | Comma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes. |
| quotaProject? | string | GCP 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? | string | Custom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL. |
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| barcode? | object | An optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned. |
| classId? | string | Required. The class associated with this object. The class must be of the same type as this object, must already exist, and must be approved. Class IDs should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. |
| classReference? | object | Deprecated. Use `multipleDevicesAndHoldersAllowedStatus` instead. |
| disableExpirationNotification? | boolean | Indicates if notifications should explicitly be suppressed. If this field is set to true, regardless of the `messages` field, expiration notifications to the user will be suppressed. By default, this field is set to false. Currently, this can only be set for offers. |
| faceValue? | object | The currency code, such as "USD" or "EUR." |
| groupingInfo? | object | Optional grouping ID for grouping the passes with the same ID visually together. Grouping with different types of passes is allowed. |
| hasLinkedDevice? | boolean | Whether this object is currently linked to a single device. This field is set by the platform when a user saves the object, linking it to their device. Intended for use by select partners. Contact support for additional information. |
| hasUsers? | boolean | Indicates if the object has users. This field is set by the platform. |
| heroImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| hexBackgroundColor? | string | The background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`. |
| id? | string | Required. The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'. |
| imageModulesData? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout. |
| linkedObjectIds? | array | linked_object_ids are a list of other objects such as event ticket, loyalty, offer, generic, giftcard, transit and boarding pass that should be automatically attached to this event ticket object. If a user had saved this event ticket, then these linked_object_ids would be automatically pushed to the user's wallet (unless they turned off the setting to receive such linked passes). Make sure that objects present in linked_object_ids are already inserted - if not, calls would fail. Once linked, the linked objects cannot be unlinked. You cannot link objects belonging to another issuer. There is a limit to the number of objects that can be linked to a single object. After the limit is reached, new linked objects in the call will be ignored silently. Object IDs should follow the format issuer ID. identifier where the former is issued by Google and the latter is chosen by you. |
| linkedOfferIds? | array | A list of offer objects linked to this event ticket. The offer objects must already exist. Offer object IDs should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. |
| linksModuleData? | object | The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| notifyPreference? | enum | Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. |
| passConstraints? | object | The NFC constraints for the pass. |
| reservationInfo? | object | The confirmation code of the event reservation. This may also take the form of an "order number", "confirmation number", "reservation number", or other equivalent. |
| rotatingBarcode? | object | An optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned. |
| saveRestrictions? | object | Restrict the save of the referencing object to the given email address only. This is the hex output of SHA256 sum of the email address, all lowercase and without any notations like "." or "+", except "@". For example, for example@example.com, this value will be 31c5543c1734d25c7206f5fd591525d0295bec6fe84ff82f946a34fe970a1e66 and for Example@example.com, this value will be bc34f262c93ad7122763684ccea6f07fb7f5d8a2d11e60ce15a6f43fe70ce632 If email address of the logged-in user who tries to save this pass does not match with the defined value here, users won\'t be allowed to save this pass. They will instead be prompted with an error to contact the issuer. This information should be gathered from the user with an explicit consent via Sign in with Google integration https://developers.google.com/identity/authentication. Please contact with support before using Save Restrictions. |
| seatInfo? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| smartTapRedemptionValue? | string | The value that will be transmitted to a Smart Tap certified terminal over NFC for this object. The class level fields `enableSmartTap` and `redemptionIssuers` must also be set up correctly in order for the pass to support Smart Tap. Only ASCII characters are supported. |
| state? | enum | Required. The state of the object. This field is used to determine how an object is displayed in the app. For example, an `inactive` object is moved to the "Expired passes" section. |
| textModulesData? | array | The body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens. |
| ticketHolderName? | string | Name of the ticket holder, if the ticket is assigned to a person. E.g. "John Doe" or "Jane Doe". |
| ticketNumber? | string | The number of the ticket. This can be a unique identifier across all tickets in an issuer's system, all tickets for the event (e.g. XYZ1234512345), or all tickets in the order (1, 2, 3, etc.). |
| ticketType? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| validTimeInterval? | object | An ISO 8601 extended format date/time. Offset may or may not be required (refer to the parent field's documentation). Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the date/time is intended for a physical location in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. Providing an offset makes this an absolute instant in time around the world. The date/time will be adjusted based on the user's time zone. For example, a time of `2018-06-19T18:30:00-04:00` will be 18:30:00 for a user in New York and 15:30:00 for a user in Los Angeles. Omitting the offset makes this a local date/time, representing several instants in time around the world. The date/time will always be in the user's current time zone. For example, a time of `2018-06-19T18:30:00` will be 18:30:00 for a user in New York and also 18:30:00 for a user in Los Angeles. This is useful when the same local date/time should apply to many physical locations across several time zones. |
| valueAddedModuleData? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
fn create(waitForReady?: boolean)
Create a eventticketobject
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after creation (default: true) |
fn get(identifier: string)
Get a eventticketobject
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the eventticketobject |
fn update(identifier?: string, waitForReady?: boolean)
Update eventticketobject attributes
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific eventticketobject by id (e.g. one discovered by list) |
| waitForReady? | boolean | Wait for the resource to reach a ready state after update (default: true) |
fn sync(identifier?: string)
Sync eventticketobject state from GCP
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific eventticketobject by id (e.g. one discovered by list) |
fn list(classId?: string, maxResults?: number, token?: string, maxPages?: number)
List eventticketobject resources
| Argument | Type | Description |
|---|---|---|
| classId? | string | The ID of the class whose objects will be listed. |
| maxResults? | number | Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined. |
| token? | string | Used 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? | number | Maximum number of pages to fetch (default: 10) |
fn addmessage(message?: any)
addmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
fn modifylinkedofferobjects(linkedOfferObjectIds?: any)
modifylinkedofferobjects
| Argument | Type | Description |
|---|---|---|
| linkedOfferObjectIds? | any |
Resources
state(infinite)— Returns the event ticket object with the given object ID.
flightclass.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| accessToken? | string | GCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| credentialsJson? | string | GCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| project? | string | GCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables. |
| scopes? | string | Comma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes. |
| quotaProject? | string | GCP 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? | string | Custom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL. |
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| boardingAndSeatingPolicy? | object | Indicates the policy the airline uses for boarding. If unset, Google will default to `zoneBased`. |
| callbackOptions? | object | URL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated. |
| classTemplateInfo? | object | If more than one reference is supplied, then the first one that references a non-empty field will be displayed. |
| countryCode? | string | Country code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale. |
| destination? | object | Three character IATA airport code. This is a required field for `origin` and `destination`. Eg: "SFO" |
| enableSmartTap? | boolean | Identifies whether this class supports Smart Tap. The `redemptionIssuers` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap. |
| flightHeader? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| flightStatus? | enum | Status of this flight. If unset, Google will compute status based on data from other sources, such as FlightStats, etc. Note: Google-computed status will not be returned in API responses. |
| heroImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| hexBackgroundColor? | string | The background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`. |
| homepageUri? | object | The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. |
| id? | string | Required. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'. |
| imageModulesData? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout. |
| issuerName? | string | Required. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens. |
| languageOverride? | string | If this field is present, boarding passes served to a user\'s device will always be in this language. Represents the BCP 47 language tag. Example values are "en-US", "en-GB", "de", or "de-AT". |
| linksModuleData? | object | The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. |
| localBoardingDateTime? | string | The boarding time as it would be printed on the boarding pass. This is an ISO 8601 extended format date/time without an offset. Time may be specified up to millisecond precision. eg: `2027-03-05T06:30:00` This should be the local date/time at the airport (not a UTC time). Google will reject the request if UTC offset is provided. Time zones will be calculated by Google based on departure airport. |
| localEstimatedOrActualArrivalDateTime? | string | The estimated time the aircraft plans to reach the destination gate (not the runway) or the actual time it reached the gate. This field should be set if at least one of the below is true: - It differs from the scheduled time. Google will use it to calculate the delay. - The aircraft already arrived at the gate. Google will use it to inform the user that the flight has arrived at the gate. This is an ISO 8601 extended format date/time without an offset. Time may be specified up to millisecond precision. eg: `2027-03-05T06:30:00` This should be the local date/time at the airport (not a UTC time). Google will reject the request if UTC offset is provided. Time zones will be calculated by Google based on arrival airport. |
| localEstimatedOrActualDepartureDateTime? | string | The estimated time the aircraft plans to pull from the gate or the actual time the aircraft already pulled from the gate. Note: This is not the runway time. This field should be set if at least one of the below is true: - It differs from the scheduled time. Google will use it to calculate the delay. - The aircraft already pulled from the gate. Google will use it to inform the user when the flight actually departed. This is an ISO 8601 extended format date/time without an offset. Time may be specified up to millisecond precision. eg: `2027-03-05T06:30:00` This should be the local date/time at the airport (not a UTC time). Google will reject the request if UTC offset is provided. Time zones will be calculated by Google based on departure airport. |
| localGateClosingDateTime? | string | The gate closing time as it would be printed on the boarding pass. Do not set this field if you do not want to print it in the boarding pass. This is an ISO 8601 extended format date/time without an offset. Time may be specified up to millisecond precision. eg: `2027-03-05T06:30:00` This should be the local date/time at the airport (not a UTC time). Google will reject the request if UTC offset is provided. Time zones will be calculated by Google based on departure airport. |
| localScheduledArrivalDateTime? | string | The scheduled time the aircraft plans to reach the destination gate (not the runway). Note: This field should not change too close to the flight time. For updates to departure times (delays, etc), please set `localEstimatedOrActualArrivalDateTime`. This is an ISO 8601 extended format date/time without an offset. Time may be specified up to millisecond precision. eg: `2027-03-05T06:30:00` This should be the local date/time at the airport (not a UTC time). Google will reject the request if UTC offset is provided. Time zones will be calculated by Google based on arrival airport. |
| localScheduledDepartureDateTime? | string | Required. The scheduled date and time when the aircraft is expected to depart the gate (not the runway) Note: This field should not change too close to the departure time. For updates to departure times (delays, etc), please set `localEstimatedOrActualDepartureDateTime`. This is an ISO 8601 extended format date/time without an offset. Time may be specified up to millisecond precision. eg: `2027-03-05T06:30:00` This should be the local date/time at the airport (not a UTC time). Google will reject the request if UTC offset is provided. Time zones will be calculated by Google based on departure airport. |
| localizedIssuerName? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| multipleDevicesAndHoldersAllowedStatus? | enum | Identifies whether multiple users and devices will save the same object referencing this class. |
| notifyPreference? | enum | Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. |
| origin? | object | Three character IATA airport code. This is a required field for `origin` and `destination`. Eg: "SFO" |
| redemptionIssuers? | array | Identifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap. |
| review? | object | The review comments set by the platform when a class is marked `approved` or `rejected`. |
| reviewStatus? | enum | Required. The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`. |
| securityAnimation? | object | Type of animation. |
| textModulesData? | array | The body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens. |
| valueAddedModuleData? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| viewUnlockRequirement? | enum | View Unlock Requirement options for the boarding pass. |
| wordMark? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
fn create()
Create a flightclass
fn get(identifier: string)
Get a flightclass
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the flightclass |
fn update(identifier?: string)
Update flightclass attributes
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific flightclass by id (e.g. one discovered by list) |
fn sync(identifier?: string)
Sync flightclass state from GCP
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific flightclass by id (e.g. one discovered by list) |
fn list(issuerId?: string, maxResults?: number, token?: string, maxPages?: number)
List flightclass resources
| Argument | Type | Description |
|---|---|---|
| issuerId? | string | The ID of the issuer authorized to list classes. |
| maxResults? | number | Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined. |
| token? | string | Used 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? | number | Maximum number of pages to fetch (default: 10) |
fn addmessage(message?: any)
addmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
Resources
state(infinite)— Returns the flight class with the given class ID.
flightobject.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| accessToken? | string | GCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| credentialsJson? | string | GCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| project? | string | GCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables. |
| scopes? | string | Comma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes. |
| quotaProject? | string | GCP 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? | string | Custom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL. |
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| barcode? | object | An optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned. |
| boardingAndSeatingInfo? | object | Set this field only if this flight boards through more than one door or bridge and you want to explicitly print the door location on the boarding pass. Most airlines route their passengers to the right door or bridge by refering to doors/bridges by the `seatClass`. In those cases `boardingDoor` should not be set. |
| classId? | string | Required. The class associated with this object. The class must be of the same type as this object, must already exist, and must be approved. Class IDs should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. |
| classReference? | object | Deprecated. Use `multipleDevicesAndHoldersAllowedStatus` instead. |
| disableExpirationNotification? | boolean | Indicates if notifications should explicitly be suppressed. If this field is set to true, regardless of the `messages` field, expiration notifications to the user will be suppressed. By default, this field is set to false. Currently, this can only be set for Flights. |
| groupingInfo? | object | Optional grouping ID for grouping the passes with the same ID visually together. Grouping with different types of passes is allowed. |
| hasLinkedDevice? | boolean | Whether this object is currently linked to a single device. This field is set by the platform when a user saves the object, linking it to their device. Intended for use by select partners. Contact support for additional information. |
| hasUsers? | boolean | Indicates if the object has users. This field is set by the platform. |
| heroImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| hexBackgroundColor? | string | The background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`. |
| id? | string | Required. The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'. |
| imageModulesData? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout. |
| linkedObjectIds? | array | linked_object_ids are a list of other objects such as event ticket, loyalty, offer, generic, giftcard, transit and boarding pass that should be automatically attached to this flight object. If a user had saved this boarding pass, then these linked_object_ids would be automatically pushed to the user's wallet (unless they turned off the setting to receive such linked passes). Make sure that objects present in linked_object_ids are already inserted - if not, calls would fail. Once linked, the linked objects cannot be unlinked. You cannot link objects belonging to another issuer. There is a limit to the number of objects that can be linked to a single object. After the limit is reached, new linked objects in the call will be ignored silently. Object IDs should follow the format issuer ID. identifier where the former is issued by Google and the latter is chosen by you. |
| linksModuleData? | object | The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| notifyPreference? | enum | Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. |
| passConstraints? | object | The NFC constraints for the pass. |
| passengerName? | string | Required. Passenger name as it would appear on the boarding pass. eg: "Dave M Gahan" or "Gahan/Dave" or "GAHAN/DAVEM" |
| reservationInfo? | object | Confirmation code needed to check into this flight. This is the number that the passenger would enter into a kiosk at the airport to look up the flight and print a boarding pass. |
| rotatingBarcode? | object | An optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned. |
| saveRestrictions? | object | Restrict the save of the referencing object to the given email address only. This is the hex output of SHA256 sum of the email address, all lowercase and without any notations like "." or "+", except "@". For example, for example@example.com, this value will be 31c5543c1734d25c7206f5fd591525d0295bec6fe84ff82f946a34fe970a1e66 and for Example@example.com, this value will be bc34f262c93ad7122763684ccea6f07fb7f5d8a2d11e60ce15a6f43fe70ce632 If email address of the logged-in user who tries to save this pass does not match with the defined value here, users won\'t be allowed to save this pass. They will instead be prompted with an error to contact the issuer. This information should be gathered from the user with an explicit consent via Sign in with Google integration https://developers.google.com/identity/authentication. Please contact with support before using Save Restrictions. |
| securityProgramLogo? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| smartTapRedemptionValue? | string | The value that will be transmitted to a Smart Tap certified terminal over NFC for this object. The class level fields `enableSmartTap` and `redemptionIssuers` must also be set up correctly in order for the pass to support Smart Tap. Only ASCII characters are supported. |
| state? | enum | Required. The state of the object. This field is used to determine how an object is displayed in the app. For example, an `inactive` object is moved to the "Expired passes" section. |
| textModulesData? | array | The body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens. |
| validTimeInterval? | object | An ISO 8601 extended format date/time. Offset may or may not be required (refer to the parent field's documentation). Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the date/time is intended for a physical location in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. Providing an offset makes this an absolute instant in time around the world. The date/time will be adjusted based on the user's time zone. For example, a time of `2018-06-19T18:30:00-04:00` will be 18:30:00 for a user in New York and 15:30:00 for a user in Los Angeles. Omitting the offset makes this a local date/time, representing several instants in time around the world. The date/time will always be in the user's current time zone. For example, a time of `2018-06-19T18:30:00` will be 18:30:00 for a user in New York and also 18:30:00 for a user in Los Angeles. This is useful when the same local date/time should apply to many physical locations across several time zones. |
| valueAddedModuleData? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
fn create(waitForReady?: boolean)
Create a flightobject
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after creation (default: true) |
fn get(identifier: string)
Get a flightobject
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the flightobject |
fn update(identifier?: string, waitForReady?: boolean)
Update flightobject attributes
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific flightobject by id (e.g. one discovered by list) |
| waitForReady? | boolean | Wait for the resource to reach a ready state after update (default: true) |
fn sync(identifier?: string)
Sync flightobject state from GCP
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific flightobject by id (e.g. one discovered by list) |
fn list(classId?: string, maxResults?: number, token?: string, maxPages?: number)
List flightobject resources
| Argument | Type | Description |
|---|---|---|
| classId? | string | The ID of the class whose objects will be listed. |
| maxResults? | number | Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined. |
| token? | string | Used 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? | number | Maximum number of pages to fetch (default: 10) |
fn addmessage(message?: any)
addmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
Resources
state(infinite)— Returns the flight object with the given object ID.
genericclass.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| accessToken? | string | GCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| credentialsJson? | string | GCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| project? | string | GCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables. |
| scopes? | string | Comma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes. |
| quotaProject? | string | GCP 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? | string | Custom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL. |
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| callbackOptions? | object | URL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated. |
| classTemplateInfo? | object | If more than one reference is supplied, then the first one that references a non-empty field will be displayed. |
| enableSmartTap? | boolean | Available only to Smart Tap enabled partners. Contact support for additional guidance. |
| id? | string | Required. The unique identifier for the class. This ID must be unique across all from an issuer. This value needs to follow the format `issuerID.identifier` where `issuerID` is issued by Google and `identifier` is chosen by you. The unique identifier can only include alphanumeric characters, `.`, `_`, or `-`. |
| imageModulesData? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| linksModuleData? | object | The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| multipleDevicesAndHoldersAllowedStatus? | enum | Identifies whether multiple users and devices will save the same object referencing this class. |
| redemptionIssuers? | array | Identifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap. |
| securityAnimation? | object | Type of animation. |
| textModulesData? | array | The body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens. |
| valueAddedModuleData? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| viewUnlockRequirement? | enum | View Unlock Requirement options for the generic pass. |
fn create()
Create a genericclass
fn get(identifier: string)
Get a genericclass
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the genericclass |
fn update(identifier?: string)
Update genericclass attributes
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific genericclass by id (e.g. one discovered by list) |
fn sync(identifier?: string)
Sync genericclass state from GCP
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific genericclass by id (e.g. one discovered by list) |
fn list(issuerId?: string, maxResults?: number, token?: string, maxPages?: number)
List genericclass resources
| Argument | Type | Description |
|---|---|---|
| issuerId? | string | The ID of the issuer authorized to list classes. |
| maxResults? | number | Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined. |
| token? | string | Used 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? | number | Maximum number of pages to fetch (default: 10) |
fn addmessage(message?: any)
addmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
Resources
state(infinite)— Generic Class
genericobject.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| accessToken? | string | GCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| credentialsJson? | string | GCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| project? | string | GCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables. |
| scopes? | string | Comma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes. |
| quotaProject? | string | GCP 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? | string | Custom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL. |
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| barcode? | object | An optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned. |
| cardTitle? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| classId? | string | Required. The class associated with this object. The class must be of the same type as this object, must already exist, and must be approved. Class IDs should follow the format `issuerID.identifier` where `issuerID` is issued by Google and `identifier` is chosen by you. |
| genericType? | enum | Specify which `GenericType` the card belongs to. |
| groupingInfo? | object | Optional grouping ID for grouping the passes with the same ID visually together. Grouping with different types of passes is allowed. |
| hasUsers? | boolean | Indicates if the object has users. This field is set by the platform. |
| header? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| heroImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| hexBackgroundColor? | string | The background color for the card. If not set, the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used and if logo is not set, a color would be chosen by Google. |
| id? | string | Required. The unique identifier for an object. This ID must be unique across all objects from an issuer. This value needs to follow the format `issuerID.identifier` where `issuerID` is issued by Google and `identifier` is chosen by you. The unique identifier can only include alphanumeric characters, `.`, `_`, or `-`. |
| imageModulesData? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| linkedObjectIds? | array | linked_object_ids are a list of other objects such as event ticket, loyalty, offer, generic, giftcard, transit and boarding pass that should be automatically attached to this generic object. If a user had saved this generic card, then these linked_object_ids would be automatically pushed to the user's wallet (unless they turned off the setting to receive such linked passes). Make sure that objects present in linked_object_ids are already inserted - if not, calls would fail. Once linked, the linked objects cannot be unlinked. You cannot link objects belonging to another issuer. There is a limit to the number of objects that can be linked to a single object. After the limit is reached, new linked objects in the call will be ignored silently. Object IDs should follow the format issuer ID. identifier where the former is issued by Google and the latter is chosen by you. |
| linksModuleData? | object | The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. |
| logo? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| notifications? | object | Indicates if the object needs to have expiry notification enabled. |
| passConstraints? | object | The NFC constraints for the pass. |
| rotatingBarcode? | object | An optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned. |
| saveRestrictions? | object | Restrict the save of the referencing object to the given email address only. This is the hex output of SHA256 sum of the email address, all lowercase and without any notations like "." or "+", except "@". For example, for example@example.com, this value will be 31c5543c1734d25c7206f5fd591525d0295bec6fe84ff82f946a34fe970a1e66 and for Example@example.com, this value will be bc34f262c93ad7122763684ccea6f07fb7f5d8a2d11e60ce15a6f43fe70ce632 If email address of the logged-in user who tries to save this pass does not match with the defined value here, users won\'t be allowed to save this pass. They will instead be prompted with an error to contact the issuer. This information should be gathered from the user with an explicit consent via Sign in with Google integration https://developers.google.com/identity/authentication. Please contact with support before using Save Restrictions. |
| smartTapRedemptionValue? | string | The value that will be transmitted to a Smart Tap certified terminal over NFC for this object. The class level fields `enableSmartTap` and `redemptionIssuers` must also be set up correctly in order for the pass to support Smart Tap. Only ASCII characters are supported. |
| state? | enum | The state of the object. This field is used to determine how an object is displayed in the app. For example, an `inactive` object is moved to the "Expired passes" section. If this is not provided, the object would be considered `ACTIVE`. |
| subheader? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| textModulesData? | array | The body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens. |
| validTimeInterval? | object | An ISO 8601 extended format date/time. Offset may or may not be required (refer to the parent field's documentation). Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the date/time is intended for a physical location in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. Providing an offset makes this an absolute instant in time around the world. The date/time will be adjusted based on the user's time zone. For example, a time of `2018-06-19T18:30:00-04:00` will be 18:30:00 for a user in New York and 15:30:00 for a user in Los Angeles. Omitting the offset makes this a local date/time, representing several instants in time around the world. The date/time will always be in the user's current time zone. For example, a time of `2018-06-19T18:30:00` will be 18:30:00 for a user in New York and also 18:30:00 for a user in Los Angeles. This is useful when the same local date/time should apply to many physical locations across several time zones. |
| valueAddedModuleData? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| wideLogo? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
fn create(waitForReady?: boolean)
Create a genericobject
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after creation (default: true) |
fn get(identifier: string)
Get a genericobject
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the genericobject |
fn update(identifier?: string, waitForReady?: boolean)
Update genericobject attributes
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific genericobject by id (e.g. one discovered by list) |
| waitForReady? | boolean | Wait for the resource to reach a ready state after update (default: true) |
fn sync(identifier?: string)
Sync genericobject state from GCP
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific genericobject by id (e.g. one discovered by list) |
fn list(classId?: string, maxResults?: number, token?: string, maxPages?: number)
List genericobject resources
| Argument | Type | Description |
|---|---|---|
| classId? | string | The ID of the class whose objects will be listed. |
| maxResults? | number | Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined. |
| token? | string | Used 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? | number | Maximum number of pages to fetch (default: 10) |
fn addmessage(message?: any)
addmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
Resources
state(infinite)— Generic Object
giftcardclass.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| accessToken? | string | GCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| credentialsJson? | string | GCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| project? | string | GCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables. |
| scopes? | string | Comma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes. |
| quotaProject? | string | GCP 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? | string | Custom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL. |
| allowBarcodeRedemption? | boolean | Determines whether the merchant supports gift card redemption using barcode. If true, app displays a barcode for the gift card on the Gift card details screen. If false, a barcode is not displayed. |
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| callbackOptions? | object | URL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated. |
| cardNumberLabel? | string | The label to display for the card number, such as "Card Number". |
| classTemplateInfo? | object | If more than one reference is supplied, then the first one that references a non-empty field will be displayed. |
| countryCode? | string | Country code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale. |
| enableSmartTap? | boolean | Identifies whether this class supports Smart Tap. The `redemptionIssuers` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap. |
| eventNumberLabel? | string | The label to display for event number, such as "Target Event #". |
| heroImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| hexBackgroundColor? | string | The background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`. |
| homepageUri? | object | The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. |
| id? | string | Required. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'. |
| imageModulesData? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout. |
| issuerName? | string | Required. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens. |
| linksModuleData? | object | The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. |
| localizedCardNumberLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedEventNumberLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedIssuerName? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedMerchantName? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedPinLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| merchantName? | string | Merchant name, such as "Adam\'s Apparel". The app may display an ellipsis after the first 20 characters to ensure full string is displayed on smaller screens. |
| messages? | array | The message body. |
| multipleDevicesAndHoldersAllowedStatus? | enum | Identifies whether multiple users and devices will save the same object referencing this class. |
| notifyPreference? | enum | Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. |
| pinLabel? | string | The label to display for the PIN, such as "4-digit PIN". |
| programLogo? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| redemptionIssuers? | array | Identifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap. |
| review? | object | The review comments set by the platform when a class is marked `approved` or `rejected`. |
| reviewStatus? | enum | Required. The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`. |
| securityAnimation? | object | Type of animation. |
| textModulesData? | array | The body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens. |
| valueAddedModuleData? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| viewUnlockRequirement? | enum | View Unlock Requirement options for the gift card. |
| wideProgramLogo? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| wordMark? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
fn create()
Create a giftcardclass
fn get(identifier: string)
Get a giftcardclass
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the giftcardclass |
fn update(identifier?: string)
Update giftcardclass attributes
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific giftcardclass by id (e.g. one discovered by list) |
fn sync(identifier?: string)
Sync giftcardclass state from GCP
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific giftcardclass by id (e.g. one discovered by list) |
fn list(issuerId?: string, maxResults?: number, token?: string, maxPages?: number)
List giftcardclass resources
| Argument | Type | Description |
|---|---|---|
| issuerId? | string | The ID of the issuer authorized to list classes. |
| maxResults? | number | Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined. |
| token? | string | Used 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? | number | Maximum number of pages to fetch (default: 10) |
fn addmessage(message?: any)
addmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
Resources
state(infinite)— Returns the gift card class with the given class ID.
giftcardobject.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| accessToken? | string | GCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| credentialsJson? | string | GCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| project? | string | GCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables. |
| scopes? | string | Comma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes. |
| quotaProject? | string | GCP 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? | string | Custom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL. |
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| balance? | object | The currency code, such as "USD" or "EUR." |
| balanceUpdateTime? | object | An ISO 8601 extended format date/time. Offset may or may not be required (refer to the parent field's documentation). Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the date/time is intended for a physical location in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. Providing an offset makes this an absolute instant in time around the world. The date/time will be adjusted based on the user's time zone. For example, a time of `2018-06-19T18:30:00-04:00` will be 18:30:00 for a user in New York and 15:30:00 for a user in Los Angeles. Omitting the offset makes this a local date/time, representing several instants in time around the world. The date/time will always be in the user's current time zone. For example, a time of `2018-06-19T18:30:00` will be 18:30:00 for a user in New York and also 18:30:00 for a user in Los Angeles. This is useful when the same local date/time should apply to many physical locations across several time zones. |
| barcode? | object | An optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned. |
| cardNumber? | string | Required. The card's number. |
| classId? | string | Required. The class associated with this object. The class must be of the same type as this object, must already exist, and must be approved. Class IDs should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. |
| classReference? | object | Determines whether the merchant supports gift card redemption using barcode. If true, app displays a barcode for the gift card on the Gift card details screen. If false, a barcode is not displayed. |
| disableExpirationNotification? | boolean | Indicates if notifications should explicitly be suppressed. If this field is set to true, regardless of the `messages` field, expiration notifications to the user will be suppressed. By default, this field is set to false. Currently, this can only be set for offers. |
| eventNumber? | string | The card's event number, an optional field used by some gift cards. |
| groupingInfo? | object | Optional grouping ID for grouping the passes with the same ID visually together. Grouping with different types of passes is allowed. |
| hasLinkedDevice? | boolean | Whether this object is currently linked to a single device. This field is set by the platform when a user saves the object, linking it to their device. Intended for use by select partners. Contact support for additional information. |
| hasUsers? | boolean | Indicates if the object has users. This field is set by the platform. |
| heroImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| id? | string | Required. The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'. |
| imageModulesData? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout. |
| linkedObjectIds? | array | linked_object_ids are a list of other objects such as event ticket, loyalty, offer, generic, giftcard, transit and boarding pass that should be automatically attached to this giftcard object. If a user had saved this gift card, then these linked_object_ids would be automatically pushed to the user's wallet (unless they turned off the setting to receive such linked passes). Make sure that objects present in linked_object_ids are already inserted - if not, calls would fail. Once linked, the linked objects cannot be unlinked. You cannot link objects belonging to another issuer. There is a limit to the number of objects that can be linked to a single object. After the limit is reached, new linked objects in the call will be ignored silently. Object IDs should follow the format issuer ID. identifier where the former is issued by Google and the latter is chosen by you. |
| linksModuleData? | object | The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| notifyPreference? | enum | Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. |
| passConstraints? | object | The NFC constraints for the pass. |
| pin? | string | The card's PIN. |
| rotatingBarcode? | object | An optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned. |
| saveRestrictions? | object | Restrict the save of the referencing object to the given email address only. This is the hex output of SHA256 sum of the email address, all lowercase and without any notations like "." or "+", except "@". For example, for example@example.com, this value will be 31c5543c1734d25c7206f5fd591525d0295bec6fe84ff82f946a34fe970a1e66 and for Example@example.com, this value will be bc34f262c93ad7122763684ccea6f07fb7f5d8a2d11e60ce15a6f43fe70ce632 If email address of the logged-in user who tries to save this pass does not match with the defined value here, users won\'t be allowed to save this pass. They will instead be prompted with an error to contact the issuer. This information should be gathered from the user with an explicit consent via Sign in with Google integration https://developers.google.com/identity/authentication. Please contact with support before using Save Restrictions. |
| smartTapRedemptionValue? | string | The value that will be transmitted to a Smart Tap certified terminal over NFC for this object. The class level fields `enableSmartTap` and `redemptionIssuers` must also be set up correctly in order for the pass to support Smart Tap. Only ASCII characters are supported. |
| state? | enum | Required. The state of the object. This field is used to determine how an object is displayed in the app. For example, an `inactive` object is moved to the "Expired passes" section. |
| textModulesData? | array | The body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens. |
| validTimeInterval? | object | An ISO 8601 extended format date/time. Offset may or may not be required (refer to the parent field's documentation). Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the date/time is intended for a physical location in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. Providing an offset makes this an absolute instant in time around the world. The date/time will be adjusted based on the user's time zone. For example, a time of `2018-06-19T18:30:00-04:00` will be 18:30:00 for a user in New York and 15:30:00 for a user in Los Angeles. Omitting the offset makes this a local date/time, representing several instants in time around the world. The date/time will always be in the user's current time zone. For example, a time of `2018-06-19T18:30:00` will be 18:30:00 for a user in New York and also 18:30:00 for a user in Los Angeles. This is useful when the same local date/time should apply to many physical locations across several time zones. |
| valueAddedModuleData? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
fn create(waitForReady?: boolean)
Create a giftcardobject
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after creation (default: true) |
fn get(identifier: string)
Get a giftcardobject
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the giftcardobject |
fn update(identifier?: string, waitForReady?: boolean)
Update giftcardobject attributes
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific giftcardobject by id (e.g. one discovered by list) |
| waitForReady? | boolean | Wait for the resource to reach a ready state after update (default: true) |
fn sync(identifier?: string)
Sync giftcardobject state from GCP
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific giftcardobject by id (e.g. one discovered by list) |
fn list(classId?: string, maxResults?: number, token?: string, maxPages?: number)
List giftcardobject resources
| Argument | Type | Description |
|---|---|---|
| classId? | string | The ID of the class whose objects will be listed. |
| maxResults? | number | Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined. |
| token? | string | Used 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? | number | Maximum number of pages to fetch (default: 10) |
fn addmessage(message?: any)
addmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
Resources
state(infinite)— Returns the gift card object with the given object ID.
issuer.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| accessToken? | string | GCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| credentialsJson? | string | GCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| project? | string | GCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables. |
| scopes? | string | Comma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes. |
| quotaProject? | string | GCP 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? | string | Custom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL. |
| callbackOptions? | object | URL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated. |
| contactInfo? | object | Email addresses which will receive alerts. |
| homepageUrl? | string | URL for the issuer's home page. |
| issuerId? | string | The unique identifier for an issuer account. This is automatically generated when the issuer is inserted. |
| name? | string | The account name of the issuer. |
| smartTapMerchantData? | object | Available only to Smart Tap enabled partners. Contact support for additional guidance. |
fn create()
Create a issuer
fn get(identifier: string)
Get a issuer
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the issuer |
fn update(identifier?: string)
Update issuer attributes
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific issuer by id (e.g. one discovered by list) |
fn sync(identifier?: string)
Sync issuer state from GCP
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific issuer by id (e.g. one discovered by list) |
fn list(maxPages?: number)
List issuer resources
| Argument | Type | Description |
|---|---|---|
| maxPages? | number | Maximum 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
| Argument | Type | Description |
|---|---|---|
| accessToken? | string | GCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| credentialsJson? | string | GCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| project? | string | GCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables. |
| scopes? | string | Comma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes. |
| quotaProject? | string | GCP 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? | string | Custom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL. |
| accountIdLabel? | string | The account ID label, such as "Member ID." Recommended maximum length is 15 characters to ensure full string is displayed on smaller screens. |
| accountNameLabel? | string | The account name label, such as "Member Name." Recommended maximum length is 15 characters to ensure full string is displayed on smaller screens. |
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| callbackOptions? | object | URL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated. |
| classTemplateInfo? | object | If more than one reference is supplied, then the first one that references a non-empty field will be displayed. |
| countryCode? | string | Country code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale. |
| discoverableProgram? | object | The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. |
| enableSmartTap? | boolean | Identifies whether this class supports Smart Tap. The `redemptionIssuers` and one of object level `smartTapRedemptionLevel`, barcode.value`, or `accountId` fields must also be set up correctly in order for a pass to support Smart Tap. |
| heroImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| hexBackgroundColor? | string | The background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`. |
| homepageUri? | object | The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. |
| id? | string | Required. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'. |
| imageModulesData? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout. |
| issuerName? | string | Required. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens. |
| linksModuleData? | object | The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. |
| localizedAccountIdLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedAccountNameLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedIssuerName? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedProgramName? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedRewardsTier? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedRewardsTierLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedSecondaryRewardsTier? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedSecondaryRewardsTierLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| multipleDevicesAndHoldersAllowedStatus? | enum | Identifies whether multiple users and devices will save the same object referencing this class. |
| notifyPreference? | enum | Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. |
| programLogo? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| programName? | string | Required. The program name, such as "Adam\'s Apparel". The app may display an ellipsis after the first 20 characters to ensure full string is displayed on smaller screens. |
| redemptionIssuers? | array | Identifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and one of object level `smartTapRedemptionValue`, barcode.value`, or `accountId` fields must also be set up correctly in order for a pass to support Smart Tap. |
| review? | object | The review comments set by the platform when a class is marked `approved` or `rejected`. |
| reviewStatus? | enum | Required. The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`. |
| rewardsTier? | string | The rewards tier, such as "Gold" or "Platinum." Recommended maximum length is 7 characters to ensure full string is displayed on smaller screens. |
| rewardsTierLabel? | string | The rewards tier label, such as "Rewards Tier." Recommended maximum length is 9 characters to ensure full string is displayed on smaller screens. |
| secondaryRewardsTier? | string | The secondary rewards tier, such as "Gold" or "Platinum." |
| secondaryRewardsTierLabel? | string | The secondary rewards tier label, such as "Rewards Tier." |
| securityAnimation? | object | Type of animation. |
| textModulesData? | array | The body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens. |
| valueAddedModuleData? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| viewUnlockRequirement? | enum | View Unlock Requirement options for the loyalty card. |
| wideProgramLogo? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| wordMark? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
fn create()
Create a loyaltyclass
fn get(identifier: string)
Get a loyaltyclass
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the loyaltyclass |
fn update(identifier?: string)
Update loyaltyclass attributes
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific loyaltyclass by id (e.g. one discovered by list) |
fn sync(identifier?: string)
Sync loyaltyclass state from GCP
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific loyaltyclass by id (e.g. one discovered by list) |
fn list(issuerId?: string, maxResults?: number, token?: string, maxPages?: number)
List loyaltyclass resources
| Argument | Type | Description |
|---|---|---|
| issuerId? | string | The ID of the issuer authorized to list classes. |
| maxResults? | number | Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined. |
| token? | string | Used 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? | number | Maximum number of pages to fetch (default: 10) |
fn addmessage(message?: any)
addmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
Resources
state(infinite)— Returns the loyalty class with the given class ID.
loyaltyobject.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| accessToken? | string | GCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| credentialsJson? | string | GCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| project? | string | GCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables. |
| scopes? | string | Comma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes. |
| quotaProject? | string | GCP 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? | string | Custom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL. |
| accountId? | string | The loyalty account identifier. Recommended maximum length is 20 characters. |
| accountName? | string | The loyalty account holder name, such as "John Smith." Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens. |
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| barcode? | object | An optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned. |
| classId? | string | Required. The class associated with this object. The class must be of the same type as this object, must already exist, and must be approved. Class IDs should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. |
| classReference? | object | The account ID label, such as "Member ID." Recommended maximum length is 15 characters to ensure full string is displayed on smaller screens. |
| disableExpirationNotification? | boolean | Indicates if notifications should explicitly be suppressed. If this field is set to true, regardless of the `messages` field, expiration notifications to the user will be suppressed. By default, this field is set to false. Currently, this can only be set for offers. |
| groupingInfo? | object | Optional grouping ID for grouping the passes with the same ID visually together. Grouping with different types of passes is allowed. |
| hasLinkedDevice? | boolean | Whether this object is currently linked to a single device. This field is set by the platform when a user saves the object, linking it to their device. Intended for use by select partners. Contact support for additional information. |
| hasUsers? | boolean | Indicates if the object has users. This field is set by the platform. |
| heroImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| id? | string | Required. The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'. |
| imageModulesData? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout. |
| linkedObjectIds? | array | linked_object_ids are a list of other objects such as event ticket, loyalty, offer, generic, giftcard, transit and boarding pass that should be automatically attached to this loyalty object. If a user had saved this loyalty card, then these linked_object_ids would be automatically pushed to the user's wallet (unless they turned off the setting to receive such linked passes). Make sure that objects present in linked_object_ids are already inserted - if not, calls would fail. Once linked, the linked objects cannot be unlinked. You cannot link objects belonging to another issuer. There is a limit to the number of objects that can be linked to a single object. After the limit is reached, new linked objects in the call will be ignored silently. Object IDs should follow the format issuer ID. identifier where the former is issued by Google and the latter is chosen by you. |
| linkedOfferIds? | array | A list of offer objects linked to this loyalty card. The offer objects must already exist. Offer object IDs should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. |
| linksModuleData? | object | The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. |
| loyaltyPoints? | object | The double form of a balance. Only one of these subtypes (string, int, double, money) should be populated. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| notifyPreference? | enum | Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. |
| passConstraints? | object | The NFC constraints for the pass. |
| rotatingBarcode? | object | An optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned. |
| saveRestrictions? | object | Restrict the save of the referencing object to the given email address only. This is the hex output of SHA256 sum of the email address, all lowercase and without any notations like "." or "+", except "@". For example, for example@example.com, this value will be 31c5543c1734d25c7206f5fd591525d0295bec6fe84ff82f946a34fe970a1e66 and for Example@example.com, this value will be bc34f262c93ad7122763684ccea6f07fb7f5d8a2d11e60ce15a6f43fe70ce632 If email address of the logged-in user who tries to save this pass does not match with the defined value here, users won\'t be allowed to save this pass. They will instead be prompted with an error to contact the issuer. This information should be gathered from the user with an explicit consent via Sign in with Google integration https://developers.google.com/identity/authentication. Please contact with support before using Save Restrictions. |
| secondaryLoyaltyPoints? | object | The double form of a balance. Only one of these subtypes (string, int, double, money) should be populated. |
| smartTapRedemptionValue? | string | The value that will be transmitted to a Smart Tap certified terminal over NFC for this object. The class level fields `enableSmartTap` and `redemptionIssuers` must also be set up correctly in order for the pass to support Smart Tap. Only ASCII characters are supported. If this value is not set but the class level fields `enableSmartTap` and `redemptionIssuers` are set up correctly, the `barcode.value` or the `accountId` fields are used as fallback if present. |
| state? | enum | Required. The state of the object. This field is used to determine how an object is displayed in the app. For example, an `inactive` object is moved to the "Expired passes" section. |
| textModulesData? | array | The body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens. |
| validTimeInterval? | object | An ISO 8601 extended format date/time. Offset may or may not be required (refer to the parent field's documentation). Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the date/time is intended for a physical location in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. Providing an offset makes this an absolute instant in time around the world. The date/time will be adjusted based on the user's time zone. For example, a time of `2018-06-19T18:30:00-04:00` will be 18:30:00 for a user in New York and 15:30:00 for a user in Los Angeles. Omitting the offset makes this a local date/time, representing several instants in time around the world. The date/time will always be in the user's current time zone. For example, a time of `2018-06-19T18:30:00` will be 18:30:00 for a user in New York and also 18:30:00 for a user in Los Angeles. This is useful when the same local date/time should apply to many physical locations across several time zones. |
| valueAddedModuleData? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
fn create(waitForReady?: boolean)
Create a loyaltyobject
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after creation (default: true) |
fn get(identifier: string)
Get a loyaltyobject
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the loyaltyobject |
fn update(identifier?: string, waitForReady?: boolean)
Update loyaltyobject attributes
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific loyaltyobject by id (e.g. one discovered by list) |
| waitForReady? | boolean | Wait for the resource to reach a ready state after update (default: true) |
fn sync(identifier?: string)
Sync loyaltyobject state from GCP
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific loyaltyobject by id (e.g. one discovered by list) |
fn list(classId?: string, maxResults?: number, token?: string, maxPages?: number)
List loyaltyobject resources
| Argument | Type | Description |
|---|---|---|
| classId? | string | The ID of the class whose objects will be listed. |
| maxResults? | number | Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined. |
| token? | string | Used 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? | number | Maximum number of pages to fetch (default: 10) |
fn addmessage(message?: any)
addmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
fn modifylinkedofferobjects(linkedOfferObjectIds?: any)
modifylinkedofferobjects
| Argument | Type | Description |
|---|---|---|
| linkedOfferObjectIds? | any |
Resources
state(infinite)— Returns the loyalty object with the given object ID.
offerclass.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| accessToken? | string | GCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| credentialsJson? | string | GCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| project? | string | GCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables. |
| scopes? | string | Comma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes. |
| quotaProject? | string | GCP 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? | string | Custom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL. |
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| callbackOptions? | object | URL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated. |
| classTemplateInfo? | object | If more than one reference is supplied, then the first one that references a non-empty field will be displayed. |
| countryCode? | string | Country code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale. |
| details? | string | The details of the offer. |
| enableSmartTap? | boolean | Identifies whether this class supports Smart Tap. The `redemptionIssuers` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap. |
| finePrint? | string | The fine print or terms of the offer, such as "20% off any t-shirt at Adam\'s Apparel." |
| helpUri? | object | The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. |
| heroImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| hexBackgroundColor? | string | The background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`. |
| homepageUri? | object | The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. |
| id? | string | Required. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'. |
| imageModulesData? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout. |
| issuerName? | string | Required. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens. |
| linksModuleData? | object | The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. |
| localizedDetails? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedFinePrint? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedIssuerName? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedProvider? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedShortTitle? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| localizedTitle? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| multipleDevicesAndHoldersAllowedStatus? | enum | Identifies whether multiple users and devices will save the same object referencing this class. |
| notifyPreference? | enum | Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. |
| provider? | string | Required. The offer provider (either the aggregator name or merchant name). Recommended maximum length is 12 characters to ensure full string is displayed on smaller screens. |
| redemptionChannel? | enum | Required. The redemption channels applicable to this offer. |
| redemptionIssuers? | array | Identifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap. |
| review? | object | The review comments set by the platform when a class is marked `approved` or `rejected`. |
| reviewStatus? | enum | Required. The status of the class. This field can be set to `draft` or The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`. |
| securityAnimation? | object | Type of animation. |
| shortTitle? | string | A shortened version of the title of the offer, such as "20% off," shown to users as a quick reference to the offer contents. Recommended maximum length is 20 characters. |
| textModulesData? | array | The body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens. |
| title? | string | Required. The title of the offer, such as "20% off any t-shirt." Recommended maximum length is 60 characters to ensure full string is displayed on smaller screens. |
| titleImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| valueAddedModuleData? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| viewUnlockRequirement? | enum | View Unlock Requirement options for the offer. |
| wideTitleImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| wordMark? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
fn create()
Create a offerclass
fn get(identifier: string)
Get a offerclass
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the offerclass |
fn update(identifier?: string)
Update offerclass attributes
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific offerclass by id (e.g. one discovered by list) |
fn sync(identifier?: string)
Sync offerclass state from GCP
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific offerclass by id (e.g. one discovered by list) |
fn list(issuerId?: string, maxResults?: number, token?: string, maxPages?: number)
List offerclass resources
| Argument | Type | Description |
|---|---|---|
| issuerId? | string | The ID of the issuer authorized to list classes. |
| maxResults? | number | Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined. |
| token? | string | Used 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? | number | Maximum number of pages to fetch (default: 10) |
fn addmessage(message?: any)
addmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
Resources
state(infinite)— Returns the offer class with the given class ID.
offerobject.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| accessToken? | string | GCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| credentialsJson? | string | GCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| project? | string | GCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables. |
| scopes? | string | Comma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes. |
| quotaProject? | string | GCP 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? | string | Custom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL. |
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| barcode? | object | An optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned. |
| classId? | string | Required. The class associated with this object. The class must be of the same type as this object, must already exist, and must be approved. Class IDs should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. |
| classReference? | object | Deprecated. Use `multipleDevicesAndHoldersAllowedStatus` instead. |
| disableExpirationNotification? | boolean | Indicates if notifications should explicitly be suppressed. If this field is set to true, regardless of the `messages` field, expiration notifications to the user will be suppressed. By default, this field is set to false. Currently, this can only be set for offers. |
| groupingInfo? | object | Optional grouping ID for grouping the passes with the same ID visually together. Grouping with different types of passes is allowed. |
| hasLinkedDevice? | boolean | Whether this object is currently linked to a single device. This field is set by the platform when a user saves the object, linking it to their device. Intended for use by select partners. Contact support for additional information. |
| hasUsers? | boolean | Indicates if the object has users. This field is set by the platform. |
| heroImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| id? | string | Required. The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'. |
| imageModulesData? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout. |
| linkedObjectIds? | array | linked_object_ids are a list of other objects such as event ticket, loyalty, offer, generic, giftcard, transit and boarding pass that should be automatically attached to this offer object. If a user had saved this offer, then these linked_object_ids would be automatically pushed to the user's wallet (unless they turned off the setting to receive such linked passes). Make sure that objects present in linked_object_ids are already inserted - if not, calls would fail. Once linked, the linked objects cannot be unlinked. You cannot link objects belonging to another issuer. There is a limit to the number of objects that can be linked to a single object. After the limit is reached, new linked objects in the call will be ignored silently. Object IDs should follow the format issuer ID.identifier where the former is issued by Google and the latter is chosen by you. |
| linksModuleData? | object | The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. |
| locations? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#latLongPoint"`. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| notifyPreference? | enum | Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. |
| passConstraints? | object | The NFC constraints for the pass. |
| rotatingBarcode? | object | An optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned. |
| saveRestrictions? | object | Restrict the save of the referencing object to the given email address only. This is the hex output of SHA256 sum of the email address, all lowercase and without any notations like "." or "+", except "@". For example, for example@example.com, this value will be 31c5543c1734d25c7206f5fd591525d0295bec6fe84ff82f946a34fe970a1e66 and for Example@example.com, this value will be bc34f262c93ad7122763684ccea6f07fb7f5d8a2d11e60ce15a6f43fe70ce632 If email address of the logged-in user who tries to save this pass does not match with the defined value here, users won\'t be allowed to save this pass. They will instead be prompted with an error to contact the issuer. This information should be gathered from the user with an explicit consent via Sign in with Google integration https://developers.google.com/identity/authentication. Please contact with support before using Save Restrictions. |
| smartTapRedemptionValue? | string | The value that will be transmitted to a Smart Tap certified terminal over NFC for this object. The class level fields `enableSmartTap` and `redemptionIssuers` must also be set up correctly in order for the pass to support Smart Tap. Only ASCII characters are supported. |
| state? | enum | Required. The state of the object. This field is used to determine how an object is displayed in the app. For example, an `inactive` object is moved to the "Expired passes" section. |
| textModulesData? | array | The body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens. |
| validTimeInterval? | object | An ISO 8601 extended format date/time. Offset may or may not be required (refer to the parent field's documentation). Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the date/time is intended for a physical location in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. Providing an offset makes this an absolute instant in time around the world. The date/time will be adjusted based on the user's time zone. For example, a time of `2018-06-19T18:30:00-04:00` will be 18:30:00 for a user in New York and 15:30:00 for a user in Los Angeles. Omitting the offset makes this a local date/time, representing several instants in time around the world. The date/time will always be in the user's current time zone. For example, a time of `2018-06-19T18:30:00` will be 18:30:00 for a user in New York and also 18:30:00 for a user in Los Angeles. This is useful when the same local date/time should apply to many physical locations across several time zones. |
| valueAddedModuleData? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
fn create(waitForReady?: boolean)
Create a offerobject
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after creation (default: true) |
fn get(identifier: string)
Get a offerobject
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the offerobject |
fn update(identifier?: string, waitForReady?: boolean)
Update offerobject attributes
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific offerobject by id (e.g. one discovered by list) |
| waitForReady? | boolean | Wait for the resource to reach a ready state after update (default: true) |
fn sync(identifier?: string)
Sync offerobject state from GCP
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific offerobject by id (e.g. one discovered by list) |
fn list(classId?: string, maxResults?: number, token?: string, maxPages?: number)
List offerobject resources
| Argument | Type | Description |
|---|---|---|
| classId? | string | The ID of the class whose objects will be listed. |
| maxResults? | number | Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined. |
| token? | string | Used 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? | number | Maximum number of pages to fetch (default: 10) |
fn addmessage(message?: any)
addmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
Resources
state(infinite)— Returns the offer object with the given object ID.
permissions.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| accessToken? | string | GCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| credentialsJson? | string | GCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| project? | string | GCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables. |
| scopes? | string | Comma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes. |
| quotaProject? | string | GCP 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? | string | Custom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL. |
| issuerId? | string | ID of the issuer the list of permissions refer to. |
| permissions? | array | The email address of the user, group, or service account to which this permission refers to. |
fn get(identifier: string)
Get a permissions
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the permissions |
fn update(identifier?: string)
Update permissions attributes
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific permissions by id (e.g. one discovered by list) |
fn sync(identifier?: string)
Sync permissions state from GCP
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target 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
| Argument | Type | Description |
|---|---|---|
| accessToken? | string | GCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| credentialsJson? | string | GCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| project? | string | GCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables. |
| scopes? | string | Comma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes. |
| quotaProject? | string | GCP 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? | string | Custom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL. |
| activationOptions? | object | HTTPS URL that supports REST semantics. Would be used for requesting activation from partners for given valuable, triggered by the users. |
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| callbackOptions? | object | URL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Googlebot. Deprecated. |
| classTemplateInfo? | object | If more than one reference is supplied, then the first one that references a non-empty field will be displayed. |
| countryCode? | string | Country code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale. |
| customCarriageLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customCoachLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customConcessionCategoryLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customConfirmationCodeLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customDiscountMessageLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customFareClassLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customFareNameLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customOtherRestrictionsLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customPlatformLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customPurchaseFaceValueLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customPurchasePriceLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customPurchaseReceiptNumberLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customRouteRestrictionsDetailsLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customRouteRestrictionsLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customSeatLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customTicketNumberLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customTimeRestrictionsLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customTransitTerminusNameLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customZoneLabel? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| enableSingleLegItinerary? | boolean | Controls the display of the single-leg itinerary for this class. By default, an itinerary will only display for multi-leg trips. |
| enableSmartTap? | boolean | Identifies whether this class supports Smart Tap. The `redemptionIssuers` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap. |
| heroImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| hexBackgroundColor? | string | The background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`. |
| homepageUri? | object | The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. |
| id? | string | Required. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'. |
| imageModulesData? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout. |
| issuerName? | string | Required. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens. |
| languageOverride? | string | If this field is present, transit tickets served to a user\'s device will always be in this language. Represents the BCP 47 language tag. Example values are "en-US", "en-GB", "de", or "de-AT". |
| linksModuleData? | object | The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. |
| localizedIssuerName? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| logo? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| multipleDevicesAndHoldersAllowedStatus? | enum | Identifies whether multiple users and devices will save the same object referencing this class. |
| notifyPreference? | enum | Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. |
| redemptionIssuers? | array | Identifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap. |
| review? | object | The review comments set by the platform when a class is marked `approved` or `rejected`. |
| reviewStatus? | enum | Required. The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`. |
| securityAnimation? | object | Type of animation. |
| textModulesData? | array | The body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens. |
| transitOperatorName? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| transitType? | enum | Required. The type of transit this class represents, such as "bus". |
| valueAddedModuleData? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| viewUnlockRequirement? | enum | View Unlock Requirement options for the transit ticket. |
| watermark? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| wideLogo? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| wordMark? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
fn create()
Create a transitclass
fn get(identifier: string)
Get a transitclass
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the transitclass |
fn update(identifier?: string)
Update transitclass attributes
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific transitclass by id (e.g. one discovered by list) |
fn sync(identifier?: string)
Sync transitclass state from GCP
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific transitclass by id (e.g. one discovered by list) |
fn list(issuerId?: string, maxResults?: number, token?: string, maxPages?: number)
List transitclass resources
| Argument | Type | Description |
|---|---|---|
| issuerId? | string | The ID of the issuer authorized to list classes. |
| maxResults? | number | Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined. |
| token? | string | Used 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? | number | Maximum number of pages to fetch (default: 10) |
fn addmessage(message?: any)
addmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
Resources
state(infinite)— Returns the transit class with the given class ID.
transitobject.tsv2026.10.23.1
Global Arguments
| Argument | Type | Description |
|---|---|---|
| accessToken? | string | GCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| credentialsJson? | string | GCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| project? | string | GCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables. |
| scopes? | string | Comma-separated OAuth scopes to request when minting access tokens via gcloud. Defaults to the API's Discovery Document scopes. |
| quotaProject? | string | GCP 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? | string | Custom API endpoint for emulators; overrides GCP_API_ENDPOINT environment variable. Defaults to the service's production URL. |
| activationStatus? | object | The activation status for the object. Required if the class has `activationOptions` set. |
| appLinkData? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| barcode? | object | An optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned. |
| classId? | string | Required. The class associated with this object. The class must be of the same type as this object, must already exist, and must be approved. Class IDs should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. |
| classReference? | object | HTTPS URL that supports REST semantics. Would be used for requesting activation from partners for given valuable, triggered by the users. |
| concessionCategory? | enum | The concession category for the ticket. |
| customConcessionCategory? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| customTicketStatus? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| deviceContext? | object | If set, redemption information will only be returned to the given device upon activation of the object. This should not be used as a stable identifier to trace a user's device. It can change across different passes for the same device or even across different activations for the same device. When setting this, callers must also set has_linked_device on the object being activated. |
| disableExpirationNotification? | boolean | Indicates if notifications should explicitly be suppressed. If this field is set to true, regardless of the `messages` field, expiration notifications to the user will be suppressed. By default, this field is set to false. Currently, this can only be set for offers. |
| groupingInfo? | object | Optional grouping ID for grouping the passes with the same ID visually together. Grouping with different types of passes is allowed. |
| hasLinkedDevice? | boolean | Whether this object is currently linked to a single device. This field is set by the platform when a user saves the object, linking it to their device. Intended for use by select partners. Contact support for additional information. |
| hasUsers? | boolean | Indicates if the object has users. This field is set by the platform. |
| heroImage? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| hexBackgroundColor? | string | The background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`. |
| id? | string | Required. The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'. |
| imageModulesData? | array | The ID associated with an image module. This field is here to enable ease of management of image modules. |
| infoModuleData? | object | The label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout. |
| linkedObjectIds? | array | linked_object_ids are a list of other objects such as event ticket, loyalty, offer, generic, giftcard, transit and boarding pass that should be automatically attached to this transit object. If a user had saved this transit card, then these linked_object_ids would be automatically pushed to the user's wallet (unless they turned off the setting to receive such linked passes). Make sure that objects present in linked_object_ids are already inserted - if not, calls would fail. Once linked, the linked objects cannot be unlinked. You cannot link objects belonging to another issuer. There is a limit to the number of objects that can be linked to a single object. After the limit is reached, new linked objects in the call will be ignored silently. Object IDs should follow the format issuer ID. identifier where the former is issued by Google and the latter is chosen by you. |
| linksModuleData? | object | The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image. |
| merchantLocations? | array | The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. |
| messages? | array | The message body. |
| notifyPreference? | enum | Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. |
| passConstraints? | object | The NFC constraints for the pass. |
| passengerNames? | string | The name(s) of the passengers the ticket is assigned to. The above `passengerType` field is meant to give Google context on this field. |
| passengerType? | enum | The number of passengers. |
| purchaseDetails? | object | ID of the account used to purchase the ticket. |
| rotatingBarcode? | object | An optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned. |
| saveRestrictions? | object | Restrict the save of the referencing object to the given email address only. This is the hex output of SHA256 sum of the email address, all lowercase and without any notations like "." or "+", except "@". For example, for example@example.com, this value will be 31c5543c1734d25c7206f5fd591525d0295bec6fe84ff82f946a34fe970a1e66 and for Example@example.com, this value will be bc34f262c93ad7122763684ccea6f07fb7f5d8a2d11e60ce15a6f43fe70ce632 If email address of the logged-in user who tries to save this pass does not match with the defined value here, users won\'t be allowed to save this pass. They will instead be prompted with an error to contact the issuer. This information should be gathered from the user with an explicit consent via Sign in with Google integration https://developers.google.com/identity/authentication. Please contact with support before using Save Restrictions. |
| smartTapRedemptionValue? | string | The value that will be transmitted to a Smart Tap certified terminal over NFC for this object. The class level fields `enableSmartTap` and `redemptionIssuers` must also be set up correctly in order for the pass to support Smart Tap. Only ASCII characters are supported. |
| state? | enum | Required. The state of the object. This field is used to determine how an object is displayed in the app. For example, an `inactive` object is moved to the "Expired passes" section. |
| textModulesData? | array | The body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens. |
| ticketLeg? | object | The date/time of arrival. This is an ISO 8601 extended format date/time, with or without an offset. Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the event were in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. The portion of the date/time without the offset is considered the "local date/time". This should be the local date/time at the destination station. For example, if the event occurs at the 20th hour of June 5th, 2018 at the destination station, the local date/time portion should be `2018-06-05T20:00:00`. If the local date/time at the destination station is 4 hours before UTC, an offset of `-04:00` may be appended. Without offset information, some rich features may not be available. |
| ticketLegs? | array | The date/time of arrival. This is an ISO 8601 extended format date/time, with or without an offset. Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the event were in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. The portion of the date/time without the offset is considered the "local date/time". This should be the local date/time at the destination station. For example, if the event occurs at the 20th hour of June 5th, 2018 at the destination station, the local date/time portion should be `2018-06-05T20:00:00`. If the local date/time at the destination station is 4 hours before UTC, an offset of `-04:00` may be appended. Without offset information, some rich features may not be available. |
| ticketNumber? | string | The number of the ticket. This is a unique identifier for the ticket in the transit operator's system. |
| ticketRestrictions? | object | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
| ticketStatus? | enum | The status of the ticket. For states which affect display, use the `state` field instead. |
| tripId? | string | This id is used to group tickets together if the user has saved multiple tickets for the same trip. |
| tripType? | enum | Required. The type of trip this transit object represents. Used to determine the pass title and/or which symbol to use between the origin and destination. |
| validTimeInterval? | object | An ISO 8601 extended format date/time. Offset may or may not be required (refer to the parent field's documentation). Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the date/time is intended for a physical location in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. Providing an offset makes this an absolute instant in time around the world. The date/time will be adjusted based on the user's time zone. For example, a time of `2018-06-19T18:30:00-04:00` will be 18:30:00 for a user in New York and 15:30:00 for a user in Los Angeles. Omitting the offset makes this a local date/time, representing several instants in time around the world. The date/time will always be in the user's current time zone. For example, a time of `2018-06-19T18:30:00` will be 18:30:00 for a user in New York and also 18:30:00 for a user in Los Angeles. This is useful when the same local date/time should apply to many physical locations across several time zones. |
| valueAddedModuleData? | array | Identifies what kind of resource this is. Value: the fixed string `"walletobjects#translatedString"`. |
fn create(waitForReady?: boolean)
Create a transitobject
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after creation (default: true) |
fn get(identifier: string)
Get a transitobject
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the transitobject |
fn update(identifier?: string, waitForReady?: boolean)
Update transitobject attributes
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific transitobject by id (e.g. one discovered by list) |
| waitForReady? | boolean | Wait for the resource to reach a ready state after update (default: true) |
fn sync(identifier?: string)
Sync transitobject state from GCP
| Argument | Type | Description |
|---|---|---|
| identifier? | string | Target a specific transitobject by id (e.g. one discovered by list) |
fn list(classId?: string, maxResults?: number, token?: string, maxPages?: number)
List transitobject resources
| Argument | Type | Description |
|---|---|---|
| classId? | string | The ID of the class whose objects will be listed. |
| maxResults? | number | Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined. |
| token? | string | Used 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? | number | Maximum number of pages to fetch (default: 10) |
fn addmessage(message?: any)
addmessage
| Argument | Type | Description |
|---|---|---|
| message? | any |
Resources
state(infinite)— Returns the transit object with the given object ID.
04Previous Versions
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