Skip to main content
POST
Create a calendar

Authorizations

Authorization
string
header
required

Agent token from POST /v1/mint (format ac_agent_…). Scopes: agent:read, calendar:read, calendar:write, grants:manage.

Headers

Idempotency-Key
string
required

Any unique string you generate (e.g. a UUID). Required on every mutating POST. Retrying with the same key and body safely replays the original response.

Maximum string length: 200

Body

application/json
name
string
required
timezone
string

IANA timezone; defaults to UTC.

slug
string

Optional; 3-63 chars, a-z 0-9 hyphens. Auto-generated when omitted.

Response

The new calendar.

id
string
Example:

"cal_…"

name
string
slug
string
timezone
string
visibility
enum<string>
Available options:
unlisted,
public,
private
purpose
string
default_view
enum<string>
Available options:
month,
week,
schedule,
timeline
views
enum<string>[]
Available options:
month,
week,
schedule,
timeline
url
string

Public page at /c/{slug}.

role
enum<string>
Available options:
owner,
writer,
reader