---
title: "POST /v1/calendar-connections/oauth/{provider}/start"
method: POST
path: "/v1/calendar-connections/oauth/{provider}/start"
tags: ["Human Calendar Connections"]
---

# POST /v1/calendar-connections/oauth/{provider}/start

`POST /v1/calendar-connections/oauth/{provider}/start`

## Request

- Base URL: `https://api.chronary.ai`
- URL: `https://api.chronary.ai/v1/calendar-connections/oauth/{provider}/start`
- Auth: API key in cookie `chronary_session`

## Path parameters

- `provider` 'google' | 'microsoft', required

## Request body

- object
  - `capabilities` string[]: Connection capabilities. "availability" reads free/busy to compute agent availability. "publishing" (writing confirmed Chronary events to the external calendar) is supported for Microsoft Outlook only — Google connections are availability-only and reject the "publishing" capability.
  - `setup_link_id` string

## Response `200`

Provider authorization URL

- CalendarConnectionOAuthStart
  - `authorization_url` string, uri, required

## Other responses

- `400`: Validation error — invalid request body or query parameters
- `401`: Missing or invalid console session — these endpoints require a console JWT, not an API key.
- `403`: Forbidden — quota exceeded or operation not permitted
- `500`: Internal server error

---

[API](https://skmtc.dev/chronary/apis/chronary-api.md) · [All operations](https://skmtc.dev/chronary/apis/chronary-api/llms.txt) · [OpenAPI document](https://skmtc.dev/chronary/apis/chronary-api/revisions/0d1a330294ae?raw)
