Skip to main content

Decisions and outcomes

Every check — an entity condition or a project restriction — resolves to one of three outcomes:

DecisionMeaning
AllowThe check passes.
Soft denyThe check couldn't be completed — usually because information it needed wasn't available. Checkout may prompt for that information or retry; it isn't a final "no."
Hard denyThe check fails outright.

How outcomes combine on one item

An item can have several checks running against it at once — more than one entity condition, plus project restrictions when the purchase is against a project. The item is only allowed through if every one of its checks allows it; a single denial from any check denies the item. When more than one check fails, all of the failures are reported together, not just the first one, so everything that needs addressing is visible at once.

Reason codes

Each denial carries a machine-readable reason code identifying exactly what failed:

CheckReason codeMeaning
Age restrictionage_restriction.missing_contextShopper's age wasn't available (soft deny)
Age restrictionage_restriction.underageShopper is below the minimum age
License requirementlicense_requirement.missing_contextShopper's licenses weren't available (soft deny)
License requirementlicense_requirement.license_missingShopper's licenses don't include the required one
Project restrictionproject_restriction.project_unreachableThe project's restrictions couldn't be looked up (soft deny)
Project restrictionproject_restriction.property_missingThe item was missing a property a restriction needed, and wasn't allowed to be
Project restrictionproject_restriction.whitelist_not_metItem property's value wasn't in the allowed list
Project restrictionproject_restriction.blacklist_not_metItem property's value was in the denied list
Project restrictionproject_restriction.item_not_whitelistedItem id wasn't in the allowed list
Project restrictionproject_restriction.blacklisted_itemItem id was in the denied list

See the API reference for the exact response shape these appear in.