Skip to content

Pass push notifications

Index

Queue notification

Request
POST https://smartpages-api.smartsolutions.is/api/v1/notification { "passId": "46f35f10-7c75-48af-b2b4-62cd25b01b90", "message": "Your journey begins tomorrow! We're waiting for you!" }
Request fields
passId UUID
ID of the Pass to send push notification to
message string
Message to display as content of push notification
passWallets array<string> Optional
Optional restriction: queue notification only for specific mobile wallets (Apple Wallet, Google Wallet, SmartWallet).
Defaults to all wallets: ["APPLE_WALLET", "GOOGLE_WALLET", "SMART_WALLET"]
passStatuses array<string> Optional
Optional restriction: queue notification only if pass status equals to one of the specified statuses.
Defaults to [ "ACTIVE", "REDEEMED", "VOIDED", "UPDATES_OFF" ]
Response
{ "id": "c45db1a5-e39f-438b-b729-35a6f0484b86", "passId": "46f35f10-7c75-48af-b2b4-62cd25b01b90", "message": "Your journey begins tomorrow! We're waiting for you!", "status": "QUEUED", "whenCreated": "2025-10-06T18:54:39.447Z", "sentAt": null, "deliveredAt": null, "passInstances": [ { "id": "651ff5e2-1594-467d-bb35-1cffc3632527", "device": "Apple Wallet passd/1.0 CFNetwork/3826.500.131 Darwin/24.5.0", "statusHistory": [ { "status": "QUEUED", "whenCreated": "2025-10-06T18:54:39.454Z" } ] }, { "id": "683b18c3-9553-446f-ad9b-af3ea96537c0", "device": "Google Wallet", "statusHistory": [ { "status": "QUEUED", "whenCreated": "2025-10-06T18:54:39.457Z" } ] } ] }
Response fields
id UUID
ID of newly created notification. You can use it to poll notification data after queueing
passId UUID
ID of the Pass to send push notification to
message string
Message to display as content of push notification
status string
Notification status. Possible values:
"QUEUED" - Notification queued in SmartPages system
"SENT" - Notification was sent to at least one pass instance
"DELIVERED" - Notification delivered to at least one pass instance (tracked for Apple Wallet only)
"NO_ANSWER" - Error occurred trying to send notification to mobile platform (Apple Notification Service / Google Wallet API)

If the pass is used only on Android devices, the "DELIVERED" status is technically unattainable because the Google Wallet API does not provide a way to track message delivery. For the Android platform, the "SENT" status is treated as a success. This means that the notification was successfully submitted to the Google Wallet API, and the responsibility for delivering it to the pass holder's device lies with Google services.
whenCreated string (ISO 8601 timestamp)
Date & time of creation
sentAt string (ISO 8601 timestamp) Optional
Date & time of reaching "SENT" status
deliveredAt string (ISO 8601 timestamp) Optional
Date & time of reaching "DELIVERED" status
passInstances array<object>
Notification status data for each pass instance
id UUID
Pass instance ID
device string
Pass holder's device description. For Google Wallet passes value is always "Google Wallet"
statusHistory array<object>
Full notification status history for this pass instance
status string
Notification status for pass instance
whenCreated string (ISO 8601 timestamp)
Notification status timestamp
Code example
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer <base64(KEY_ID:KEY_TOKEN)>");
const raw = JSON.stringify({
"passId": "46f35f10-7c75-48af-b2b4-62cd25b01b90",
"message": "Your journey begins tomorrow! We're waiting for you!"
});
const requestOptions = {
method: "POST",
headers: myHeaders,
body: raw,
redirect: "follow"
};
try {
const response = await fetch("https://smartpages-api.smartsolutions.is/api/v1/notification", requestOptions);
const result = await response.text();
console.log(result)
} catch (error) {
console.error(error);
};

Get notification by ID

Request
GET https://smartpages-api.smartsolutions.is/api/v1/notification/{id}
Response
{ "id": "c45db1a5-e39f-438b-b729-35a6f0484b86", "passId": "46f35f10-7c75-48af-b2b4-62cd25b01b90", "message": "Your journey begins tomorrow! We're waiting for you!", "status": "DELIVERED", "whenCreated": "2025-10-06T18:54:39.447Z", "sentAt": "2025-10-06T18:54:39.986091Z", "deliveredAt": "2025-10-06T18:54:43.844051Z", "passInstances": [ { "id": "651ff5e2-1594-467d-bb35-1cffc3632527", "device": "Apple Wallet passd/1.0 CFNetwork/3826.500.131 Darwin/24.5.0", "statusHistory": [ { "status": "QUEUED", "whenCreated": "2025-10-06T18:54:39.454Z" }, { "status": "SENT", "whenCreated": "2025-10-06T18:54:39.967Z" }, { "status": "DELIVERED", "whenCreated": "2025-10-06T18:54:43.846Z" } ] }, { "id": "683b18c3-9553-446f-ad9b-af3ea96537c0", "device": "Google Wallet", "statusHistory": [ { "status": "QUEUED", "whenCreated": "2025-10-06T18:54:39.457Z" }, { "status": "SENT", "whenCreated": "2025-10-06T18:54:39.992Z" } ] } ] }
Response fields
id UUID
ID of newly created notification. You can use it to poll notification data after queueing
passId UUID
ID of the Pass to send push notification to
message string
Message to display as content of push notification
status string
Notification status. Possible values:
"QUEUED" - Notification queued in SmartPages system
"SENT" - Notification was sent to at least one pass instance
"DELIVERED" - Notification delivered to at least one pass instance (tracked for Apple Wallet only)
"NO_ANSWER" - Error occurred trying to send notification to mobile platform (Apple Notification Service / Google Wallet API)

If the pass is used only on Android devices, the "DELIVERED" status is technically unattainable because the Google Wallet API does not provide a way to track message delivery. For the Android platform, the "SENT" status is treated as a success. This means that the notification was successfully submitted to the Google Wallet API, and the responsibility for delivering it to the pass holder's device lies with Google services.
whenCreated string (ISO 8601 timestamp)
Date & time of creation
sentAt string (ISO 8601 timestamp) Optional
Date & time of reaching "SENT" status
deliveredAt string (ISO 8601 timestamp) Optional
Date & time of reaching "DELIVERED" status
passInstances array<object>
Notification status data for each pass instance
id UUID
Pass instance ID
device string
Pass holder's device description. For Google Wallet passes value is always "Google Wallet"
statusHistory array<object>
Full notification status history for this pass instance
status string
Notification status for pass instance
whenCreated string (ISO 8601 timestamp)
Notification status timestamp
Code example
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer <base64(KEY_ID:KEY_TOKEN)>");
const requestOptions = {
method: "GET",
headers: myHeaders,
redirect: "follow"
};
try {
const response = await fetch("https://smartpages-api.smartsolutions.is/api/v1/notification/{id}", requestOptions);
const result = await response.text();
console.log(result)
} catch (error) {
console.error(error);
};