MenuRate limits

Rate limits

Calls per App Connection

Limits apply per App Connection, that is per account your App serves: 60 reads (GET) per 60 seconds, 10 writes (POST: Restriction Batch submissions, dry_run included, and Message Thread closes and reopens) per 60 seconds, and 30 messages sent to guests (POST /bookings/{booking_id}/messages) per 60 seconds. Past the limit, ZenHost answers 429 with a Retry-After header in seconds. Every call with a valid token counts, including calls refused with forbidden_permission or validation_failed. Prefer few large requests (up to 100 Properties per call, long date ranges, big batches) over many small ones.

HTTP
HTTP/1.1 429 Too Many Requests
Retry-After: 4

{ "error": { "code": "rate_limited", "message": "...", "details": { "retry_after_seconds": 4 } } }

Sending to the Sales Channels

Changes then reach the Sales Channels through a queue per Property that respects their own limits (10 rate and restriction updates and 10 availability updates per minute and Property): all the changes waiting for a Property leave together, a few seconds apart from the previous send, so a large batch takes a little while to be fully applied. When the Sales Channels are unavailable, the Property pauses 60 seconds and retries with growing delays for about 15 minutes; after 5 failed attempts, the remaining changes fail with sales_channel_unavailable.