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.
July 7, 2026
The Menu Synchronization Task Completion Notification and Picture Bind Task Completion Notification webhooks now include new fields that cross-reference each other's task IDs, making it easier to correlate menu sync tasks with their associated image sync tasks.
Menu Synchronization Task Completion Notification (Webhook Event 1202)
- New optional field
pictureTaskId: The task ID of the image sync task within the current menu sync task. This field isnullwhen there is no image sync task.
Picture Bind Task Completion Notification (Webhook Event 1201)
- New optional field
mainTaskId: The task ID of the menu sync task associated with the current menu image sync task.
See Menu Synchronization Task Completion Notification · Picture Bind Task Completion Notification
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