SapanCalDeveloper Docs

Limits and rate limits

Request rate limits by plan, and the size limits on every request.

Rate limits

Each application has its own rate limit, set by the plan of the company that owns it:

PlanRequests per secondBurst
Free1020
Pro50100
Enterprise200400

The limit is a token bucket: you can send up to the burst size at once, and the bucket refills at the per-second rate. Over the limit, requests fail with 429 rate_limited and a Retry-After header giving the seconds to wait. There are no X-RateLimit-* headers.

One availability request can cover up to 100 people and 200 periods. Batch participants into one call instead of calling once per person.

Google and Microsoft also limit how often a calendar can be read and written. When they push back, BentoCal returns 502 provider_unavailable (or a provider_unavailable participant error) with a Retry-After header.

Request limits

LimitValue
Request body1,000,000 bytes
Your user ids and event ids1 to 255 characters. User ids can't start with bentocal-test:.
Users per free/busy request100
Participants per availability request100
calendar_ids per user50
Date range (free/busy start to end, or all availability periods)62 days
Periods per availability request200
Slot duration and interval5 to 1440 minutes, in multiples of 5
Buffers before and after0 to 240 minutes, in multiples of 5
Event summary1,024 characters
Event description8,192 characters
Event location1,024 characters
Event time_zone64 characters

Requests over these limits fail with 400 invalid_request, and details.issues says which field.

Account limits

LimitValue
Connections in development applications10 per company, across all regions
Test calendars (console Testing tab)5 per application
Redirect URIs20 per application, each up to 2,048 characters
Connect session lifetime30 minutes, then the session is expired

See Development and production for how the development limit works.