avi.nyc

Wave Ruby

Ruby API client and CLI for Wave

wave
$ gem install wave-ruby
$ wave login
Authenticated as avi@example.com
$ wave search "roadmap"
Found 3 sessions matching "roadmap"
Scroll to continue

About Wave

Wave is an AI note taker for meetings and conversations, and it is one of my favorite tools in this category. This gem wraps their API so you can work with your Wave data from Ruby or the command line.

Learn more at wave.co and follow @waveappai.

Install

gem install wave-ruby

Or add it to your Gemfile:

gem "wave-ruby"

CLI

A full command-line interface for interacting with Wave. Authenticate once, then query your sessions, search transcripts, and pull data right from the terminal.

wave login
wave account
wave list
wave search "meeting content"
wave show SESSION_ID
wave transcript SESSION_ID

Every read command supports --json for machine-readable output:

wave list --json
wave account --json

Ruby API

Use the client directly in your Ruby code. Initialize with a token, then call methods for each Wave endpoint.

client = Wave::Client.new(token: ENV.fetch("WAVE_API_TOKEN"))

client.account
client.list_sessions(limit: 10)
client.search_sessions(query: "roadmap")
client.session("session_123")
client.transcript("session_123")

API Reference

Method Description
account Get current account info
list_sessions(limit:) List recent sessions
search_sessions(query:) Search sessions by content
session(id) Get a specific session
transcript(id) Get full transcript for a session

Development

# Install dependencies
bundle install

# Run the test suite
bundle exec rspec

# Build the gem locally
gem build wave-ruby.gemspec

Live API Verification

Live specs are opt-in and skipped by default. Set up your credentials, then run them locally:

cp .env.example .env
# Set WAVE_API_TOKEN in .env

WAVE_LIVE=1 bundle exec rspec spec/wave/live/client_live_spec.rb

Live coverage includes: account, list_sessions, stats, session, transcript, and search_sessions.

gem install wave-ruby