Reference
Limits and timers
The clocks an order runs on, the sizes a tool accepts, and what happens when an assistant calls too often.
#Timers
| What | Length |
|---|---|
| A shop answers a new order, or it is cancelled and nothing is charged | 10 minutes |
| The buyer decides about a missing item, or the order goes ahead without it | 10 minutes |
| Reporting a problem after pickup | 24 hours |
| Requesting a refund after pickup | 24 hours |
| The longest an order can stay open | 48 hours |
| Stock held at checkout | 300 seconds by default, 900 at most |
#Approval thresholds
| Total | Where the buyer approves |
|---|---|
| Over $200 | Always on the XEKTA approval page, signed in as themselves. |
| Over $300 in 24 hours, on Meta Muse and device-link connections | On the approval page. |
#Sizes
| Input | Limit |
|---|---|
Items in one cart_build list | 50 |
| Quantity of one line | 99 |
| A search query | 200 characters |
| Search radius | 50 miles |
| Items on one menu page | 60 |
| A note on a restaurant item | 140 characters |
Suggestions from substitution_suggest | 5 |
A feedback_submit body | 4000 characters |
One cart holds one shop.
#Calling too often
An account, or the app it is using, that makes too many tool calls in a short time or in one day gets RATE_LIMITED. Nothing is changed by the refused call.
retry_after_secondssays how long to wait. Wait that long, then retry the same call.- Do not loop.
- Accounts with a verified phone number get a higher allowance.
#Following an order without hammering
user.orders.status returns poll_interval_seconds and keep_polling. Check at that interval, stay silent unless something changed, and stop when keep_polling is false.