> ## Documentation Index
> Fetch the complete documentation index at: https://docs.synctera.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create digital wallet token provision request for Google Pay using Unified Push Provisioning (UPP)



## OpenAPI

````yaml openapi-v2.json post /cards/{card_id}/digital_wallet_tokens/googlepay_upp
openapi: 3.0.3
info:
  description: >-
    This is the official reference documentation for Synctera APIs. If you need
    something specific or have a question, <a class='text-blue-600'
    href='https://synctera.com/contact-us' target='_blank'
    rel='noreferrer'>contact us</a>.</p>
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  title: Synctera API
  version: 2.5.0
servers:
  - description: Production
    url: https://api.synctera.com/v2
  - description: Sandbox (no real world financial impact)
    url: https://api-sandbox.synctera.com/v2
security:
  - bearerAuth: []
tags:
  - description: |
      Requests to create and manage Rewards
    name: Rewards (beta)
  - description: Lookup merchant information
    name: Merchants
  - description: Requests to generate simulated webhooks
    name: Card Webhook Simulations
  - description: >-
      Account programs define configurations for payment rails and transaction
      capabilities across different account types.
    name: Account Programs
  - description: >-
      Testing endpoints to simulate in-store cash deposits. Available in sandbox
      environments only.
    name: In-Store Cash Deposit Simulations
  - description: Simulate receiving ACH transactions and returns
    name: ACH Transaction Simulations
  - description: Requests for risk evaluation and decisioning
    name: Risk Evaluations
  - description: Create and manage spending controls
    name: Spend Controls (beta)
  - description: |
      The disclosures resource is used to track the status of disclosures and
      ensure that all parties have been shown the necessary disclosures to meet
      regulatory obligations.
    name: Disclosures
  - description: Create and manage Cash Order and Cash Deposit transfers
    name: Cash Orders and Deposits (alpha)
  - description: Rates
    name: Rates
  - description: Requests to initiate customer verification.
    name: KYC Verification (deprecated)
  - description: Request to create and manage users
    name: Users
  - description: See balance history
    name: BalanceHistory
  - description: >-
      Migration mappings associate resources from an old tenant identity with a
      new tenant identity.
    name: Migration Mappings
  - description: |
      The External Account resource is used for managing links to accounts
      that operate outside of the Synctera ecosystem.
    name: External Accounts
  - description: Requests to create and manage account products, including fees, interest.
    name: Account Products
  - description: API for point-in-time account balances
    name: account_balances
  - description: Requests to create and manage webhooks
    name: Webhooks
  - description: >
      Vendor-agnostic daily snapshots of a credit account's state (balances,
      past-due status, per-bucket breakdown). Populated first from LoanPro, but
      not specific to it. Internal-only: there is no public write path, only an
      internal sync job.
    name: Credit Account Daily Snapshots
  - description: Tenant Config
    name: Tenant Config
  - description: Create and manage documents.
    name: Documents
  - description: Request to create and manage statements
    name: Statements
  - description: >-
      Create and manage same currency and multi-currency international wire
      transfers
    name: International Wires (alpha)
  - description: FDX authentication and data transfer using Plaid Core Exchange
    name: Plaid Core Exchange (beta)
  - description: Create and manage disputes
    name: Disputes
  - description: Requests to simulate card payments
    name: Card Simulations
  - description: Requests for transaction risk detection
    name: Transaction risk
  - description: >-
      Used to configure bank accounts for which synctera accounts are considered
      a "subledger" to
    name: Bank Account
  - description: >-
      Aggregated write-off amounts for lending accounts, computed from posted
      transactions.
    name: Write Off Amounts
  - description: |
      Manage fee products and fee configs for automated fee collection
    name: Fee Products
  - description: Apple Pay APIs
    name: Apple Pay
  - description: Request to create and manage party groups and party group members
    name: Party Groups
  - description: Requests to manage addresses
    name: Addresses
  - description: Requests to manage monitoring subscriptions and alerts for customers.
    name: Monitoring
  - description: Lending Config
    name: Lending Config
  - description: Requests to search and manage compliance searches
    name: Compliance Searches
  - description: Requests to create and manage customers
    name: Customers
  - description: |
      The internal account resource is used for managing links to internal
      accounts where the funds are managed by integrators.
    name: Internal Accounts
  - description: Create and manage spending controls
    name: Spend Controls
  - description: Payments related to lending accounts
    name: Payments
  - description: Retrieve user identity information
    name: Identity
  - description: Requests to manage banks
    name: Banks
  - description: |
      The Disclosures resource is used to track the status of disclosures and
      ensure that customers have been shown the necessary disclosures to meet
      regulatory obligations.
    name: Disclosures (deprecated)
  - description: Manage negative balance processes
    name: Negative Balance
  - description: Create and manage wire transfers
    name: Wires
  - description: Configuration for mapping LoanPro events to Payola transaction parameters
    name: LoanPro Transaction Event Config
  - description: Request to create and manage edd
    name: Trust
  - description: Request to enroll, renew, or cancel watchlist monitors
    name: Watchlist (deprecated)
  - description: Endpoints for modifying or fetching posting dates
    name: Posting Dates
  - description: Requests to generate simulated transactions
    name: Cash Transaction Simulations (alpha)
  - description: Transaction lines API
    name: transactions
  - description: Request to create and manage accounts
    name: Accounts
  - description: Requests to create and manage notes
    name: Notes
  - description: Account Template
    name: Account Templates
  - description: API for effective balances
    name: effective_balances
  - description: Create and manage tenant-level transaction limits
    name: Tenant Limits (beta)
  - description: Create and manage transactions
    name: Transactions (beta)
  - description: Requests to create and manage personal ID configurations
    name: Personal ID Configuration
  - description: >
      A natural person (individual human) that is relevant to the Synctera
      platform in some way: e.g. a personal customer or a director/officer/owner
      of a business.
    name: Persons
  - description: >
      Represents the relationships between parties. A relationship can exist
      between personal customers, business customers, or non-customer
      persons/organizations.
    name: Relationships
  - description: Autopay payment records for billing periods
    name: Autopays
  - description: >
      A legal entity (corporation, partnership, etc.) that is relevant to the
      Synctera platform in some way: a business customer or some other
      organization that has an ownership share in such a business customer.
    name: Businesses
  - description: Request to create and manage payment_schedules
    name: Cronut
  - description: Requests to manage partners
    name: Partners
  - description: Request to create and manage deposits using remote deposit capture
    name: Remote Check Deposit
  - description: |
      Requests to create and manage batch payments
    name: Batch Payments (alpha)
  - description: Requests to create and manage API keys
    name: API Keys
  - description: Admin API for Middesk configuration using the tenants API keys.
    name: Middesk
  - description: >
      The fintech profile document resource is used to track the approval status
      of any documents

      which must be reviewed by a bank. This includes regulatory documents which
      will be presented

      to the fintech's end users, and also any documents that help the bank
      understand the

      fintech's fitness for duty.
    name: Fintech Profile
  - description: Billing rates
    name: Billing Rates
  - description: Bank Delinquency Configuration
    name: Bank Delinquency Configuration
  - description: >-
      Rules that map a posted payment transaction (bank/partner + transaction
      attributes) to a regulatory payment code. NULL match columns act as
      wildcards.
    name: Payment Code Configuration
  - description: Create and manage Synctera Pay templates
    name: SyncteraPay
  - description: Manage contacts for bank and fintech partners
    name: Contacts
  - description: Create and manage transactions
    name: Transactions
  - description: Request to create and manage rdc configurations
    name: RDC Config
  - description: Create and manage holds
    name: Hold
  - description: Requests to create and manage roles
    name: Roles
  - description: |
      Manage reward products and reward configs for automated cashback rewards
    name: Reward Products
  - description: Simulate receiving Wire transactions and returns
    name: Wire Transaction Simulations
  - description: Requests to configure vendors.
    name: Vendor Configurations
  - description: Requests to create licenses
    name: Licenses
  - description: Requests to create and manage card disputes
    name: Card Disputes
  - description: Requests to Admins to grant permissions to user
    name: Request Permissions
  - description: >-
      Per bank/partner account-type mapping to FFIEC collateral codes used for
      regulatory call report furnishment.
    name: Collateral Code Configuration
  - description: Configure vendor secrets for egress requests
    name: Egress Gateway Vendor Secret CRUD API
  - description: Requests to screen parties against sanctions watchlists
    name: Sanctions Screening
  - description: Create and manage payments
    name: ACH
  - description: Requests to calculate and manage CRR
    name: CRR
  - description: Bulk card issuance
    name: Bulk Issuance
  - description: Requests to search financial institutions
    name: Institutions (Beta)
  - description: Autopay configuration management for lending accounts
    name: Autopay Configs
  - description: Create and manage scheduled transactions
    name: Scheduled Transactions (internal)
  - description: Create and manage tenant configurations
    name: Tenant Configs
  - description: Create and manage sweep configurations
    name: Configs
  - description: >
      Represents the compliance rules that are used to verify certain kinds of
      money movement.
    name: Compliance Rules
  - description: Configure webhook secrets for egress requests
    name: Egress Gateway Webhook Secret CRUD API
  - description: |
      Saved prefills for the internal transfer form
    name: Internal Transfer Templates
  - description: Create and manage barcodes for in-store cash deposits
    name: In-Store Cash Deposits
  - description: Create and manage transactions
    name: Transactions (internal)
  - description: History
    name: History
  - description: Customer Service Details for disputes and billing inquiries
    name: Customer Service Details
  - description: Configuration and management of transaction monitoring rules
    name: Transaction Monitoring
  - description: Create a credit application.
    name: Applications (beta)
  - description: Requests to generate simulated transactions
    name: Card Transaction Simulations
  - description: Billing period summaries
    name: Billing Period Summaries
  - description: Requests to initiate customer verification.
    name: KYC/KYB Verifications
  - description: Requests to grant, list, update, and revoke role bindings
    name: Role Bindings
  - description: Requests to issue and manage cards
    name: Cards
  - description: Push and pull from cards
    name: External Cards
  - description: |
      Requests to create and manage fees
    name: Fees (beta)
  - description: Manage credit disputes
    name: Credit Disputes
paths:
  /cards/{card_id}/digital_wallet_tokens/googlepay_upp:
    post:
      tags:
        - Digital Wallet Tokens
      summary: >-
        Create digital wallet token provision request for Google Pay using
        Unified Push Provisioning (UPP)
      operationId: createDigitalWalletGoogleUPP
      parameters:
        - $ref: '#/components/parameters/idempotency_key'
        - $ref: '#/components/parameters/card_id1'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/google_upp_digital_wallet_provision_request'
        description: >
          Request to provision digital wallet card data to pass to Google Pay
          digital wallet using Google Unified Push

          Provisioning (UPP). Replaces the Google in-app push provisioning
          endpoint, which Google expects to deprecate

          by the end of 2026.


          NB: Cannot be used outside of production.
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/google_upp_digital_wallet_provision_response
          description: Digital wallet token provision request data
        '400':
          $ref: '#/components/responses/bad_request1'
        '401':
          $ref: '#/components/responses/unauthorized1'
        '403':
          $ref: '#/components/responses/forbidden1'
        '404':
          $ref: '#/components/responses/not_found1'
        '422':
          $ref: '#/components/responses/unprocessable_entity1'
        '500':
          $ref: '#/components/responses/internal_server_error1'
components:
  parameters:
    idempotency_key:
      description: >-
        An idempotency key is an arbitrary unique value generated by client to
        detect subsequent retries of the same request. It is recommended that a
        UUID or a similar random identifier be used as an idempotency key. A
        different key must be used for each request, unless it is a retry.
      in: header
      name: Idempotency-Key
      schema:
        example: 7d943c51-e4ff-4e57-9558-08cab6b963c7
        type: string
    card_id1:
      in: path
      name: card_id
      required: true
      schema:
        $ref: '#/components/schemas/card_id'
  schemas:
    google_upp_digital_wallet_provision_request:
      properties:
        device_id:
          description: The user’s Android device ID; the device’s unique identifier.
          maxLength: 24
          minLength: 1
          type: string
        device_type:
          $ref: '#/components/schemas/device_type'
        provisioning_app_version:
          $ref: '#/components/schemas/provisioning_app_version'
        server_session_id:
          description: >
            Google session ID, used to generate the Google Opaque Payment Card
            (OPC) that adds the card to the

            cardholder's Google account. Must be a UUID. Required only if the
            Google OPC is needed.
          format: uuid
          type: string
        token_requestor_id:
          description: >-
            Identifier of the token requestor. Required when tokenizing a Visa
            card to a Fitbit device.
          maxLength: 15
          minLength: 1
          type: string
        wallet_account_id:
          description: The user’s Google wallet account ID.
          maxLength: 50
          minLength: 1
          type: string
      required:
        - device_id
        - device_type
        - provisioning_app_version
        - wallet_account_id
      type: object
    google_upp_digital_wallet_provision_response:
      properties:
        card_id:
          $ref: '#/components/schemas/card_id'
        creation_time:
          example: '2010-05-06T12:23:34.321Z'
          format: date-time
          type: string
        google_opaque_payment_card:
          description: >-
            Google OPC. Only returned when the request included
            `server_session_id`.
          type: string
        last_updated_time:
          example: '2010-05-06T12:23:34.321Z'
          format: date-time
          type: string
        push_tokenize_request_data:
          $ref: '#/components/schemas/push_tokenize_request_data'
      type: object
    card_id:
      description: The unique identifier of a card
      example: 7d943c51-e4ff-4e57-9558-08cab6b963c7
      format: uuid
      type: string
    device_type:
      description: >-
        The type of device into which the digital wallet token will be
        provisioned.
      enum:
        - MOBILE_PHONE
        - TABLET
        - WATCH
      type: string
    provisioning_app_version:
      description: Version of the application making the provisioning request.
      maxLength: 50
      type: string
    push_tokenize_request_data:
      properties:
        display_name:
          type: string
        last_digits:
          type: string
        network:
          example: mastercard
          type: string
        opaque_payment_card:
          type: string
        token_service_provider:
          type: string
        user_address:
          $ref: '#/components/schemas/address2'
      type: object
    error1:
      description: Synctera error responses in API v1 implement a custom error schema.
      properties:
        code:
          description: >
            A machine-readable string that identifies the error for programmatic
            use.
          example: BAD_REQUEST_BODY
          type: string
        detail:
          description: |
            A human-readable string explaining this particular error.
          example: 'Missing required fields: first_name, dob'
          type: string
        status:
          description: HTTP status code for this response
          example: 400
          type: integer
      title: Synctera error response
      type: object
    address2:
      properties:
        address_line_1:
          description: Street address line 1
          example: 100 Main St.
          maxLength: 100
          type: string
        address_line_2:
          description: Street address line 2
          example: Suite 99
          maxLength: 100
          type: string
        city:
          description: City
          example: New York
          type: string
        country_code:
          description: ISO-3166-1 Alpha-2 country code
          example: US
          pattern: ^[A-Z]{2}$
          type: string
        postal_code:
          description: Postal code
          example: '49633'
          type: string
        state:
          description: >
            State, region, province, or prefecture.

            This is the ISO-3166-2 subdivision code, excluding the country
            prefix.

            For example, TX for Texas USA or TAM for Tamaulipas Mexico.

            Its length varies by country, e.g. 2 characters for US, 3 for MX.
          example: NY
          type: string
      required:
        - address_line_1
        - city
        - country_code
        - postal_code
        - state
      type: object
  responses:
    bad_request1:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error1'
      description: Bad request
    unauthorized1:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error1'
      description: Unauthorized
    forbidden1:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error1'
      description: Forbidden
    not_found1:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error1'
      description: Resource not found
    unprocessable_entity1:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error1'
      description: Unprocessable entity
    internal_server_error1:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error1'
      description: Internal server error
  securitySchemes:
    bearerAuth:
      bearerFormat: api_key
      scheme: bearer
      type: http

````