---
title: "Update the Google Wallet template"
method: PUT
path: "/companies/{company_key}/campaigns/wallet/{token}/wallet_template"
tags: ["Android Wallet Templates API"]
---

# Update the Google Wallet template

`PUT /companies/{company_key}/campaigns/wallet/{token}/wallet_template`

## Request

- Base URL: `https://public-api.vibescm.com`
- URL: `https://public-api.vibescm.com/companies/{company_key}/campaigns/wallet/{token}/wallet_template`
- Auth: HTTP basic

Update the Google Wallet (Android) pass template for a wallet campaign.

## Path parameters

- `company_key` string, required
- `token` string, required

## Headers

- `X-API-Version` string
- `Content-Type` string, required

## Request body

- AndroidTemplateRequest
  - `wallet_template` GoogleWalletTemplateBody, required: Design and content of a Google Wallet (Android) pass. Google models three pass kinds — Offer, Loyalty, and Event Ticket — that share a common frame; field semantics follow Google Wallet generic passes (https://developers.google.com/wallet/generic). Many text fields accept Liquid personalization tags that are replaced per recipient. Fields noted as "loyalty only" or "event ticket only" apply only to campaigns of that type.
    - `title` string: The pass headline.
    - `issuer` string: Organization that issues the pass.
    - `provider` string: Merchant shown on the card. Required for offer passes.
    - `description` string: Free-text offer description shown on the pass. Offer passes only.
    - `background_color` string: Color that fills the card, as a hex value (for example `#1a73e8`).
    - `nfc_message` string: Payload delivered when the pass is tapped on an NFC terminal (smart tap).
    - `enable_expiration_notification` boolean: When `true`, sends the pass holder a push notification before the offer expires. Offer passes only.
    - `logo` object: Small circular logo shown on the pass.
      - `url` string: Public URL of the logo image.
    - `hero_image` object: Large featured image shown on the pass.
      - `url` string: Public URL of the hero image.
    - `strip_image` object: Wide banner image shown on the pass.
      - `url` string: Public URL of the strip image.
    - `strip_images` object[]: Per-recipient alternates of the `strip_image` banner. They share the single strip slot — only one is shown per pass, chosen at issue time by matching the recipient's `IMAGE_CODE` personalization token against `image_code`. If none matches, the default `strip_image` is shown. Each `image_code` must be unique within the array.
      - `image_code` string: Unique code used to select this image for a recipient.
      - `url` string: Public URL of the strip image.
    - `barcode` object: The scannable code shown on the pass.
      - `type` string: Barcode format — one of `QR_CODE`, `PDF_417`, `AZTEC`, `CODE_128`, `TEXT_ONLY`, or `None` (lowercase variants `qrCode`, `pdf417`, `aztec`, `code128`, `textOnly` are also accepted).
      - `label` string: Caption shown beneath the barcode.
      - `value` string: Barcode content (ASCII only). Required unless `type` is `None`.
      - `alternate_text` string: Human-readable text shown alongside the barcode.
    - `loyalty_points` object: Points balance shown on the pass. Loyalty passes only.
      - `label` string: Caption for the points balance.
      - `balance` string: Points balance value. Required when a label is present.
    - `secondary_loyalty_points` object: Secondary points balance shown on the pass. Loyalty passes only.
      - `label` string: Caption for the secondary points balance.
      - `balance` string: Secondary points balance value. Required when a label is present.
    - `account` object: Account details shown on the pass. Loyalty passes only.
      - `name` string: Account holder name.
      - `name_label` string: Caption for the account holder name.
      - `id` string: Account identifier.
      - `id_label` string: Caption for the account identifier.
    - `rewards_tier` object: Rewards tier shown on the pass. Loyalty passes only.
      - `label` string: Caption for the rewards tier.
      - `name` string: Rewards tier name.
    - `text_area` object[]: Free-text modules shown on the pass.
      - `header` string: Module heading. Supply both header and body, or leave both blank.
      - `body` string: Module body text.
    - `subinfo` object[]: Info-module rows (heading/body pairs) shown on the pass.
      - `header` string: Row heading. Supply both header and body, or leave both blank.
      - `body` string: Row body text.
    - `messages` object[]: Push-style announcements shown on the pass. Loyalty and event ticket passes only.
      - `header` string: Message heading.
      - `body` string: Message body text.
    - `links` object[]: Links module shown on the pass.
      - `description` string: Link label. Required when a URI is present.
      - `uri` string: Link target URL.
    - `help` object: Help link shown on the pass. Event ticket passes only.
      - `uri` string: Help link target URL.
      - `description` string: Help link label.
    - `homepage` object: Homepage link shown on the pass. Event ticket passes only.
      - `uri` string: Homepage URL.
      - `description` string: Homepage link label.
    - `trackers` object[]: Tracking-pixel definitions. Each renders a 1x1 image beacon that fires on a pass lifecycle event for analytics.
      - `action` string: Lifecycle event that fires the tracker. One of `view`, `add`, or `remove`.
      - `tag` string: Beacon URL requested when the action occurs.
    - `event_id` string: Identifier that groups tickets for the same event (max 64 characters). Event ticket passes only.
    - `ticket_holder_name` string: Name of the ticket holder. Event ticket passes only.
    - `ticket_number` string: Ticket number. Event ticket passes only.
    - `ticket_type` string: Ticket type. Event ticket passes only.
    - `venue` object: Event venue shown on the pass. Event ticket passes only.
      - `name` string: Venue name. Required when a venue is present.
      - `address` string: Venue address. Required when a venue is present.
    - `event_info` object: Event timing shown on the pass. Event ticket passes only.
      - `doors_open_time` string: When doors open.
      - `doors_open_label` string: Caption for the doors-open time.
      - `start_time` string: Event start time.
      - `end_time` string: Event end time.
    - `seat_info` object: Seat assignment shown on the pass. Event ticket passes only. Supply each value together with its matching label.
      - `section` string: Seat section.
      - `section_label` string: Caption for the section.
      - `row` string: Seat row.
      - `row_label` string: Caption for the row.
      - `seat` string: Seat number.
      - `seat_label` string: Caption for the seat.
      - `gate` string: Entry gate.
      - `gate_label` string: Caption for the gate.
    - `reservation_info` object: Reservation confirmation shown on the pass. Event ticket passes only.
      - `confirmation_code` string: Reservation confirmation code.
      - `confirmation_code_label` string: Caption for the confirmation code.
    - `grouping_info` object: Controls how related passes are grouped together on the device. Event ticket passes only.
      - `sort_index` integer: Position of this pass within its group.

## Response `200`

The Google Wallet template was updated.

- AndroidTemplateResponse: Design and content of a Google Wallet (Android) pass. Google models three pass kinds — Offer, Loyalty, and Event Ticket — that share a common frame; field semantics follow Google Wallet generic passes (https://developers.google.com/wallet/generic). Many text fields accept Liquid personalization tags that are replaced per recipient. Fields noted as "loyalty only" or "event ticket only" apply only to campaigns of that type.
  - `id` string: Unique identifier of the Google Wallet template.
  - `active` boolean: Whether the template is active.
  - `created_at` string: When the template was created, in ISO-8601 format.
  - `updated_at` string: When the template was last updated, in ISO-8601 format.
  - `title` string: The pass headline.
  - `issuer` string: Organization that issues the pass.
  - `provider` string: Merchant shown on the card. Required for offer passes.
  - `description` string: Free-text offer description shown on the pass. Offer passes only.
  - `background_color` string: Color that fills the card, as a hex value (for example `#1a73e8`).
  - `nfc_message` string: Payload delivered when the pass is tapped on an NFC terminal (smart tap).
  - `enable_expiration_notification` boolean: When `true`, sends the pass holder a push notification before the offer expires. Offer passes only.
  - `logo` object: Small circular logo shown on the pass.
    - `url` string: Public URL of the logo image.
  - `hero_image` object: Large featured image shown on the pass.
    - `url` string: Public URL of the hero image.
  - `strip_image` object: Wide banner image shown on the pass.
    - `url` string: Public URL of the strip image.
  - `strip_images` object[]: Per-recipient alternates of the `strip_image` banner. They share the single strip slot — only one is shown per pass, chosen at issue time by matching the recipient's `IMAGE_CODE` personalization token against `image_code`. If none matches, the default `strip_image` is shown. Each `image_code` must be unique within the array.
    - `image_code` string: Unique code used to select this image for a recipient.
    - `url` string: Public URL of the strip image.
  - `barcode` object: The scannable code shown on the pass.
    - `type` string: Barcode format — one of `QR_CODE`, `PDF_417`, `AZTEC`, `CODE_128`, `TEXT_ONLY`, or `None` (lowercase variants `qrCode`, `pdf417`, `aztec`, `code128`, `textOnly` are also accepted).
    - `label` string: Caption shown beneath the barcode.
    - `value` string: Barcode content (ASCII only). Required unless `type` is `None`.
    - `alternate_text` string: Human-readable text shown alongside the barcode.
  - `loyalty_points` object: Points balance shown on the pass. Loyalty passes only.
    - `label` string: Caption for the points balance.
    - `balance` string: Points balance value. Required when a label is present.
  - `secondary_loyalty_points` object: Secondary points balance shown on the pass. Loyalty passes only.
    - `label` string: Caption for the secondary points balance.
    - `balance` string: Secondary points balance value. Required when a label is present.
  - `account` object: Account details shown on the pass. Loyalty passes only.
    - `name` string: Account holder name.
    - `name_label` string: Caption for the account holder name.
    - `id` string: Account identifier.
    - `id_label` string: Caption for the account identifier.
  - `rewards_tier` object: Rewards tier shown on the pass. Loyalty passes only.
    - `label` string: Caption for the rewards tier.
    - `name` string: Rewards tier name.
  - `text_area` object[]: Free-text modules shown on the pass.
    - `header` string: Module heading. Supply both header and body, or leave both blank.
    - `body` string: Module body text.
  - `subinfo` object[]: Info-module rows (heading/body pairs) shown on the pass.
    - `header` string: Row heading. Supply both header and body, or leave both blank.
    - `body` string: Row body text.
  - `messages` object[]: Push-style announcements shown on the pass. Loyalty and event ticket passes only.
    - `header` string: Message heading.
    - `body` string: Message body text.
  - `links` object[]: Links module shown on the pass.
    - `description` string: Link label. Required when a URI is present.
    - `uri` string: Link target URL.
  - `help` object: Help link shown on the pass. Event ticket passes only.
    - `uri` string: Help link target URL.
    - `description` string: Help link label.
  - `homepage` object: Homepage link shown on the pass. Event ticket passes only.
    - `uri` string: Homepage URL.
    - `description` string: Homepage link label.
  - `trackers` object[]: Tracking-pixel definitions. Each renders a 1x1 image beacon that fires on a pass lifecycle event for analytics.
    - `action` string: Lifecycle event that fires the tracker. One of `view`, `add`, or `remove`.
    - `tag` string: Beacon URL requested when the action occurs.
  - `event_id` string: Identifier that groups tickets for the same event (max 64 characters). Event ticket passes only.
  - `ticket_holder_name` string: Name of the ticket holder. Event ticket passes only.
  - `ticket_number` string: Ticket number. Event ticket passes only.
  - `ticket_type` string: Ticket type. Event ticket passes only.
  - `venue` object: Event venue shown on the pass. Event ticket passes only.
    - `name` string: Venue name. Required when a venue is present.
    - `address` string: Venue address. Required when a venue is present.
  - `event_info` object: Event timing shown on the pass. Event ticket passes only.
    - `doors_open_time` string: When doors open.
    - `doors_open_label` string: Caption for the doors-open time.
    - `start_time` string: Event start time.
    - `end_time` string: Event end time.
  - `seat_info` object: Seat assignment shown on the pass. Event ticket passes only. Supply each value together with its matching label.
    - `section` string: Seat section.
    - `section_label` string: Caption for the section.
    - `row` string: Seat row.
    - `row_label` string: Caption for the row.
    - `seat` string: Seat number.
    - `seat_label` string: Caption for the seat.
    - `gate` string: Entry gate.
    - `gate_label` string: Caption for the gate.
  - `reservation_info` object: Reservation confirmation shown on the pass. Event ticket passes only.
    - `confirmation_code` string: Reservation confirmation code.
    - `confirmation_code_label` string: Caption for the confirmation code.
  - `grouping_info` object: Controls how related passes are grouped together on the device. Event ticket passes only.
    - `sort_index` integer: Position of this pass within its group.

## Other responses

- `404`: The campaign or its Google Wallet template cannot be found.

---

[API](https://skmtc.dev/vibes/apis/vibes-platform-api.md) - [All operations](https://skmtc.dev/vibes/apis/vibes-platform-api/llms.txt) - [OpenAPI document](https://skmtc.dev/vibes/apis/vibes-platform-api/revisions/e235838f2e50?raw)
