Project

recurly

0.21
A long-lived project that still receives updates
The ruby client for Recurly's V3 API
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 2.0
~> 0.10
~> 12.3.3
~> 3.0
~> 0.11
~> 0.16
~> 0.9

Runtime

~> 0.2.0
 Project Readme

Recurly

Rubygems Contributor Covenant

This repository houses the official ruby client for Recurly's V3 API.

Note: If you were looking for the V2 client, see the v2 branch.

Reference Documentation

Getting Started Guide and reference documentation can be found on Github Pages.

Custom HTTP Adapter

The client ships with a default Net::HTTP-backed transport, but you can inject your own HTTP layer (for observability, proxy/TLS control, or transport mocking) by passing an adapter that responds to #call:

client = Recurly::Client.new(api_key: API_KEY, http_adapter: MyAdapter.new)

An adapter must implement:

# @return [Recurly::HTTP::AdapterResponse]
# @raise  [Recurly::Errors::TransportError] on transport-level failure only
def call(method, url, headers, body, open_timeout: nil, read_timeout: nil)
end
  • method is a Recurly::HTTP::HttpMethod string ("GET", "POST", ...).
  • url is an absolute URL (scheme + host + path + query).
  • headers is a plain Hash of app-level headers (the SDK owns Authorization, Idempotency-Key, Content-Type, etc.).
  • body is a serialized String or nil.
  • HTTP 4xx/5xx responses must be returned as an AdapterResponse, never raised. Only genuine transport failures raise Recurly::Errors::TransportError.

Contributing

Please see our Contributing Guide.