Rank meeting times for the participants (per-participant timezones)
Reading another user’s connected calendar is logged for that user (GET /api/me/availability-lookups) and limited per viewer (429 lookup_limit); an owner can block a viewer (POST /api/me/availability-blocks). Merges live free/busy per participant: their own connected calendar (source "self"), hand-marked slots (source "manual": the owner-proven ones, plus those marked through the caller’s own ask-links), or the host’s view (source "host"). Calls without a connected host calendar (anonymous, or signed in but not connected) fall back to hand-marked slots only — participants with none are returned as source "host" (no data, may look free). Never fabricated. Ranking is per-participant timezone-aware (each filtered/scored in their own zone), scores buffer time around existing meetings and prefers sooner slots, and — when there are too few everyone-free slots — appends compromise slots (allFree:false). At most the 16 most-common participant timezones are evaluated per request (rarer zones fall back to the requester tz) to bound worst-case CPU.
Request
- Base URL: https://whenmeet.me
- URL: https://whenmeet.me/api/availability
- Auth: one of:
- HTTP bearer
- API key in cookie __Host-session
Request body
Response
availability[] (busy intervals per participant), slots[] (ranked; allFree:true everyone-free first, then allFree:false compromise slots; capped to the first 90 days of the window), participantSources[] (per-participant tz only for authenticated callers; calendarStatus "unavailable" when a connected calendar could not be read — a token that needs re-auth, a provider error, or an owner who blocked you — and that participant is then treated as busy for the whole window, never as free), source: "real", cached.
Changes
No recorded changes to this operation across all 1 revision of this API.