Skip to content

CLI Reference

These flags are available on every command:

FlagShortDefaultDescription
--output-otableOutput format: table, json, or yaml
--debugfalseShow HTTP request/response details
--api-keyAPI key (overrides env and config file)
--base-urlhttps://api.chronary.aiAPI base URL
--no-colorfalseDisable colored output
VariableDescription
CHRONARY_API_KEYAPI key (used if --api-key not set and no config profile)
CHRONARY_BASE_URLAPI base URL override

The CLI stores credentials in ~/.config/chronary/config.json (or the platform-specific user config directory). Managed via chronary auth commands.


Manage authentication profiles.

Interactive login — prompts for your API key, validates it, and saves to a profile.

FlagDefaultDescription
--profiledefaultProfile name to save credentials under
Terminal window
chronary auth login
chronary auth login --profile staging

Show the active profile’s key (masked), mode (test/live), and base URL.

Terminal window
chronary auth status

List all configured profiles with their mode and masked key.

Terminal window
chronary auth list

Switch the active profile.

Terminal window
chronary auth switch production

Delete a saved profile.

Terminal window
chronary auth remove staging

Manage agent-scoped API keys. Aliases: key.

These commands require an org-level API key.

List all agent-scoped keys for the authenticated organization.

Terminal window
chronary keys list
chronary keys list -o json
FlagDefaultDescription
--agentAgent ID (required unless using @file)
--labelOptional label shown in later listings

The raw key is printed once on successful creation.

Terminal window
chronary keys create --agent agt_a1b2c3d4 --label "Sales agent"
chronary keys create @key.json
FlagShortDescription
--force-fSkip confirmation prompt
--yes-ySkip confirmation prompt (alias)
Terminal window
chronary keys delete key_abc123
chronary keys delete key_abc123 --yes

Manage agents. Aliases: agent.

FlagDefaultDescription
--typeFilter by type: ai, human, resource
--statusFilter by status: active, paused, decommissioned
--limit50Max results per page
--offset0Pagination offset
--allfalseFetch all pages automatically
Terminal window
chronary agents list
chronary agents list --type ai --status active --all
FlagDefaultDescription
--nameAgent name (required unless using @file)
--typeaiAgent type: ai, human, or resource
--descriptionAgent description
--metadataMetadata as a JSON string
Terminal window
chronary agents create --name "Sales Bot" --type ai
chronary agents create @agent.json

Retrieve an agent by ID.

Terminal window
chronary agents get agt_a1b2c3d4
FlagDescription
--nameNew name
--statusNew status: active or paused
--descriptionNew description
--metadataNew metadata as JSON string

At least one flag is required.

Terminal window
chronary agents update agt_a1b2c3d4 --name "Sales Bot v2" --status paused
FlagShortDescription
--force-fSkip confirmation prompt
--yes-ySkip confirmation prompt (alias)
Terminal window
chronary agents delete agt_a1b2c3d4
chronary agents delete agt_a1b2c3d4 --yes

Manage calendars. Aliases: calendar, cal.

FlagDefaultDescription
--agentFilter by agent ID
--limit50Max results per page
--offset0Pagination offset
--allfalseFetch all pages automatically
Terminal window
chronary calendars list
chronary calendars list --agent agt_a1b2c3d4
FlagDefaultDescription
--nameCalendar name (required unless using @file)
--timezoneUTCIANA timezone (e.g., America/New_York)
--agentAgent ID to own the calendar
--metadataMetadata as JSON string
Terminal window
chronary calendars create --name "Sales Meetings" --timezone "America/New_York" --agent agt_a1b2c3d4
chronary calendars create @calendar.json
Terminal window
chronary calendars get cal_x1y2z3
FlagDescription
--nameNew name
--timezoneNew timezone
--metadataNew metadata as JSON string
Terminal window
chronary calendars update cal_x1y2z3 --name "Updated Name"
FlagShortDescription
--force-fSkip confirmation
--yes-ySkip confirmation (alias)
Terminal window
chronary calendars delete cal_x1y2z3 --yes

Return the temporal context (current event, next event, recent, upcoming) for a calendar.

Terminal window
chronary calendars context cal_x1y2z3

Manage buffer-time and working-hours rules for a calendar. Aliases: rules.

Terminal window
chronary calendars availability-rules get cal_x1y2z3
chronary calendars availability-rules set cal_x1y2z3 @rules.json
chronary calendars availability-rules delete cal_x1y2z3 --yes

Manage events. Aliases: event.

FlagDefaultDescription
--calendarCalendar ID (required if --agent not set)
--agentAgent ID (lists all events across agent’s calendars)
--start-afterFilter: start time after (ISO 8601)
--start-beforeFilter: start time before (ISO 8601)
--statusFilter: confirmed, tentative, or cancelled
--limit50Max results per page
--offset0Pagination offset
--allfalseFetch all pages automatically
Terminal window
chronary events list --calendar cal_x1y2z3
chronary events list --agent agt_a1b2c3d4 --status confirmed --all
FlagDefaultDescription
--calendarCalendar ID (required)
--titleEvent title (required unless using @file)
--startStart time, ISO 8601 (required unless using @file)
--endEnd time, ISO 8601 (required unless using @file)
--descriptionEvent description
--all-dayfalseAll-day event
--statusStatus: confirmed, tentative, cancelled, or hold
--metadataMetadata as JSON string
--hold-expires-atRequired when --status=hold. ISO 8601 timestamp 30s–15min in the future.
--hold-priority0Priority for hold conflict resolution (0–100)
Terminal window
chronary events create \
--calendar cal_x1y2z3 \
--title "Team standup" \
--start "2026-04-07T09:00:00Z" \
--end "2026-04-07T09:15:00Z"
# Place a 5-minute hold at priority 10
chronary events create \
--calendar cal_x1y2z3 \
--title "[hold] Candidate slot" \
--start "2026-04-07T14:00:00Z" \
--end "2026-04-07T14:30:00Z" \
--status hold \
--hold-expires-at "2026-04-07T13:05:00Z" \
--hold-priority 10
FlagDescription
--calendarCalendar ID (required)
Terminal window
chronary events get evt_m1n2o3 --calendar cal_x1y2z3
FlagDescription
--calendarCalendar ID (required)
--titleNew title
--startNew start time (ISO 8601)
--endNew end time (ISO 8601)
--descriptionNew description
--statusNew status
--metadataNew metadata as JSON string
Terminal window
chronary events update evt_m1n2o3 --calendar cal_x1y2z3 --status cancelled
FlagShortDescription
--calendarCalendar ID (required)
--force-fSkip confirmation
--yes-ySkip confirmation (alias)
Terminal window
chronary events delete evt_m1n2o3 --calendar cal_x1y2z3 --yes

Promote a hold (status=hold) to a confirmed event. The hold must still be active.

Terminal window
chronary events confirm evt_m1n2o3

Manually release a hold before its TTL, freeing the slot for other agents.

Terminal window
chronary events release evt_m1n2o3

Query free/busy time slots. Aliases: avail.

All availability subcommands accept:

FlagDefaultDescription
--startStart of window, ISO 8601 (required)
--endEnd of window, ISO 8601 (required)
--slot-duration30mSlot size: 15m, 30m, 45m, 1h, 2h
--include-busyfalseInclude busy blocks in response
Terminal window
chronary availability agent agt_a1b2c3d4 \
--start "2026-04-07T09:00:00Z" \
--end "2026-04-07T17:00:00Z"
Terminal window
chronary availability calendar cal_x1y2z3 \
--start "2026-04-07T09:00:00Z" \
--end "2026-04-07T17:00:00Z"
FlagDescription
--agentsComma-separated agent IDs (required)
--calendarsComma-separated calendar IDs (optional filter)
Terminal window
chronary availability cross \
--agents "agt_a1b2c3d4,agt_e5f6g7h8" \
--start "2026-04-07T09:00:00Z" \
--end "2026-04-07T17:00:00Z" \
--slot-duration 1h

Manage webhook subscriptions. Aliases: webhook, wh.

FlagDefaultDescription
--limit20Max results per page
--offset0Pagination offset
--allfalseFetch all pages
FlagDescription
--urlWebhook endpoint URL (required unless using @file)
--eventsComma-separated event types (required unless using @file)

Valid events: agent.created, agent.updated, event.created, event.updated, event.deleted.

Terminal window
chronary webhooks create \
--url "https://example.com/hook" \
--events "event.created, event.updated"
Terminal window
chronary webhooks get wh_a1b2c3d4
FlagDescription
--urlNew endpoint URL
--eventsNew comma-separated event types
--activeEnable (true) or disable (false) the webhook
Terminal window
chronary webhooks update wh_a1b2c3d4 --active=false
FlagShortDescription
--force-fSkip confirmation
--yes-ySkip confirmation (alias)

Manage iCal feed subscriptions. Aliases: ical-subscriptions.

FlagDefaultDescription
--agentAgent ID (required)
--statusFilter: active, error, paused
--limit50Max results per page
--offset0Pagination offset
--allfalseFetch all pages
Terminal window
chronary ical list --agent agt_a1b2c3d4
FlagDescription
--agentAgent ID (required)
--calendarCalendar ID to sync into (required)
--urliCal feed URL, must be HTTPS (required)
--labelLabel for this subscription
Terminal window
chronary ical create \
--agent agt_a1b2c3d4 \
--calendar cal_x1y2z3 \
--url "https://calendar.google.com/calendar/ical/example/basic.ics" \
--label "Google Calendar"
Terminal window
chronary ical get ics_a1b2c3d4
FlagDescription
--labelNew label
--urlNew iCal feed URL (HTTPS)
Terminal window
chronary ical update ics_a1b2c3d4 --label "Work Calendar"
FlagShortDescription
--force-fSkip confirmation
--yes-ySkip confirmation (alias)

Trigger an immediate sync (normally runs approximately every 15 minutes via cron).

Terminal window
chronary ical sync ics_a1b2c3d4

Manage multi-agent scheduling proposals. Aliases: schedule, proposals.

Requires a @file payload with title, organizer_agent_id, participant_agent_ids, calendar_id, and slots.

Terminal window
chronary scheduling create @proposal.json
FlagDefaultDescription
--statusFilter: pending, confirmed, expired, cancelled
--organizerFilter by organizer agent ID
--limit50Max results per page
--offset0Pagination offset
--allfalseFetch all pages automatically

Returns the full proposal (slots + responses).

Submit an agent response. @file body: { agent_id, response, selected_slot_id?, counter_slots?, message? }.

Terminal window
chronary scheduling respond spr_a1b2c3 @respond.json

Pick the winning slot and create the event.

Terminal window
chronary scheduling resolve spr_a1b2c3

Cancel a pending proposal.

Terminal window
chronary scheduling cancel spr_a1b2c3

Show current plan usage and quota limits. No flags beyond global options.

Terminal window
chronary usage
chronary usage -o json

Check API connectivity and latency. No authentication required.

Terminal window
chronary health
chronary health -o json

Print the CLI version.

Terminal window
chronary version