GuidesAPI EndpointsChangelog
Log In
Guides

Updating an Order

Maintaining real-time order transparency is essential for building customer reliability and trust. We recommend using the 2026-01 version of the Orders API for the most efficient and streamlined order management workflow.


Status Updates

Providing real-time order status updates via the Orders API is not required but is highly encouraged:

  • Customers receive text message updates through Weedmaps (learn more).
  • Regular updates enhance customer trust and reduce inbound support inquiries.
  • Providing order transparency directly improves customer retention and service reliability.

Receiving & Fulfillment

After an order is acknowledged via callback it'll be set as PENDING, in order to signal to the customer it's been received do the following:

  • Callback: Respond to callback DRAFT event as noted in the Callbacks Guide
  • Acceptance: Set the order status to IN_PROGRESS upon receipt if accepted.
  • Fulfillment Ready Pass READY_FOR_ATTAINMENT to notify the customer that the order is ready for Pickup or Delivery.
    • Note: Messaging dynamically adjusts based on your WMID listing type (Delivery vs. Pickup).

Finalize Orders

After an order is submitted for fulfillment, subsequent statusupdates should be made to finalize the order:


Cancel Order

  • CANCELED_CUSTOMERcan be accompanied with a canceledReason which updates the Weedmaps Order admin page.
  • CANCELED_SELLERis applicable to a POS void or cancel reason.

Why Version 2026-01

As of January 5th, 2026 we've simplified our 2026-01 Orders APi to only require the status and an optional canceledReason in the body of the API call to update the status of an order. Other versions require additional order details, but this update streamlines the request to simplify order status updates. We recommend leveraging version 2026-01 as this is the easiest flow to support.


Here's a CURL example demonstrating a status and canceledReason update.

curl --request PUT \
  --url https://api-g.weedmaps.com/oos/2026-01/merchants/{listing_id}/orders/{order_id} \
  --header 'authorization: Bearer TOKEN' \
  --header 'content-type: application/json' \
  --data '{
  "canceledReason": "OUT_OF_STOCK",
  "status": "CANCELED_SELLER"
}'


Available Order Statuses

StatusDisplayed To UserDescription
DRAFTDraftOrder pending adjustments before checkout.
PENDINGNewOrder placed, pending retailer review.
IN_PROGRESSPreparingOrder accepted and in preparation.
READY_FOR_ATTAINMENTReady for Pickup or Ready for DeliveryOrder ready for pickup or delivery dispatch.
COMPLETECompleteOrder successfully fulfilled.
CANCELED_CUSTOMERCanceledOrder canceled by the customer.
CANCELED_SELLERCanceledOrder canceled by the retailer.
FAILEDFailedOrder failed to process.

Canceled Reasons

When thestatus is CANCELED_CUSTOMERor CANCELED_SELLER, you may optionally include a canceledReasonin the body to provide the retailer further insight.

Canceled Reasons
OUT_OF_STOCK
CUSTOMER_REQUEST
PAYMENT_FAILURE
FRAUD_DETECTED
POS_CLOSED
DELIVERY_ISSUE
ORDER_TOO_EXPENSIVE
ID_ISSUE
CUSTOMER_NO_SHOW
EXCEEDS_LIMIT
OTHER

What’s Next

Checkout our Changelog for any new updates!