# Start connecting a calendar

> Returns a URL that a **person** must open in a browser to grant access. This cannot be completed headlessly — there is no way to connect a calendar from a server alone. Hand the link to your user, then poll the connection list or take the `calendar.connected` webhook to learn when it finished.

`POST https://api-notetaker.nabrah.ai/ext/v1/calendar/connect-links`

Requires an API key in the `Authorization` header.

Returns a URL that a **person** must open in a browser to grant access. This cannot be completed headlessly — there is no way to connect a calendar from a server alone. Hand the link to your user, then poll the connection list or take the `calendar.connected` webhook to learn when it finished.

## Body

- `provider` (enum, required) One of: `google`, `webex`.

## Example request body

```json
{
  "provider": "google"
}
```

## Responses

- `201` — A URL a person must open.
- `401` — No key, an unknown key, or one that has been revoked or has expired.
- `403` — The key is read only, or lacks the reach for this route.
- `404` — No such record — or one that belongs to another account.
- `422` — The body or query failed validation; `details` names the field.
- `429` — Too many requests. `Retry-After` says how long to wait.

### 201 example

```json
{
  "data": {}
}
```

### 401 example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": [
      {
        "path": "string",
        "message": "string"
      }
    ]
  }
}
```

### 403 example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": [
      {
        "path": "string",
        "message": "string"
      }
    ]
  }
}
```

### 404 example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": [
      {
        "path": "string",
        "message": "string"
      }
    ]
  }
}
```

### 422 example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": [
      {
        "path": "string",
        "message": "string"
      }
    ]
  }
}
```

### 429 example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": [
      {
        "path": "string",
        "message": "string"
      }
    ]
  }
}
```
