Functions for interacting with Granola notes.
Summary
Functions
@spec get(Granola.Client.t(), String.t(), keyword()) :: {:ok, map()} | {:error, term()}
Fetches a single note by ID.
Options
:include- Set to:transcriptto include the full meeting transcript
Examples
iex> client = Granola.new(api_key: "grn_xxx")
iex> Granola.Notes.get(client, "not_1d3tmYTlCICgjy")
{:ok, %{id: "not_1d3tmYTlCICgjy", title: "...", ...}}
iex> Granola.Notes.get(client, "not_1d3tmYTlCICgjy", include: :transcript)
{:ok, %{id: "not_1d3tmYTlCICgjy", transcript: [...], ...}}
@spec list( Granola.Client.t(), keyword() ) :: {:ok, map()} | {:error, term()}
Lists notes for the authenticated workspace.
Options
:created_before- Return notes created before this date (DateorDateTime):created_after- Return notes created after this date (DateorDateTime):updated_after- Return notes updated after this date (DateorDateTime):cursor- Pagination cursor from a previous response:page_size- Number of results per page (1–30, default 10)
Examples
iex> client = Granola.new(api_key: "grn_xxx")
iex> Granola.Notes.list(client, page_size: 5)
{:ok, %{notes: [...], hasMore: false, cursor: nil}}
@spec stream( Granola.Client.t(), keyword() ) :: Enumerable.t()
Returns a Stream that lazily pages through all notes matching the given filters.
Accepts the same options as list/2, except :cursor and :page_size.
Examples
iex> client = Granola.new(api_key: "grn_xxx")
iex> Granola.Notes.stream(client) |> Enum.take(3)
[%{id: "not_...", ...}, ...]