This document tracks notable updates to the Keeta Open Platform APIs and documentation. It is not intended to be a comprehensive list of all changes.
June 23, 2026
Store status management has been enhanced to support independent tracking of delivery and pickup service availability. Previously, the store status only reflected a single overall operational state. Now, each service line has its own status, enabling more granular visibility into a store's operations.
Get Store Details now returns two additional fields:
deliveryRestStatus: indicates whether the store's delivery service is available, unavailable, or not enabled.pickupRestStatus: indicates whether the store's pickup (self-collection) service is available, unavailable, or not enabled.
The existing overall status field remains and is now derived from the combination of these sub-statuses: the store is considered Open when either service is available, and Closed only when both are unavailable.
Store Status Update Notification (Event ID: 1102) now includes four additional fields in the webhook payload:
fromDeliveryRestStatus/toDeliveryRestStatusfromPickupRestStatus/toPickupRestStatus
The webhook fires whenever any sub-status changes, even if the overall store status does not.
Suspend Store and Reactivate Store continue to operate on the store as a whole, suspending or restoring both delivery and pickup simultaneously. During a platform-managed override (e.g., severe weather), the Reactivate endpoint cannot restore a service that the platform has suspended. See the Store Status Management guide for details on platform override behavior.
A new Store Status Management guide has been published to help developers understand how delivery and pickup statuses interact, how platform overrides work.
See Get Store Details · Suspend Store · Reactivate Store · Store Status Update Notification
January 04, 2026
Keeta now supports Cash on Delivery (COD) orders. The following updates have been made across the Order API and Webhooks:
Get Order Details
- Added
payTypefield to indicate the payment method. WhenpayTypeisCash, the order is a COD order. - Added
payTypeDescfield as the description of thepayTypefield. - Updated the description of
statusenum value10(Order Submitted): removed "and paid for" to accommodate unpaid COD orders at the time of submission.
Cancel Order
- Added error code
2090001015: COD orders do not support partial refunds by the merchant. - Added error code
2090001016: COD orders do not support merchant cancellation after the rider has picked up the order.
Order Webhooks
- Added
payTypeandpayTypeDescfields to the Order Placed Notification webhook payload.
See Get Order Details · Cancel Order · Order Placed Notification
September 29, 2025
The OpenItemCode-Based Menu Synchronization API now supports multi-layer ChoiceGroups for modifiers (ChoiceGroupSku) that are not sold separately on the menu.
Previously, multi-layer ChoiceGroups could only be built by binding a ChoiceGroupSku to an existing SKU via the relatedSkuOpenItemCode field. This required the modifier to also be a listed item on the menu.
A new field choiceGroupOpenItemCodeList (Array of strings) has been added under choiceGroupList[].choiceGroupSkuList[], allowing a second layer of ChoiceGroups to be attached directly to non-listed ChoiceGroupSku entities. The ChoiceGroupSku must not share the same name as any other SPU on the menu.
See OpenItemCode-Based Menu Sync API · Menu API Integration Guide