6/27/2026, 12:00:33 AM
The validationCreate, validationDelete, and validationUpdate mutations now carry detailed descriptions that explain they manage cart and checkout validations powered by a function; the mutation signatures themselves remain unchanged. The deprecated MarketRegionProvince and MarketRegionProvinceCountry types have been removed, encouraging use of the new MarketRegionSubdivision and MarketRegionSubdivisionCountry objects. Error‑code enums have been updated extensively: the generic INCOMPATIBLE_CONFIGURATION codes in CatalogUserErrorCode and DiscountErrorCode were replaced with context‑specific names such as CATALOG_NOT_COMPATIBLE_WITH_CONDITION_TYPES and DISCOUNT_NOT_COMPATIBLE_WITH_CONDITION_TYPES. Several inventory error enums lost the ITEM_NOT_STOCKED_AT_LOCATION value, while numerous MarketUserErrorCode values switched from province‑centric errors to subdivision‑centric ones (e.g., SUBDIVISION_DOES_NOT_EXIST, INVALID_SUBDIVISION_FORMAT, MISSING_SUBDIVISION_CODE). Additional error codes were added for metafield definitions and theme contextualization to flag incompatibility with condition types. Developers should update their code to handle the new enum values, remove any references to the deleted types, and adapt error handling logic accordingly.
Creates a cart and checkout validation: a server-side rule enforced before a customer can complete checkout. Each validation is powered by a cart and checkout validation function that you provide using functionId or functionHandle.
Use validationCreate to apply custom rules at checkout, such as limiting item quantities, enforcing order minimums or maximums, or blocking checkout for restricted shipping addresses. Validations run on Shopify's servers and are enforced throughout checkout, so they can't be bypassed by the client.
Validation errors always block checkout progress. The blockOnFailure field controls whether runtime exceptions, such as timeouts, also block checkout.
Deletes a cart and checkout validation, removing its rule from the shop's checkout. Once deleted, its cart and checkout validation function no longer runs during checkout.
Updates a cart and checkout validation. Use validationUpdate to rename it, toggle whether it's enabled at checkout, change its blockOnFailure behavior, or update its metafields.
Validation errors always block checkout progress. The blockOnFailure field controls whether runtime exceptions, such as timeouts, also block checkout.
A province of a country which comprises a market. Deprecated: use MarketRegionSubdivision instead.
A country that a province belongs to. Deprecated: use MarketRegionSubdivisionCountry instead.
INCOMPATIBLE_CONFIGURATIONCATALOG_NOT_COMPATIBLE_WITH_CONDITION_TYPESINCOMPATIBLE_CONFIGURATIONDISCOUNT_NOT_COMPATIBLE_WITH_CONDITION_TYPESITEM_NOT_STOCKED_AT_LOCATIONITEM_NOT_STOCKED_AT_LOCATIONITEM_NOT_STOCKED_AT_LOCATIONITEM_NOT_STOCKED_AT_LOCATIONCANNOT_DELETE_PROVINCE_MARKETCANNOT_ADD_COUNTRY_CONDITION_TO_PROVINCE_MARKETINVALID_COUNTRY_AND_PROVINCE_CONDITIONSINVALID_COUNTRY_AND_PROVINCE_DRIVERSCANNOT_ADD_ALL_PROVINCES_FOR_A_COUNTRY_TO_A_MARKETINVALID_CUSTOMIZATION_FOR_PROVINCE_CONDITIONSUBDIVISION_DOES_NOT_EXISTCANNOT_DELETE_SUBDIVISION_MARKETMISSING_SUBDIVISION_CODEMARKET_MANAGER_NOT_COMPATIBLE_WITH_CONDITION_TYPESINVALID_SUBDIVISION_FORMATINVALID_COUNTRY_AND_SUBDIVISION_CONDITIONSSUBDIVISION_MUST_BELONG_TO_COUNTRYCANNOT_ADD_ALL_SUBDIVISIONS_FOR_A_COUNTRY_TO_A_MARKETINVALID_CUSTOMIZATION_FOR_SUBDIVISION_CONDITIONMARKET_METAFIELDS_NOT_COMPATIBLE_WITH_CONDITION_TYPESMARKET_METAFIELDS_NOT_COMPATIBLE_WITH_CONDITION_TYPESMARKET_METAFIELDS_NOT_COMPATIBLE_WITH_CONDITION_TYPESTHEME_CONTEXTUALIZATION_NOT_COMPATIBLE_WITH_CONDITION_TYPES