Changelog
2026-07-12 — Human calendar connections
Section titled “2026-07-12 — Human calendar connections”Google Calendar and Microsoft Outlook can now contribute human availability to agents. A human authorizes a provider in the Chronary console, selects the calendars that contribute opaque busy time, and grants access to selected agents, all current agents, or current and future agents. Availability queries combine authorized human busy intervals with the agent’s Chronary calendars without exposing OAuth tokens, provider calendar identifiers, calendar names, or private event details to agents.
Humans can optionally publish confirmed Chronary events back to one chosen writable Microsoft Outlook calendar (Google connections are availability-only). Agents may request short-lived setup links through the provider-neutral connection API, while humans can also create and manage connections directly in the console. The bridge is currently available across Free, Pro, and Custom plans.
2026-06-02 — Event reminders
Section titled “2026-06-02 — Event reminders”Events can now fire timed reminders. Set a reminders array on an event (minutes before start_time, e.g. [10, 1440] for 10 minutes and 1 day before — max 5 entries, each 1–40320 minutes). Calendars carry a default_reminders field that events inherit when they don’t set their own; resolution falls back to a system default of [10]. A null field inherits the level above, while [] means explicitly no reminders. Each reminder fires a new event.reminder webhook at start_time minus the offset (confirmed events only), and reminders are emitted as VALARM components in the iCal feed so calendar apps display the alarm.
2026-05-11 — Simplified API keys
Section titled “2026-05-11 — Simplified API keys”Removed test mode. Keys no longer distinguish between live and test. Each org has a single API key prefix (chr_sk_*); all requests count toward quotas uniformly. Legacy chr_sk_live_* keys continue to authenticate without change. The mode field has been removed from POST /v1/auth/keys and the is_test field has been removed from all resource schemas.
v1 — Agent-native scheduling
Section titled “v1 — Agent-native scheduling”April 16, 2026
v1 extends the Chronary API for true agent-to-agent coordination: agents can now advertise operational state on their calendars, query a single endpoint for temporal context, declare availability rules without placeholder events, and negotiate meeting times through a first-class proposal protocol.
- Temporal context —
GET /v1/calendars/:id/contextreturns the current event, next upcoming event, the last three ended events, the next events starting within 24 hours, and the calendar’sagent_statusin a single call - Agent status — calendars now expose an
agent_statusfield (idle/working/waiting/error) so agents can advertise their operational state to other agents, dashboards, and human subscribers - Scheduling proposals — full multi-agent negotiation protocol under
/v1/scheduling/proposalswith create, respond (accept / decline / counter), resolve, and cancel endpoints; resolved proposals emit a confirmed event (spr_prefix IDs) - Availability rules — per-calendar
PUT/GET/DELETE /v1/calendars/:id/availability-rulesfor working hours and buffer times, applied automatically by the availability engine - Temporal holds — tentative event reservations via
POST /v1/calendars/:cal_id/eventswithstatus=hold, plusPUT /v1/events/:id/confirmandPUT /v1/events/:id/releasefor promoting or releasing a held slot. Holds carry a TTL (hold_expires_at) and a priority (hold_priority) that pre-empts lower-priority overlapping holds - Lifecycle webhooks — new
event.started,event.ended,event.hold_created,event.hold_expired,event.hold_released,event.hold_confirmed,proposal.created,proposal.responded,proposal.confirmed,proposal.expired, andproposal.cancelledevent types for real-time coordination
v1.0 — Public Beta Launch
Section titled “v1.0 — Public Beta Launch”April 4, 2026
The initial public beta of Chronary, a calendar-as-a-service platform purpose-built for AI agents.
Core API
Section titled “Core API”- Agent CRUD — Create, read, update, delete, and list agents with
agt_prefixed IDs - Calendar CRUD — Full lifecycle management for calendars (
cal_IDs), linked to agents - Event CRUD — Create, read, update, delete, and list events (
evt_IDs) with support for single and recurring events - Availability engine — Query free/busy slots across one or more agents with configurable duration, buffer times, and working hours
- Usage endpoint —
GET /v1/usagereturns current consumption against plan limits
Integrations
Section titled “Integrations”- iCal feeds — Generate read-only iCal feed URLs for any calendar, consumable by Google Calendar, Apple Calendar, Outlook, and other calendar apps
- iCal subscriptions — Subscribe calendars to external iCal URLs; events sync automatically on a recurring schedule
- Webhooks — Subscribe to calendar and event lifecycle events with HMAC-SHA256 signed payloads and automatic retry with exponential backoff
- MCP server — Model Context Protocol server exposing 9 tools, sharing the same Worker and service layer as the REST API
Platform
Section titled “Platform”- API key authentication — Keys use the
chr_sk_*prefix, hashed with SHA-256 before storage - Rate limiting — 10 requests per second per key with
Retry-Afterheaders - Monthly quotas — Plan-based limits on agents, calendars, events, API calls, webhook deliveries, and availability queries
- Console dashboard — Web UI at console.chronary.ai for account management, API key generation, and usage monitoring
- Structured error handling — Consistent error response format with machine-readable
typefield andrequest_idon every response for debugging
Infrastructure
Section titled “Infrastructure”- Globally distributed — sub-50ms response times worldwide
- Durable, auto-scaling storage — primary data store with connection pooling
- Observability — structured logging and uptime monitoring
- Test coverage — 327 tests with 90%+ line, branch, function, and statement coverage