Connect Granola
POST/v1/integrations/granola/connect
Authorization
Bearer token for API authentication. Format: `Bearer YOUR_API_KEY`
Request Body
Granola API key
Constraints
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.
falseIngest 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.
ten_minutesInitial periodic sync interval
Possible values
offten_minuteshourlydailyweeklyName of the person the API key belongs to
Constraints
Email of the person the API key belongs to
Constraints
Response Body
Errors
409 when store_name names a store another installation of the same API key already feeds, or when new_store is set and store_name names a store that already exists. 422 when the API key is rejected.
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"
}'{
"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
}
}
}