WAVE SDK for Ruby
Official Ruby client for the WAVE API. Generated from the gateway OpenAPI
contract. One gem, no runtime dependencies (stdlib net/http).
gem "wave-sdk"
Usage
require "wave"
client = Wave::Client.new("wave_live_...")
clip = client.clips.get("clip_123")
puts clip["title"]
page = client.clips.list(video_id: "vid_1", per_page: 50)
puts "#{page['data'].length} of #{page['pagination']['total']}"
begin
client.clips.get("missing")
rescue Wave::Error => e
warn "[#{e.code}] #{e.} (status #{e.status_code})"
end
Notes
- Auth + entitlement are enforced server-side at the gateway (
401/402/403). - Responses are parsed JSON (
Hashwith string keys). Path params are positional, query params are keyword args, request bodies are aHash. - Configuration:
Wave::Client.new(key, base_url:, max_retries:, timeout:). Defaults: basehttps://api.wave.online/v1, 3 retries, 30s timeout. - Errors: non-2xx →
Wave::Error;429(after retries) →Wave::RateLimitError. Retries apply to429/5xx/network with backoff +Retry-After. - Generated by
codegen/; do not editlib/**by hand.
Status
v0.1.0 — all 12 contract-frozen products (49 operations). New; not yet exercised against the live
gateway end-to-end. Requires Ruby ≥ 3.0. License: MIT.