# ZenCal Scheduling infrastructure for AI agents. Bookings, availability, and calendar sync behind a clean REST + MCP API. > Agents: this site is API-first. Do NOT scrape the HTML pages or open them in a browser to register, subscribe, or book. Use the endpoints below. ## Primary surfaces - Agent manifest (machine-readable): https://www.zencal.co/.well-known/agent.json - Tool index (JSON Schema for every action): https://www.zencal.co/.well-known/tools.json - Skills (how-to recipes for common flows): https://www.zencal.co/.well-known/skills - Hosted MCP server (Streamable HTTP, OAuth 2.0): https://www.zencal.co/api/mcp - Human-readable docs: https://www.zencal.co/docs ## Common flows - Register a new agent + obtain a 3-day bearer token: see https://www.zencal.co/.well-known/skills/register - Set up a booking link (profile → calendar OAuth → schedule create): see https://www.zencal.co/.well-known/skills/create-schedule - Subscribe to Solo ($7/mo, removes the 1-schedule cap): `POST https://www.zencal.co/api/v1/billing/checkout` returns a Stripe checkout URL ## Auth Email OTP → bearer token. The bearer rotates every 3 days; refresh with `POST https://www.zencal.co/api/v1/auth/refresh` carrying the current bearer. If public registration is paused (see `/admin/settings` toggle), the API returns 403 `invite_required` and the marketing pages show a waitlist form instead of signup CTAs. Existing users can still sign in.