---
title: "Redeem a Google consent code: the refresh token is sealed and stored, never returned. Clerk session only."
method: POST
path: "/drive/connect"
tags: ["Google Drive"]
---

# Redeem a Google consent code: the refresh token is sealed and stored, never returned. Clerk session only.

`POST /drive/connect`

## Request

- Base URL: `https://www.livediagram.app/api`
- URL: `https://www.livediagram.app/api/drive/connect`
- Auth: HTTP bearer

## Request body

- object
  - `code` string, required
  - `state` string, required

## Response `200`

Success.

- object
  - `connection` DriveConnection, required
    - `connectedAt` number, required
    - `hasRefreshToken` boolean, required
    - `pageToken` string, nullable, required
    - `pageTokenSavedAt` number, nullable, required
    - `pendingAccountSwitch` object, nullable, required
      - `expiresAt` number, required
    - `rootFolderId` string, nullable, required
    - `status` 'connected' | 'needs_reconnect', required

## Other responses

- `400`: Error.
- `401`: Error.
- `429`: Rate limited. Back off and retry.
- `502`: Error.
- `503`: Error.

---

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