Mixedbread

Connect Granola

Connect Granola with a personal or workspace API key.

POST
/v1/integrations/granola/connect

Every call creates an installation, also for a key already connected, e.g. the same notes feeding a second store. To replace an existing installation's key, e.g. after it expired, use POST /v1/integrations/granola/installations/{installation_id}/reconnect instead: connecting the new key would add an installation next to the old one.

Authorization

ApiKeyAuth
headerAuthorizationBearer <token>

Api key to access Mixedbreads API

Request Body

application/json
  1. body

Granola API key

api_key*Api Key

Granola API key

Length1 <= length
store_name?|

Ingestion store name. A store that already exists is shared: every data source connected to it ingests into it, except another installation of the same account, which would ingest every item again. Without it, the account's default store, numbered past a store another installation of the account feeds. Rejected with 422 when the connect refreshes an existing installation and names a store other than its own.

new_store?New Store

Ingest into a store created for this connection: the connect fails with 409 when store_name names a store that already exists, and without store_name the default name is numbered past existing stores. Rejected with 422 when the connect refreshes an existing installation, which keeps its store.

Defaultfalse
store_config?

Configuration applied to the ingestion store and imported files

Default
{  "metadata_contextualization": true,  "file_contextualization": true,  "ingestion_mode": "high_quality"}
sync_schedule_interval?Sync Schedule Interval

Initial periodic sync interval

Default"ten_minutes"
Value in"off""ten_minutes""hourly""daily""weekly"
account_name?|

Name of the person the API key belongs to

account_email?|

Email of the person the API key belongs to

Response Body

The connected Granola installation

application/json
  1. response

Response containing one connected account.

data*

The connected account and the store it feeds

Example Request
cURL
curl -X POST https://api.mixedbread.com/v1/integrations/granola/connect \  -H 'Content-Type: application/json' \  -H 'Authorization: Bearer YOUR_API_KEY' \  -d '{    "api_key": "grn_…",    "account_name": "Olivia Chen",    "account_email": "olivia@example.com",    "store_name": "notes-olivia"  }'
Example Response
{  "data": {    "installation_id": "2f1c9a8e-6b4d-4e3a-9c1f-7d8e5b6a4c21",    "provider": "granola",    "status": "active",    "account": {      "id": "9f2c7b1e4d8a6c3b5e7f0a1d2c4b6e8f",      "name": "Olivia Chen",      "email": "olivia@example.com",      "workspace": null    },    "store_id": "5d3e7f9a-1b2c-4d6e-8f0a-9c8b7a6d5e4f",    "store_name": "notes-olivia",    "sync": {      "failed_resource_count": 0,      "last_error": null,      "last_error_operation": null,      "last_error_at": null    }  }}