Fix 400 PASS_NOT_INSTALLED when sending a push notification

PASS_NOT_INSTALLED means the customer has not added the pass to a wallet yet, so there is no device to notify. Why it happens and how to proceed.

Last updated 2026-11-05

HTTP 400
{ "error": true, "error_code": "PASS_NOT_INSTALLED", "message": "Cannot send notification to uninstalled wallet pass.", "timestamp": "..." }

A push message goes to a device that has the pass. Creating a pass does not install it; the customer must add it.

Fix

  1. Read the pass with GET /wallet-passes/{passId} and check is_installed.
  2. If it is false, send the customer install_urls.universal again.
  3. Retry the notification after the pass is installed.

In a bulk send by pass_ids, uninstalled passes are skipped instead of failing the whole request.