Skip to content

Events

Events are time-bound entries within a calendar. They support statuses, metadata, and trigger webhooks on changes.

POST /v1/calendars/:cal_id/events
FieldTypeRequiredDefaultDescription
titlestringYes1–500 characters
start_timestringYesISO 8601 datetime (UTC)
end_timestringYesISO 8601 datetime (must be after start_time)
descriptionstringNoFree-text description
all_daybooleanNofalseMark as all-day event
statusstringNoconfirmedconfirmed, tentative, or cancelled
metadataobjectNoKey-value pairs, max 16KB JSON
Terminal window
curl -X POST https://api.chronary.ai/v1/calendars/cal_x1y2z3/events \
-H "Authorization: Bearer chr_sk_test_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"title": "Strategy sync with Acme Corp",
"start_time": "2026-04-07T14:00:00Z",
"end_time": "2026-04-07T14:30:00Z",
"description": "Quarterly strategy alignment",
"metadata": { "deal_id": "deal_789" }
}'
{
"id": "evt_m1n2o3",
"calendar_id": "cal_x1y2z3",
"title": "Strategy sync with Acme Corp",
"start_time": "2026-04-07T14:00:00Z",
"end_time": "2026-04-07T14:30:00Z",
"description": "Quarterly strategy alignment",
"all_day": false,
"status": "confirmed",
"source": "internal",
"metadata": { "deal_id": "deal_789" },
"created_at": "2026-04-04T12:00:00Z",
"updated_at": "2026-04-04T12:00:00Z"
}

Triggers an event.created webhook.

StatusTypeCause
404not_foundCalendar not found

GET /v1/calendars/:cal_id/events
ParameterTypeDefaultDescription
start_afterdatetimeEvents starting after this time
start_beforedatetimeEvents starting before this time
statusstringconfirmed, tentative, or cancelled
sourcestringinternal or external_ical
limitinteger501–200
offsetinteger0Pagination offset
Terminal window
curl "https://api.chronary.ai/v1/calendars/cal_x1y2z3/events?start_after=2026-04-01T00:00:00Z&start_before=2026-04-30T23:59:59Z&status=confirmed" \
-H "Authorization: Bearer chr_sk_test_your_key_here"
{
"data": [ ... ],
"total": 15,
"limit": 50,
"offset": 0
}
StatusTypeCause
404not_foundCalendar not found

Returns events across all calendars owned by an agent.

GET /v1/agents/:agent_id/events

Same query parameters as calendar-scoped listing.

Terminal window
curl "https://api.chronary.ai/v1/agents/agt_a1b2c3d4/events?start_after=2026-04-07T00:00:00Z" \
-H "Authorization: Bearer chr_sk_test_your_key_here"

GET /v1/calendars/:cal_id/events/:id
StatusTypeCause
404not_foundEvent not found

PATCH /v1/calendars/:cal_id/events/:id
FieldTypeDescription
titlestring1–500 characters
descriptionstring | nullSet to null to clear
start_timedatetimeISO 8601
end_timedatetimeISO 8601
all_dayboolean
statusstringconfirmed, tentative, or cancelled
metadataobjectReplaces existing metadata

At least one field must be provided. Triggers an event.updated webhook.

StatusTypeCause
403forbiddenExternal iCal events are read-only
404not_foundEvent or calendar not found

DELETE /v1/calendars/:cal_id/events/:id

Returns 204 No Content. Triggers an event.deleted webhook.

StatusTypeCause
403forbiddenExternal iCal events are read-only
404not_foundEvent or calendar not found