Class: Recurly::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/recurly/client.rb,
lib/recurly/client/operations.rb

Constant Summary collapse

API_HOSTS =
{
  us: "https://v3.recurly.com",
  eu: "https://v3.eu.recurly.com",
}
REGION =
:us
CA_FILE =
File.join(File.dirname(__FILE__), "../data/ca-certificates.crt")
BINARY_TYPES =
[
  "application/pdf",
].freeze
JSON_CONTENT_TYPE =
"application/json"
MAX_RETRIES =
3
LOG_LEVELS =
%i(debug info warn error fatal).freeze
BASE36_ALPHABET =
(("0".."9").to_a + ("a".."z").to_a).freeze
ALLOWED_OPTIONS =
[
  :site_id,
  :open_timeout,
  :read_timeout,
  :body,
  :params,
  :headers,
].freeze

Class Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(region: REGION, base_url: , ca_file: CA_FILE, api_key:, logger: nil, keep_alive_timeout: 600) {|_self| ... } ⇒ Client

Initialize a client. It requires an API key.

Examples:

API_KEY = '83749879bbde395b5fe0cc1a5abf8e5'
client = Recurly::Client.new(api_key: API_KEY)
sub = client.get_subscription(subscription_id: 'abcd123456')
# You can also pass the initializer a block. This will give you
# a client scoped for just that block
Recurly::Client.new(api_key: API_KEY) do |client|
  sub = client.get_subscription(subscription_id: 'abcd123456')
end
# If you only plan on using the client for more than one site,
# you should initialize a new client for each site.

client = Recurly::Client.new(api_key: API_KEY1)
sub = client.get_subscription(subscription_id: 'uuid-abcd123456')

# you should create a new client to connect to another site
client = Recurly::Client.new(api_key: API_KEY2)
sub = client.get_subscription(subscription_id: 'uuid-abcd7890')

Parameters:

  • region (String) (defaults to: REGION)

    The DataCenter that is called by the API. Default to “us”

  • base_url (String) (defaults to: )

    The base URL for the API. Defaults to “v3.recurly.com

  • ca_file (String) (defaults to: CA_FILE)

    The CA bundle to use when connecting to the API. Defaults to “data/ca-certificates.crt”

  • api_key (String)

    The private API key

  • logger (Logger) (defaults to: nil)

    A logger to use. Defaults to creating a new STDOUT logger with level WARN.

Yields:

  • (_self)

Yield Parameters:

Raises:

  • (ArgumentError)


64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# File 'lib/recurly/client.rb', line 64

def initialize(region: REGION, base_url: API_HOSTS[:us], ca_file: CA_FILE, api_key:, logger: nil, keep_alive_timeout: 600)
  raise ArgumentError, "'api_key' must be set to a non-nil value" if api_key.nil?

  raise ArgumentError, "Invalid region type. Expected one of: #{API_HOSTS.keys.join(", ")}" if !API_HOSTS.key?(region)

  base_url = API_HOSTS[region] if base_url == API_HOSTS[:us] && API_HOSTS.key?(region)

  set_api_key(api_key)
  set_connection_options(base_url, ca_file, keep_alive_timeout)

  if logger.nil?
    @logger = Logger.new(STDOUT).tap do |l|
      l.level = Logger::WARN
    end
  else
    unless LOG_LEVELS.all? { |lev| logger.respond_to?(lev) }
      raise ArgumentError, "You must pass in a logger implementation that responds to the following messages: #{LOG_LEVELS}"
    end
    @logger = logger
  end

  if @logger.level < Logger::INFO
    msg = <<-MSG
    The Recurly logger should not be initialized
    beyond the level INFO. It is currently configured to emit
    headers and request / response bodies. This has the potential to leak
    PII and other sensitive information and should never be used in production.
    MSG
    log_warn("SECURITY_WARNING", message: msg)
  end

  # execute block with this client if given
  yield(self) if block_given?
end

Class Attribute Details

.connection_poolRecurly::ConnectionPool



171
172
173
# File 'lib/recurly/client.rb', line 171

def connection_pool
  @connection_pool
end

Instance Method Details

#api_versionObject



7
8
9
# File 'lib/recurly/client/operations.rb', line 7

def api_version
  "v2021-02-25"
end

#apply_credit_balance(invoice_id:, **options) ⇒ Resources::Invoice

Apply available credit to a pending or past due charge invoice

apply_credit_balance api documentation

Examples:

begin
  invoice = @client.apply_credit_balance(invoice_id: invoice_id)
  puts "Applied credit balance to invoice #{invoice}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • invoice_id (String)

    Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2. For number use prefix number-, e.g. number-1000. For number with prefix or country code, use number- and prefix, e.g. number-TEST-FR1001

  • params (Hash)

    Optional query string parameters: :site_id [String] Site ID or subdomain. For ID no prefix is used e.g. e28zov4fw0v2. For subdomain use prefix subdomain-, e.g. subdomain-recurly.

Returns:



2750
2751
2752
2753
# File 'lib/recurly/client/operations.rb', line 2750

def apply_credit_balance(invoice_id:, **options)
  path = interpolate_path("/invoices/{invoice_id}/apply_credit_balance", invoice_id: invoice_id)
  put(path, **options)
end

#cancel_subscription(subscription_id:, **options) ⇒ Resources::Subscription

Examples:

begin
  subscription = @client.cancel_subscription(
    subscription_id: subscription_id
  )
  puts "Canceled Subscription #{subscription}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • subscription_id (String)

    Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • params (Hash)

    Optional query string parameters: :body [Requests::SubscriptionCancel] The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::SubscriptionCancel

Returns:



3881
3882
3883
3884
# File 'lib/recurly/client/operations.rb', line 3881

def cancel_subscription(subscription_id:, **options)
  path = interpolate_path("/subscriptions/{subscription_id}/cancel", subscription_id: subscription_id)
  put(path, options[:body], Requests::SubscriptionCancel, **options)
end

#cancelPurchase(transaction_id:, **options) ⇒ Resources::InvoiceCollection

Parameters:

  • transaction_id (String)

    Transaction ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • params (Hash)

    Optional query string parameters:

Returns:



4656
4657
4658
4659
# File 'lib/recurly/client/operations.rb', line 4656

def cancelPurchase(transaction_id:, **options)
  path = interpolate_path("/purchases/{transaction_id}/cancel/", transaction_id: transaction_id)
  post(path, **options)
end

#collect_invoice(invoice_id:, **options) ⇒ Resources::Invoice

Collect a pending or past due, automatic invoice

collect_invoice api documentation

Examples:

begin
  invoice = @client.collect_invoice(invoice_id: invoice_id)
  puts "Collected invoice #{invoice}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • invoice_id (String)

    Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2. For number use prefix number-, e.g. number-1000. For number with prefix or country code, use number- and prefix, e.g. number-TEST-FR1001

  • params (Hash)

    Optional query string parameters: :body [Requests::InvoiceCollect] The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::InvoiceCollect

Returns:



2774
2775
2776
2777
# File 'lib/recurly/client/operations.rb', line 2774

def collect_invoice(invoice_id:, **options)
  path = interpolate_path("/invoices/{invoice_id}/collect", invoice_id: invoice_id)
  put(path, options[:body], Requests::InvoiceCollect, **options)
end

#convert_trial(subscription_id:, **options) ⇒ Resources::Subscription

Convert trial subscription

convert_trial api documentation

Parameters:

  • subscription_id (String)

    Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • params (Hash)

    Optional query string parameters:

Returns:



3975
3976
3977
3978
# File 'lib/recurly/client/operations.rb', line 3975

def convert_trial(subscription_id:, **options)
  path = interpolate_path("/subscriptions/{subscription_id}/convert_trial", subscription_id: subscription_id)
  put(path, **options)
end

#create_account(body:, **options) ⇒ Resources::Account

Examples:

begin
   = {
    code: ,
    first_name: "Benjamin",
    last_name: "Du Monde",
    preferred_time_zone: "America/Chicago",
    acquisition: {
      campaign: "podcast-marketing",
      channel: "social_media",
      subchannel: "twitter",
      cost: {
        currency: "USD",
        amount: 0.50
      }
    },
    shipping_addresses: [
      {
        nickname: "Home",
        street1: "1 Tchoupitoulas St",
        city: "New Orleans",
        region: "LA",
        country: "US",
        postal_code: "70115",
        first_name: "Benjamin",
        last_name: "Du Monde"
      }
    ]
  }
   = @client.(body: )
  puts "Created Account #{}"
rescue Recurly::Errors::ValidationError => e
  # If the request was invalid, you may want to tell your user
  # why. You can find the invalid params and reasons in e.recurly_error.params
  puts "ValidationError: #{e.recurly_error.params}"
end

Parameters:

Returns:



169
170
171
172
# File 'lib/recurly/client/operations.rb', line 169

def (body:, **options)
  path = "/accounts"
  post(path, body, Requests::AccountCreate, **options)
end

#create_account_external_account(account_id:, body:, **options) ⇒ Resources::ExternalAccount

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • body (Requests::ExternalAccountCreate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::ExternalAccountCreate

  • params (Hash)

    Optional query string parameters:

Returns:



853
854
855
856
# File 'lib/recurly/client/operations.rb', line 853

def (account_id:, body:, **options)
  path = interpolate_path("/accounts/{account_id}/external_accounts", account_id: )
  post(path, body, Requests::ExternalAccountCreate, **options)
end

#create_account_note(account_id:, body:, **options) ⇒ Resources::AccountNote

Create an account note

create_account_note api documentation

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • body (Requests::AccountNoteCreate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::AccountNoteCreate

  • params (Hash)

    Optional query string parameters:

Returns:



1170
1171
1172
1173
# File 'lib/recurly/client/operations.rb', line 1170

def (account_id:, body:, **options)
  path = interpolate_path("/accounts/{account_id}/notes", account_id: )
  post(path, body, Requests::AccountNoteCreate, **options)
end

#create_authorize_purchase(body:, **options) ⇒ Resources::InvoiceCollection

Parameters:

Returns:



4628
4629
4630
4631
# File 'lib/recurly/client/operations.rb', line 4628

def create_authorize_purchase(body:, **options)
  path = "/purchases/authorize"
  post(path, body, Requests::PurchaseCreate, **options)
end

#create_billing_info(account_id:, body:, **options) ⇒ Resources::BillingInfo

Add new billing information on an account

create_billing_info api documentation

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • body (Requests::BillingInfoCreate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::BillingInfoCreate

  • params (Hash)

    Optional query string parameters:

Returns:



555
556
557
558
# File 'lib/recurly/client/operations.rb', line 555

def create_billing_info(account_id:, body:, **options)
  path = interpolate_path("/accounts/{account_id}/billing_infos", account_id: )
  post(path, body, Requests::BillingInfoCreate, **options)
end

#create_capture_purchase(transaction_id:, **options) ⇒ Resources::InvoiceCollection

Parameters:

  • transaction_id (String)

    Transaction ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • params (Hash)

    Optional query string parameters:

Returns:



4642
4643
4644
4645
# File 'lib/recurly/client/operations.rb', line 4642

def create_capture_purchase(transaction_id:, **options)
  path = interpolate_path("/purchases/{transaction_id}/capture", transaction_id: transaction_id)
  post(path, **options)
end

#create_coupon(body:, **options) ⇒ Resources::Coupon

Create a new coupon

create_coupon api documentation

Examples:

begin
  coupon_create = {
    name: "Promotional Coupon",
    code: coupon_code,
    discount_type: 'fixed',
    currencies: [
      {
        currency: 'USD',
        discount: 10_000
      }
    ]
  }
  coupon = @client.create_coupon(
    body: coupon_create
  )
  puts "Created Coupon #{coupon}"
rescue Recurly::Errors::ValidationError => e
  # If the request was invalid, you may want to tell your user
  # why. You can find the invalid params and reasons in e.recurly_error.params
  puts "ValidationError: #{e.recurly_error.params}"
end

Parameters:

Returns:



1669
1670
1671
1672
# File 'lib/recurly/client/operations.rb', line 1669

def create_coupon(body:, **options)
  path = "/coupons"
  post(path, body, Requests::CouponCreate, **options)
end

#create_coupon_redemption(account_id:, body:, **options) ⇒ Resources::CouponRedemption

Generate an active coupon redemption on an account or subscription

create_coupon_redemption api documentation

Examples:

begin
  redemption_create = {
    currency: 'USD',
    coupon_id: coupon_id
  }
  redemption = @client.create_coupon_redemption(
    account_id: ,
    body: redemption_create
  )
  puts "Created CouponRedemption #{redemption}"
rescue Recurly::Errors::ValidationError => e
  # If the request was invalid, you may want to tell your user
  # why. You can find the invalid params and reasons in e.recurly_error.params
  puts "ValidationError: #{e.recurly_error.params}"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • body (Requests::CouponRedemptionCreate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::CouponRedemptionCreate

  • params (Hash)

    Optional query string parameters:

Returns:



734
735
736
737
# File 'lib/recurly/client/operations.rb', line 734

def create_coupon_redemption(account_id:, body:, **options)
  path = interpolate_path("/accounts/{account_id}/coupon_redemptions/active", account_id: )
  post(path, body, Requests::CouponRedemptionCreate, **options)
end

#create_external_invoice(external_subscription_id:, body:, **options) ⇒ Resources::ExternalInvoice

Create an external invoice

create_external_invoice api documentation

Parameters:

Returns:



2597
2598
2599
2600
# File 'lib/recurly/client/operations.rb', line 2597

def create_external_invoice(external_subscription_id:, body:, **options)
  path = interpolate_path("/external_subscriptions/{external_subscription_id}/external_invoices", external_subscription_id: external_subscription_id)
  post(path, body, Requests::ExternalInvoiceCreate, **options)
end

#create_external_product(body:, **options) ⇒ Resources::ExternalProduct

Create an external product

create_external_product api documentation

Parameters:

Returns:



2396
2397
2398
2399
# File 'lib/recurly/client/operations.rb', line 2396

def create_external_product(body:, **options)
  path = "/external_products"
  post(path, body, Requests::ExternalProductCreate, **options)
end

#create_external_product_external_product_reference(external_product_id:, body:, **options) ⇒ Resources::ExternalProductReferenceMini

Create an external product reference on an external product

create_external_product_external_product_reference api documentation

Parameters:

Returns:



2472
2473
2474
2475
# File 'lib/recurly/client/operations.rb', line 2472

def create_external_product_external_product_reference(external_product_id:, body:, **options)
  path = interpolate_path("/external_products/{external_product_id}/external_product_references", external_product_id: external_product_id)
  post(path, body, Requests::ExternalProductReferenceCreate, **options)
end

#create_external_subscription(body:, **options) ⇒ Resources::ExternalSubscription

Create an external subscription

create_external_subscription api documentation

Parameters:

Returns:



2516
2517
2518
2519
# File 'lib/recurly/client/operations.rb', line 2516

def create_external_subscription(body:, **options)
  path = "/external_subscriptions"
  post(path, body, Requests::ExternalSubscriptionCreate, **options)
end

#create_general_ledger_account(body:, **options) ⇒ Resources::GeneralLedgerAccount

Create a new general ledger account

create_general_ledger_account api documentation

Parameters:

Returns:



1958
1959
1960
1961
# File 'lib/recurly/client/operations.rb', line 1958

def (body:, **options)
  path = "/general_ledger_accounts"
  post(path, body, Requests::GeneralLedgerAccountCreate, **options)
end

#create_gift_card(body:, **options) ⇒ Resources::GiftCard

Parameters:

Returns:



4941
4942
4943
4944
# File 'lib/recurly/client/operations.rb', line 4941

def create_gift_card(body:, **options)
  path = "/gift_cards"
  post(path, body, Requests::GiftCardCreate, **options)
end

#create_invoice(account_id:, body:, **options) ⇒ Resources::InvoiceCollection

Create an invoice for pending line items

create_invoice api documentation

Examples:

begin
  invoice_create = {
    currency: 'USD',
    collection_method: 'automatic'
  }
  collection = @client.create_invoice(
    account_id: ,
    body: invoice_create
  )
  puts "Created InvoiceCollection #{collection}"
rescue Recurly::Errors::ValidationError => e
  # If the request was invalid, you may want to tell your user
  # why. You can find the invalid params and reasons in e.recurly_error.params
  puts "ValidationError: #{e.recurly_error.params}"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • body (Requests::InvoiceCreate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::InvoiceCreate

  • params (Hash)

    Optional query string parameters:

Returns:



1006
1007
1008
1009
# File 'lib/recurly/client/operations.rb', line 1006

def create_invoice(account_id:, body:, **options)
  path = interpolate_path("/accounts/{account_id}/invoices", account_id: )
  post(path, body, Requests::InvoiceCreate, **options)
end

#create_item(body:, **options) ⇒ Resources::Item

Create a new item

create_item api documentation

Examples:

begin
  item_create = {
    code: item_code,
    name: "Item Name",
    description: "Item Description",
    external_sku: "a35JE-44",
    accounting_code: "item-code-127",
    revenue_schedule_type: "at_range_end",
    custom_fields: [{
      name: "custom-field-1",
      value: "Custom Field 1 value"
    }]
  }
  item = @client.create_item(body: item_create)
  puts "Created Item #{item}"
rescue Recurly::Errors::ValidationError => e
  # If the request was invalid, you may want to tell your user
  # why. You can find the invalid params and reasons in e.recurly_error.params
  puts "ValidationError: #{e.recurly_error.params}"
end

Parameters:

  • body (Requests::ItemCreate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::ItemCreate

  • params (Hash)

    Optional query string parameters:

Returns:



2170
2171
2172
2173
# File 'lib/recurly/client/operations.rb', line 2170

def create_item(body:, **options)
  path = "/items"
  post(path, body, Requests::ItemCreate, **options)
end

#create_line_item(account_id:, body:, **options) ⇒ Resources::LineItem

Create a new line item for the account

create_line_item api documentation

Examples:

begin
  line_item_create = {
    currency: 'USD',
    unit_amount: 1_000,
    type: :charge
  }
  line_item = @client.create_line_item(
    account_id: ,
    body: line_item_create
  )
  puts "Created LineItem #{line_item}"
rescue Recurly::Errors::ValidationError => e
  # If the request was invalid, you may want to tell your user
  # why. You can find the invalid params and reasons in e.recurly_error.params
  puts "ValidationError: #{e.recurly_error.params}"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • body (Requests::LineItemCreate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::LineItemCreate

  • params (Hash)

    Optional query string parameters:

Returns:



1121
1122
1123
1124
# File 'lib/recurly/client/operations.rb', line 1121

def create_line_item(account_id:, body:, **options)
  path = interpolate_path("/accounts/{account_id}/line_items", account_id: )
  post(path, body, Requests::LineItemCreate, **options)
end

#create_measured_unit(body:, **options) ⇒ Resources::MeasuredUnit

Create a new measured unit

create_measured_unit api documentation

Parameters:

Returns:



2322
2323
2324
2325
# File 'lib/recurly/client/operations.rb', line 2322

def create_measured_unit(body:, **options)
  path = "/measured_units"
  post(path, body, Requests::MeasuredUnitCreate, **options)
end

#create_pending_purchase(body:, **options) ⇒ Resources::InvoiceCollection

Create a pending purchase

create_pending_purchase api documentation

Examples:

begin
  purchase = {
    currency: 'EUR',
    account: {
      code: ,
      email: 'benjamin@example.com',
      billing_info: {
        first_name: 'Benjamin',
        last_name: 'Du Monde',
        online_banking_payment_type: 'ideal'
      },
    },
    line_items: [
      {
        currency: 'EUR',
        unit_amount: 1000,
        type: 'charge'
      }
    ]
  }
  invoice_collection = @client.create_pending_purchase(body: purchase)
  puts "Created ChargeInvoice with UUID: #{invoice_collection.charge_invoice.uuid}"
rescue Recurly::Errors::ValidationError => e
  # If the request was invalid, you may want to tell your user
  # why. You can find the invalid params and reasons in e.recurly_error.params
  puts "ValidationError: #{e.recurly_error.params}"
end

Parameters:

Returns:



4614
4615
4616
4617
# File 'lib/recurly/client/operations.rb', line 4614

def create_pending_purchase(body:, **options)
  path = "/purchases/pending"
  post(path, body, Requests::PurchaseCreate, **options)
end

#create_plan(body:, **options) ⇒ Resources::Plan

Examples:

begin
  plan_create = {
    code: plan_code,
    name: plan_name,
    currencies: [
      currency: "USD",
      setup_fee: 1_000
    ],
    add_ons: [
      {
        name: 'Extra User',
        code: 'extra_user',
        currencies: [
          { currency: 'USD', unit_amount: 10_000 }
        ]
      }
    ]
  }
  plan = @client.create_plan(body: plan_create)
  puts "Created Plan #{plan}"
rescue Recurly::Errors::ValidationError => e
  # If the request was invalid, you may want to tell your user
  # why. You can find the invalid params and reasons in e.recurly_error.params
  puts "ValidationError: #{e.recurly_error.params}"
end

Parameters:

  • body (Requests::PlanCreate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::PlanCreate

  • params (Hash)

    Optional query string parameters:

Returns:



3220
3221
3222
3223
# File 'lib/recurly/client/operations.rb', line 3220

def create_plan(body:, **options)
  path = "/plans"
  post(path, body, Requests::PlanCreate, **options)
end

#create_plan_add_on(plan_id:, body:, **options) ⇒ Resources::AddOn

Examples:

begin
  new_add_on = {
    code: 'coffee_grinder',
    name: 'A quality grinder for your beans',
    default_quantity: 1,
    currencies: [
      {
        currency: 'USD',
        unit_amount: 10_000
      }
    ]
  }
  add_on = @client.create_plan_add_on(plan_id: plan_id, body: new_add_on)
  puts "Created plan add-on #{add_on}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • plan_id (String)

    Plan ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-gold.

  • body (Requests::AddOnCreate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::AddOnCreate

  • params (Hash)

    Optional query string parameters:

Returns:



3378
3379
3380
3381
# File 'lib/recurly/client/operations.rb', line 3378

def create_plan_add_on(plan_id:, body:, **options)
  path = interpolate_path("/plans/{plan_id}/add_ons", plan_id: plan_id)
  post(path, body, Requests::AddOnCreate, **options)
end

#create_purchase(body:, **options) ⇒ Resources::InvoiceCollection

Create a new purchase

create_purchase api documentation

Examples:

begin
  purchase = {
    currency: "USD",
    account: {
      code: ,
      first_name: "Benjamin",
      last_name: "Du Monde",
      billing_info: {
        token_id: rjs_token_id
      },
    },
    subscriptions: [
      { plan_code: plan_code }
    ]
  }
  invoice_collection = @client.create_purchase(
    body: purchase
  )
  puts "Created Charge Invoice #{invoice_collection.charge_invoice}"
  puts "Created Credit Invoices #{invoice_collection.credit_invoices}"
rescue Recurly::Errors::ValidationError => e
  # If the request was invalid, you may want to tell your user
  # why. You can find the invalid params and reasons in e.recurly_error.params
  puts "ValidationError: #{e.recurly_error.params}"
end

Parameters:

Returns:



4532
4533
4534
4535
# File 'lib/recurly/client/operations.rb', line 4532

def create_purchase(body:, **options)
  path = "/purchases"
  post(path, body, Requests::PurchaseCreate, **options)
end

#create_shipping_address(account_id:, body:, **options) ⇒ Resources::ShippingAddress

Create a new shipping address for the account

create_shipping_address api documentation

Examples:

begin
  shipping_address_create = {
    nickname: 'Work',
    street1: '900 Camp St',
    city: 'New Orleans',
    region: 'LA',
    country: 'US',
    postal_code: '70115',
    first_name: 'Joanna',
    last_name: 'Du Monde'
  }
  shipping_address = @client.create_shipping_address(account_id: , body: shipping_address_create)
  puts "Created Shipping Address #{shipping_address}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • body (Requests::ShippingAddressCreate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::ShippingAddressCreate

  • params (Hash)

    Optional query string parameters:

Returns:



1295
1296
1297
1298
# File 'lib/recurly/client/operations.rb', line 1295

def create_shipping_address(account_id:, body:, **options)
  path = interpolate_path("/accounts/{account_id}/shipping_addresses", account_id: )
  post(path, body, Requests::ShippingAddressCreate, **options)
end

#create_shipping_method(body:, **options) ⇒ Resources::ShippingMethod

Create a new shipping method

create_shipping_method api documentation

Parameters:

Returns:



3636
3637
3638
3639
# File 'lib/recurly/client/operations.rb', line 3636

def create_shipping_method(body:, **options)
  path = "/shipping_methods"
  post(path, body, Requests::ShippingMethodCreate, **options)
end

#create_subscription(body:, **options) ⇒ Resources::Subscription

Create a new subscription

create_subscription api documentation

Examples:

begin
  subscription_create = {
    plan_code: plan_code,
    currency: "USD",
    # This can be an existing account or a new account
    account: {
      code: ,
    }
  }
  subscription = @client.create_subscription(
    body: subscription_create
  )
  puts "Created Subscription #{subscription}"
rescue Recurly::Errors::ValidationError => e
  # If the request was invalid, you may want to tell your user
  # why. You can find the invalid params and reasons in e.recurly_error.params
  puts "ValidationError: #{e.recurly_error.params}"
end

Parameters:

Returns:



3763
3764
3765
3766
# File 'lib/recurly/client/operations.rb', line 3763

def create_subscription(body:, **options)
  path = "/subscriptions"
  post(path, body, Requests::SubscriptionCreate, **options)
end

#create_subscription_change(subscription_id:, body:, **options) ⇒ Resources::SubscriptionChange

Create a new subscription change

create_subscription_change api documentation

Examples:

begin
  change_create = {
    timeframe: "now",
    plan_code: new_plan_code
  }
  change = @client.create_subscription_change(
    subscription_id: subscription_id,
    body: change_create
  )
  puts "Created SubscriptionChange #{change}"
rescue Recurly::Errors::ValidationError => e
  # If the request was invalid, you may want to tell your user
  # why. You can find the invalid params and reasons in e.recurly_error.params
  puts "ValidationError: #{e.recurly_error.params}"
end

Parameters:

  • subscription_id (String)

    Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • body (Requests::SubscriptionChangeCreate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::SubscriptionChangeCreate

  • params (Hash)

    Optional query string parameters:

Returns:



4056
4057
4058
4059
# File 'lib/recurly/client/operations.rb', line 4056

def create_subscription_change(subscription_id:, body:, **options)
  path = interpolate_path("/subscriptions/{subscription_id}/change", subscription_id: subscription_id)
  post(path, body, Requests::SubscriptionChangeCreate, **options)
end

#create_usage(subscription_id:, add_on_id:, body:, **options) ⇒ Resources::Usage

Log a usage record on this subscription add-on

create_usage api documentation

Parameters:

  • subscription_id (String)

    Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • add_on_id (String)

    Add-on ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-gold.

  • body (Requests::UsageCreate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::UsageCreate

  • params (Hash)

    Optional query string parameters:

Returns:



4337
4338
4339
4340
# File 'lib/recurly/client/operations.rb', line 4337

def create_usage(subscription_id:, add_on_id:, body:, **options)
  path = interpolate_path("/subscriptions/{subscription_id}/add_ons/{add_on_id}/usage", subscription_id: subscription_id, add_on_id: add_on_id)
  post(path, body, Requests::UsageCreate, **options)
end

#deactivate_account(account_id:, **options) ⇒ Resources::Account

Deactivate an account

deactivate_account api documentation

Examples:

begin
   = @client.(account_id: )
  puts "Deactivated Account #{}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters:

Returns:



246
247
248
249
# File 'lib/recurly/client/operations.rb', line 246

def (account_id:, **options)
  path = interpolate_path("/accounts/{account_id}", account_id: )
  delete(path, **options)
end

#deactivate_coupon(coupon_id:, **options) ⇒ Resources::Coupon

Examples:

begin
  coupon = @client.deactivate_coupon(coupon_id: coupon_id)
  puts "Deactivated Coupon #{coupon}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • coupon_id (String)

    Coupon ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-10off.

  • params (Hash)

    Optional query string parameters:

Returns:



1742
1743
1744
1745
# File 'lib/recurly/client/operations.rb', line 1742

def deactivate_coupon(coupon_id:, **options)
  path = interpolate_path("/coupons/{coupon_id}", coupon_id: coupon_id)
  delete(path, **options)
end

#deactivate_external_product_external_product_reference(external_product_id:, external_product_reference_id:, **options) ⇒ Resources::ExternalProductReferenceMini

Parameters:

  • external_product_id (String)

    External product id

  • external_product_reference_id (String)

    External product reference ID, e.g. d39iun2fw1v4.

  • params (Hash)

    Optional query string parameters:

Returns:



2502
2503
2504
2505
# File 'lib/recurly/client/operations.rb', line 2502

def deactivate_external_product_external_product_reference(external_product_id:, external_product_reference_id:, **options)
  path = interpolate_path("/external_products/{external_product_id}/external_product_references/{external_product_reference_id}", external_product_id: external_product_id, external_product_reference_id: external_product_reference_id)
  delete(path, **options)
end

#deactivate_external_products(external_product_id:, **options) ⇒ Resources::ExternalProduct

Deactivate an external product

deactivate_external_products api documentation

Parameters:

  • external_product_id (String)

    External product id

  • params (Hash)

    Optional query string parameters:

Returns:



2439
2440
2441
2442
# File 'lib/recurly/client/operations.rb', line 2439

def deactivate_external_products(external_product_id:, **options)
  path = interpolate_path("/external_products/{external_product_id}", external_product_id: external_product_id)
  delete(path, **options)
end

#deactivate_item(item_id:, **options) ⇒ Resources::Item

Examples:

begin
  item = @client.deactivate_item(item_id: item_id)
  puts "Deactivated Item #{item}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • item_id (String)

    Item ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-red.

  • params (Hash)

    Optional query string parameters:

Returns:



2247
2248
2249
2250
# File 'lib/recurly/client/operations.rb', line 2247

def deactivate_item(item_id:, **options)
  path = interpolate_path("/items/{item_id}", item_id: item_id)
  delete(path, **options)
end

#deactivate_shipping_method(shipping_method_id:, **options) ⇒ Resources::ShippingMethod

Deactivate a shipping method

deactivate_shipping_method api documentation

Parameters:

  • shipping_method_id (String)

    Shipping Method ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-usps_2-day.

  • params (Hash)

    Optional query string parameters:

Returns:



3679
3680
3681
3682
# File 'lib/recurly/client/operations.rb', line 3679

def deactivate_shipping_method(shipping_method_id:, **options)
  path = interpolate_path("/shipping_methods/{shipping_method_id}", shipping_method_id: shipping_method_id)
  delete(path, **options)
end

#deactivate_unique_coupon_code(unique_coupon_code_id:, **options) ⇒ Resources::UniqueCouponCode

Deactivate a unique coupon code

deactivate_unique_coupon_code api documentation

Parameters:

  • unique_coupon_code_id (String)

    Unique Coupon Code ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-abc-8dh2-def.

  • params (Hash)

    Optional query string parameters:

Returns:



4478
4479
4480
4481
# File 'lib/recurly/client/operations.rb', line 4478

def deactivate_unique_coupon_code(unique_coupon_code_id:, **options)
  path = interpolate_path("/unique_coupon_codes/{unique_coupon_code_id}", unique_coupon_code_id: unique_coupon_code_id)
  delete(path, **options)
end

#delete_account_external_account(account_id:, external_account_id:, **options) ⇒ Resources::ExternalAccount

Delete an external account for an account

delete_account_external_account api documentation

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • external_account_id (String)

    External account ID, e.g. s28zov4fw0cb.

  • params (Hash)

    Optional query string parameters:

Returns:



899
900
901
902
# File 'lib/recurly/client/operations.rb', line 899

def (account_id:, external_account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/external_accounts/{external_account_id}", account_id: , external_account_id: )
  delete(path, **options)
end

#generate_unique_coupon_codes(coupon_id:, body:, **options) ⇒ Resources::UniqueCouponCodeParams

Generate unique coupon codes

generate_unique_coupon_codes api documentation

Parameters:

  • coupon_id (String)

    Coupon ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-10off.

  • body (Requests::CouponBulkCreate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::CouponBulkCreate

  • params (Hash)

    Optional query string parameters:

Returns:

  • (Resources::UniqueCouponCodeParams)

    A set of parameters that can be passed to the ‘list_unique_coupon_codes` endpoint to obtain only the newly generated `UniqueCouponCodes`.



1757
1758
1759
1760
# File 'lib/recurly/client/operations.rb', line 1757

def generate_unique_coupon_codes(coupon_id:, body:, **options)
  path = interpolate_path("/coupons/{coupon_id}/generate", coupon_id: coupon_id)
  post(path, body, Requests::CouponBulkCreate, **options)
end

#generate_unique_coupon_codes_sync(coupon_id:, body:, **options) ⇒ Resources::UniqueCouponCodeGenerationResponse

Generate unique coupon codes synchronously

generate_unique_coupon_codes_sync api documentation

Parameters:

  • coupon_id (String)

    Coupon ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-10off.

  • body (Requests::CouponBulkCreateSync)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::CouponBulkCreateSync

  • params (Hash)

    Optional query string parameters:

Returns:



1772
1773
1774
1775
# File 'lib/recurly/client/operations.rb', line 1772

def generate_unique_coupon_codes_sync(coupon_id:, body:, **options)
  path = interpolate_path("/coupons/{coupon_id}/generate_sync", coupon_id: coupon_id)
  post(path, body, Requests::CouponBulkCreateSync, **options)
end

#get_a_billing_info(account_id:, billing_info_id:, **options) ⇒ Resources::BillingInfo

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • billing_info_id (String)

    Billing Info ID. Can ONLY be used for sites utilizing the Wallet feature.

  • params (Hash)

    Optional query string parameters:

Returns:



570
571
572
573
# File 'lib/recurly/client/operations.rb', line 570

def get_a_billing_info(account_id:, billing_info_id:, **options)
  path = interpolate_path("/accounts/{account_id}/billing_infos/{billing_info_id}", account_id: , billing_info_id: billing_info_id)
  get(path, **options)
end

#get_account(account_id:, **options) ⇒ Resources::Account

Examples:

begin
   = @client.(account_id: )
  puts "Got Account #{}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters:

Returns:



192
193
194
195
# File 'lib/recurly/client/operations.rb', line 192

def (account_id:, **options)
  path = interpolate_path("/accounts/{account_id}", account_id: )
  get(path, **options)
end

#get_account_acquisition(account_id:, **options) ⇒ Resources::AccountAcquisition

Fetch an account’s acquisition data

get_account_acquisition api documentation

Examples:

begin
  @client.(account_id: )
  puts "Got AccountAcquisition"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters:

Returns:



283
284
285
286
# File 'lib/recurly/client/operations.rb', line 283

def (account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/acquisition", account_id: )
  get(path, **options)
end

#get_account_balance(account_id:, **options) ⇒ Resources::AccountBalance

Fetch an account’s balance and past due status

get_account_balance api documentation

Examples:

begin
  balance = @client.(account_id: )
  puts "Got AccountBalance #{balance}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters:

Returns:



388
389
390
391
# File 'lib/recurly/client/operations.rb', line 388

def (account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/balance", account_id: )
  get(path, **options)
end

#get_account_external_account(account_id:, external_account_id:, **options) ⇒ Resources::ExternalAccount

Get an external account for an account

get_account_external_account api documentation

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • external_account_id (String)

    External account ID, e.g. s28zov4fw0cb.

  • params (Hash)

    Optional query string parameters:

Returns:



868
869
870
871
# File 'lib/recurly/client/operations.rb', line 868

def (account_id:, external_account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/external_accounts/{external_account_id}", account_id: , external_account_id: )
  get(path, **options)
end

#get_account_note(account_id:, account_note_id:, **options) ⇒ Resources::AccountNote

Fetch an account note

get_account_note api documentation

Examples:

begin
  note = @client.(
    account_id: ,
    account_note_id: note_id
  )
  puts "Got AccountNote #{note}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • account_note_id (String)

    Account Note ID.

  • params (Hash)

    Optional query string parameters:

Returns:



1197
1198
1199
1200
# File 'lib/recurly/client/operations.rb', line 1197

def (account_id:, account_note_id:, **options)
  path = interpolate_path("/accounts/{account_id}/notes/{account_note_id}", account_id: , account_note_id: )
  get(path, **options)
end

#get_add_on(add_on_id:, **options) ⇒ Resources::AddOn

Examples:

begin
  add_on = @client.get_add_on(add_on_id: add_on_id)
  puts "Got add-on #{add_on}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • add_on_id (String)

    Add-on ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-gold.

  • params (Hash)

    Optional query string parameters:

Returns:



3575
3576
3577
3578
# File 'lib/recurly/client/operations.rb', line 3575

def get_add_on(add_on_id:, **options)
  path = interpolate_path("/add_ons/{add_on_id}", add_on_id: add_on_id)
  get(path, **options)
end

#get_billing_info(account_id:, **options) ⇒ Resources::BillingInfo

Fetch an account’s billing information

get_billing_info api documentation

Examples:

begin
  billing = @client.get_billing_info(account_id: )
  puts "Got BillingInfo #{billing}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters:

Returns:



411
412
413
414
# File 'lib/recurly/client/operations.rb', line 411

def get_billing_info(account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/billing_info", account_id: )
  get(path, **options)
end

#get_business_entity(business_entity_id:, **options) ⇒ Resources::BusinessEntity

Fetch a business entity

get_business_entity api documentation

Parameters:

  • business_entity_id (String)

    Business Entity ID. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-entity1.

  • params (Hash)

    Optional query string parameters:

Returns:



4901
4902
4903
4904
# File 'lib/recurly/client/operations.rb', line 4901

def get_business_entity(business_entity_id:, **options)
  path = interpolate_path("/business_entities/{business_entity_id}", business_entity_id: business_entity_id)
  get(path, **options)
end

#get_coupon(coupon_id:, **options) ⇒ Resources::Coupon

Examples:

begin
  coupon = @client.get_coupon(coupon_id: coupon_id)
  puts "Got Coupon #{coupon}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • coupon_id (String)

    Coupon ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-10off.

  • params (Hash)

    Optional query string parameters:

Returns:



1692
1693
1694
1695
# File 'lib/recurly/client/operations.rb', line 1692

def get_coupon(coupon_id:, **options)
  path = interpolate_path("/coupons/{coupon_id}", coupon_id: coupon_id)
  get(path, **options)
end

#get_coupon_redemption(account_id:, coupon_redemption_id:, **options) ⇒ Resources::CouponRedemption

Show the coupon redemption

get_coupon_redemption api documentation

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • coupon_redemption_id (String)

    Coupon Redemption ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • params (Hash)

    Optional query string parameters:

Returns:



772
773
774
775
# File 'lib/recurly/client/operations.rb', line 772

def get_coupon_redemption(account_id:, coupon_redemption_id:, **options)
  path = interpolate_path("/accounts/{account_id}/coupon_redemptions/{coupon_redemption_id}", account_id: , coupon_redemption_id: coupon_redemption_id)
  get(path, **options)
end

#get_credit_payment(credit_payment_id:, **options) ⇒ Resources::CreditPayment

Fetch a credit payment

get_credit_payment api documentation

Parameters:

  • credit_payment_id (String)

    Credit Payment ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • params (Hash)

    Optional query string parameters:

Returns:



1873
1874
1875
1876
# File 'lib/recurly/client/operations.rb', line 1873

def get_credit_payment(credit_payment_id:, **options)
  path = interpolate_path("/credit_payments/{credit_payment_id}", credit_payment_id: credit_payment_id)
  get(path, **options)
end

#get_custom_field_definition(custom_field_definition_id:, **options) ⇒ Resources::CustomFieldDefinition

Fetch an custom field definition

get_custom_field_definition api documentation

Examples:

begin
  custom_field_definition = @client.get_custom_field_definition(
    custom_field_definition_id: custom_field_definition_id
  )
  puts "Got Custom Field Definition #{custom_field_definition}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • custom_field_definition_id (String)

    Custom Field Definition ID

  • params (Hash)

    Optional query string parameters:

Returns:



1944
1945
1946
1947
# File 'lib/recurly/client/operations.rb', line 1944

def get_custom_field_definition(custom_field_definition_id:, **options)
  path = interpolate_path("/custom_field_definitions/{custom_field_definition_id}", custom_field_definition_id: custom_field_definition_id)
  get(path, **options)
end

#get_dunning_campaign(dunning_campaign_id:, **options) ⇒ Resources::DunningCampaign

Fetch a dunning campaign

get_dunning_campaign api documentation

Parameters:

  • dunning_campaign_id (String)

    Dunning Campaign ID, e.g. e28zov4fw0v2.

  • params (Hash)

    Optional query string parameters:

Returns:



4736
4737
4738
4739
# File 'lib/recurly/client/operations.rb', line 4736

def get_dunning_campaign(dunning_campaign_id:, **options)
  path = interpolate_path("/dunning_campaigns/{dunning_campaign_id}", dunning_campaign_id: dunning_campaign_id)
  get(path, **options)
end

#get_export_dates(**options) ⇒ Resources::ExportDates

List the dates that have an available export to download.

get_export_dates api documentation

Examples:

begin
  export_dates = @client.get_export_dates()
  export_dates.dates.each do |date|
    puts "Exports are available for: #{date}"
  end
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • params (Hash)

    Optional query string parameters:

Returns:



4680
4681
4682
4683
# File 'lib/recurly/client/operations.rb', line 4680

def get_export_dates(**options)
  path = "/export_dates"
  get(path, **options)
end

#get_export_files(export_date:, **options) ⇒ Resources::ExportFiles

List of the export files that are available to download.

get_export_files api documentation

Examples:

begin
  export_files = @client.get_export_files(export_date: export_date)
  export_files.files.each do |file|
    puts "Export file download URL: #{file.href}"
  end
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • export_date (String)

    Date for which to get a list of available automated export files. Date must be in YYYY-MM-DD format.

  • params (Hash)

    Optional query string parameters:

Returns:



4705
4706
4707
4708
# File 'lib/recurly/client/operations.rb', line 4705

def get_export_files(export_date:, **options)
  path = interpolate_path("/export_dates/{export_date}/export_files", export_date: export_date)
  get(path, **options)
end

#get_external_product(external_product_id:, **options) ⇒ Resources::ExternalProduct

Fetch an external product

get_external_product api documentation

Parameters:

  • external_product_id (String)

    External product id

  • params (Hash)

    Optional query string parameters:

Returns:



2410
2411
2412
2413
# File 'lib/recurly/client/operations.rb', line 2410

def get_external_product(external_product_id:, **options)
  path = interpolate_path("/external_products/{external_product_id}", external_product_id: external_product_id)
  get(path, **options)
end

#get_external_product_external_product_reference(external_product_id:, external_product_reference_id:, **options) ⇒ Resources::ExternalProductReferenceMini

Parameters:

  • external_product_id (String)

    External product id

  • external_product_reference_id (String)

    External product reference ID, e.g. d39iun2fw1v4.

  • params (Hash)

    Optional query string parameters:

Returns:



2487
2488
2489
2490
# File 'lib/recurly/client/operations.rb', line 2487

def get_external_product_external_product_reference(external_product_id:, external_product_reference_id:, **options)
  path = interpolate_path("/external_products/{external_product_id}/external_product_references/{external_product_reference_id}", external_product_id: external_product_id, external_product_reference_id: external_product_reference_id)
  get(path, **options)
end

#get_external_subscription(external_subscription_id:, **options) ⇒ Resources::ExternalSubscription

Fetch an external subscription

get_external_subscription api documentation

Parameters:

  • external_subscription_id (String)

    External subscription ID, external_id or uuid. For ID no prefix is used e.g. e28zov4fw0v2. For external_id use prefix external-id-, e.g. external-id-123456 and for uuid use prefix uuid- e.g. uuid-7293239bae62777d8c1ae044a9843633.

  • params (Hash)

    Optional query string parameters:

Returns:



2547
2548
2549
2550
# File 'lib/recurly/client/operations.rb', line 2547

def get_external_subscription(external_subscription_id:, **options)
  path = interpolate_path("/external_subscriptions/{external_subscription_id}", external_subscription_id: external_subscription_id)
  get(path, **options)
end

#get_external_subscription_external_payment_phase(external_subscription_id:, external_payment_phase_id:, **options) ⇒ Resources::ExternalPaymentPhase

Parameters:

  • external_subscription_id (String)

    External subscription id

  • external_payment_phase_id (String)

    External payment phase ID, e.g. a34ypb2ef9w1.

  • params (Hash)

    Optional query string parameters:

Returns:



4850
4851
4852
4853
# File 'lib/recurly/client/operations.rb', line 4850

def get_external_subscription_external_payment_phase(external_subscription_id:, external_payment_phase_id:, **options)
  path = interpolate_path("/external_subscriptions/{external_subscription_id}/external_payment_phases/{external_payment_phase_id}", external_subscription_id: external_subscription_id, external_payment_phase_id: external_payment_phase_id)
  get(path, **options)
end

#get_general_ledger_account(general_ledger_account_id:, **options) ⇒ Resources::GeneralLedgerAccount

Fetch a general ledger account

get_general_ledger_account api documentation

Parameters:

  • general_ledger_account_id (String)

    General Ledger Account ID

  • params (Hash)

    Optional query string parameters:

Returns:



2004
2005
2006
2007
# File 'lib/recurly/client/operations.rb', line 2004

def (general_ledger_account_id:, **options)
  path = interpolate_path("/general_ledger_accounts/{general_ledger_account_id}", general_ledger_account_id: )
  get(path, **options)
end

#get_gift_card(gift_card_id:, **options) ⇒ Resources::GiftCard

Parameters:

  • gift_card_id (String)

    Gift Card ID, e.g. e28zov4fw0v2.

  • params (Hash)

    Optional query string parameters:

Returns:



4955
4956
4957
4958
# File 'lib/recurly/client/operations.rb', line 4955

def get_gift_card(gift_card_id:, **options)
  path = interpolate_path("/gift_cards/{gift_card_id}", gift_card_id: gift_card_id)
  get(path, **options)
end

#get_invoice(invoice_id:, **options) ⇒ Resources::Invoice

Examples:

begin
  invoice = @client.get_invoice(invoice_id: invoice_id)
  puts "Got invoice #{invoice}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • invoice_id (String)

    Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2. For number use prefix number-, e.g. number-1000. For number with prefix or country code, use number- and prefix, e.g. number-TEST-FR1001

  • params (Hash)

    Optional query string parameters:

Returns:



2672
2673
2674
2675
# File 'lib/recurly/client/operations.rb', line 2672

def get_invoice(invoice_id:, **options)
  path = interpolate_path("/invoices/{invoice_id}", invoice_id: invoice_id)
  get(path, **options)
end

#get_invoice_pdf(invoice_id:, **options) ⇒ Resources::BinaryFile

Fetch an invoice as a PDF

get_invoice_pdf api documentation

Examples:

begin
  invoice = @client.get_invoice_pdf(invoice_id: invoice_id)
  puts "Got invoice #{invoice}"
  filename = "#{download_directory}/rubyinvoice-#{invoice_id}.pdf"
  IO.write(filename, invoice.data)
  puts "Saved Invoice PDF to #{filename}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • invoice_id (String)

    Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2. For number use prefix number-, e.g. number-1000. For number with prefix or country code, use number- and prefix, e.g. number-TEST-FR1001

  • params (Hash)

    Optional query string parameters:

Returns:



2726
2727
2728
2729
# File 'lib/recurly/client/operations.rb', line 2726

def get_invoice_pdf(invoice_id:, **options)
  path = interpolate_path("/invoices/{invoice_id}.pdf", invoice_id: invoice_id)
  get(path, **options)
end

#get_invoice_template(invoice_template_id:, **options) ⇒ Resources::InvoiceTemplate

Fetch an invoice template

get_invoice_template api documentation

Parameters:

  • invoice_template_id (String)

    Invoice template ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters:

Returns:



4782
4783
4784
4785
# File 'lib/recurly/client/operations.rb', line 4782

def get_invoice_template(invoice_template_id:, **options)
  path = interpolate_path("/invoice_templates/{invoice_template_id}", invoice_template_id: invoice_template_id)
  get(path, **options)
end

#get_item(item_id:, **options) ⇒ Resources::Item

Examples:

begin
  item = @client.get_item(item_id: item_id)
  puts "Got Item #{item}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • item_id (String)

    Item ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-red.

  • params (Hash)

    Optional query string parameters:

Returns:



2193
2194
2195
2196
# File 'lib/recurly/client/operations.rb', line 2193

def get_item(item_id:, **options)
  path = interpolate_path("/items/{item_id}", item_id: item_id)
  get(path, **options)
end

#get_line_item(line_item_id:, **options) ⇒ Resources::LineItem

Examples:

begin
  line_item = @client.get_line_item(line_item_id: line_item_id)
  puts "Got LineItem #{line_item}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • line_item_id (String)

    Line Item ID.

  • params (Hash)

    Optional query string parameters:

Returns:



3109
3110
3111
3112
# File 'lib/recurly/client/operations.rb', line 3109

def get_line_item(line_item_id:, **options)
  path = interpolate_path("/line_items/{line_item_id}", line_item_id: line_item_id)
  get(path, **options)
end

#get_measured_unit(measured_unit_id:, **options) ⇒ Resources::MeasuredUnit

Fetch a measured unit

get_measured_unit api documentation

Parameters:

  • measured_unit_id (String)

    Measured unit ID or name. For ID no prefix is used e.g. e28zov4fw0v2. For name use prefix name-, e.g. name-Storage.

  • params (Hash)

    Optional query string parameters:

Returns:



2336
2337
2338
2339
# File 'lib/recurly/client/operations.rb', line 2336

def get_measured_unit(measured_unit_id:, **options)
  path = interpolate_path("/measured_units/{measured_unit_id}", measured_unit_id: measured_unit_id)
  get(path, **options)
end

#get_performance_obligation(performance_obligation_id:, **options) ⇒ Resources::PerformanceObligation

Get a single Performance Obligation.

get_performance_obligation api documentation

Parameters:

  • performance_obligation_id (String)

    Performance Obligation id.

  • params (Hash)

    Optional query string parameters:

Returns:



2033
2034
2035
2036
# File 'lib/recurly/client/operations.rb', line 2033

def get_performance_obligation(performance_obligation_id:, **options)
  path = interpolate_path("/performance_obligations/{performance_obligation_id}", performance_obligation_id: performance_obligation_id)
  get(path, **options)
end

#get_performance_obligations(**options) ⇒ Pager<Resources::PerformanceObligation>

Get a site’s Performance Obligations

get_performance_obligations api documentation

Parameters:

  • params (Hash)

    Optional query string parameters:

Returns:



2046
2047
2048
2049
# File 'lib/recurly/client/operations.rb', line 2046

def get_performance_obligations(**options)
  path = "/performance_obligations"
  pager(path, **options)
end

#get_plan(plan_id:, **options) ⇒ Resources::Plan

Examples:

begin
  plan = @client.get_plan(plan_id: plan_id)
  puts "Got plan #{plan}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • plan_id (String)

    Plan ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-gold.

  • params (Hash)

    Optional query string parameters:

Returns:



3243
3244
3245
3246
# File 'lib/recurly/client/operations.rb', line 3243

def get_plan(plan_id:, **options)
  path = interpolate_path("/plans/{plan_id}", plan_id: plan_id)
  get(path, **options)
end

#get_plan_add_on(plan_id:, add_on_id:, **options) ⇒ Resources::AddOn

Fetch a plan’s add-on

get_plan_add_on api documentation

Examples:

begin
  add_on = @client.get_plan_add_on(
    plan_id: plan_id, add_on_id: add_on_id
  )
  puts "Got plan add-on #{add_on}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • plan_id (String)

    Plan ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-gold.

  • add_on_id (String)

    Add-on ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-gold.

  • params (Hash)

    Optional query string parameters:

Returns:



3404
3405
3406
3407
# File 'lib/recurly/client/operations.rb', line 3404

def get_plan_add_on(plan_id:, add_on_id:, **options)
  path = interpolate_path("/plans/{plan_id}/add_ons/{add_on_id}", plan_id: plan_id, add_on_id: add_on_id)
  get(path, **options)
end

#get_preview_renewal(subscription_id:, **options) ⇒ Resources::InvoiceCollection

Fetch a preview of a subscription’s renewal invoice(s)

get_preview_renewal api documentation

Examples:

begin
  invoice_collection = @client.get_preview_renewal(
    subscription_id: subscription_id
  )
  puts "Fetched Renewal Preview with total: #{invoice_collection.charge_invoice.total}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • subscription_id (String)

    Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • params (Hash)

    Optional query string parameters:

Returns:



4000
4001
4002
4003
# File 'lib/recurly/client/operations.rb', line 4000

def get_preview_renewal(subscription_id:, **options)
  path = interpolate_path("/subscriptions/{subscription_id}/preview_renewal", subscription_id: subscription_id)
  get(path, **options)
end

#get_price_segment(price_segment_id:, **options) ⇒ Resources::PriceSegment

Fetch a price segment

get_price_segment api documentation

Parameters:

  • price_segment_id (String)

    The price segment ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-gold.

  • params (Hash)

    Optional query string parameters:

Returns:



3504
3505
3506
3507
# File 'lib/recurly/client/operations.rb', line 3504

def get_price_segment(price_segment_id:, **options)
  path = interpolate_path("/price_segments/{price_segment_id}", price_segment_id: price_segment_id)
  get(path, **options)
end

#get_shipping_address(account_id:, shipping_address_id:, **options) ⇒ Resources::ShippingAddress

Fetch an account’s shipping address

get_shipping_address api documentation

Examples:

begin
  address = @client.get_shipping_address(
    account_id: ,
    shipping_address_id: shipping_address_id
  )
  puts "Got ShippingAddress #{address}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • shipping_address_id (String)

    Shipping Address ID.

  • params (Hash)

    Optional query string parameters:

Returns:



1322
1323
1324
1325
# File 'lib/recurly/client/operations.rb', line 1322

def get_shipping_address(account_id:, shipping_address_id:, **options)
  path = interpolate_path("/accounts/{account_id}/shipping_addresses/{shipping_address_id}", account_id: , shipping_address_id: shipping_address_id)
  get(path, **options)
end

#get_shipping_method(shipping_method_id:, **options) ⇒ Resources::ShippingMethod

Fetch a shipping method

get_shipping_method api documentation

Parameters:

  • shipping_method_id (String)

    Shipping Method ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-usps_2-day.

  • params (Hash)

    Optional query string parameters:

Returns:



3650
3651
3652
3653
# File 'lib/recurly/client/operations.rb', line 3650

def get_shipping_method(shipping_method_id:, **options)
  path = interpolate_path("/shipping_methods/{shipping_method_id}", shipping_method_id: shipping_method_id)
  get(path, **options)
end

#get_site(site_id:, **options) ⇒ Resources::Site

Examples:

begin
  site = @client.get_site(site_id: site_id)
  puts "Got Site #{site}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • site_id (String)

    Site ID or subdomain. For ID no prefix is used e.g. e28zov4fw0v2. For subdomain use prefix subdomain-, e.g. subdomain-recurly.

  • params (Hash)

    Optional query string parameters:

Returns:



69
70
71
72
# File 'lib/recurly/client/operations.rb', line 69

def get_site(site_id:, **options)
  path = interpolate_path("/sites/{site_id}", site_id: site_id)
  get(path, **options)
end

#get_subscription(subscription_id:, **options) ⇒ Resources::Subscription

Fetch a subscription

get_subscription api documentation

Examples:

begin
  subscription = @client.get_subscription(
    subscription_id: subscription_id
  )
  puts "Got Subscription #{subscription}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • subscription_id (String)

    Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • params (Hash)

    Optional query string parameters:

Returns:



3788
3789
3790
3791
# File 'lib/recurly/client/operations.rb', line 3788

def get_subscription(subscription_id:, **options)
  path = interpolate_path("/subscriptions/{subscription_id}", subscription_id: subscription_id)
  get(path, **options)
end

#get_subscription_change(subscription_id:, **options) ⇒ Resources::SubscriptionChange

Fetch a subscription’s pending change

get_subscription_change api documentation

Examples:

begin
  change = @client.get_subscription_change(
    subscription_id: subscription_id
  )
  puts "Got SubscriptionChange #{change}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • subscription_id (String)

    Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • params (Hash)

    Optional query string parameters:

Returns:



4025
4026
4027
4028
# File 'lib/recurly/client/operations.rb', line 4025

def get_subscription_change(subscription_id:, **options)
  path = interpolate_path("/subscriptions/{subscription_id}/change", subscription_id: subscription_id)
  get(path, **options)
end

#get_subscription_coupon_redemption(subscription_id:, coupon_redemption_id:, **options) ⇒ Resources::CouponRedemption

Show the coupon redemption for a subscription

get_subscription_coupon_redemption api documentation

Parameters:

  • subscription_id (String)

    Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • coupon_redemption_id (String)

    Coupon Redemption ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • params (Hash)

    Optional query string parameters:

Returns:



4266
4267
4268
4269
# File 'lib/recurly/client/operations.rb', line 4266

def get_subscription_coupon_redemption(subscription_id:, coupon_redemption_id:, **options)
  path = interpolate_path("/subscriptions/{subscription_id}/coupon_redemptions/{coupon_redemption_id}", subscription_id: subscription_id, coupon_redemption_id: coupon_redemption_id)
  get(path, **options)
end

#get_transaction(transaction_id:, **options) ⇒ Resources::Transaction

Fetch a transaction

get_transaction api documentation

Examples:

begin
  transaction = @client.get_transaction(transaction_id: transaction_id)
  puts "Got Transaction #{transaction}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • transaction_id (String)

    Transaction ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • params (Hash)

    Optional query string parameters:

Returns:



4450
4451
4452
4453
# File 'lib/recurly/client/operations.rb', line 4450

def get_transaction(transaction_id:, **options)
  path = interpolate_path("/transactions/{transaction_id}", transaction_id: transaction_id)
  get(path, **options)
end

#get_unique_coupon_code(unique_coupon_code_id:, **options) ⇒ Resources::UniqueCouponCode

Fetch a unique coupon code

get_unique_coupon_code api documentation

Parameters:

  • unique_coupon_code_id (String)

    Unique Coupon Code ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-abc-8dh2-def.

  • params (Hash)

    Optional query string parameters:

Returns:



4464
4465
4466
4467
# File 'lib/recurly/client/operations.rb', line 4464

def get_unique_coupon_code(unique_coupon_code_id:, **options)
  path = interpolate_path("/unique_coupon_codes/{unique_coupon_code_id}", unique_coupon_code_id: unique_coupon_code_id)
  get(path, **options)
end

#get_usage(usage_id:, **options) ⇒ Resources::Usage

Get a usage record

get_usage api documentation

Parameters:

  • usage_id (String)

    Usage Record ID.

  • params (Hash)

    Optional query string parameters:

Returns:



4351
4352
4353
4354
# File 'lib/recurly/client/operations.rb', line 4351

def get_usage(usage_id:, **options)
  path = interpolate_path("/usage/{usage_id}", usage_id: usage_id)
  get(path, **options)
end

#list_account_acquisition(**options) ⇒ Pager<Resources::AccountAcquisition>

List a site’s account acquisition data

list_account_acquisition api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

Examples:

params = {
  limit: 200
}
acquisitions = @client.(params: params)
acquisitions.each do |acquisition|
  puts "AccountAcquisition: #{acquisition.cost}"
end

Parameters:

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



1588
1589
1590
1591
# File 'lib/recurly/client/operations.rb', line 1588

def (**options)
  path = "/acquisitions"
  pager(path, **options)
end

#list_account_coupon_redemptions(account_id:, **options) ⇒ Pager<Resources::CouponRedemption>

List the coupon redemptions for an account

list_account_coupon_redemptions api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :state [String] Filter by state.

Examples:

params = {
  limit: 200
}
redemptions = @client.(
  account_id: ,
  params: params
)
redemptions.each do |redemption|
  puts "CouponRedemption: #{redemption.id}"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



681
682
683
684
# File 'lib/recurly/client/operations.rb', line 681

def (account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/coupon_redemptions", account_id: )
  pager(path, **options)
end

#list_account_credit_payments(account_id:, **options) ⇒ Pager<Resources::CreditPayment>

List an account’s credit payments

list_account_credit_payments api documentation

order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

Examples:

params = {
  limit: 200
}
payments = @client.(
  account_id: ,
  params: params
)
payments.each do |payment|
  puts "CreditPayment: #{payment.id}"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters: :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You really only want to sort by updated_at in ascending

Returns:



824
825
826
827
# File 'lib/recurly/client/operations.rb', line 824

def (account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/credit_payments", account_id: )
  pager(path, **options)
end

#list_account_external_account(account_id:, **options) ⇒ Pager<Resources::ExternalAccount>

List external accounts for an account

list_account_external_account api documentation

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters:

Returns:



838
839
840
841
# File 'lib/recurly/client/operations.rb', line 838

def (account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/external_accounts", account_id: )
  pager(path, **options)
end

#list_account_external_invoices(account_id:, **options) ⇒ Pager<Resources::ExternalInvoice>

List the external invoices on an account

list_account_external_invoices api documentation

order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters: :sort [String] Sort field. You really only want to sort by updated_at in ascending

Returns:



919
920
921
922
# File 'lib/recurly/client/operations.rb', line 919

def (account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/external_invoices", account_id: )
  pager(path, **options)
end

#list_account_external_subscriptions(account_id:, **options) ⇒ Pager<Resources::ExternalSubscription>

List an account’s external subscriptions

list_account_external_subscriptions api documentation

order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters: :sort [String] Sort field. You really only want to sort by updated_at in ascending

Returns:



4887
4888
4889
4890
# File 'lib/recurly/client/operations.rb', line 4887

def (account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/external_subscriptions", account_id: )
  pager(path, **options)
end

#list_account_invoices(account_id:, **options) ⇒ Pager<Resources::Invoice>

List an account’s invoices

list_account_invoices api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :state [String] Invoice state.
     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :type [String] Filter by type when:
- +type=charge+, only charge invoices will be returned.
- +type=credit+, only credit invoices will be returned.
- +type=non-legacy+, only charge and credit invoices will be returned.
- +type=legacy+, only legacy invoices will be returned.

Examples:

params = {
  limit: 200
}
invoices = @client.(
  account_id: ,
  params: params
)
invoices.each do |invoice|
  puts "Invoice: #{invoice.number}"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



975
976
977
978
# File 'lib/recurly/client/operations.rb', line 975

def (account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/invoices", account_id: )
  pager(path, **options)
end

#list_account_line_items(account_id:, **options) ⇒ Pager<Resources::LineItem>

List an account’s line items

list_account_line_items api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :original [String] Filter by original field.
     :state [String] Filter by state field.
     :type [String] Filter by type field.

Examples:

params = {
  limit: 200
}
line_items = @client.(
  account_id: ,
  params: params
)
line_items.each do |line_item|
  puts "LineItem: #{line_item.id}"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



1089
1090
1091
1092
# File 'lib/recurly/client/operations.rb', line 1089

def (account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/line_items", account_id: )
  pager(path, **options)
end

#list_account_notes(account_id:, **options) ⇒ Pager<Resources::AccountNote>

List an account’s notes

list_account_notes api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

Examples:

params = {
  limit: 200
}
 = @client.(account_id: , params: params)
.each do |note|
  puts "AccountNote: #{note.message}"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



1155
1156
1157
1158
# File 'lib/recurly/client/operations.rb', line 1155

def (account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/notes", account_id: )
  pager(path, **options)
end

#list_account_subscriptions(account_id:, **options) ⇒ Pager<Resources::Subscription>

List an account’s subscriptions

list_account_subscriptions api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :state [String] Filter by state.

- When +state=active+, +state=canceled+, +state=expired+, or +state=future+, subscriptions with states that match the query and only those subscriptions will be returned.
- When +state=in_trial+, only subscriptions that have a trial_started_at date earlier than now and a trial_ends_at date later than now will be returned.
- When +state=live+, only subscriptions that are in an active, canceled, or future state or are in trial will be returned.

Examples:

params = {
  limit: 200
}
subscriptions = @client.(
  account_id: ,
  params: params
)
subscriptions.each do |subscription|
  puts "Subscription: #{subscription.uuid}"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



1438
1439
1440
1441
# File 'lib/recurly/client/operations.rb', line 1438

def (account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/subscriptions", account_id: )
  pager(path, **options)
end

#list_account_transactions(account_id:, **options) ⇒ Pager<Resources::Transaction>

List an account’s transactions

list_account_transactions api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :type [String] Filter by type field. The value +payment+ will return both +purchase+ and +capture+ transactions.
     :success [String] Filter by success field.

Examples:

params = {
  limit: 200
}
transactions = @client.(
  account_id: ,
  params: params
)
transactions.each do |transaction|
  puts "Transaction: #{transaction.uuid}"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



1489
1490
1491
1492
# File 'lib/recurly/client/operations.rb', line 1489

def (account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/transactions", account_id: )
  pager(path, **options)
end

#list_accounts(**options) ⇒ Pager<Resources::Account>

List a site’s accounts

list_accounts api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :email [String] Filter for accounts with this exact email address. A blank value will return accounts with both +null+ and +""+ email addresses. Note that multiple accounts can share one email address.
     :subscriber [Boolean] Filter for accounts with or without a subscription in the +active+,
+canceled+, or +future+ state.

     :past_due [String] Filter for accounts with an invoice in the +past_due+ state.

Examples:

params = {
  limit: 200
}
accounts = @client.list_accounts(params: params)
accounts.each do ||
  puts "Account: #{.code}"
end

Parameters:

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



119
120
121
122
# File 'lib/recurly/client/operations.rb', line 119

def list_accounts(**options)
  path = "/accounts"
  pager(path, **options)
end

#list_active_coupon_redemptions(account_id:, **options) ⇒ Pager<Resources::CouponRedemption>

List the coupon redemptions that are active on an account

list_active_coupon_redemptions api documentation

Examples:

params = {
  limit: 200
}
redemptions = @client.list_active_coupon_redemptions(account_id: , params: params)
redemptions.each do |redemption|
  puts "Redemption: #{redemption.id}"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters:

Returns:



703
704
705
706
# File 'lib/recurly/client/operations.rb', line 703

def list_active_coupon_redemptions(account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/coupon_redemptions/active", account_id: )
  pager(path, **options)
end

#list_add_ons(**options) ⇒ Pager<Resources::AddOn>

List a site’s add-ons

list_add_ons api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :state [String] Filter by state.

Examples:

params = {
  limit: 200
}
add_ons = @client.list_add_ons(
  params: params
)
add_ons.each do |add_on|
  puts "AddOn: #{add_on.code}"
end

Parameters:

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



3552
3553
3554
3555
# File 'lib/recurly/client/operations.rb', line 3552

def list_add_ons(**options)
  path = "/add_ons"
  pager(path, **options)
end

#list_billing_infos(account_id:, **options) ⇒ Pager<Resources::BillingInfo>

Get the list of billing information associated with an account

list_billing_infos api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



540
541
542
543
# File 'lib/recurly/client/operations.rb', line 540

def list_billing_infos(account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/billing_infos", account_id: )
  pager(path, **options)
end

#list_business_entities(**options) ⇒ Pager<Resources::BusinessEntity>

Parameters:

  • params (Hash)

    Optional query string parameters:

Returns:



4914
4915
4916
4917
# File 'lib/recurly/client/operations.rb', line 4914

def list_business_entities(**options)
  path = "/business_entities"
  pager(path, **options)
end

#list_business_entity_invoices(business_entity_id:, **options) ⇒ Pager<Resources::Invoice>

List a business entity’s invoices

list_business_entity_invoices api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :state [String] Invoice state.
     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :type [String] Filter by type when:
- +type=charge+, only charge invoices will be returned.
- +type=credit+, only credit invoices will be returned.
- +type=non-legacy+, only charge and credit invoices will be returned.
- +type=legacy+, only legacy invoices will be returned.

Parameters:

  • business_entity_id (String)

    Business Entity ID. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-entity1.

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



5029
5030
5031
5032
# File 'lib/recurly/client/operations.rb', line 5029

def list_business_entity_invoices(business_entity_id:, **options)
  path = interpolate_path("/business_entities/{business_entity_id}/invoices", business_entity_id: business_entity_id)
  pager(path, **options)
end

#list_child_accounts(account_id:, **options) ⇒ Pager<Resources::Account>

List an account’s child accounts

list_child_accounts api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :email [String] Filter for accounts with this exact email address. A blank value will return accounts with both +null+ and +""+ email addresses. Note that multiple accounts can share one email address.
     :subscriber [Boolean] Filter for accounts with or without a subscription in the +active+,
+canceled+, or +future+ state.

     :past_due [String] Filter for accounts with an invoice in the +past_due+ state.

Examples:

params = {
  limit: 200
}
child_accounts = @client.list_child_accounts(
  account_id: ,
  params: params
)
child_accounts.each do |child|
  puts "Account: #{child.code}"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



1543
1544
1545
1546
# File 'lib/recurly/client/operations.rb', line 1543

def list_child_accounts(account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/accounts", account_id: )
  pager(path, **options)
end

#list_coupons(**options) ⇒ Pager<Resources::Coupon>

List a site’s coupons

list_coupons api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

Examples:

params = {
  limit: 200
}
coupons = @client.list_coupons(params: params)
coupons.each do |coupon|
  puts "coupon: #{coupon.code}"
end

Parameters:

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



1633
1634
1635
1636
# File 'lib/recurly/client/operations.rb', line 1633

def list_coupons(**options)
  path = "/coupons"
  pager(path, **options)
end

#list_credit_payments(**options) ⇒ Pager<Resources::CreditPayment>

List a site’s credit payments

list_credit_payments api documentation

order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

Examples:

params = {
  limit: 200
}
payments = @client.list_credit_payments(params: params)
payments.each do |payment|
  puts "CreditPayment: #{payment.id}"
end

Parameters:

  • params (Hash)

    Optional query string parameters: :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You really only want to sort by updated_at in ascending

Returns:



1859
1860
1861
1862
# File 'lib/recurly/client/operations.rb', line 1859

def list_credit_payments(**options)
  path = "/credit_payments"
  pager(path, **options)
end

#list_custom_field_definitions(**options) ⇒ Pager<Resources::CustomFieldDefinition>

List a site’s custom field definitions

list_custom_field_definitions api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :related_type [String] Filter by related type.

Examples:

params = {
  limit: 200
}
custom_fields = @client.list_custom_field_definitions(params: params)
custom_fields.each do |field|
  puts "CustomFieldDefinition: #{field.name}"
end

Parameters:

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



1919
1920
1921
1922
# File 'lib/recurly/client/operations.rb', line 1919

def list_custom_field_definitions(**options)
  path = "/custom_field_definitions"
  pager(path, **options)
end

#list_dunning_campaigns(**options) ⇒ Pager<Resources::DunningCampaign>

List the dunning campaigns for a site

list_dunning_campaigns api documentation

order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

Parameters:

  • params (Hash)

    Optional query string parameters: :sort [String] Sort field. You really only want to sort by updated_at in ascending

Returns:



4722
4723
4724
4725
# File 'lib/recurly/client/operations.rb', line 4722

def list_dunning_campaigns(**options)
  path = "/dunning_campaigns"
  pager(path, **options)
end

#list_entitlements(account_id:, **options) ⇒ Pager<Resources::Entitlements>

List entitlements granted to an account

list_entitlements api documentation

- When +state=active+, +state=canceled+, +state=expired+, or +state=future+, subscriptions with states that match the query and only those subscriptions will be returned.
- When no state is provided, subscriptions with active or canceled states will be returned.

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters: :state [String] Filter the entitlements based on the state of the applicable subscription.

Returns:



4869
4870
4871
4872
# File 'lib/recurly/client/operations.rb', line 4869

def list_entitlements(account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/entitlements", account_id: )
  pager(path, **options)
end

#list_external_invoices(**options) ⇒ Pager<Resources::ExternalInvoice>

List the external invoices on a site

list_external_invoices api documentation

order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.

Parameters:

  • params (Hash)

    Optional query string parameters: :sort [String] Sort field. You really only want to sort by updated_at in ascending

Returns:



4801
4802
4803
4804
# File 'lib/recurly/client/operations.rb', line 4801

def list_external_invoices(**options)
  path = "/external_invoices"
  pager(path, **options)
end

#list_external_product_external_product_references(external_product_id:, **options) ⇒ Pager<Resources::ExternalProductReferenceCollection>

List the external product references for an external product

list_external_product_external_product_references api documentation

order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

Parameters:

  • external_product_id (String)

    External product id

  • params (Hash)

    Optional query string parameters: :sort [String] Sort field. You really only want to sort by updated_at in ascending

Returns:



2457
2458
2459
2460
# File 'lib/recurly/client/operations.rb', line 2457

def list_external_product_external_product_references(external_product_id:, **options)
  path = interpolate_path("/external_products/{external_product_id}/external_product_references", external_product_id: external_product_id)
  pager(path, **options)
end

#list_external_products(**options) ⇒ Pager<Resources::ExternalProduct>

List a site’s external products

list_external_products api documentation

order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

Parameters:

  • params (Hash)

    Optional query string parameters: :sort [String] Sort field. You really only want to sort by updated_at in ascending

Returns:



2382
2383
2384
2385
# File 'lib/recurly/client/operations.rb', line 2382

def list_external_products(**options)
  path = "/external_products"
  pager(path, **options)
end

#list_external_subscription_external_invoices(external_subscription_id:, **options) ⇒ Pager<Resources::ExternalInvoice>

List the external invoices on an external subscription

list_external_subscription_external_invoices api documentation

order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.

Parameters:

  • external_subscription_id (String)

    External subscription id

  • params (Hash)

    Optional query string parameters: :sort [String] Sort field. You really only want to sort by updated_at in ascending

Returns:



2582
2583
2584
2585
# File 'lib/recurly/client/operations.rb', line 2582

def list_external_subscription_external_invoices(external_subscription_id:, **options)
  path = interpolate_path("/external_subscriptions/{external_subscription_id}/external_invoices", external_subscription_id: external_subscription_id)
  pager(path, **options)
end

#list_external_subscription_external_payment_phases(external_subscription_id:, **options) ⇒ Pager<Resources::ExternalPaymentPhase>

List the external payment phases on an external subscription

list_external_subscription_external_payment_phases api documentation

order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.

Parameters:

  • external_subscription_id (String)

    External subscription id

  • params (Hash)

    Optional query string parameters: :sort [String] Sort field. You really only want to sort by updated_at in ascending

Returns:



4835
4836
4837
4838
# File 'lib/recurly/client/operations.rb', line 4835

def list_external_subscription_external_payment_phases(external_subscription_id:, **options)
  path = interpolate_path("/external_subscriptions/{external_subscription_id}/external_payment_phases", external_subscription_id: external_subscription_id)
  pager(path, **options)
end

#list_external_subscriptions(**options) ⇒ Pager<Resources::ExternalSubscription>

List the external subscriptions on a site

list_external_subscriptions api documentation

order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

Parameters:

  • params (Hash)

    Optional query string parameters: :sort [String] Sort field. You really only want to sort by updated_at in ascending

Returns:



2533
2534
2535
2536
# File 'lib/recurly/client/operations.rb', line 2533

def list_external_subscriptions(**options)
  path = "/external_subscriptions"
  pager(path, **options)
end

#list_general_ledger_accounts(**options) ⇒ Pager<Resources::GeneralLedgerAccount>

List a site’s general ledger accounts

list_general_ledger_accounts api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :account_type [String] General Ledger Account type by which to filter the response.

Parameters:

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



1990
1991
1992
1993
# File 'lib/recurly/client/operations.rb', line 1990

def list_general_ledger_accounts(**options)
  path = "/general_ledger_accounts"
  pager(path, **options)
end

#list_gift_cards(**options) ⇒ Pager<Resources::GiftCard>

Parameters:

  • params (Hash)

    Optional query string parameters:

Returns:



4927
4928
4929
4930
# File 'lib/recurly/client/operations.rb', line 4927

def list_gift_cards(**options)
  path = "/gift_cards"
  pager(path, **options)
end

#list_invoice_coupon_redemptions(invoice_id:, **options) ⇒ Pager<Resources::CouponRedemption>

List the coupon redemptions applied to an invoice

list_invoice_coupon_redemptions api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

Examples:

params = {
  limit: 200
}
coupon_redemptions = @client.list_invoice_coupon_redemptions(
  invoice_id: invoice_id,
  params: params
)
coupon_redemptions.each do |redemption|
  puts "CouponRedemption: #{redemption.id}"
end

Parameters:

  • invoice_id (String)

    Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2. For number use prefix number-, e.g. number-1000. For number with prefix or country code, use number- and prefix, e.g. number-TEST-FR1001

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



2980
2981
2982
2983
# File 'lib/recurly/client/operations.rb', line 2980

def list_invoice_coupon_redemptions(invoice_id:, **options)
  path = interpolate_path("/invoices/{invoice_id}/coupon_redemptions", invoice_id: invoice_id)
  pager(path, **options)
end

#list_invoice_line_items(invoice_id:, **options) ⇒ Pager<Resources::LineItem>

List an invoice’s line items

list_invoice_line_items api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :original [String] Filter by original field.
     :state [String] Filter by state field.
     :type [String] Filter by type field.

Examples:

params = {
  limit: 200
}
line_items = @client.list_invoice_line_items(
  invoice_id: invoice_id,
  params: params
)
line_items.each do |line_item|
  puts "Line Item: #{line_item.id}"
end

Parameters:

  • invoice_id (String)

    Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2. For number use prefix number-, e.g. number-1000. For number with prefix or country code, use number- and prefix, e.g. number-TEST-FR1001

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



2933
2934
2935
2936
# File 'lib/recurly/client/operations.rb', line 2933

def list_invoice_line_items(invoice_id:, **options)
  path = interpolate_path("/invoices/{invoice_id}/line_items", invoice_id: invoice_id)
  pager(path, **options)
end

#list_invoice_template_accounts(invoice_template_id:, **options) ⇒ Pager<Resources::Account>

List an invoice template’s associated accounts

list_invoice_template_accounts api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :email [String] Filter for accounts with this exact email address. A blank value will return accounts with both +null+ and +""+ email addresses. Note that multiple accounts can share one email address.
     :subscriber [Boolean] Filter for accounts with or without a subscription in the +active+,
+canceled+, or +future+ state.

     :past_due [String] Filter for accounts with an invoice in the +past_due+ state.

Parameters:

  • invoice_template_id (String)

    Invoice template ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



2089
2090
2091
2092
# File 'lib/recurly/client/operations.rb', line 2089

def list_invoice_template_accounts(invoice_template_id:, **options)
  path = interpolate_path("/invoice_templates/{invoice_template_id}/accounts", invoice_template_id: invoice_template_id)
  pager(path, **options)
end

#list_invoice_templates(**options) ⇒ Pager<Resources::InvoiceTemplate>

Show the invoice templates for a site

list_invoice_templates api documentation

order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

Parameters:

  • params (Hash)

    Optional query string parameters: :sort [String] Sort field. You really only want to sort by updated_at in ascending

Returns:



4768
4769
4770
4771
# File 'lib/recurly/client/operations.rb', line 4768

def list_invoice_templates(**options)
  path = "/invoice_templates"
  pager(path, **options)
end

#list_invoices(**options) ⇒ Pager<Resources::Invoice>

List a site’s invoices

list_invoices api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :state [String] Invoice state.
     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :type [String] Filter by type when:
- +type=charge+, only charge invoices will be returned.
- +type=credit+, only credit invoices will be returned.
- +type=non-legacy+, only charge and credit invoices will be returned.
- +type=legacy+, only legacy invoices will be returned.

Examples:

params = {
  limit: 200
}
invoices = @client.list_invoices(params: params)
invoices.each do |invoice|
  puts "Invoice: #{invoice.number}"
end

Parameters:

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



2649
2650
2651
2652
# File 'lib/recurly/client/operations.rb', line 2649

def list_invoices(**options)
  path = "/invoices"
  pager(path, **options)
end

#list_items(**options) ⇒ Pager<Resources::Item>

List a site’s items

list_items api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :state [String] Filter by state.

Examples:

params = {
  limit: 200
}
items = @client.list_items(params: params)
items.each do |item|
  puts "Item: #{item.code}"
end

Parameters:

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



2135
2136
2137
2138
# File 'lib/recurly/client/operations.rb', line 2135

def list_items(**options)
  path = "/items"
  pager(path, **options)
end

#list_line_items(**options) ⇒ Pager<Resources::LineItem>

List a site’s line items

list_line_items api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :original [String] Filter by original field.
     :state [String] Filter by state field.
     :type [String] Filter by type field.

Examples:

params = {
  limit: 200
}
line_items = @client.list_line_items(
  params: params
)
line_items.each do |line_item|
  puts "LineItem: #{line_item.id}"
end

Parameters:

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



3086
3087
3088
3089
# File 'lib/recurly/client/operations.rb', line 3086

def list_line_items(**options)
  path = "/line_items"
  pager(path, **options)
end

#list_measured_unit(**options) ⇒ Pager<Resources::MeasuredUnit>

List a site’s measured units

list_measured_unit api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :state [String] Filter by state.

Parameters:

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



2308
2309
2310
2311
# File 'lib/recurly/client/operations.rb', line 2308

def list_measured_unit(**options)
  path = "/measured_units"
  pager(path, **options)
end

#list_plan_add_ons(plan_id:, **options) ⇒ Pager<Resources::AddOn>

List a plan’s add-ons

list_plan_add_ons api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :state [String] Filter by state.

Examples:

params = {
  limit: 200
}
add_ons = @client.list_plan_add_ons(
  plan_id: plan_id,
  params: params
)
add_ons.each do |add_on|
  puts "AddOn: #{add_on.code}"
end

Parameters:

  • plan_id (String)

    Plan ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-gold.

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



3343
3344
3345
3346
# File 'lib/recurly/client/operations.rb', line 3343

def list_plan_add_ons(plan_id:, **options)
  path = interpolate_path("/plans/{plan_id}/add_ons", plan_id: plan_id)
  pager(path, **options)
end

#list_plans(**options) ⇒ Pager<Resources::Plan>

List a site’s plans

list_plans api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :state [String] Filter by state.

Examples:

params = {
  limit: 200
}
plans = @client.list_plans(params: params)
plans.each do |plan|
  puts "Plan: #{plan.code}"
end

Parameters:

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



3180
3181
3182
3183
# File 'lib/recurly/client/operations.rb', line 3180

def list_plans(**options)
  path = "/plans"
  pager(path, **options)
end

#list_price_segments(**options) ⇒ Pager<Resources::PriceSegment>

List a site’s price segments

list_price_segments api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.

Parameters:

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



3490
3491
3492
3493
# File 'lib/recurly/client/operations.rb', line 3490

def list_price_segments(**options)
  path = "/price_segments"
  pager(path, **options)
end

List an invoice’s related credit or charge invoices

list_related_invoices api documentation

Examples:

params = {
  limit: 200
}
invoices = @client.list_related_invoices(
  invoice_id: invoice_id,
  params: params
)
invoices.each do |invoice|
  puts "Invoice: #{invoice.number}"
end

Parameters:

  • invoice_id (String)

    Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2. For number use prefix number-, e.g. number-1000. For number with prefix or country code, use number- and prefix, e.g. number-TEST-FR1001

  • params (Hash)

    Optional query string parameters:

Returns:



3005
3006
3007
3008
# File 'lib/recurly/client/operations.rb', line 3005

def list_related_invoices(invoice_id:, **options)
  path = interpolate_path("/invoices/{invoice_id}/related_invoices", invoice_id: invoice_id)
  pager(path, **options)
end

#list_shipping_addresses(account_id:, **options) ⇒ Pager<Resources::ShippingAddress>

Fetch a list of an account’s shipping addresses

list_shipping_addresses api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

Examples:

params = {
  limit: 200
}
shipping_addresses = @client.list_shipping_addresses(
  account_id: ,
  params: params
)
shipping_addresses.each do |addr|
  puts "ShippingAddress: #{addr.nickname} - #{addr.street1}"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



1261
1262
1263
1264
# File 'lib/recurly/client/operations.rb', line 1261

def list_shipping_addresses(account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/shipping_addresses", account_id: )
  pager(path, **options)
end

#list_shipping_methods(**options) ⇒ Pager<Resources::ShippingMethod>

List a site’s shipping methods

list_shipping_methods api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

Examples:

params = {
  limit: 200
}
shipping_methods = @client.list_shipping_methods(
  params: params
)
shipping_methods.each do |shipping_method|
  puts "Shipping Method: #{shipping_method.code}"
end

Parameters:

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



3622
3623
3624
3625
# File 'lib/recurly/client/operations.rb', line 3622

def list_shipping_methods(**options)
  path = "/shipping_methods"
  pager(path, **options)
end

#list_sites(**options) ⇒ Pager<Resources::Site>

List sites

list_sites api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :state [String] Filter by state.

Examples:

params = {
  limit: 200
}
sites = @client.list_sites(params: params)
sites.each do |site|
  puts "Site: #{site.subdomain}"
end

Parameters:

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



46
47
48
49
# File 'lib/recurly/client/operations.rb', line 46

def list_sites(**options)
  path = "/sites"
  pager(path, **options)
end

#list_subscription_coupon_redemptions(subscription_id:, **options) ⇒ Pager<Resources::CouponRedemption>

List the coupon redemptions for a subscription

list_subscription_coupon_redemptions api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

Examples:

params = {
  limit: 200
}
coupon_redemptions = @client.list_subscription_coupon_redemptions(
  subscription_id: subscription_id,
  params: params
)
coupon_redemptions.each do |redemption|
  puts "CouponRedemption: #{redemption.id}"
end

Parameters:

  • subscription_id (String)

    Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



4251
4252
4253
4254
# File 'lib/recurly/client/operations.rb', line 4251

def list_subscription_coupon_redemptions(subscription_id:, **options)
  path = interpolate_path("/subscriptions/{subscription_id}/coupon_redemptions", subscription_id: subscription_id)
  pager(path, **options)
end

#list_subscription_invoices(subscription_id:, **options) ⇒ Pager<Resources::Invoice>

List a subscription’s invoices

list_subscription_invoices api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :state [String] Invoice state.
     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :type [String] Filter by type when:
- +type=charge+, only charge invoices will be returned.
- +type=credit+, only credit invoices will be returned.
- +type=non-legacy+, only charge and credit invoices will be returned.
- +type=legacy+, only legacy invoices will be returned.

Examples:

params = {
  limit: 200
}
invoices = @client.list_subscription_invoices(
  subscription_id: subscription_id,
  params: params
)
invoices.each do |invoice|
  puts "Invoice: #{invoice.number}"
end

Parameters:

  • subscription_id (String)

    Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



4152
4153
4154
4155
# File 'lib/recurly/client/operations.rb', line 4152

def list_subscription_invoices(subscription_id:, **options)
  path = interpolate_path("/subscriptions/{subscription_id}/invoices", subscription_id: subscription_id)
  pager(path, **options)
end

#list_subscription_line_items(subscription_id:, **options) ⇒ Pager<Resources::LineItem>

List a subscription’s line items

list_subscription_line_items api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :original [String] Filter by original field.
     :state [String] Filter by state field.
     :type [String] Filter by type field.

Examples:

params = {
  limit: 200
}
line_items = @client.list_subscription_line_items(
  subscription_id: subscription_id,
  params: params
)
line_items.each do |line_item|
  puts "LineItem: #{line_item.id}"
end

Parameters:

  • subscription_id (String)

    Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



4204
4205
4206
4207
# File 'lib/recurly/client/operations.rb', line 4204

def list_subscription_line_items(subscription_id:, **options)
  path = interpolate_path("/subscriptions/{subscription_id}/line_items", subscription_id: subscription_id)
  pager(path, **options)
end

#list_subscriptions(**options) ⇒ Pager<Resources::Subscription>

List a site’s subscriptions

list_subscriptions api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :state [String] Filter by state.

- When +state=active+, +state=canceled+, +state=expired+, or +state=future+, subscriptions with states that match the query and only those subscriptions will be returned.
- When +state=in_trial+, only subscriptions that have a trial_started_at date earlier than now and a trial_ends_at date later than now will be returned.
- When +state=live+, only subscriptions that are in an active, canceled, or future state or are in trial will be returned.

Examples:

params = {
  limit: 200
}
subscriptions = @client.list_subscriptions(params: params)
subscriptions.each do |subscription|
  puts "Subscription: #{subscription.uuid}"
end

Parameters:

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



3730
3731
3732
3733
# File 'lib/recurly/client/operations.rb', line 3730

def list_subscriptions(**options)
  path = "/subscriptions"
  pager(path, **options)
end

#list_transactions(**options) ⇒ Pager<Resources::Transaction>

List a site’s transactions

list_transactions api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :type [String] Filter by type field. The value +payment+ will return both +purchase+ and +capture+ transactions.
     :success [String] Filter by success field.

Examples:

params = {
  limit: 200
}
transactions = @client.list_transactions(params: params)
transactions.each do |transaction|
  puts "Transaction: #{transaction.uuid}"
end

Parameters:

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



4427
4428
4429
4430
# File 'lib/recurly/client/operations.rb', line 4427

def list_transactions(**options)
  path = "/transactions"
  pager(path, **options)
end

#list_unique_coupon_codes(coupon_id:, **options) ⇒ Pager<Resources::UniqueCouponCode>

List unique coupon codes associated with a bulk coupon

list_unique_coupon_codes api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :redeemed [String] Filter unique coupon codes by redemption status. +true+ for redeemed, +false+ for not redeemed.

Parameters:

  • coupon_id (String)

    Coupon ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-10off.

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



1826
1827
1828
1829
# File 'lib/recurly/client/operations.rb', line 1826

def list_unique_coupon_codes(coupon_id:, **options)
  path = interpolate_path("/coupons/{coupon_id}/unique_coupon_codes", coupon_id: coupon_id)
  pager(path, **options)
end

#list_usage(subscription_id:, add_on_id:, **options) ⇒ Pager<Resources::Usage>

List a subscription add-on’s usage records

list_usage api documentation

commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.

*Important notes:*

* The +ids+ parameter cannot be used with any other ordering or filtering
  parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
* Invalid or unknown IDs will be ignored, so you should check that the
  results correspond to your request.
* Records are returned in an arbitrary order. Since results are all
  returned at once you can sort the records yourself.

     :limit [Integer] Limit number of records 1-200.
     :order [String] Sort order.
     :sort [String] Sort field. You *really* only want to sort by +usage_timestamp+ in ascending
order. In descending order updated records will move behind the cursor and could
prevent some records from being returned.

     :begin_time [DateTime] Inclusively filter by begin_time when +sort=usage_timestamp+ or +sort=recorded_timestamp+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :end_time [DateTime] Inclusively filter by end_time when +sort=usage_timestamp+ or +sort=recorded_timestamp+.
*Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.

     :billing_status [String] Filter by usage record's billing status

Parameters:

  • subscription_id (String)

    Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • add_on_id (String)

    Add-on ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-gold.

  • params (Hash)

    Optional query string parameters: :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using

Returns:



4321
4322
4323
4324
# File 'lib/recurly/client/operations.rb', line 4321

def list_usage(subscription_id:, add_on_id:, **options)
  path = interpolate_path("/subscriptions/{subscription_id}/add_ons/{add_on_id}/usage", subscription_id: subscription_id, add_on_id: add_on_id)
  pager(path, **options)
end

#mark_invoice_failed(invoice_id:, **options) ⇒ Resources::Invoice

Mark an open invoice as failed

mark_invoice_failed api documentation

Examples:

begin
  invoice = @client.mark_invoice_failed(invoice_id: invoice_id)
  puts "Failed invoice #{invoice}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • invoice_id (String)

    Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2. For number use prefix number-, e.g. number-1000. For number with prefix or country code, use number- and prefix, e.g. number-TEST-FR1001

  • params (Hash)

    Optional query string parameters:

Returns:



2797
2798
2799
2800
# File 'lib/recurly/client/operations.rb', line 2797

def mark_invoice_failed(invoice_id:, **options)
  path = interpolate_path("/invoices/{invoice_id}/mark_failed", invoice_id: invoice_id)
  put(path, **options)
end

#mark_invoice_successful(invoice_id:, **options) ⇒ Resources::Invoice

Mark an open invoice as successful

mark_invoice_successful api documentation

Examples:

begin
  invoice = @client.mark_invoice_successful(invoice_id: invoice_id)
  puts "Marked invoice sucessful #{invoice}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • invoice_id (String)

    Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2. For number use prefix number-, e.g. number-1000. For number with prefix or country code, use number- and prefix, e.g. number-TEST-FR1001

  • params (Hash)

    Optional query string parameters:

Returns:



2820
2821
2822
2823
# File 'lib/recurly/client/operations.rb', line 2820

def mark_invoice_successful(invoice_id:, **options)
  path = interpolate_path("/invoices/{invoice_id}/mark_successful", invoice_id: invoice_id)
  put(path, **options)
end

#pause_subscription(subscription_id:, body:, **options) ⇒ Resources::Subscription

Examples:

begin
  subscription_pause = {
    remaining_pause_cycles: 10
  }
  subscription = @client.pause_subscription(
    subscription_id: subscription_id,
    body: subscription_pause
  )
  puts "Paused Subscription #{subscription}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • subscription_id (String)

    Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • body (Requests::SubscriptionPause)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::SubscriptionPause

  • params (Hash)

    Optional query string parameters:

Returns:



3936
3937
3938
3939
# File 'lib/recurly/client/operations.rb', line 3936

def pause_subscription(subscription_id:, body:, **options)
  path = interpolate_path("/subscriptions/{subscription_id}/pause", subscription_id: subscription_id)
  put(path, body, Requests::SubscriptionPause, **options)
end

#preview_gift_card(body:, **options) ⇒ Resources::GiftCard

Parameters:

Returns:



4969
4970
4971
4972
# File 'lib/recurly/client/operations.rb', line 4969

def preview_gift_card(body:, **options)
  path = "/gift_cards/preview"
  post(path, body, Requests::GiftCardCreate, **options)
end

#preview_invoice(account_id:, body:, **options) ⇒ Resources::InvoiceCollection

Preview new invoice for pending line items

preview_invoice api documentation

Examples:

begin
  invoice_preview = {
    currency: "USD",
    collection_method: "automatic"
  }
  collection = @client.create_invoice(
    account_id: ,
    body: invoice_preview
  )
  puts "Created InvoiceCollection #{collection}"
rescue Recurly::Errors::ValidationError => e
  # If the request was invalid, you may want to tell your user
  # why. You can find the invalid params and reasons in e.recurly_error.params
  puts "ValidationError: #{e.recurly_error.params}"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • body (Requests::InvoiceCreate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::InvoiceCreate

  • params (Hash)

    Optional query string parameters:

Returns:



1037
1038
1039
1040
# File 'lib/recurly/client/operations.rb', line 1037

def preview_invoice(account_id:, body:, **options)
  path = interpolate_path("/accounts/{account_id}/invoices/preview", account_id: )
  post(path, body, Requests::InvoiceCreate, **options)
end

#preview_purchase(body:, **options) ⇒ Resources::InvoiceCollection

Preview a new purchase

preview_purchase api documentation

Examples:

begin
  purchase = {
    currency: "USD",
    account: {
      code: ,
      first_name: "Benjamin",
      last_name: "Du Monde",
      billing_info: {
        token_id: rjs_token_id
      },
    },
    subscriptions: [
      { plan_code: plan_code }
    ]
  }
  invoice_collection = @client.preview_purchase(
    body: purchase
  )
  puts "Preview Charge Invoice #{invoice_collection.charge_invoice}"
  puts "Preview Credit Invoices #{invoice_collection.credit_invoices}"
rescue Recurly::Errors::ValidationError => e
  # If the request was invalid, you may want to tell your user
  # why. You can find the invalid params and reasons in e.recurly_error.params
  puts "ValidationError: #{e.recurly_error.params}"
end

Parameters:

Returns:



4572
4573
4574
4575
# File 'lib/recurly/client/operations.rb', line 4572

def preview_purchase(body:, **options)
  path = "/purchases/preview"
  post(path, body, Requests::PurchaseCreate, **options)
end

#preview_subscription_change(subscription_id:, body:, **options) ⇒ Resources::SubscriptionChange

Preview a new subscription change

preview_subscription_change api documentation

Parameters:

  • subscription_id (String)

    Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • body (Requests::SubscriptionChangeCreate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::SubscriptionChangeCreate

  • params (Hash)

    Optional query string parameters:

Returns:



4096
4097
4098
4099
# File 'lib/recurly/client/operations.rb', line 4096

def preview_subscription_change(subscription_id:, body:, **options)
  path = interpolate_path("/subscriptions/{subscription_id}/change/preview", subscription_id: subscription_id)
  post(path, body, Requests::SubscriptionChangeCreate, **options)
end

#put_dunning_campaign_bulk_update(dunning_campaign_id:, body:, **options) ⇒ Resources::DunningCampaignsBulkUpdateResponse

Assign a dunning campaign to multiple plans

put_dunning_campaign_bulk_update api documentation

Parameters:

Returns:



4751
4752
4753
4754
# File 'lib/recurly/client/operations.rb', line 4751

def put_dunning_campaign_bulk_update(dunning_campaign_id:, body:, **options)
  path = interpolate_path("/dunning_campaigns/{dunning_campaign_id}/bulk_update", dunning_campaign_id: dunning_campaign_id)
  put(path, body, Requests::DunningCampaignsBulkUpdate, **options)
end

#put_external_subscription(external_subscription_id:, **options) ⇒ Resources::ExternalSubscription

Update an external subscription

put_external_subscription api documentation

Parameters:

  • external_subscription_id (String)

    External subscription id

  • params (Hash)

    Optional query string parameters: :body [Requests::ExternalSubscriptionUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::ExternalSubscriptionUpdate

Returns:



2562
2563
2564
2565
# File 'lib/recurly/client/operations.rb', line 2562

def put_external_subscription(external_subscription_id:, **options)
  path = interpolate_path("/external_subscriptions/{external_subscription_id}", external_subscription_id: external_subscription_id)
  put(path, options[:body], Requests::ExternalSubscriptionUpdate, **options)
end

#reactivate_account(account_id:, **options) ⇒ Resources::Account

Reactivate an inactive account

reactivate_account api documentation

Examples:

begin
   = @client.(account_id: )
  puts "Reactivated account #{}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters:

Returns:



365
366
367
368
# File 'lib/recurly/client/operations.rb', line 365

def (account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/reactivate", account_id: )
  put(path, **options)
end

#reactivate_item(item_id:, **options) ⇒ Resources::Item

Reactivate an inactive item

reactivate_item api documentation

Examples:

begin
  item = @client.reactivate_item(item_id: item_id)
  puts "Reactivated Item #{item}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • item_id (String)

    Item ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-red.

  • params (Hash)

    Optional query string parameters:

Returns:



2270
2271
2272
2273
# File 'lib/recurly/client/operations.rb', line 2270

def reactivate_item(item_id:, **options)
  path = interpolate_path("/items/{item_id}/reactivate", item_id: item_id)
  put(path, **options)
end

#reactivate_subscription(subscription_id:, **options) ⇒ Resources::Subscription

Reactivate a canceled subscription

reactivate_subscription api documentation

Examples:

begin
  subscription = @client.reactivate_subscription(
    subscription_id: subscription_id
  )
  puts "Reactivated Canceled Subscription #{subscription}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • subscription_id (String)

    Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • params (Hash)

    Optional query string parameters:

Returns:



3906
3907
3908
3909
# File 'lib/recurly/client/operations.rb', line 3906

def reactivate_subscription(subscription_id:, **options)
  path = interpolate_path("/subscriptions/{subscription_id}/reactivate", subscription_id: subscription_id)
  put(path, **options)
end

#reactivate_unique_coupon_code(unique_coupon_code_id:, **options) ⇒ Resources::UniqueCouponCode

Parameters:

  • unique_coupon_code_id (String)

    Unique Coupon Code ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-abc-8dh2-def.

  • params (Hash)

    Optional query string parameters:

Returns:



4492
4493
4494
4495
# File 'lib/recurly/client/operations.rb', line 4492

def reactivate_unique_coupon_code(unique_coupon_code_id:, **options)
  path = interpolate_path("/unique_coupon_codes/{unique_coupon_code_id}/restore", unique_coupon_code_id: unique_coupon_code_id)
  put(path, **options)
end

#record_external_transaction(invoice_id:, body:, **options) ⇒ Resources::Transaction

Record an external payment for a manual invoices.

record_external_transaction api documentation

Parameters:

  • invoice_id (String)

    Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2. For number use prefix number-, e.g. number-1000. For number with prefix or country code, use number- and prefix, e.g. number-TEST-FR1001

  • body (Requests::ExternalTransaction)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::ExternalTransaction

  • params (Hash)

    Optional query string parameters:

Returns:



2881
2882
2883
2884
# File 'lib/recurly/client/operations.rb', line 2881

def record_external_transaction(invoice_id:, body:, **options)
  path = interpolate_path("/invoices/{invoice_id}/transactions", invoice_id: invoice_id)
  post(path, body, Requests::ExternalTransaction, **options)
end

#redact_account(account_id:, **options) ⇒ Resources::Account

Redact an account (GDPR Right to Erasure)

redact_account api documentation

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters:

Returns:

  • (Resources::Account)

    Account has been accepted for redaction and will be processed asynchronously.



260
261
262
263
# File 'lib/recurly/client/operations.rb', line 260

def (account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/redact", account_id: )
  put(path, **options)
end

#redeem_gift_card(redemption_code:, body:, **options) ⇒ Resources::GiftCard

Parameters:

  • redemption_code (String)

    Gift Card redemption code, e.g., N1A2T8IRXSCMO40V.

  • body (Requests::GiftCardRedeem)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::GiftCardRedeem

  • params (Hash)

    Optional query string parameters:

Returns:



4984
4985
4986
4987
# File 'lib/recurly/client/operations.rb', line 4984

def redeem_gift_card(redemption_code:, body:, **options)
  path = interpolate_path("/gift_cards/{redemption_code}/redeem", redemption_code: redemption_code)
  post(path, body, Requests::GiftCardRedeem, **options)
end

#refund_invoice(invoice_id:, body:, **options) ⇒ Resources::Invoice

Examples:

begin
  invoice_refund = {
    type: "amount",
    amount: 100,
  }
  invoice = @client.refund_invoice(
    invoice_id: invoice_id,
    body: invoice_refund
  )
  puts "Refunded invoice #{invoice}"
rescue Recurly::Errors::ValidationError => e
  # If the request was invalid, you may want to tell your user
  # why. You can find the invalid params and reasons in e.recurly_error.params
  puts "ValidationError: #{e.recurly_error.params}"
end

Parameters:

  • invoice_id (String)

    Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2. For number use prefix number-, e.g. number-1000. For number with prefix or country code, use number- and prefix, e.g. number-TEST-FR1001

  • body (Requests::InvoiceRefund)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::InvoiceRefund

  • params (Hash)

    Optional query string parameters:

Returns:



3036
3037
3038
3039
# File 'lib/recurly/client/operations.rb', line 3036

def refund_invoice(invoice_id:, body:, **options)
  path = interpolate_path("/invoices/{invoice_id}/refund", invoice_id: invoice_id)
  post(path, body, Requests::InvoiceRefund, **options)
end

#remove_a_billing_info(account_id:, billing_info_id:, **options) ⇒ Resources::Empty

Remove an account’s billing information

remove_a_billing_info api documentation

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • billing_info_id (String)

    Billing Info ID. Can ONLY be used for sites utilizing the Wallet feature.

  • params (Hash)

    Optional query string parameters:

Returns:



601
602
603
604
# File 'lib/recurly/client/operations.rb', line 601

def remove_a_billing_info(account_id:, billing_info_id:, **options)
  path = interpolate_path("/accounts/{account_id}/billing_infos/{billing_info_id}", account_id: , billing_info_id: billing_info_id)
  delete(path, **options)
end

#remove_account_acquisition(account_id:, **options) ⇒ Resources::Empty

Remove an account’s acquisition data

remove_account_acquisition api documentation

Examples:

begin
  acquisition = @client.(account_id: )
  puts "Removed AccountAcqusition #{acquisition}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters:

Returns:



342
343
344
345
# File 'lib/recurly/client/operations.rb', line 342

def (account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/acquisition", account_id: )
  delete(path, **options)
end

#remove_account_note(account_id:, account_note_id:, **options) ⇒ Resources::Empty

Delete an account note

remove_account_note api documentation

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • account_note_id (String)

    Account Note ID.

  • params (Hash)

    Optional query string parameters:

Returns:



1212
1213
1214
1215
# File 'lib/recurly/client/operations.rb', line 1212

def (account_id:, account_note_id:, **options)
  path = interpolate_path("/accounts/{account_id}/notes/{account_note_id}", account_id: , account_note_id: )
  delete(path, **options)
end

#remove_billing_info(account_id:, **options) ⇒ Resources::Empty

Remove an account’s billing information

remove_billing_info api documentation

Examples:

begin
  @client.remove_billing_info(account_id: )
  puts "Removed BillingInfo #{}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters:

Returns:



465
466
467
468
# File 'lib/recurly/client/operations.rb', line 465

def remove_billing_info(account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/billing_info", account_id: )
  delete(path, **options)
end

#remove_coupon_redemption(account_id:, **options) ⇒ Resources::CouponRedemption

Delete the active coupon redemption from an account

remove_coupon_redemption api documentation

Examples:

begin
  @client.remove_coupon_redemption(account_id: )
  puts "Removed CouponRedemption #{}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters:

Returns:



757
758
759
760
# File 'lib/recurly/client/operations.rb', line 757

def remove_coupon_redemption(account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/coupon_redemptions/active", account_id: )
  delete(path, **options)
end

#remove_coupon_redemption_by_id(account_id:, coupon_redemption_id:, **options) ⇒ Resources::CouponRedemption

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • coupon_redemption_id (String)

    Coupon Redemption ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • params (Hash)

    Optional query string parameters:

Returns:



787
788
789
790
# File 'lib/recurly/client/operations.rb', line 787

def remove_coupon_redemption_by_id(account_id:, coupon_redemption_id:, **options)
  path = interpolate_path("/accounts/{account_id}/coupon_redemptions/{coupon_redemption_id}", account_id: , coupon_redemption_id: coupon_redemption_id)
  delete(path, **options)
end

#remove_line_item(line_item_id:, **options) ⇒ Resources::Empty

Delete an uninvoiced line item

remove_line_item api documentation

Examples:

begin
  @client.remove_line_item(
    line_item_id: line_item_id
  )
  puts "Removed LineItem #{line_item_id}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • line_item_id (String)

    Line Item ID.

  • params (Hash)

    Optional query string parameters:

Returns:



3134
3135
3136
3137
# File 'lib/recurly/client/operations.rb', line 3134

def remove_line_item(line_item_id:, **options)
  path = interpolate_path("/line_items/{line_item_id}", line_item_id: line_item_id)
  delete(path, **options)
end

#remove_measured_unit(measured_unit_id:, **options) ⇒ Resources::MeasuredUnit

Parameters:

  • measured_unit_id (String)

    Measured unit ID or name. For ID no prefix is used e.g. e28zov4fw0v2. For name use prefix name-, e.g. name-Storage.

  • params (Hash)

    Optional query string parameters:

Returns:



2365
2366
2367
2368
# File 'lib/recurly/client/operations.rb', line 2365

def remove_measured_unit(measured_unit_id:, **options)
  path = interpolate_path("/measured_units/{measured_unit_id}", measured_unit_id: measured_unit_id)
  delete(path, **options)
end

#remove_plan(plan_id:, **options) ⇒ Resources::Plan

Examples:

begin
  plan = @client.remove_plan(plan_id: plan_id)
  puts "Removed plan #{plan}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • plan_id (String)

    Plan ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-gold.

  • params (Hash)

    Optional query string parameters:

Returns:



3293
3294
3295
3296
# File 'lib/recurly/client/operations.rb', line 3293

def remove_plan(plan_id:, **options)
  path = interpolate_path("/plans/{plan_id}", plan_id: plan_id)
  delete(path, **options)
end

#remove_plan_add_on(plan_id:, add_on_id:, **options) ⇒ Resources::AddOn

Examples:

begin
  add_on = @client.remove_plan_add_on(
    plan_id: plan_id,
    add_on_id: add_on_id
  )
  puts "Removed add-on #{add_on}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • plan_id (String)

    Plan ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-gold.

  • add_on_id (String)

    Add-on ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-gold.

  • params (Hash)

    Optional query string parameters:

Returns:



3463
3464
3465
3466
# File 'lib/recurly/client/operations.rb', line 3463

def remove_plan_add_on(plan_id:, add_on_id:, **options)
  path = interpolate_path("/plans/{plan_id}/add_ons/{add_on_id}", plan_id: plan_id, add_on_id: add_on_id)
  delete(path, **options)
end

#remove_shipping_address(account_id:, shipping_address_id:, **options) ⇒ Resources::Empty

Remove an account’s shipping address

remove_shipping_address api documentation

Examples:

begin
  @client.remove_shipping_address(
    account_id: ,
    shipping_address_id: shipping_address_id
  )
  puts "Removed ShippingAddress #{shipping_address_id}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • shipping_address_id (String)

    Shipping Address ID.

  • params (Hash)

    Optional query string parameters:

Returns:



1383
1384
1385
1386
# File 'lib/recurly/client/operations.rb', line 1383

def remove_shipping_address(account_id:, shipping_address_id:, **options)
  path = interpolate_path("/accounts/{account_id}/shipping_addresses/{shipping_address_id}", account_id: , shipping_address_id: shipping_address_id)
  delete(path, **options)
end

#remove_subscription_change(subscription_id:, **options) ⇒ Resources::Empty

Delete the pending subscription change

remove_subscription_change api documentation

Examples:

begin
  @client.remove_subscription_change(
    subscription_id: subscription_id
  )
  puts "Removed SubscriptionChange #{subscription_id}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • subscription_id (String)

    Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • params (Hash)

    Optional query string parameters:

Returns:



4081
4082
4083
4084
# File 'lib/recurly/client/operations.rb', line 4081

def remove_subscription_change(subscription_id:, **options)
  path = interpolate_path("/subscriptions/{subscription_id}/change", subscription_id: subscription_id)
  delete(path, **options)
end

#remove_subscription_coupon_redemption(subscription_id:, coupon_redemption_id:, **options) ⇒ Resources::CouponRedemption

Delete the coupon redemption from a subscription

remove_subscription_coupon_redemption api documentation

Parameters:

  • subscription_id (String)

    Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • coupon_redemption_id (String)

    Coupon Redemption ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • params (Hash)

    Optional query string parameters:

Returns:



4281
4282
4283
4284
# File 'lib/recurly/client/operations.rb', line 4281

def remove_subscription_coupon_redemption(subscription_id:, coupon_redemption_id:, **options)
  path = interpolate_path("/subscriptions/{subscription_id}/coupon_redemptions/{coupon_redemption_id}", subscription_id: subscription_id, coupon_redemption_id: coupon_redemption_id)
  delete(path, **options)
end

#remove_usage(usage_id:, **options) ⇒ Resources::Empty

Delete a usage record.

remove_usage api documentation

Parameters:

  • usage_id (String)

    Usage Record ID.

  • params (Hash)

    Optional query string parameters:

Returns:



4380
4381
4382
4383
# File 'lib/recurly/client/operations.rb', line 4380

def remove_usage(usage_id:, **options)
  path = interpolate_path("/usage/{usage_id}", usage_id: usage_id)
  delete(path, **options)
end

#reopen_invoice(invoice_id:, **options) ⇒ Resources::Invoice

Reopen a closed, manual invoice

reopen_invoice api documentation

Examples:

begin
  invoice = @client.reopen_invoice(invoice_id: invoice_id)
  puts "Reopened invoice #{invoice}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • invoice_id (String)

    Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2. For number use prefix number-, e.g. number-1000. For number with prefix or country code, use number- and prefix, e.g. number-TEST-FR1001

  • params (Hash)

    Optional query string parameters:

Returns:



2843
2844
2845
2846
# File 'lib/recurly/client/operations.rb', line 2843

def reopen_invoice(invoice_id:, **options)
  path = interpolate_path("/invoices/{invoice_id}/reopen", invoice_id: invoice_id)
  put(path, **options)
end

#restore_coupon(coupon_id:, body:, **options) ⇒ Resources::Coupon

Restore an inactive coupon

restore_coupon api documentation

Parameters:

  • coupon_id (String)

    Coupon ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-10off.

  • body (Requests::CouponUpdate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::CouponUpdate

  • params (Hash)

    Optional query string parameters:

Returns:



1787
1788
1789
1790
# File 'lib/recurly/client/operations.rb', line 1787

def restore_coupon(coupon_id:, body:, **options)
  path = interpolate_path("/coupons/{coupon_id}/restore", coupon_id: coupon_id)
  put(path, body, Requests::CouponUpdate, **options)
end

#resume_subscription(subscription_id:, **options) ⇒ Resources::Subscription

Examples:

begin
  subscription = @client.resume_subscription(
    subscription_id: subscription_id
  )
  puts "Resumed Subscription #{subscription}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • subscription_id (String)

    Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • params (Hash)

    Optional query string parameters:

Returns:



3961
3962
3963
3964
# File 'lib/recurly/client/operations.rb', line 3961

def resume_subscription(subscription_id:, **options)
  path = interpolate_path("/subscriptions/{subscription_id}/resume", subscription_id: subscription_id)
  put(path, **options)
end

#show_external_invoice(external_invoice_id:, **options) ⇒ Resources::ExternalInvoice

Fetch an external invoice

show_external_invoice api documentation

Parameters:

  • external_invoice_id (String)

    External invoice ID, e.g. e28zov4fw0v2.

  • params (Hash)

    Optional query string parameters:

Returns:



4815
4816
4817
4818
# File 'lib/recurly/client/operations.rb', line 4815

def show_external_invoice(external_invoice_id:, **options)
  path = interpolate_path("/external_invoices/{external_invoice_id}", external_invoice_id: external_invoice_id)
  get(path, **options)
end

#terminate_subscription(subscription_id:, **options) ⇒ Resources::Subscription

Terminate a subscription

terminate_subscription api documentation

* +full+ - Performs a full refund of the last invoice for the current subscription term.
* +partial+ - Prorates a refund based on the amount of time remaining in the current bill cycle.
* +none+ - Terminates the subscription without a refund.

In the event that the most recent invoice is a $0 invoice paid entirely by credit, Recurly will apply the credit back to the customer’s account.

You may also terminate a subscription with no refund and then manually refund specific invoices.

     :charge [Boolean] Applicable only if the subscription has usage based add-ons and unbilled usage logged for the current billing cycle. If true, current billing cycle unbilled usage is billed on the final invoice. If false, Recurly will create a negative usage record for current billing cycle usage that will zero out the final invoice line items.

Examples:

begin
  subscription = @client.terminate_subscription(
    subscription_id: subscription_id,
  )
  puts "Terminated Subscription #{subscription}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • subscription_id (String)

    Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • params (Hash)

    Optional query string parameters: :refund [String] The type of refund to perform:

Returns:



3855
3856
3857
3858
# File 'lib/recurly/client/operations.rb', line 3855

def terminate_subscription(subscription_id:, **options)
  path = interpolate_path("/subscriptions/{subscription_id}", subscription_id: subscription_id)
  delete(path, **options)
end

#update_a_billing_info(account_id:, billing_info_id:, body:, **options) ⇒ Resources::BillingInfo

Update an account’s billing information

update_a_billing_info api documentation

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • billing_info_id (String)

    Billing Info ID. Can ONLY be used for sites utilizing the Wallet feature.

  • body (Requests::BillingInfoCreate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::BillingInfoCreate

  • params (Hash)

    Optional query string parameters:

Returns:



586
587
588
589
# File 'lib/recurly/client/operations.rb', line 586

def update_a_billing_info(account_id:, billing_info_id:, body:, **options)
  path = interpolate_path("/accounts/{account_id}/billing_infos/{billing_info_id}", account_id: , billing_info_id: billing_info_id)
  put(path, body, Requests::BillingInfoCreate, **options)
end

#update_account(account_id:, body:, **options) ⇒ Resources::Account

Examples:

begin
   = {
    first_name: "Aaron",
    last_name: "Du Monde",
  }
   = @client.(
    account_id: ,
    body: 
  )
  puts "Updated Account #{}"
rescue Recurly::Errors::ValidationError => e
  # If the request was invalid, you may want to tell your user
  # why. You can find the invalid params and reasons in e.recurly_error.params
  puts "ValidationError: #{e.recurly_error.params}"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • body (Requests::AccountUpdate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::AccountUpdate

  • params (Hash)

    Optional query string parameters:

Returns:



223
224
225
226
# File 'lib/recurly/client/operations.rb', line 223

def (account_id:, body:, **options)
  path = interpolate_path("/accounts/{account_id}", account_id: )
  put(path, body, Requests::AccountUpdate, **options)
end

#update_account_acquisition(account_id:, body:, **options) ⇒ Resources::AccountAcquisition

Update an account’s acquisition data

update_account_acquisition api documentation

Examples:

begin
  acquisition_update = {
    campaign: "podcast-marketing",
    channel: "social_media",
    subchannel: "twitter",
    cost: {
      currency: "USD",
      amount: 0.50
    }
  }
  acquisition = @client.(
    account_id: ,
    body: acquisition_update
  )
  puts "Updated AccountAcqusition #{acquisition}"
rescue Recurly::Errors::ValidationError => e
  # If the request was invalid, you may want to tell your user
  # why. You can find the invalid params and reasons in e.recurly_error.params
  puts "ValidationError: #{e.recurly_error.params}"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • body (Requests::AccountAcquisitionUpdate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::AccountAcquisitionUpdate

  • params (Hash)

    Optional query string parameters:

Returns:



319
320
321
322
# File 'lib/recurly/client/operations.rb', line 319

def (account_id:, body:, **options)
  path = interpolate_path("/accounts/{account_id}/acquisition", account_id: )
  put(path, body, Requests::AccountAcquisitionUpdate, **options)
end

#update_account_external_account(account_id:, external_account_id:, body:, **options) ⇒ Resources::ExternalAccount

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • external_account_id (String)

    External account ID, e.g. s28zov4fw0cb.

  • body (Requests::ExternalAccountUpdate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::ExternalAccountUpdate

  • params (Hash)

    Optional query string parameters:

Returns:



884
885
886
887
# File 'lib/recurly/client/operations.rb', line 884

def (account_id:, external_account_id:, body:, **options)
  path = interpolate_path("/accounts/{account_id}/external_accounts/{external_account_id}", account_id: , external_account_id: )
  put(path, body, Requests::ExternalAccountUpdate, **options)
end

#update_billing_info(account_id:, body:, **options) ⇒ Resources::BillingInfo

Set an account’s billing information

update_billing_info api documentation

Examples:

begin
  billing_update = {
    first_name: "Aaron",
    last_name: "Du Monde",
  }
  billing = @client.update_billing_info(
    account_id: ,
    body: billing_update
  )
  puts "Updated BillingInfo #{billing}"
rescue Recurly::Errors::ValidationError => e
  # If the request was invalid, you may want to tell your user
  # why. You can find the invalid params and reasons in e.recurly_error.params
  puts "ValidationError: #{e.recurly_error.params}"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • body (Requests::BillingInfoCreate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::BillingInfoCreate

  • params (Hash)

    Optional query string parameters:

Returns:



442
443
444
445
# File 'lib/recurly/client/operations.rb', line 442

def update_billing_info(account_id:, body:, **options)
  path = interpolate_path("/accounts/{account_id}/billing_info", account_id: )
  put(path, body, Requests::BillingInfoCreate, **options)
end

#update_coupon(coupon_id:, body:, **options) ⇒ Resources::Coupon

Update an active coupon

update_coupon api documentation

Examples:

begin
  coupon_update = {
    name: "New Coupon Name"
  }
  coupon = @client.update_coupon(coupon_id: coupon_id, body: coupon_update)
  puts "Updated Coupon #{coupon}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • coupon_id (String)

    Coupon ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-10off.

  • body (Requests::CouponUpdate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::CouponUpdate

  • params (Hash)

    Optional query string parameters:

Returns:



1719
1720
1721
1722
# File 'lib/recurly/client/operations.rb', line 1719

def update_coupon(coupon_id:, body:, **options)
  path = interpolate_path("/coupons/{coupon_id}", coupon_id: coupon_id)
  put(path, body, Requests::CouponUpdate, **options)
end

#update_external_product(external_product_id:, body:, **options) ⇒ Resources::ExternalProduct

Update an external product

update_external_product api documentation

Parameters:

Returns:



2425
2426
2427
2428
# File 'lib/recurly/client/operations.rb', line 2425

def update_external_product(external_product_id:, body:, **options)
  path = interpolate_path("/external_products/{external_product_id}", external_product_id: external_product_id)
  put(path, body, Requests::ExternalProductUpdate, **options)
end

#update_general_ledger_account(general_ledger_account_id:, body:, **options) ⇒ Resources::GeneralLedgerAccount

Update a general ledger account

update_general_ledger_account api documentation

Parameters:

Returns:



2019
2020
2021
2022
# File 'lib/recurly/client/operations.rb', line 2019

def (general_ledger_account_id:, body:, **options)
  path = interpolate_path("/general_ledger_accounts/{general_ledger_account_id}", general_ledger_account_id: )
  put(path, body, Requests::GeneralLedgerAccountUpdate, **options)
end

#update_invoice(invoice_id:, body:, **options) ⇒ Resources::Invoice

Examples:

begin
  invoice_update = {
    customer_notes: "New Notes",
    terms_and_conditions: "New Terms and Conditions"
  }
  invoice = @client.update_invoice(invoice_id: invoice_id, body: invoice_update)
  puts "Updated invoice #{invoice}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • invoice_id (String)

    Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2. For number use prefix number-, e.g. number-1000. For number with prefix or country code, use number- and prefix, e.g. number-TEST-FR1001

  • body (Requests::InvoiceUpdate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::InvoiceUpdate

  • params (Hash)

    Optional query string parameters:

Returns:



2700
2701
2702
2703
# File 'lib/recurly/client/operations.rb', line 2700

def update_invoice(invoice_id:, body:, **options)
  path = interpolate_path("/invoices/{invoice_id}", invoice_id: invoice_id)
  put(path, body, Requests::InvoiceUpdate, **options)
end

#update_item(item_id:, body:, **options) ⇒ Resources::Item

Update an active item

update_item api documentation

Examples:

begin
  item_update = {
    name: "New Item Name",
    description: "New Item Description"
  }
  item = @client.update_item(
    item_id: item_id,
    body: item_update
  )
  puts "Updated Item #{item}"
rescue Recurly::Errors::ValidationError => e
  # If the request was invalid, you may want to tell your user
  # why. You can find the invalid params and reasons in e.recurly_error.params
  puts "ValidationError: #{e.recurly_error.params}"
end

Parameters:

  • item_id (String)

    Item ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-red.

  • body (Requests::ItemUpdate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::ItemUpdate

  • params (Hash)

    Optional query string parameters:

Returns:



2224
2225
2226
2227
# File 'lib/recurly/client/operations.rb', line 2224

def update_item(item_id:, body:, **options)
  path = interpolate_path("/items/{item_id}", item_id: item_id)
  put(path, body, Requests::ItemUpdate, **options)
end

#update_measured_unit(measured_unit_id:, body:, **options) ⇒ Resources::MeasuredUnit

Parameters:

  • measured_unit_id (String)

    Measured unit ID or name. For ID no prefix is used e.g. e28zov4fw0v2. For name use prefix name-, e.g. name-Storage.

  • body (Requests::MeasuredUnitUpdate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::MeasuredUnitUpdate

  • params (Hash)

    Optional query string parameters:

Returns:



2351
2352
2353
2354
# File 'lib/recurly/client/operations.rb', line 2351

def update_measured_unit(measured_unit_id:, body:, **options)
  path = interpolate_path("/measured_units/{measured_unit_id}", measured_unit_id: measured_unit_id)
  put(path, body, Requests::MeasuredUnitUpdate, **options)
end

#update_plan(plan_id:, body:, **options) ⇒ Resources::Plan

Examples:

begin
  plan_update = {
    name: "Monthly Kombucha Subscription"
  }
  plan = @client.update_plan(plan_id: plan_id, body: plan_update)
  puts "Updated plan #{plan}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • plan_id (String)

    Plan ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-gold.

  • body (Requests::PlanUpdate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::PlanUpdate

  • params (Hash)

    Optional query string parameters:

Returns:



3270
3271
3272
3273
# File 'lib/recurly/client/operations.rb', line 3270

def update_plan(plan_id:, body:, **options)
  path = interpolate_path("/plans/{plan_id}", plan_id: plan_id)
  put(path, body, Requests::PlanUpdate, **options)
end

#update_plan_add_on(plan_id:, add_on_id:, body:, **options) ⇒ Resources::AddOn

Examples:

begin
  add_on_update = {
    name: "A quality grinder for your finest beans"
  }
  add_on = @client.update_plan_add_on(
    plan_id: plan_id,
    add_on_id: add_on_id,
    body: add_on_update
  )
  puts "Updated add-on #{add_on}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • plan_id (String)

    Plan ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-gold.

  • add_on_id (String)

    Add-on ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-gold.

  • body (Requests::AddOnUpdate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::AddOnUpdate

  • params (Hash)

    Optional query string parameters:

Returns:



3436
3437
3438
3439
# File 'lib/recurly/client/operations.rb', line 3436

def update_plan_add_on(plan_id:, add_on_id:, body:, **options)
  path = interpolate_path("/plans/{plan_id}/add_ons/{add_on_id}", plan_id: plan_id, add_on_id: add_on_id)
  put(path, body, Requests::AddOnUpdate, **options)
end

#update_shipping_address(account_id:, shipping_address_id:, body:, **options) ⇒ Resources::ShippingAddress

Update an account’s shipping address

update_shipping_address api documentation

Examples:

begin
  address_update = {
    first_name: "Aaron",
    last_name: "Du Monde",
    postal_code: "70130"
  }
  address = @client.update_shipping_address(
    account_id: ,
    shipping_address_id: shipping_address_id,
    body: address_update
  )
  puts "Updated ShippingAddress #{address}"
rescue Recurly::Errors::ValidationError => e
  # If the request was invalid, you may want to tell your user
  # why. You can find the invalid params and reasons in e.recurly_error.params
  puts "ValidationError: #{e.recurly_error.params}"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • shipping_address_id (String)

    Shipping Address ID.

  • body (Requests::ShippingAddressUpdate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::ShippingAddressUpdate

  • params (Hash)

    Optional query string parameters:

Returns:



1356
1357
1358
1359
# File 'lib/recurly/client/operations.rb', line 1356

def update_shipping_address(account_id:, shipping_address_id:, body:, **options)
  path = interpolate_path("/accounts/{account_id}/shipping_addresses/{shipping_address_id}", account_id: , shipping_address_id: shipping_address_id)
  put(path, body, Requests::ShippingAddressUpdate, **options)
end

#update_shipping_method(shipping_method_id:, body:, **options) ⇒ Resources::ShippingMethod

Update an active Shipping Method

update_shipping_method api documentation

Parameters:

  • shipping_method_id (String)

    Shipping Method ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-usps_2-day.

  • body (Requests::ShippingMethodUpdate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::ShippingMethodUpdate

  • params (Hash)

    Optional query string parameters:

Returns:



3665
3666
3667
3668
# File 'lib/recurly/client/operations.rb', line 3665

def update_shipping_method(shipping_method_id:, body:, **options)
  path = interpolate_path("/shipping_methods/{shipping_method_id}", shipping_method_id: shipping_method_id)
  put(path, body, Requests::ShippingMethodUpdate, **options)
end

#update_subscription(subscription_id:, body:, **options) ⇒ Resources::Subscription

Examples:

begin
  subscription_update = {
    customer_notes: "New Notes",
    terms_and_conditions: "New ToC"
  }
  subscription = @client.update_subscription(
    subscription_id: subscription_id,
    body: subscription_update
  )
  puts "Modified Subscription #{subscription}"
rescue Recurly::Errors::ValidationError => e
  # If the request was invalid, you may want to tell your user
  # why. You can find the invalid params and reasons in e.recurly_error.params
  puts "ValidationError: #{e.recurly_error.params}"
end

Parameters:

  • subscription_id (String)

    Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2. For UUID use prefix uuid-, e.g. uuid-123457890.

  • body (Requests::SubscriptionUpdate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::SubscriptionUpdate

  • params (Hash)

    Optional query string parameters:

Returns:



3819
3820
3821
3822
# File 'lib/recurly/client/operations.rb', line 3819

def update_subscription(subscription_id:, body:, **options)
  path = interpolate_path("/subscriptions/{subscription_id}", subscription_id: subscription_id)
  put(path, body, Requests::SubscriptionUpdate, **options)
end

#update_usage(usage_id:, body:, **options) ⇒ Resources::Usage

Update a usage record

update_usage api documentation

Parameters:

  • usage_id (String)

    Usage Record ID.

  • body (Requests::UsageCreate)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::UsageCreate

  • params (Hash)

    Optional query string parameters:

Returns:



4366
4367
4368
4369
# File 'lib/recurly/client/operations.rb', line 4366

def update_usage(usage_id:, body:, **options)
  path = interpolate_path("/usage/{usage_id}", usage_id: usage_id)
  put(path, body, Requests::UsageCreate, **options)
end

#verify_billing_info(account_id:, **options) ⇒ Resources::Transaction

Verify an account’s credit card billing information

verify_billing_info api documentation

Examples:

begin
  transaction = @client.verify_billing_info(account_id: )
  puts "Got Transaction #{transaction}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • params (Hash)

    Optional query string parameters: :body [Requests::BillingInfoVerify] The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::BillingInfoVerify

Returns:



489
490
491
492
# File 'lib/recurly/client/operations.rb', line 489

def verify_billing_info(account_id:, **options)
  path = interpolate_path("/accounts/{account_id}/billing_info/verify", account_id: )
  post(path, options[:body], Requests::BillingInfoVerify, **options)
end

#verify_billing_info_cvv(account_id:, body:, **options) ⇒ Resources::Transaction

Verify an account’s credit card billing cvv

verify_billing_info_cvv api documentation

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • body (Requests::BillingInfoVerifyCVV)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::BillingInfoVerifyCVV

  • params (Hash)

    Optional query string parameters:

Returns:



504
505
506
507
# File 'lib/recurly/client/operations.rb', line 504

def verify_billing_info_cvv(account_id:, body:, **options)
  path = interpolate_path("/accounts/{account_id}/billing_info/verify_cvv", account_id: )
  post(path, body, Requests::BillingInfoVerifyCVV, **options)
end

#verify_billing_infos(account_id:, billing_info_id:, **options) ⇒ Resources::Transaction

Verify a billing information’s credit card

verify_billing_infos api documentation

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • billing_info_id (String)

    Billing Info ID. Can ONLY be used for sites utilizing the Wallet feature.

  • params (Hash)

    Optional query string parameters: :body [Requests::BillingInfoVerify] The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::BillingInfoVerify

Returns:



617
618
619
620
# File 'lib/recurly/client/operations.rb', line 617

def verify_billing_infos(account_id:, billing_info_id:, **options)
  path = interpolate_path("/accounts/{account_id}/billing_infos/{billing_info_id}/verify", account_id: , billing_info_id: billing_info_id)
  post(path, options[:body], Requests::BillingInfoVerify, **options)
end

#verify_billing_infos_cvv(account_id:, billing_info_id:, body:, **options) ⇒ Resources::Transaction

Verify a billing information’s credit card cvv

verify_billing_infos_cvv api documentation

Parameters:

  • account_id (String)

    Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2. For code use prefix code-, e.g. code-bob.

  • billing_info_id (String)

    Billing Info ID. Can ONLY be used for sites utilizing the Wallet feature.

  • body (Requests::BillingInfoVerifyCVV)

    The Hash representing the JSON request to send to the server. It should conform to the schema of Requests::BillingInfoVerifyCVV

  • params (Hash)

    Optional query string parameters:

Returns:



633
634
635
636
# File 'lib/recurly/client/operations.rb', line 633

def verify_billing_infos_cvv(account_id:, billing_info_id:, body:, **options)
  path = interpolate_path("/accounts/{account_id}/billing_infos/{billing_info_id}/verify_cvv", account_id: , billing_info_id: billing_info_id)
  post(path, body, Requests::BillingInfoVerifyCVV, **options)
end

#void_invoice(invoice_id:, **options) ⇒ Resources::Invoice

Void a credit invoice.

void_invoice api documentation

Examples:

begin
  invoice = @client.void_invoice(invoice_id: invoice_id)
  puts "Voided invoice #{invoice}"
rescue Recurly::Errors::NotFoundError
  # If the resource was not found, you may want to alert the user or
  # just return nil
  puts "Resource Not Found"
end

Parameters:

  • invoice_id (String)

    Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2. For number use prefix number-, e.g. number-1000. For number with prefix or country code, use number- and prefix, e.g. number-TEST-FR1001

  • params (Hash)

    Optional query string parameters:

Returns:



2866
2867
2868
2869
# File 'lib/recurly/client/operations.rb', line 2866

def void_invoice(invoice_id:, **options)
  path = interpolate_path("/invoices/{invoice_id}/void", invoice_id: invoice_id)
  put(path, **options)
end