POST /v1/edd/checkout/ creates a checkout event — a virtual representation of a potential order — and returns an Estimated Delivery Date from your tailored machine-learning model or a generic model configured for your fulfillment timelines. Use it to show delivery estimates on product, cart, and checkout pages. Full field specs: API reference.
Subscription-based — contact Customer Success to enable the Checkout EDD service. Unsubscribed accounts receive a validation error (
Organization … is not configured for EDD service.).How it fits together
Prediction and fulfillment are separate systems — many consumer journeys request predictions without ever becoming a shipment, and checkout events are not visible in the Portal. The link is made by you:1
Request a prediction at checkout
from_address and to_address, each with country or country_code — but prediction quality scales with input: postal codes and cities, a carrier_reference (your default or most common carrier), the shipping_service, and — for marketplaces — the merchant_id, since fulfillment speed varies by merchant.2
Show the estimate
The response carries one entry per requested carrier, each with its own Timestamps are UTC — convert to the shopper’s timezone before displaying (most integrations show the date part only).
checkout_id:type is datetime_range when end is later than start, otherwise datetime_single. Requesting several carriers in one call lets you compare EDDs and show the best option.3
Link the prediction when the order confirms
Store the Linking works at Shipment creation only — Update Shipment ignores
checkout_id of the carrier the consumer actually selected, and when you create the Shipment, send it back in additional_info — optionally with checkout_time, the moment checkout completed:checkout_id. Each checkout event links to one Shipment and vice versa, permanently. Once linked, the checkout EDD appears in the Shipment’s Parcel Details and is measured against the actual delivery.Rules that trip integrators up
carrier_referenceandshipping_serviceare lists, even for a single value:["dhl-ecommerce-de"]— and only one of the two may contain multiple values per request. Every carrier reference must be configured in Settings > Carriers; an empty list is rejected.- Checkout inputs don’t carry over. Neither the
carrier_referencenor theline_itemsyou send here transfer to the Shipment — provide them again at Create Shipment. Line items also aren’t auto-calculated: send the weights and totals you want the model to see (each line item requiresproduct_name; weights require their unit fields; cost fields requirecurrency_code). shipment_valueis strict:<number> <CURRENCY>with a valid ISO 4217 code (135.50 SGD) — no space or extra characters means rejection.- Simulate order times with
order_target_time+order_target_timezone(IANA ID) — the EDD calculation starts there instead of “now”, and your account’s warehouse cut-off and processing rules apply from that moment. - Custom model inputs go in
prediction_payload— fields are agreed during your POC. Three keys are also read by the platform (handling_instructions,warehouse_ref,carrier_service); a key must not appear both insideprediction_payloadand at the top level. - Validation is all-or-nothing — any invalid part means no checkout event and no
checkout_id. - This service’s envelope differs from the v5 API:
api_responseis a number, errors arrive in adataarray, and every response carries arequest_id— quote it when contacting support.