For a specific past request, use
/recommend with explain: true instead: its rejectedOffers[] (also persisted on DecisionTrace.rejectedOffers) lists a structured reason for every candidate any stage dropped — including stages this endpoint doesn’t re-evaluate, such as consent, suppression rules, tenant-wide frequency caps, the maturity-ramp cold-start floor, guardrails, channel-coupling cascade, and the rank cut. See Recommend and Decision Traces.See the Action Analysis (Why-Not) feature page for business context, interpretation guidance, and common workflows.