avi.nyc

Waves Ruby

Ruby API client and CLI for the Wave API

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

Install

gem install waves-ruby

Or add it to your Gemfile:

gem "waves-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.

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

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

waves list --json
waves account --json

Ruby API

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

client = Waves::Client.new(token: ENV.fetch("WAVES_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

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 WAVES_API_TOKEN in .env

WAVES_LIVE=1 bundle exec rspec spec/waves/live/client_live_spec.rb

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

gem install waves-ruby