Queries
checkoutExperience— Get a checkout experience with the full configuration of each shipping method: prices and the cart conditions they apply to, carrier services, markups, price constraints, and fulfillment delays. An id from another account, or one that does not exist, is null. An invalid request fails with INVALID_CHECKOUT_REQUEST (400).checkoutExperiences— List the store’s checkout experiences with a summary of each one’s shipping methods. For prices, carriers, conditions, and fulfillment delays, get the experience with checkoutExperience(id:).activetells you whether an experience is reachable in the store’s live checkout tree, which decides which shoppers see which experience. Experiences belonging to another account are not included. An invalid request fails with INVALID_CHECKOUT_REQUEST (400).
Mutations
createCheckoutExperience— Create an empty checkout experience. It has no shipping methods and is not live until the store’s checkout tree routes shoppers to it; add methods with createShippingMethod. An invalid request fails with INVALID_CHECKOUT_REQUEST (400).createShippingMethod— Add a shipping method to a checkout experience. - A FIXED method is a price you set, served by Redo with no carrier involved. It needsrates. - A DYNAMIC method quotes live carrier rates through Redo. It needscarrierServicesor aserviceLevel, and every carrier must be one the store has an account or setting for. Script-priced (CUSTOM) methods cannot be created through the API. Shipping discount rules are configured by Redo and cannot be set here. An id from another account, or one that does not exist, is null. An invalid request fails with INVALID_CHECKOUT_REQUEST (400).deleteCheckoutExperience— Permanently delete a checkout experience and its shipping methods. An experience that is live in the store’s checkout tree cannot be deleted, because checkout would be left pointing at an experience that no longer exists. The checkout tree cannot be changed through the API: first update the store’s checkout routing in the Redo dashboard so it no longer serves this experience, then delete it. An id from another account, or one that does not exist, returns false. Deleting an experience that is live in the checkout tree fails with CHECKOUT_EXPERIENCE_LIVE (409). An invalid request fails with INVALID_CHECKOUT_REQUEST (400).deleteShippingMethod— Permanently remove a shipping method from a checkout experience. If the experience is live, shoppers stop seeing the method as soon as the change propagates. An id from another account, or one that does not exist, returns false. An invalid request fails with INVALID_CHECKOUT_REQUEST (400).duplicateCheckoutExperience— Copy a checkout experience, including its settings and shipping methods. The copy’s shipping methods get new IDs, and the copy is not live until the store’s checkout tree routes shoppers to it. An id from another account, or one that does not exist, is null. An invalid request fails with INVALID_CHECKOUT_REQUEST (400).setAutoSelectedShippingMethods— Choose which shipping methods are shown first at checkout, in priority order. The first one available is pre-selected for the shopper, and methods not listed follow in their usual order. Send only the methods to put first, not every method. The list replaces the current one; send an empty list to turn auto-selection off. Read the current list fromautoSelectedShippingMethodIdson the checkout experience. An id from another account, or one that does not exist, is null. An invalid request fails with INVALID_CHECKOUT_REQUEST (400).updateCheckoutExperience— Change a checkout experience’s settings. Only the fields you send are changed. Changes to an experience that is live in the checkout tree take effect for shoppers immediately. An id from another account, or one that does not exist, is null. An invalid request fails with INVALID_CHECKOUT_REQUEST (400).updateShippingMethod— Replace a shipping method’s configuration. The request replaces the whole method, so read it from the experience first and send it back with your changes applied. Configuration the API does not expose, such as shipping discount rules, is kept from the existing method, as ispriceConstraintswhen you omit it. Any other optional field you leave out is cleared. A method’stypecan be changed between FIXED and DYNAMIC. Script-priced (CUSTOM) methods cannot be edited through the API. An id from another account, or one that does not exist, is null. An invalid request fails with INVALID_CHECKOUT_REQUEST (400).
Objects
CheckoutExperience— A checkout experience: a named group of shipping methods shown together at checkout. It does not decide who sees it — the checkout tree does. An experience can also group checkout widgets and a post-purchase upsell page; neither is covered here.CheckoutExperienceSummary— A checkout experience: a named group of shipping methods shown together at checkout. It does not decide who sees it — the checkout tree does. An experience can also group checkout widgets and a post-purchase upsell page; this summary covers only its shipping methods.ShippingMethod— A shipping method offered at checkout and the configuration that prices it.ShippingMethodCarrierService— A carrier service a dynamic method quotes live rates from.ShippingMethodCarrierServiceMarkup— Markup applied to one carrier service.ShippingMethodCondition— A cart weight or cart value range a fixed rate applies to.ShippingMethodCoverageTypes— Redo coverage bundled into a shipping method.ShippingMethodDiscountRule— A shipping discount applied to a method.ShippingMethodMarkup— Markup applied to every live carrier rate on a dynamic method.ShippingMethodMarkupAmount— A flat amount added on top of every carrier rate.ShippingMethodPriceBounds— Hard clamp applied to a dynamic price after markup and rounding.ShippingMethodPriceConstraints— Bounds a shipping method’s sold price must stay within.ShippingMethodPriceInequality— An absolute amount or a percentage bound on a price.ShippingMethodRate— One configured price of a fixed shipping method.ShippingMethodSummary— A shipping method as it appears in a checkout experience summary.
Input objects
CreateCheckoutExperienceInput— Input for creating an empty checkout experience.ShippingMethodCarrierServiceInput— A carrier service to quote live rates from.ShippingMethodCarrierServiceMarkupInput— Markup applied to one carrier service.ShippingMethodConditionInput— A cart weight or cart value range a fixed rate applies to.ShippingMethodCoverageTypesInput— Redo coverage bundled into this shipping method.ShippingMethodInput— Configuration written to create or replace a shipping method.ShippingMethodMarkupInput— Markup applied to every live carrier rate on a dynamic method.ShippingMethodPriceBoundsInput— Hard clamp applied after markup and rounding.ShippingMethodPriceConstraintsInput— Bounds the final price this method may be sold at, after every other pricing rule has run. Omit to leave the method’s existing constraint untouched; send one to replace it outright. There is no way to clear a constraint through this API.ShippingMethodPriceInequalityInput— An absolute amount or a percentage bound on a price.ShippingMethodRateInput— One price of a fixed shipping method.UpdateCheckoutExperienceInput— Only the fields you send are changed.
Enums
ShippingCarrier— A carrier a dynamic shipping method can quote or exclude.ShippingMethodConditionType— What a rate condition is measured against.ShippingMethodPriceConstraintKind— How a shipping method’s price bounds are expressed.ShippingMethodRateSelection— Which eligible live carrier rate is shown to the shopper.ShippingMethodRounding— How a marked-up dynamic price is rounded before it is shown.ShippingMethodServiceLevel— Delivery window used to pick a dynamic carrier service.ShippingMethodType— How a shipping method’s price is produced.WritableShippingMethodType— How a shipping method written through the API is priced. Script-priced (CUSTOM) methods cannot be created or edited through the API.