Daily "Rewards app only" offers are invisible to the script — and can't be earned from the web
Since 2026-09-04 the dashboard shows 5 extra daily offers worth 10 points each
(offerId pattern: WW_Moreactivities_RewardsApp_offer_YYYYMMDD_1..5), titled
"... (only in the Rewards app)". The web UI shows them as locked.
Two separate findings:
-
The script never sees them. They ARE present in
rewards.bing.com/api/getuserinfo?type=1 under dashboard.morePromotions, and
they pass MorePromotions.isActionable() as written:
complete: false
pointProgressMax: 10
promotionType: "urlreward"
priority: 1
exclusiveLockedFeatureStatus: "notsupported" (note: not "locked")
attributes.is_unlocked: "False"
But they are absent from the dashboard payload the bot bootstraps, so
MorePromotions reports "remaining=3" while the API lists 8 actionable items.
I confirmed this by diffing API snapshots taken before and after a run.
-
Even so, they look deliberately gated: every destinationUrl of these offers
carries &rnoreward=1, which regular urlreward offers do not. Completing them
manually in the Rewards app sets complete: true and awards the points, while
attributes.is_unlocked stays "False" — so that field means "reachable from
the web", not "done".
Two questions:
a) Is it worth surfacing these somewhere (e.g. a log line saying N app-only
offers were skipped), so users understand why ~50 points/day appear to be
missing? Right now the script is silently correct but looks broken.
b) Do you see any legitimate route to completing them without the app, or is
rnoreward=1 a hard gate by design? If it is a hard gate, I'd rather have it
documented as out of scope than have people chase it.
Side note: is_unlocked is declared in DashboardData.ts but never read anywhere.
Daily "Rewards app only" offers are invisible to the script — and can't be earned from the web
Since 2026-09-04 the dashboard shows 5 extra daily offers worth 10 points each
(offerId pattern: WW_Moreactivities_RewardsApp_offer_YYYYMMDD_1..5), titled
"... (only in the Rewards app)". The web UI shows them as locked.
Two separate findings:
The script never sees them. They ARE present in
rewards.bing.com/api/getuserinfo?type=1 under dashboard.morePromotions, and
they pass MorePromotions.isActionable() as written:
complete: false
pointProgressMax: 10
promotionType: "urlreward"
priority: 1
exclusiveLockedFeatureStatus: "notsupported" (note: not "locked")
attributes.is_unlocked: "False"
But they are absent from the dashboard payload the bot bootstraps, so
MorePromotions reports "remaining=3" while the API lists 8 actionable items.
I confirmed this by diffing API snapshots taken before and after a run.
Even so, they look deliberately gated: every destinationUrl of these offers
carries &rnoreward=1, which regular urlreward offers do not. Completing them
manually in the Rewards app sets complete: true and awards the points, while
attributes.is_unlocked stays "False" — so that field means "reachable from
the web", not "done".
Two questions:
a) Is it worth surfacing these somewhere (e.g. a log line saying N app-only
offers were skipped), so users understand why ~50 points/day appear to be
missing? Right now the script is silently correct but looks broken.
b) Do you see any legitimate route to completing them without the app, or is
rnoreward=1 a hard gate by design? If it is a hard gate, I'd rather have it
documented as out of scope than have people chase it.
Side note: is_unlocked is declared in DashboardData.ts but never read anywhere.