Repull Ruby SDK
Status: v0.1.0 — alpha. RubyGems listing pending.
Ruby SDK for Repull — the unified API for vacation-rental tech (50+ PMS platforms, Airbnb / Booking.com / VRBO / Plumguide channels, AI ops, white-label OAuth Connect). Generated from api.repull.dev/openapi.json.
Install
# Once published to RubyGems:
gem install repull
Not yet on RubyGems. Until then, use the gem directly from this repo:
# Gemfile gem 'repull', git: 'https://github.com/ivannikolovbg/repull-ruby', branch: 'main'Or build locally:
git clone https://github.com/ivannikolovbg/repull-ruby cd repull-ruby bundle install gem build repull.gemspec gem install ./repull-0.1.0.gem
Quick start
require 'repull'
config = Repull::Configuration.new
config.access_token = ENV['REPULL_API_KEY']
config.host = 'api.repull.dev'
api = Repull::ReservationsApi.new(Repull::ApiClient.new(config))
result = api.v1_reservations_get(limit: 10)
result.data.each do |r|
puts "#{r.id}\t#{r.check_in} -> #{r.check_out}\t#{r.platform}"
end
See examples/quickstart.rb and examples/connect_airbnb.rb for runnable scripts.
Authentication
All requests use a Bearer token. Get an API key from repull.dev/dashboard. Sandbox keys start with sk_test_, production keys with sk_live_.
Repull.configure do |c|
c.access_token = ENV['REPULL_API_KEY']
end
The SDK adds the Authorization: Bearer ... header automatically on every request.
Examples
| Script | What it does |
|---|---|
examples/quickstart.rb |
Health check + list reservations. |
examples/connect_airbnb.rb |
Mint an Airbnb OAuth Connect session and poll its status. |
Run them:
export REPULL_API_KEY=sk_test_...
bundle exec ruby examples/quickstart.rb
What's in the box
The SDK is generated from the OpenAPI spec snapshotted at openapi/v1.json. It exposes one API class per tag:
Repull::AIApiRepull::AirbnbApiRepull::AvailabilityApiRepull::BillingApiRepull::BookingComApiRepull::ConnectApiRepull::ConversationsApiRepull::GuestsApiRepull::PlumguideApiRepull::PropertiesApiRepull::ReservationsApiRepull::SystemApiRepull::VRBOApiRepull::WebhooksApi
Per-class method docs live in docs/.
Reference
Full API reference at repull.dev/docs.
Regenerating
The generated client tracks the live OpenAPI spec. To refresh:
./scripts/regen.sh
This re-snapshots openapi/v1.json from https://api.repull.dev/openapi.json and regenerates lib/repull/.
License
MIT.
Status
v0.1.0 — alpha. API surface may shift before v1.0. RubyGems listing pending. File issues at github.com/ivannikolovbg/repull-ruby/issues.