---
title: "Reconnect a Granola installation"
method: POST
path: "/v1/integrations/granola/installations/{installation_id}/reconnect"
tags: ["integrations"]
---

# Reconnect a Granola installation

`POST /v1/integrations/granola/installations/{installation_id}/reconnect`

Replace a Granola installation's API key, keeping its store, folder selection and sync schedule.

Use it when a personal key expired: Granola cannot tell whose key it is, so the new key is not checked
against the old one. A key another installation already ingests into the same store with is refused.

## Path parameters

- `installation_id` string, uuid, required — Granola installation ID

## Request body

- GranolaManualReconnectBody — Request body for replacing a Granola installation's API key.
  - `api_key` string, required — The new Granola API key

## Response `200`

The reconnected Granola installation

- ConnectorInstallationResponse — Response containing one connected account.
  - `data` ConnectorInstallation, required — A connected account and the store it feeds, described the same way for every connector.
    - `installation_id` string, required — Installation ID
    - `provider` 'google_drive' | 'gmail' | 'slack' | 'granola', required — Connector provider
    - `status` string, required — Installation status
    - `account` ConnectorAccount, required — The third-party account an installation is authorized as.
      - `id` string, required — Provider-side account identifier (email, user ID, or team ID)
      - `name` string, nullable — Human-readable account name
      - `email` string, nullable — Account email, when the provider exposes one
      - `workspace` string, nullable — Workspace or organization the account belongs to, for providers that have one
    - `store_id` string, nullable — Store the installation ingests into
    - `store_name` string, nullable — Name of that store
    - `sync` ConnectorInstallationSync — Account-level sync facts: how many resources are in error, and the last failure of an account-wide job.
      - `failed_resource_count` integer — Resources whose last sync job failed
      - `last_error` string, nullable — Last failure of a job covering the whole account, such as a changes sync
      - `last_error_operation` string, nullable — Which account-wide job failed
      - `last_error_at` string, date-time, nullable — When it failed

## Other responses

- `404` — No installation of this provider with this id in the organization
- `409` — Another installation already ingests into the installation's store with this API key
- `422` — The request failed validation, or the credentials it carries were rejected or belong to a different account than the installation's

## Changes

- **2026-09-26** `9c6c72afde2d` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/mixedbread/apis/mxbai-omni/changes/v1/integrations/granola/installations/:installation_id/reconnect/post.md)

---

[API](https://skmtc.dev/mixedbread/apis/mxbai-omni.md) · [All operations](https://skmtc.dev/mixedbread/apis/mxbai-omni/llms.txt) · [OpenAPI document](https://skmtc.dev/mixedbread/apis/mxbai-omni/revisions/9c6c72afde2d?raw)
