recurly 3.18.1 → 3.21.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/.bumpversion.cfg +1 -1
  3. data/.changelog_config.yaml +11 -0
  4. data/.github/workflows/ci.yml +29 -0
  5. data/.github/workflows/docs.yml +1 -1
  6. data/CHANGELOG.md +254 -163
  7. data/GETTING_STARTED.md +1 -1
  8. data/lib/recurly/client/operations.rb +212 -134
  9. data/lib/recurly/client.rb +5 -3
  10. data/lib/recurly/errors/api_errors.rb +2 -0
  11. data/lib/recurly/pager.rb +1 -1
  12. data/lib/recurly/requests/account_create.rb +4 -0
  13. data/lib/recurly/requests/account_purchase.rb +4 -0
  14. data/lib/recurly/requests/account_update.rb +4 -0
  15. data/lib/recurly/requests/add_on_create.rb +3 -3
  16. data/lib/recurly/requests/add_on_pricing.rb +4 -0
  17. data/lib/recurly/requests/add_on_update.rb +1 -1
  18. data/lib/recurly/requests/address.rb +1 -1
  19. data/lib/recurly/requests/billing_info_create.rb +6 -2
  20. data/lib/recurly/requests/billing_info_verify.rb +14 -0
  21. data/lib/recurly/requests/dunning_campaigns_bulk_update.rb +18 -0
  22. data/lib/recurly/requests/invoice_address.rb +1 -1
  23. data/lib/recurly/requests/invoice_collect.rb +1 -1
  24. data/lib/recurly/requests/line_item_create.rb +6 -2
  25. data/lib/recurly/requests/plan_create.rb +12 -0
  26. data/lib/recurly/requests/plan_pricing.rb +5 -1
  27. data/lib/recurly/requests/plan_ramp_interval.rb +18 -0
  28. data/lib/recurly/requests/plan_ramp_pricing.rb +18 -0
  29. data/lib/recurly/requests/plan_update.rb +8 -0
  30. data/lib/recurly/requests/pricing.rb +4 -0
  31. data/lib/recurly/requests/purchase_create.rb +1 -1
  32. data/lib/recurly/requests/shipping_address_create.rb +1 -1
  33. data/lib/recurly/requests/shipping_address_update.rb +1 -1
  34. data/lib/recurly/requests/subscription_change_billing_info_create.rb +14 -0
  35. data/lib/recurly/requests/subscription_change_create.rb +12 -0
  36. data/lib/recurly/requests/subscription_create.rb +10 -2
  37. data/lib/recurly/requests/subscription_pause.rb +1 -1
  38. data/lib/recurly/requests/subscription_purchase.rb +10 -2
  39. data/lib/recurly/requests/subscription_ramp_interval.rb +18 -0
  40. data/lib/recurly/requests/subscription_update.rb +5 -1
  41. data/lib/recurly/resources/account.rb +4 -0
  42. data/lib/recurly/resources/account_balance_amount.rb +4 -0
  43. data/lib/recurly/resources/account_mini.rb +4 -0
  44. data/lib/recurly/resources/add_on_pricing.rb +4 -0
  45. data/lib/recurly/resources/address.rb +1 -1
  46. data/lib/recurly/resources/billing_info.rb +5 -1
  47. data/lib/recurly/resources/billing_info_updated_by.rb +1 -1
  48. data/lib/recurly/resources/dunning_campaign.rb +50 -0
  49. data/lib/recurly/resources/dunning_campaigns_bulk_update_response.rb +18 -0
  50. data/lib/recurly/resources/dunning_cycle.rb +58 -0
  51. data/lib/recurly/resources/dunning_interval.rb +18 -0
  52. data/lib/recurly/resources/invoice.rb +6 -2
  53. data/lib/recurly/resources/invoice_address.rb +1 -1
  54. data/lib/recurly/resources/line_item.rb +11 -3
  55. data/lib/recurly/resources/payment_method.rb +4 -0
  56. data/lib/recurly/resources/plan.rb +12 -0
  57. data/lib/recurly/resources/plan_pricing.rb +5 -1
  58. data/lib/recurly/resources/plan_ramp_interval.rb +18 -0
  59. data/lib/recurly/resources/plan_ramp_pricing.rb +18 -0
  60. data/lib/recurly/resources/pricing.rb +4 -0
  61. data/lib/recurly/resources/shipping_address.rb +1 -1
  62. data/lib/recurly/resources/subscription.rb +12 -0
  63. data/lib/recurly/resources/subscription_change.rb +12 -0
  64. data/lib/recurly/resources/subscription_change_billing_info.rb +14 -0
  65. data/lib/recurly/resources/subscription_change_preview.rb +12 -0
  66. data/lib/recurly/resources/subscription_ramp_interval_response.rb +22 -0
  67. data/lib/recurly/resources/tax_detail.rb +26 -0
  68. data/lib/recurly/resources/tax_info.rb +4 -0
  69. data/lib/recurly/resources/transaction.rb +5 -1
  70. data/lib/recurly/version.rb +1 -1
  71. data/openapi/api.yaml +976 -162
  72. data/scripts/build +2 -2
  73. data/scripts/format +2 -2
  74. data/scripts/prepare-release +43 -29
  75. data/scripts/release +5 -20
  76. metadata +23 -10
  77. data/.github_changelog_generator +0 -8
  78. data/.travis.yml +0 -14
  79. data/scripts/bump +0 -11
  80. data/scripts/changelog +0 -14
data/openapi/api.yaml CHANGED
@@ -24,6 +24,42 @@ info:
24
24
  Recurly-Version: recurly.v2019-10-10
25
25
  ```
26
26
 
27
+ Recurly's client libraries correspond with API versions as listed below.
28
+
29
+ <table>
30
+ <tr>
31
+ <th>API Version</th>
32
+ <th>Client Library Version</th>
33
+ </tr>
34
+ <tr>
35
+ <td>v2021-02-25</td>
36
+ <td>4.x</td>
37
+ </tr>
38
+ <tr>
39
+ <td>v2019-10-10</td>
40
+ <td>3.x</td>
41
+ </tr>
42
+ </table>
43
+
44
+ Client library releases:
45
+
46
+ * [Node.js](https://github.com/recurly/recurly-client-node/releases)
47
+ * [Python](https://github.com/recurly/recurly-client-python/releases)
48
+ * [.NET](https://github.com/recurly/recurly-client-dotnet/releases)
49
+ * [Ruby](https://github.com/recurly/recurly-client-ruby/releases)
50
+ * [Java](https://github.com/recurly/recurly-client-java/releases)
51
+ * [PHP](https://github.com/recurly/recurly-client-php/releases)
52
+ * [Go](https://github.com/recurly/recurly-client-go/releases)
53
+
54
+ Client libraries follow semantic versioning. For example, [Ruby client library
55
+ version 3.18.1](https://github.com/recurly/recurly-client-ruby/releases/tag/3.18.1)
56
+ represents major version `3`, minor version `18` with patch `1`.
57
+
58
+ We encourage you to update to the latest version of the API and corresponding client library,
59
+ as most recent versions are more performant than their predecessors. See the
60
+ [changelog](https://developers.recurly.com/api/changelog.html) for a comprehensive list of changes
61
+ introduced in the latest API version.
62
+
27
63
  ### Default Versions
28
64
  Specifying a version is required to get a successful response. If you wish to
29
65
  receive the latest version and are willing to accept the risk of breaking changes,
@@ -77,6 +113,8 @@ info:
77
113
  Please consider changing these messages in target system to be better
78
114
  suited to the audience of the system.
79
115
 
116
+ Please see [transaction error codes](https://developers.recurly.com/pages/api-transaction-errors.html) for more details.
117
+
80
118
  ## Pagination
81
119
  ### Response Schema
82
120
  Every GET listing endpoint returns a response with the same schema:
@@ -153,6 +191,7 @@ x-tagGroups:
153
191
  - note
154
192
  - account_acquisition
155
193
  - billing_info
194
+ - billing_infos
156
195
  - subscription
157
196
  - subscription_change
158
197
  - shipping_address
@@ -179,6 +218,7 @@ x-tagGroups:
179
218
  - site
180
219
  - custom_field_definition
181
220
  - shipping_method
221
+ - dunning_campaigns
182
222
  tags:
183
223
  - name: site
184
224
  x-displayName: Site
@@ -191,7 +231,7 @@ tags:
191
231
  description: |-
192
232
  For merchants who sell the same things to many customers, documenting those offerings in a catalog allows for faster charge creation, easier management of offerings, and analytics about your offerings across all sales channels. Because your offerings can be physical, digital, or service-oriented, Recurly collectively calls these offerings "Items".
193
233
 
194
- Recurly's item catalog requires the Credit Invoices and Subscription Billing Terms features to be enabled.
234
+ Recurly's item catalog requires the Credit Invoices feature to be enabled.
195
235
  - name: plan
196
236
  x-displayName: Plan
197
237
  description: A plan tells Recurly how often and how much to charge your customers.
@@ -223,9 +263,15 @@ tags:
223
263
  to match this data with revenue and billing data events in Recurly.
224
264
  - name: billing_info
225
265
  x-displayName: Billing Info
226
- description: An account can have one stored payment method at a time. This can be
227
- a credit card, PayPal, or bank account. Billing info is usually filled out by
228
- the customer upon purchase or when they update their information.
266
+ description: Without the premium Wallet feature, an account can only have one stored
267
+ payment method at a time. Examples include credit cards, PayPal, or bank accounts.
268
+ Billing info is filled out by the customer upon purchase or when they update their
269
+ information.
270
+ - name: billing_infos
271
+ x-displayName: Billing Infos
272
+ description: If the premium Wallet feature is enabled, an account can have multiple
273
+ payment methods stored. Examples include credit cards, PayPal, or bank accounts.
274
+ Primary or backup billing infos can be designated from these endpoints.
229
275
  - name: subscription
230
276
  x-displayName: Subscription
231
277
  description: Subscriptions are created when your customers subscribe to one of your
@@ -286,6 +332,9 @@ tags:
286
332
  - name: automated_exports
287
333
  x-displayName: Automated Exports
288
334
  description: Automated exports of customer data.
335
+ - name: dunning_campaigns
336
+ x-displayName: Dunning Campaigns
337
+ description: Settings used when attempting to dun customers whose payments are declined.
289
338
  paths:
290
339
  "/sites":
291
340
  get:
@@ -1226,7 +1275,6 @@ paths:
1226
1275
  - "$ref": "#/components/parameters/account_id"
1227
1276
  get:
1228
1277
  tags:
1229
- - account
1230
1278
  - account_acquisition
1231
1279
  operationId: get_account_acquisition
1232
1280
  summary: Fetch an account's acquisition data
@@ -1335,7 +1383,6 @@ paths:
1335
1383
  Acquisition: %v\", accountAcq.Id)"
1336
1384
  put:
1337
1385
  tags:
1338
- - account
1339
1386
  - account_acquisition
1340
1387
  operationId: update_account_acquisition
1341
1388
  summary: Update an account's acquisition data
@@ -1503,7 +1550,6 @@ paths:
1503
1550
  Acquisition: %s\", account.Id)"
1504
1551
  delete:
1505
1552
  tags:
1506
- - account
1507
1553
  - account_acquisition
1508
1554
  operationId: remove_account_acquisition
1509
1555
  summary: Remove an account's acquisition data
@@ -1844,7 +1890,6 @@ paths:
1844
1890
  "/sites/{site_id}/accounts/{account_id}/billing_info":
1845
1891
  get:
1846
1892
  tags:
1847
- - account
1848
1893
  - billing_info
1849
1894
  operationId: get_billing_info
1850
1895
  summary: Fetch an account's billing information
@@ -1962,14 +2007,13 @@ paths:
1962
2007
  Info: %v\", billingInfo)"
1963
2008
  put:
1964
2009
  tags:
1965
- - account
1966
2010
  - billing_info
1967
2011
  operationId: update_billing_info
1968
2012
  summary: Set an account's billing information
1969
2013
  description: |
1970
2014
  If you're using Recurly.js to securely submit data from webforms without sending it through your server,
1971
2015
  you can associate the billing information with an account by passing in the `token_id`. The only other
1972
- field permitted with `token_id` is `primary_payment_method`.
2016
+ fields permitted with `token_id` are `primary_payment_method` and/or `backup_payment_method`.
1973
2017
 
1974
2018
  For credit card payments you'll need the following required fields:
1975
2019
 
@@ -2137,7 +2181,6 @@ paths:
2137
2181
  Info: %s\", billingInfo)"
2138
2182
  delete:
2139
2183
  tags:
2140
- - account
2141
2184
  - billing_info
2142
2185
  operationId: remove_billing_info
2143
2186
  summary: Remove an account's billing information
@@ -2244,11 +2287,142 @@ paths:
2244
2287
  {\n\t\tfmt.Printf(\"Resource not found: %v\", e)\n\t\treturn nil, err\n\t}\n\tfmt.Printf(\"Unexpected
2245
2288
  Recurly error: %v\", e)\n\treturn nil, err\n}\n\nfmt.Printf(\"Removed Billing
2246
2289
  Info: %v\", billingInfo)"
2290
+ "/sites/{site_id}/accounts/{account_id}/billing_info/verify":
2291
+ post:
2292
+ tags:
2293
+ - billing_info
2294
+ operationId: verify_billing_info
2295
+ summary: Verify an account's credit card billing information
2296
+ parameters:
2297
+ - "$ref": "#/components/parameters/site_id"
2298
+ - "$ref": "#/components/parameters/account_id"
2299
+ requestBody:
2300
+ content:
2301
+ application/json:
2302
+ schema:
2303
+ "$ref": "#/components/schemas/BillingInfoVerify"
2304
+ required: false
2305
+ responses:
2306
+ '200':
2307
+ description: Transaction information from verify.
2308
+ content:
2309
+ application/json:
2310
+ schema:
2311
+ "$ref": "#/components/schemas/Transaction"
2312
+ '404':
2313
+ description: Account has no billing information, or incorrect site or account
2314
+ ID.
2315
+ content:
2316
+ application/json:
2317
+ schema:
2318
+ "$ref": "#/components/schemas/Error"
2319
+ default:
2320
+ description: Unexpected error.
2321
+ content:
2322
+ application/json:
2323
+ schema:
2324
+ "$ref": "#/components/schemas/Error"
2325
+ '422':
2326
+ description: Invalid billing information, or error running the verification
2327
+ transaction.
2328
+ content:
2329
+ application/json:
2330
+ schema:
2331
+ "$ref": "#/components/schemas/ErrorMayHaveTransaction"
2332
+ x-code-samples:
2333
+ - lang: Node.js
2334
+ source: |
2335
+ try {
2336
+ const transaction = await client.verifyBillingInfo(accountId)
2337
+ console.log('Fetched Transaction: ', transaction.id)
2338
+ } catch (err) {
2339
+ if (err instanceof recurly.errors.NotFoundError) {
2340
+ // If the request was not found, you may want to alert the user or
2341
+ // just return null
2342
+ console.log('Resource Not Found')
2343
+ } else {
2344
+ // If we don't know what to do with the err, we should
2345
+ // probably re-raise and let our web framework and logger handle it
2346
+ console.log('Unknown Error: ', err)
2347
+ }
2348
+ }
2349
+ - lang: Python
2350
+ source: |
2351
+ try:
2352
+ transaction = client.verify_billing_info(account_id)
2353
+ print("Got Transaction %s" % transaction)
2354
+ except recurly.errors.NotFoundError:
2355
+ # If the resource was not found, you may want to alert the user or
2356
+ # just return nil
2357
+ print("Resource Not Found")
2358
+ - lang: ".NET"
2359
+ source: |
2360
+ try
2361
+ {
2362
+ Transaction transaction = client.VerifyBillingInfo(accountId);
2363
+ Console.WriteLine($"Fetched transaction {transaction.Id}");
2364
+ }
2365
+ catch (Recurly.Errors.NotFound ex)
2366
+ {
2367
+ // If the resource was not found
2368
+ // we may want to alert the user or just return null
2369
+ Console.WriteLine($"Resource Not Found: {ex.Error.Message}");
2370
+ }
2371
+ catch (Recurly.Errors.ApiError ex)
2372
+ {
2373
+ // Use ApiError to catch a generic error from the API
2374
+ Console.WriteLine($"Unexpected Recurly Error: {ex.Error.Message}");
2375
+ }
2376
+ - lang: Ruby
2377
+ source: |
2378
+ begin
2379
+ transaction = @client.verify_billing_info(account_id: account_id)
2380
+ puts "Got Transaction #{transaction}"
2381
+ rescue Recurly::Errors::NotFoundError
2382
+ # If the resource was not found, you may want to alert the user or
2383
+ # just return nil
2384
+ puts "Resource Not Found"
2385
+ end
2386
+ - lang: Java
2387
+ source: |
2388
+ try {
2389
+ final Transaction transaction = client.verifyBillingInfo(accountId);
2390
+ System.out.println("Fetched transaction " + transaction.getId());
2391
+ } catch (NotFoundException e) {
2392
+ // If the resource was not found
2393
+ // we may want to alert the user or just return null
2394
+ System.out.println("Resource Not Found: " + e.getError().getMessage());
2395
+ } catch (ApiException e) {
2396
+ // Use ApiException to catch a generic error from the API
2397
+ System.out.println("Unexpected Recurly Error: " + e.getError().getMessage());
2398
+ }
2399
+ - lang: PHP
2400
+ source: |
2401
+ try {
2402
+ $transaction = $client->verifyBillingInfo($account_id);
2403
+
2404
+ echo 'Got Transaction:' . PHP_EOL;
2405
+ var_dump($transaction);
2406
+ } catch (\Recurly\Errors\NotFound $e) {
2407
+ // Could not find the resource, you may want to inform the user
2408
+ // or just return a NULL
2409
+ echo 'Could not find resource.' . PHP_EOL;
2410
+ var_dump($e);
2411
+ } catch (\Recurly\RecurlyError $e) {
2412
+ // Something bad happened... tell the user so that they can fix it?
2413
+ echo 'Some unexpected Recurly error happened. Try again later.' . PHP_EOL;
2414
+ }
2415
+ - lang: Go
2416
+ source: "verifyBillingInfoParams := &recurly.VerifyBillingInfoParams{}\ntransaction,
2417
+ err := client.VerifyBillingInfo(accountID, verifyBillingInfoParams)\nif
2418
+ e, ok := err.(*recurly.Error); ok {\n\tif e.Type == recurly.ErrorTypeNotFound
2419
+ {\n\t\tfmt.Printf(\"Resource not found: %v\", e)\n\t\treturn nil, err\n\t}\n\tfmt.Printf(\"Unexpected
2420
+ Recurly error: %v\", e)\n\treturn nil, err\n}\n\nfmt.Printf(\"Fetched Transaction:
2421
+ %v\", transaction)"
2247
2422
  "/sites/{site_id}/accounts/{account_id}/billing_infos":
2248
2423
  get:
2249
2424
  tags:
2250
- - account
2251
- - billing_info
2425
+ - billing_infos
2252
2426
  operationId: list_billing_infos
2253
2427
  summary: Get the list of billing information associated with an account
2254
2428
  description: See the [Pagination Guide](/guides/pagination.html) to learn how
@@ -2282,14 +2456,13 @@ paths:
2282
2456
  x-code-samples: []
2283
2457
  post:
2284
2458
  tags:
2285
- - account
2286
- - billing_info
2459
+ - billing_infos
2287
2460
  operationId: create_billing_info
2288
- summary: Set an account's billing information when the wallet feature is enabled
2461
+ summary: Add new billing information on an account
2289
2462
  description: |
2290
2463
  If you're using Recurly.js to securely submit data from webforms without sending it through your server,
2291
2464
  you can associate the billing information with an account by passing in the `token_id`. The only other
2292
- field permitted with `token_id` is `primary_payment_method`.
2465
+ fields permitted with `token_id` are `primary_payment_method` and/or `backup_payment_method`.
2293
2466
 
2294
2467
  For credit card payments you'll need the following required fields:
2295
2468
 
@@ -2344,8 +2517,7 @@ paths:
2344
2517
  "/sites/{site_id}/accounts/{account_id}/billing_infos/{billing_info_id}":
2345
2518
  get:
2346
2519
  tags:
2347
- - account
2348
- - billing_info
2520
+ - billing_infos
2349
2521
  operationId: get_a_billing_info
2350
2522
  summary: Fetch a billing info
2351
2523
  parameters:
@@ -2368,14 +2540,13 @@ paths:
2368
2540
  x-code-samples: []
2369
2541
  put:
2370
2542
  tags:
2371
- - account
2372
- - billing_info
2543
+ - billing_infos
2373
2544
  operationId: update_a_billing_info
2374
2545
  summary: Update an account's billing information
2375
2546
  description: |
2376
2547
  If you're using Recurly.js to securely submit data from webforms without sending it through your server,
2377
2548
  you can associate the billing information with an account by passing in the `token_id`. The only other
2378
- field permitted with `token_id` is `primary_payment_method`.
2549
+ fields permitted with `token_id` are `primary_payment_method` and/or `backup_payment_method`.
2379
2550
 
2380
2551
  For credit card payments you'll need the following required fields:
2381
2552
 
@@ -2430,8 +2601,7 @@ paths:
2430
2601
  x-code-samples: []
2431
2602
  delete:
2432
2603
  tags:
2433
- - account
2434
- - billing_info
2604
+ - billing_infos
2435
2605
  operationId: remove_a_billing_info
2436
2606
  summary: Remove an account's billing information
2437
2607
  parameters:
@@ -2462,7 +2632,6 @@ paths:
2462
2632
  "/sites/{site_id}/accounts/{account_id}/coupon_redemptions":
2463
2633
  get:
2464
2634
  tags:
2465
- - account
2466
2635
  - coupon_redemption
2467
2636
  operationId: list_account_coupon_redemptions
2468
2637
  summary: Show the coupon redemptions for an account
@@ -2552,7 +2721,6 @@ paths:
2552
2721
  "/sites/{site_id}/accounts/{account_id}/coupon_redemptions/active":
2553
2722
  get:
2554
2723
  tags:
2555
- - account
2556
2724
  - coupon_redemption
2557
2725
  operationId: get_active_coupon_redemption
2558
2726
  summary: Show the coupon redemption that is active on an account
@@ -2669,7 +2837,6 @@ paths:
2669
2837
  Coupon Redemption: %v\", couponRedemption.Id)"
2670
2838
  post:
2671
2839
  tags:
2672
- - account
2673
2840
  - coupon_redemption
2674
2841
  operationId: create_coupon_redemption
2675
2842
  summary: Generate an active coupon redemption on an account or subscription
@@ -2801,7 +2968,6 @@ paths:
2801
2968
  Redemption: %v\", couponRedemption)"
2802
2969
  delete:
2803
2970
  tags:
2804
- - account
2805
2971
  - coupon_redemption
2806
2972
  operationId: remove_coupon_redemption
2807
2973
  summary: Delete the active coupon redemption from an account
@@ -2917,7 +3083,6 @@ paths:
2917
3083
  "/sites/{site_id}/accounts/{account_id}/credit_payments":
2918
3084
  get:
2919
3085
  tags:
2920
- - account
2921
3086
  - credit_payment
2922
3087
  operationId: list_account_credit_payments
2923
3088
  summary: List an account's credit payments
@@ -3014,7 +3179,6 @@ paths:
3014
3179
  get:
3015
3180
  tags:
3016
3181
  - invoice
3017
- - account
3018
3182
  operationId: list_account_invoices
3019
3183
  summary: List an account's invoices
3020
3184
  description: See the [Pagination Guide](/guides/pagination.html) to learn how
@@ -3110,7 +3274,6 @@ paths:
3110
3274
  post:
3111
3275
  tags:
3112
3276
  - invoice
3113
- - account
3114
3277
  operationId: create_invoice
3115
3278
  summary: Create an invoice for pending line items
3116
3279
  parameters:
@@ -3282,7 +3445,6 @@ paths:
3282
3445
  post:
3283
3446
  tags:
3284
3447
  - invoice
3285
- - account
3286
3448
  operationId: preview_invoice
3287
3449
  summary: Preview new invoice for pending line items
3288
3450
  parameters:
@@ -3452,7 +3614,6 @@ paths:
3452
3614
  "/sites/{site_id}/accounts/{account_id}/line_items":
3453
3615
  get:
3454
3616
  tags:
3455
- - account
3456
3617
  - line_item
3457
3618
  operationId: list_account_line_items
3458
3619
  summary: List an account's line items
@@ -3551,7 +3712,6 @@ paths:
3551
3712
  Item %3d: %s\\n\",\n\t\t\ti,\n\t\t\tlineItem.Id,\n\t\t)\n\t}\n}"
3552
3713
  post:
3553
3714
  tags:
3554
- - account
3555
3715
  - line_item
3556
3716
  operationId: create_line_item
3557
3717
  summary: Create a new line item for the account
@@ -3721,7 +3881,6 @@ paths:
3721
3881
  "/sites/{site_id}/accounts/{account_id}/notes":
3722
3882
  get:
3723
3883
  tags:
3724
- - account
3725
3884
  - note
3726
3885
  operationId: list_account_notes
3727
3886
  summary: Fetch a list of an account's notes
@@ -3803,7 +3962,6 @@ paths:
3803
3962
  "/sites/{site_id}/accounts/{account_id}/notes/{account_note_id}":
3804
3963
  get:
3805
3964
  tags:
3806
- - account
3807
3965
  - note
3808
3966
  operationId: get_account_note
3809
3967
  summary: Fetch an account note
@@ -3931,7 +4089,6 @@ paths:
3931
4089
  "/sites/{site_id}/accounts/{account_id}/shipping_addresses":
3932
4090
  get:
3933
4091
  tags:
3934
- - account
3935
4092
  - shipping_address
3936
4093
  operationId: list_shipping_addresses
3937
4094
  summary: Fetch a list of an account's shipping addresses
@@ -4021,7 +4178,6 @@ paths:
4021
4178
  Address %3d: %s, %s\\n\",\n\t\t\ti,\n\t\t\tshippingAddress.Id,\n\t\t\tshippingAddress.Street1,\n\t\t)\n\t}\n}"
4022
4179
  post:
4023
4180
  tags:
4024
- - account
4025
4181
  - shipping_address
4026
4182
  operationId: create_shipping_address
4027
4183
  summary: Create a new shipping address for the account
@@ -4212,7 +4368,6 @@ paths:
4212
4368
  "/sites/{site_id}/accounts/{account_id}/shipping_addresses/{shipping_address_id}":
4213
4369
  get:
4214
4370
  tags:
4215
- - account
4216
4371
  - shipping_address
4217
4372
  operationId: get_shipping_address
4218
4373
  summary: Fetch an account's shipping address
@@ -4333,7 +4488,6 @@ paths:
4333
4488
  Address: %v\", shippingAddress)"
4334
4489
  put:
4335
4490
  tags:
4336
- - account
4337
4491
  - shipping_address
4338
4492
  operationId: update_shipping_address
4339
4493
  summary: Update an account's shipping address
@@ -4505,7 +4659,6 @@ paths:
4505
4659
  shippingAddress)"
4506
4660
  delete:
4507
4661
  tags:
4508
- - account
4509
4662
  - shipping_address
4510
4663
  operationId: remove_shipping_address
4511
4664
  summary: Remove an account's shipping address
@@ -4616,7 +4769,6 @@ paths:
4616
4769
  get:
4617
4770
  tags:
4618
4771
  - subscription
4619
- - account
4620
4772
  operationId: list_account_subscriptions
4621
4773
  summary: List an account's subscriptions
4622
4774
  description: See the [Pagination Guide](/guides/pagination.html) to learn how
@@ -4712,7 +4864,6 @@ paths:
4712
4864
  "/sites/{site_id}/accounts/{account_id}/transactions":
4713
4865
  get:
4714
4866
  tags:
4715
- - account
4716
4867
  - transaction
4717
4868
  operationId: list_account_transactions
4718
4869
  summary: List an account's transactions
@@ -5648,7 +5799,6 @@ paths:
5648
5799
  "/sites/{site_id}/coupons/{coupon_id}/generate":
5649
5800
  post:
5650
5801
  tags:
5651
- - coupon
5652
5802
  - unique_coupon_code
5653
5803
  operationId: generate_unique_coupon_codes
5654
5804
  summary: Generate unique coupon codes
@@ -5842,7 +5992,6 @@ paths:
5842
5992
  "/sites/{site_id}/coupons/{coupon_id}/unique_coupon_codes":
5843
5993
  get:
5844
5994
  tags:
5845
- - coupon
5846
5995
  - unique_coupon_code
5847
5996
  operationId: list_unique_coupon_codes
5848
5997
  summary: List unique coupon codes associated with a bulk coupon
@@ -8405,7 +8554,6 @@ paths:
8405
8554
  "/sites/{site_id}/invoices/{invoice_id}/line_items":
8406
8555
  get:
8407
8556
  tags:
8408
- - invoice
8409
8557
  - line_item
8410
8558
  operationId: list_invoice_line_items
8411
8559
  summary: List an invoice's line items
@@ -8496,7 +8644,7 @@ paths:
8496
8644
  $params = ['limit' => 200];
8497
8645
  $invoice_line_items = $client->listInvoiceLineItems($invoice_id, $params);
8498
8646
 
8499
- foreach($invoice_line_item as $line_item) {
8647
+ foreach($invoice_line_items as $line_item) {
8500
8648
  echo 'Invoice Line Item: ' . $line_item->getId() . PHP_EOL;
8501
8649
  }
8502
8650
  - lang: Go
@@ -8508,7 +8656,6 @@ paths:
8508
8656
  "/sites/{site_id}/invoices/{invoice_id}/coupon_redemptions":
8509
8657
  get:
8510
8658
  tags:
8511
- - invoice
8512
8659
  - coupon_redemption
8513
8660
  operationId: list_invoice_coupon_redemptions
8514
8661
  summary: Show the coupon redemptions applied to an invoice
@@ -9848,7 +9995,6 @@ paths:
9848
9995
  get:
9849
9996
  tags:
9850
9997
  - add-on
9851
- - plan
9852
9998
  operationId: list_plan_add_ons
9853
9999
  summary: List a plan's add-ons
9854
10000
  description: See the [Pagination Guide](/guides/pagination.html) to learn how
@@ -9944,7 +10090,6 @@ paths:
9944
10090
  post:
9945
10091
  tags:
9946
10092
  - add-on
9947
- - plan
9948
10093
  operationId: create_plan_add_on
9949
10094
  summary: Create an add-on
9950
10095
  parameters:
@@ -10142,7 +10287,6 @@ paths:
10142
10287
  "/sites/{site_id}/plans/{plan_id}/add_ons/{add_on_id}":
10143
10288
  get:
10144
10289
  tags:
10145
- - plan
10146
10290
  - add-on
10147
10291
  operationId: get_plan_add_on
10148
10292
  summary: Fetch a plan's add-on
@@ -10262,7 +10406,6 @@ paths:
10262
10406
  Add-On: %v\", planAddOn)"
10263
10407
  put:
10264
10408
  tags:
10265
- - plan
10266
10409
  - add-on
10267
10410
  operationId: update_plan_add_on
10268
10411
  summary: Update an add-on
@@ -10406,7 +10549,6 @@ paths:
10406
10549
  Add-On: %v\", planAddOn)"
10407
10550
  delete:
10408
10551
  tags:
10409
- - plan
10410
10552
  - add-on
10411
10553
  operationId: remove_plan_add_on
10412
10554
  summary: Remove an add-on
@@ -11175,8 +11317,7 @@ paths:
11175
11317
  subscription_create = {
11176
11318
  plan_code: plan_code,
11177
11319
  currency: "USD",
11178
- # This can be an existing account or
11179
- # a new acocunt
11320
+ # This can be an existing account or a new account
11180
11321
  account: {
11181
11322
  code: account_code,
11182
11323
  }
@@ -12268,10 +12409,46 @@ paths:
12268
12409
  schema:
12269
12410
  "$ref": "#/components/schemas/Error"
12270
12411
  x-code-samples: []
12271
- "/sites/{site_id}/subscriptions/{subscription_id}/change":
12412
+ "/sites/{site_id}/subscriptions/{subscription_id}/preview_renewal":
12272
12413
  get:
12273
12414
  tags:
12274
12415
  - subscription
12416
+ operationId: get_preview_renewal
12417
+ summary: Fetch a preview of a subscription's renewal invoice(s)
12418
+ description: The subscriptions's renewal invoice(s) will be returned if they
12419
+ exist; if they don't (for example, if the subscription is not set to renew),
12420
+ it will return an result with no invoices.
12421
+ parameters:
12422
+ - "$ref": "#/components/parameters/subscription_id"
12423
+ responses:
12424
+ '200':
12425
+ description: A preview of the subscription's renewal invoice(s).
12426
+ content:
12427
+ application/json:
12428
+ schema:
12429
+ "$ref": "#/components/schemas/InvoiceCollection"
12430
+ '400':
12431
+ description: Invalid or unpermitted parameter.
12432
+ content:
12433
+ application/json:
12434
+ schema:
12435
+ "$ref": "#/components/schemas/Error"
12436
+ '404':
12437
+ description: Incorrect site ID or subscription ID.
12438
+ content:
12439
+ application/json:
12440
+ schema:
12441
+ "$ref": "#/components/schemas/Error"
12442
+ default:
12443
+ description: Unexpected error.
12444
+ content:
12445
+ application/json:
12446
+ schema:
12447
+ "$ref": "#/components/schemas/Error"
12448
+ x-code-samples: []
12449
+ "/sites/{site_id}/subscriptions/{subscription_id}/change":
12450
+ get:
12451
+ tags:
12275
12452
  - subscription_change
12276
12453
  operationId: get_subscription_change
12277
12454
  summary: Fetch a subscription's pending change
@@ -12403,11 +12580,19 @@ paths:
12403
12580
  change: %s\", subscriptionChange.Id)"
12404
12581
  post:
12405
12582
  tags:
12406
- - subscription
12407
12583
  - subscription_change
12408
12584
  operationId: create_subscription_change
12409
12585
  summary: Create a new subscription change
12410
- description: Calling this will overwrite an existing, pending subscription change.
12586
+ description: |
12587
+ Calling this will overwrite an existing, pending subscription change.
12588
+
12589
+ If a subscription has a pending change, and a change is submitted which matches
12590
+ the subscription as it currently exists, the pending change will be deleted,
12591
+ and you will receive a 204 No Content response.
12592
+
12593
+ If a subscription has no pending
12594
+ change, and a change is submitted which matches the subscription as it currently
12595
+ exists, a 422 Unprocessable Entity validation error will be returned.
12411
12596
  parameters:
12412
12597
  - "$ref": "#/components/parameters/site_id"
12413
12598
  - "$ref": "#/components/parameters/subscription_id"
@@ -12424,6 +12609,8 @@ paths:
12424
12609
  application/json:
12425
12610
  schema:
12426
12611
  "$ref": "#/components/schemas/SubscriptionChange"
12612
+ '204':
12613
+ description: The previous pending change was reverted.
12427
12614
  '404':
12428
12615
  description: Incorrect site ID.
12429
12616
  content:
@@ -12563,7 +12750,6 @@ paths:
12563
12750
  changed: %s\", subscriptionChange.Id)"
12564
12751
  delete:
12565
12752
  tags:
12566
- - subscription
12567
12753
  - subscription_change
12568
12754
  operationId: remove_subscription_change
12569
12755
  summary: Delete the pending subscription change
@@ -12679,7 +12865,6 @@ paths:
12679
12865
  "/sites/{site_id}/subscriptions/{subscription_id}/change/preview":
12680
12866
  post:
12681
12867
  tags:
12682
- - subscription
12683
12868
  - subscription_change
12684
12869
  operationId: preview_subscription_change
12685
12870
  summary: Preview a new subscription change
@@ -12725,7 +12910,6 @@ paths:
12725
12910
  get:
12726
12911
  tags:
12727
12912
  - invoice
12728
- - subscription
12729
12913
  operationId: list_subscription_invoices
12730
12914
  summary: List a subscription's invoices
12731
12915
  description: See the [Pagination Guide](/guides/pagination.html) to learn how
@@ -12822,7 +13006,7 @@ paths:
12822
13006
  "/sites/{site_id}/subscriptions/{subscription_id}/line_items":
12823
13007
  get:
12824
13008
  tags:
12825
- - subscription
13009
+ - line_item
12826
13010
  operationId: list_subscription_line_items
12827
13011
  summary: List a subscription's line items
12828
13012
  description: See the [Pagination Guide](/guides/pagination.html) to learn how
@@ -12921,7 +13105,6 @@ paths:
12921
13105
  "/sites/{site_id}/subscriptions/{subscription_id}/coupon_redemptions":
12922
13106
  get:
12923
13107
  tags:
12924
- - subscription
12925
13108
  - coupon_redemption
12926
13109
  operationId: list_subscription_coupon_redemptions
12927
13110
  summary: Show the coupon redemptions for a subscription
@@ -13009,8 +13192,6 @@ paths:
13009
13192
  "/sites/{site_id}/subscriptions/{subscription_id}/add_ons/{add_on_id}/usage":
13010
13193
  get:
13011
13194
  tags:
13012
- - invoice
13013
- - subscription
13014
13195
  - usage
13015
13196
  operationId: list_usage
13016
13197
  summary: List a subscription add-on's usage records
@@ -13053,8 +13234,6 @@ paths:
13053
13234
  x-code-samples: []
13054
13235
  post:
13055
13236
  tags:
13056
- - invoice
13057
- - subscription
13058
13237
  - usage
13059
13238
  operationId: create_usage
13060
13239
  summary: Log a usage record on this subscription add-on
@@ -13103,8 +13282,6 @@ paths:
13103
13282
  "/sites/{site_id}/usage/{usage_id}":
13104
13283
  get:
13105
13284
  tags:
13106
- - invoice
13107
- - subscription
13108
13285
  - usage
13109
13286
  operationId: get_usage
13110
13287
  summary: Get a usage record
@@ -13139,8 +13316,6 @@ paths:
13139
13316
  x-code-samples: []
13140
13317
  put:
13141
13318
  tags:
13142
- - invoice
13143
- - subscription
13144
13319
  - usage
13145
13320
  operationId: update_usage
13146
13321
  summary: Update a usage record
@@ -13187,8 +13362,6 @@ paths:
13187
13362
  x-code-samples: []
13188
13363
  delete:
13189
13364
  tags:
13190
- - invoice
13191
- - subscription
13192
13365
  - usage
13193
13366
  operationId: remove_usage
13194
13367
  summary: Delete a usage record.
@@ -13990,9 +14163,14 @@ paths:
13990
14163
  var_dump($e);
13991
14164
  }
13992
14165
  - lang: Go
13993
- source: "collection, err := client.PreviewPurchase(purchaseReq)\nif e, ok
13994
- := err.(*recurly.Error); ok {\n\tif e.Type == recurly.ErrorTypeValidation
13995
- {\n\t\tfmt.Printf(\"Failed validation: %v\", e)\n\t\treturn nil, err\n\t}\n\tfmt.Printf(\"Unexpected
14166
+ source: "purchaseReq := &recurly.PurchaseCreate{\n\tCurrency: recurly.String(\"USD\"),\n\tAccount:
14167
+ &recurly.AccountPurchase{\n\t\tCode: recurly.String(account.Code),\n\t},\n\tSubscriptions:
14168
+ []recurly.SubscriptionPurchase{\n\t\t{\n\t\t\tPlanCode: recurly.String(plan.Code),\n\t\t\tNextBillDate:
14169
+ recurly.Time(time.Date(2078, time.November, 10, 23, 0, 0, 0, time.UTC)),\n\t\t},\n\t},\n\tShipping:
14170
+ &recurly.ShippingPurchase{\n\t\tAddressId: recurly.String(shippingAddressID),\n\t},\n}\ncollection,
14171
+ err := client.PreviewPurchase(purchaseReq)\nif e, ok := err.(*recurly.Error);
14172
+ ok {\n\tif e.Type == recurly.ErrorTypeValidation {\n\t\tfmt.Printf(\"Failed
14173
+ validation: %v\", e)\n\t\treturn nil, err\n\t}\n\tfmt.Printf(\"Unexpected
13996
14174
  Recurly error: %v\", e)\n\treturn nil, err\n}\nfmt.Printf(\"Preview Charge
13997
14175
  Invoice %v\", collection.ChargeInvoice)"
13998
14176
  "/sites/{site_id}/export_dates":
@@ -14220,46 +14398,148 @@ paths:
14220
14398
  err.(*recurly.Error); ok {\n\tfmt.Printf(\"Unexpected Recurly error: %v\",
14221
14399
  e)\n\treturn nil, err\n}\n\nfor _, file := range exportFiles.Files {\n\tfmt.Println(\"Export
14222
14400
  file download URL: \", file.Href)\n}"
14223
- servers:
14224
- - url: https://v3.recurly.com
14225
- components:
14226
- parameters:
14227
- site_id:
14228
- name: site_id
14229
- in: path
14230
- description: Site ID or subdomain. For ID no prefix is used e.g. `e28zov4fw0v2`.
14231
- For subdomain use prefix `subdomain-`, e.g. `subdomain-recurly`.
14232
- required: true
14233
- schema:
14234
- type: string
14235
- account_id:
14236
- name: account_id
14237
- in: path
14238
- description: Account ID or code. For ID no prefix is used e.g. `e28zov4fw0v2`.
14239
- For code use prefix `code-`, e.g. `code-bob`.
14240
- required: true
14241
- schema:
14242
- type: string
14243
- add_on_id:
14244
- name: add_on_id
14245
- in: path
14246
- description: Add-on ID or code. For ID no prefix is used e.g. `e28zov4fw0v2`.
14247
- For code use prefix `code-`, e.g. `code-gold`.
14248
- required: true
14249
- schema:
14250
- type: string
14251
- billing_info_id:
14252
- name: billing_info_id
14253
- in: path
14254
- description: Billing Info ID.
14255
- required: true
14256
- schema:
14257
- type: string
14258
- usage_id:
14259
- name: usage_id
14260
- in: path
14261
- description: Usage Record ID.
14262
- required: true
14401
+ "/sites/{site_id}/dunning_campaigns":
14402
+ get:
14403
+ tags:
14404
+ - dunning_campaigns
14405
+ operationId: list_dunning_campaigns
14406
+ summary: Show the dunning campaigns for a site
14407
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
14408
+ to use pagination in the API and Client Libraries.
14409
+ parameters:
14410
+ - "$ref": "#/components/parameters/sort_dates"
14411
+ responses:
14412
+ '200':
14413
+ description: A list of the the dunning_campaigns on an account.
14414
+ content:
14415
+ application/json:
14416
+ schema:
14417
+ "$ref": "#/components/schemas/DunningCampaignList"
14418
+ '404':
14419
+ description: Incorrect site.
14420
+ content:
14421
+ application/json:
14422
+ schema:
14423
+ "$ref": "#/components/schemas/Error"
14424
+ default:
14425
+ description: Unexpected error.
14426
+ content:
14427
+ application/json:
14428
+ schema:
14429
+ "$ref": "#/components/schemas/Error"
14430
+ x-code-samples: []
14431
+ "/dunning_campaigns/{dunning_campaign_id}":
14432
+ parameters:
14433
+ - "$ref": "#/components/parameters/dunning_campaign_id"
14434
+ get:
14435
+ tags:
14436
+ - dunning_campaigns
14437
+ operationId: get_dunning_campaign
14438
+ summary: Show the settings for a dunning campaign
14439
+ responses:
14440
+ '200':
14441
+ description: Settings for a dunning campaign.
14442
+ content:
14443
+ application/json:
14444
+ schema:
14445
+ "$ref": "#/components/schemas/DunningCampaign"
14446
+ '400':
14447
+ description: Bad request; perhaps missing or invalid parameters.
14448
+ content:
14449
+ application/json:
14450
+ schema:
14451
+ "$ref": "#/components/schemas/Error"
14452
+ '404':
14453
+ description: Incorrect site or campaign ID.
14454
+ content:
14455
+ application/json:
14456
+ schema:
14457
+ "$ref": "#/components/schemas/Error"
14458
+ default:
14459
+ description: Unexpected error.
14460
+ content:
14461
+ application/json:
14462
+ schema:
14463
+ "$ref": "#/components/schemas/Error"
14464
+ x-code-samples: []
14465
+ "/dunning_campaigns/{dunning_campaign_id}/bulk_update":
14466
+ put:
14467
+ tags:
14468
+ - dunning_campaigns
14469
+ operationId: put_dunning_campaign_bulk_update
14470
+ summary: Assign a dunning campaign to multiple plans
14471
+ requestBody:
14472
+ content:
14473
+ application/json:
14474
+ schema:
14475
+ "$ref": "#/components/schemas/DunningCampaignsBulkUpdate"
14476
+ responses:
14477
+ '200':
14478
+ description: A list of updated plans.
14479
+ content:
14480
+ application/json:
14481
+ schema:
14482
+ "$ref": "#/components/schemas/DunningCampaignsBulkUpdateResponse"
14483
+ '400':
14484
+ description: Bad request; perhaps missing or invalid parameters.
14485
+ content:
14486
+ application/json:
14487
+ schema:
14488
+ "$ref": "#/components/schemas/Error"
14489
+ '404':
14490
+ description: Incorrect site or campaign ID.
14491
+ content:
14492
+ application/json:
14493
+ schema:
14494
+ "$ref": "#/components/schemas/Error"
14495
+ default:
14496
+ description: Unexpected error.
14497
+ content:
14498
+ application/json:
14499
+ schema:
14500
+ "$ref": "#/components/schemas/Error"
14501
+ x-code-samples: []
14502
+ servers:
14503
+ - url: https://v3.recurly.com
14504
+ components:
14505
+ parameters:
14506
+ site_id:
14507
+ name: site_id
14508
+ in: path
14509
+ description: Site ID or subdomain. For ID no prefix is used e.g. `e28zov4fw0v2`.
14510
+ For subdomain use prefix `subdomain-`, e.g. `subdomain-recurly`.
14511
+ required: true
14512
+ schema:
14513
+ type: string
14514
+ account_id:
14515
+ name: account_id
14516
+ in: path
14517
+ description: Account ID or code. For ID no prefix is used e.g. `e28zov4fw0v2`.
14518
+ For code use prefix `code-`, e.g. `code-bob`.
14519
+ required: true
14520
+ schema:
14521
+ type: string
14522
+ add_on_id:
14523
+ name: add_on_id
14524
+ in: path
14525
+ description: Add-on ID or code. For ID no prefix is used e.g. `e28zov4fw0v2`.
14526
+ For code use prefix `code-`, e.g. `code-gold`.
14527
+ required: true
14528
+ schema:
14529
+ type: string
14530
+ billing_info_id:
14531
+ name: billing_info_id
14532
+ in: path
14533
+ description: Billing Info ID. Can ONLY be used for sites utilizing the Wallet
14534
+ feature.
14535
+ required: true
14536
+ schema:
14537
+ type: string
14538
+ usage_id:
14539
+ name: usage_id
14540
+ in: path
14541
+ description: Usage Record ID.
14542
+ required: true
14263
14543
  schema:
14264
14544
  type: string
14265
14545
  coupon_id:
@@ -14363,6 +14643,13 @@ components:
14363
14643
  required: true
14364
14644
  schema:
14365
14645
  type: string
14646
+ dunning_campaign_id:
14647
+ name: dunning_campaign_id
14648
+ in: path
14649
+ description: Dunning Campaign ID, e.g. `e28zov4fw0v2`.
14650
+ required: true
14651
+ schema:
14652
+ type: string
14366
14653
  ids:
14367
14654
  name: ids
14368
14655
  in: query
@@ -15124,20 +15411,28 @@ components:
15124
15411
  - en-AU
15125
15412
  - en-CA
15126
15413
  - en-GB
15414
+ - en-IE
15127
15415
  - en-NZ
15128
15416
  - en-US
15129
15417
  - es-ES
15130
15418
  - es-MX
15131
15419
  - es-US
15420
+ - fi-FI
15132
15421
  - fr-CA
15133
15422
  - fr-FR
15134
15423
  - hi-IN
15424
+ - it-IT
15135
15425
  - ja-JP
15426
+ - ko-KR
15136
15427
  - nl-BE
15137
15428
  - nl-NL
15429
+ - pl-PL
15138
15430
  - pt-BR
15139
15431
  - pt-PT
15432
+ - ro-RO
15140
15433
  - ru-RU
15434
+ - sk-SK
15435
+ - sv-SE
15141
15436
  - tr-TR
15142
15437
  - zh-CN
15143
15438
  cc_emails:
@@ -15204,6 +15499,13 @@ components:
15204
15499
  mail order and telephone transactions.
15205
15500
  enum:
15206
15501
  - moto
15502
+ dunning_campaign_id:
15503
+ type: string
15504
+ title: Dunning Campaign ID
15505
+ description: Unique ID to identify a dunning campaign. Used to specify if
15506
+ a non-default dunning campaign should be assigned to this account. For
15507
+ sites without multiple dunning campaigns enabled, the default dunning
15508
+ campaign will always be used.
15207
15509
  address:
15208
15510
  "$ref": "#/components/schemas/Address"
15209
15511
  billing_info:
@@ -15241,20 +15543,28 @@ components:
15241
15543
  - en-AU
15242
15544
  - en-CA
15243
15545
  - en-GB
15546
+ - en-IE
15244
15547
  - en-NZ
15245
15548
  - en-US
15246
15549
  - es-ES
15247
15550
  - es-MX
15248
15551
  - es-US
15552
+ - fi-FI
15249
15553
  - fr-CA
15250
15554
  - fr-FR
15251
15555
  - hi-IN
15556
+ - it-IT
15252
15557
  - ja-JP
15558
+ - ko-KR
15253
15559
  - nl-BE
15254
15560
  - nl-NL
15561
+ - pl-PL
15255
15562
  - pt-BR
15256
15563
  - pt-PT
15564
+ - ro-RO
15257
15565
  - ru-RU
15566
+ - sk-SK
15567
+ - sv-SE
15258
15568
  - tr-TR
15259
15569
  - zh-CN
15260
15570
  cc_emails:
@@ -15300,6 +15610,13 @@ components:
15300
15610
  enum:
15301
15611
  - self
15302
15612
  - parent
15613
+ dunning_campaign_id:
15614
+ type: string
15615
+ title: Dunning Campaign ID
15616
+ description: Unique ID to identify a dunning campaign. Used to specify if
15617
+ a non-default dunning campaign should be assigned to this account. For
15618
+ sites without multiple dunning campaigns enabled, the default dunning
15619
+ campaign will always be used.
15303
15620
  address:
15304
15621
  "$ref": "#/components/schemas/Address"
15305
15622
  billing_info:
@@ -15365,6 +15682,13 @@ components:
15365
15682
  bill_to:
15366
15683
  type: string
15367
15684
  maxLength: 6
15685
+ dunning_campaign_id:
15686
+ type: string
15687
+ title: Dunning Campaign ID
15688
+ description: Unique ID to identify a dunning campaign. Used to specify if
15689
+ a non-default dunning campaign should be assigned to this account. For
15690
+ sites without multiple dunning campaigns enabled, the default dunning
15691
+ campaign will always be used.
15368
15692
  AccountBalance:
15369
15693
  type: object
15370
15694
  properties:
@@ -15394,6 +15718,12 @@ components:
15394
15718
  format: float
15395
15719
  title: Amount
15396
15720
  description: Total amount the account is past due.
15721
+ processing_prepayment_amount:
15722
+ type: number
15723
+ format: float
15724
+ title: Amount
15725
+ description: Total amount for the prepayment credit invoices in a `processing`
15726
+ state on the account.
15397
15727
  InvoiceAddress:
15398
15728
  allOf:
15399
15729
  - "$ref": "#/components/schemas/Address"
@@ -15437,7 +15767,7 @@ components:
15437
15767
  country:
15438
15768
  type: string
15439
15769
  title: Country
15440
- description: Country, 2-letter ISO code.
15770
+ description: Country, 2-letter ISO 3166-1 alpha-2 code.
15441
15771
  AddOnMini:
15442
15772
  type: object
15443
15773
  title: Add-on mini details
@@ -15679,7 +16009,6 @@ components:
15679
16009
  required:
15680
16010
  - code
15681
16011
  - name
15682
- - currencies
15683
16012
  AddOnCreate:
15684
16013
  type: object
15685
16014
  title: Add-on
@@ -15689,16 +16018,16 @@ components:
15689
16018
  type: string
15690
16019
  title: Item Code
15691
16020
  description: Unique code to identify an item. Avaliable when the `Credit
15692
- Invoices` and `Subscription Billing Terms` features are enabled. If `item_id`
15693
- and `item_code` are both present, `item_id` will be used.
16021
+ Invoices` feature is enabled. If `item_id` and `item_code` are both present,
16022
+ `item_id` will be used.
15694
16023
  pattern: "/^[a-z0-9_+-]+$/"
15695
16024
  maxLength: 50
15696
16025
  item_id:
15697
16026
  type: string
15698
16027
  title: Item ID
15699
16028
  description: System-generated unique identifier for an item. Available when
15700
- the `Credit Invoices` and `Subscription Billing Terms` features are enabled.
15701
- If `item_id` and `item_code` are both present, `item_id` will be used.
16029
+ the `Credit Invoices` feature is enabled. If `item_id` and `item_code`
16030
+ are both present, `item_id` will be used.
15702
16031
  maxLength: 13
15703
16032
  code:
15704
16033
  type: string
@@ -15839,6 +16168,7 @@ components:
15839
16168
  is not present `currencies` is required.
15840
16169
  * If the add-on's `tier_type` is `tiered`, `volume`, or `stairstep`,
15841
16170
  then `currencies` must be absent.
16171
+ * Must be absent if `add_on_type` is `usage` and `usage_type` is `percentage`.
15842
16172
  tier_type:
15843
16173
  type: string
15844
16174
  title: Tier type
@@ -15866,7 +16196,6 @@ components:
15866
16196
  required:
15867
16197
  - code
15868
16198
  - name
15869
- - currencies
15870
16199
  AddOnUpdate:
15871
16200
  type: object
15872
16201
  title: Add-on
@@ -15986,7 +16315,8 @@ components:
15986
16315
  minItems: 1
15987
16316
  description: |
15988
16317
  If the add-on's `tier_type` is `tiered`, `volume` or `stairstep`,
15989
- then `currencies` must be absent.
16318
+ then `currencies` must be absent. Must also be absent if `add_on_type` is
16319
+ `usage` and `usage_type` is `percentage`.
15990
16320
  tiers:
15991
16321
  type: array
15992
16322
  title: Tiers
@@ -16058,14 +16388,14 @@ components:
16058
16388
  title: Kount rules
16059
16389
  primary_payment_method:
16060
16390
  type: boolean
16061
- description: The `primary_payment_method` indicator is used to designate
16062
- the primary billing info on the account. The first billing info created
16063
- on an account will always become primary. Adding additional billing infos
16064
- provides the flexibility to mark another billing info as primary, or adding
16065
- additional non-primary billing infos. This can be accomplished by passing
16066
- the `primary_payment_method` indicator. When adding billing infos via
16067
- the billing_info and /accounts endpoints, this value is not permitted,
16068
- and will return an error if provided.
16391
+ description: The `primary_payment_method` field is used to indicate the
16392
+ primary billing info on the account. The first billing info created on
16393
+ an account will always become primary. This payment method will be used
16394
+ backup_payment_method:
16395
+ type: boolean
16396
+ description: The `backup_payment_method` field is used to indicate a billing
16397
+ info as a backup on the account that will be tried if the initial billing
16398
+ info used for an invoice is declined.
16069
16399
  created_at:
16070
16400
  type: string
16071
16401
  format: date-time
@@ -16087,7 +16417,8 @@ components:
16087
16417
  maxLength: 20
16088
16418
  country:
16089
16419
  type: string
16090
- description: Country of IP address, if known by Recurly.
16420
+ description: Country, 2-letter ISO 3166-1 alpha-2 code matching the
16421
+ origin IP address, if known by Recurly.
16091
16422
  maxLength: 2
16092
16423
  BillingInfoCreate:
16093
16424
  type: object
@@ -16198,8 +16529,9 @@ components:
16198
16529
  type: string
16199
16530
  enum:
16200
16531
  - bacs
16532
+ - becs
16201
16533
  description: The payment method type for a non-credit card based billing
16202
- info. The value of `bacs` is the only accepted value (Bacs only)
16534
+ info. `bacs` and `becs` are the only accepted values.
16203
16535
  account_type:
16204
16536
  type: string
16205
16537
  enum:
@@ -16220,14 +16552,29 @@ components:
16220
16552
  primary_payment_method:
16221
16553
  type: boolean
16222
16554
  title: Primary Payment Method
16223
- description: The `primary_payment_method` indicator is used to designate
16224
- the primary billing info on the account. The first billing info created
16225
- on an account will always become primary. Adding additional billing infos
16555
+ description: The `primary_payment_method` field is used to designate the
16556
+ primary billing info on the account. The first billing info created on
16557
+ an account will always become primary. Adding additional billing infos
16226
16558
  provides the flexibility to mark another billing info as primary, or adding
16227
16559
  additional non-primary billing infos. This can be accomplished by passing
16228
- the `primary_payment_method` indicator. When adding billing infos via
16229
- the billing_info and /accounts endpoints, this value is not permitted,
16230
- and will return an error if provided.
16560
+ the `primary_payment_method` with a value of `true`. When adding billing
16561
+ infos via the billing_info and /accounts endpoints, this value is not
16562
+ permitted, and will return an error if provided.
16563
+ backup_payment_method:
16564
+ type: boolean
16565
+ description: The `backup_payment_method` field is used to designate a billing
16566
+ info as a backup on the account that will be tried if the initial billing
16567
+ info used for an invoice is declined. All payment methods, including the
16568
+ billing info marked `primary_payment_method` can be set as a backup. An
16569
+ account can have a maximum of 1 backup, if a user sets a different payment
16570
+ method as a backup, the existing backup will no longer be marked as such.
16571
+ BillingInfoVerify:
16572
+ type: object
16573
+ properties:
16574
+ gateway_code:
16575
+ type: string
16576
+ description: An identifier for a specific payment gateway.
16577
+ maxLength: 13
16231
16578
  Coupon:
16232
16579
  type: object
16233
16580
  properties:
@@ -16912,7 +17259,7 @@ components:
16912
17259
  title: Field value
16913
17260
  description: Any values that resemble a credit card number or security code
16914
17261
  (CVV/CVC) will be rejected.
16915
- maxLength: 100
17262
+ maxLength: 255
16916
17263
  required:
16917
17264
  - name
16918
17265
  - value
@@ -17324,6 +17671,12 @@ components:
17324
17671
  - gift_card
17325
17672
  - write_off
17326
17673
  - prepayment
17674
+ - refund
17675
+ - external_refund
17676
+ - carryforward_credit
17677
+ - carryforward_gift_credit
17678
+ - usage_correction
17679
+ - import
17327
17680
  state:
17328
17681
  type: string
17329
17682
  title: Invoice state
@@ -17344,7 +17697,8 @@ components:
17344
17697
  description: The `billing_info_id` is the value that represents a specific
17345
17698
  billing info for an end customer. When `billing_info_id` is used to assign
17346
17699
  billing info to the subscription, all future billing events for the subscription
17347
- will bill to the specified billing info.
17700
+ will bill to the specified billing info. `billing_info_id` can ONLY be
17701
+ used for sites utilizing the Wallet feature.
17348
17702
  subscription_ids:
17349
17703
  type: array
17350
17704
  title: Subscription IDs
@@ -17414,7 +17768,8 @@ components:
17414
17768
  type: number
17415
17769
  format: float
17416
17770
  title: Subtotal
17417
- description: The summation of charges, discounts, and credits, before tax.
17771
+ description: The summation of charges and credits, before discounts and
17772
+ taxes.
17418
17773
  tax:
17419
17774
  type: number
17420
17775
  format: float
@@ -17504,6 +17859,12 @@ components:
17504
17859
  format: date-time
17505
17860
  title: Closed at
17506
17861
  description: Date invoice was marked paid or failed.
17862
+ dunning_campaign_id:
17863
+ type: string
17864
+ title: Dunning Campaign ID
17865
+ description: Unique ID to identify the dunning campaign used when dunning
17866
+ the invoice. For sites without multiple dunning campaigns enabled, this
17867
+ will always be the default dunning campaign.
17507
17868
  InvoiceCreate:
17508
17869
  type: object
17509
17870
  properties:
@@ -17592,7 +17953,8 @@ components:
17592
17953
  description: The `billing_info_id` is the value that represents a specific
17593
17954
  billing info for an end customer. When `billing_info_id` is used to assign
17594
17955
  billing info to the subscription, all future billing events for the subscription
17595
- will bill to the specified billing info.
17956
+ will bill to the specified billing info. `billing_info_id` can ONLY be
17957
+ used for sites utilizing the Wallet feature.
17596
17958
  InvoiceCollection:
17597
17959
  type: object
17598
17960
  title: Invoice collection
@@ -17883,20 +18245,20 @@ components:
17883
18245
  type: string
17884
18246
  title: Item Code
17885
18247
  description: Unique code to identify an item. Available when the Credit
17886
- Invoices and Subscription Billing Terms features are enabled.
18248
+ Invoices feature is enabled.
17887
18249
  pattern: "/^[a-z0-9_+-]+$/"
17888
18250
  maxLength: 50
17889
18251
  item_id:
17890
18252
  type: string
17891
18253
  title: Item ID
17892
18254
  description: System-generated unique identifier for an item. Available when
17893
- the Credit Invoices and Subscription Billing Terms features are enabled.
18255
+ the Credit Invoices feature is enabled.
17894
18256
  maxLength: 13
17895
18257
  external_sku:
17896
18258
  type: string
17897
18259
  title: External SKU
17898
18260
  description: Optional Stock Keeping Unit assigned to an item. Available
17899
- when the Credit Invoices and Subscription Billing Terms features are enabled.
18261
+ when the Credit Invoices feature is enabled.
17900
18262
  maxLength: 50
17901
18263
  revenue_schedule_type:
17902
18264
  type: string
@@ -17932,6 +18294,12 @@ components:
17932
18294
  - carryforward
17933
18295
  account:
17934
18296
  "$ref": "#/components/schemas/AccountMini"
18297
+ bill_for_account_id:
18298
+ type: string
18299
+ title: Bill For Account ID
18300
+ maxLength: 13
18301
+ description: The UUID of the account responsible for originating the line
18302
+ item.
17935
18303
  subscription_id:
17936
18304
  type: string
17937
18305
  title: Subscription ID
@@ -18060,6 +18428,12 @@ components:
18060
18428
  format: float
18061
18429
  title: Unit amount
18062
18430
  description: Positive amount for a charge, negative amount for a credit.
18431
+ tax_inclusive:
18432
+ type: boolean
18433
+ title: Tax Inclusive?
18434
+ description: Determines whether or not tax is included in the unit amount.
18435
+ The Tax Inclusive Pricing feature (separate from the Mixed Tax Pricing
18436
+ feature) must be enabled to utilize this flag.
18063
18437
  subtotal:
18064
18438
  type: number
18065
18439
  format: float
@@ -18198,6 +18572,13 @@ components:
18198
18572
  A positive or negative amount with `type=credit` will result in a negative `unit_amount`.
18199
18573
  If `item_code`/`item_id` is present, `unit_amount` can be passed in, to override the `Item`'s
18200
18574
  `unit_amount`. If `item_code`/`item_id` is not present then `unit_amount` is required.
18575
+ tax_inclusive:
18576
+ type: boolean
18577
+ title: Tax Inclusive?
18578
+ default: false
18579
+ description: Determines whether or not tax is included in the unit amount.
18580
+ The Tax Inclusive Pricing feature (separate from the Mixed Tax Pricing
18581
+ feature) must be enabled to use this flag.
18201
18582
  quantity:
18202
18583
  type: integer
18203
18584
  title: Quantity
@@ -18214,14 +18595,14 @@ components:
18214
18595
  type: string
18215
18596
  title: Item Code
18216
18597
  description: Unique code to identify an item. Avaliable when the Credit
18217
- Invoices and Subscription Billing Terms features are enabled.
18598
+ Invoices feature is enabled.
18218
18599
  pattern: "/^[a-z0-9_+-]+$/"
18219
18600
  maxLength: 50
18220
18601
  item_id:
18221
18602
  type: string
18222
18603
  title: Item ID
18223
18604
  description: System-generated unique identifier for an item. Available when
18224
- the Credit Invoices and Subscription Billing Terms features are enabled.
18605
+ the Credit Invoices feature is enabled.
18225
18606
  maxLength: 13
18226
18607
  revenue_schedule_type:
18227
18608
  type: string
@@ -18447,6 +18828,22 @@ components:
18447
18828
  renew its term at renewal. If `auto_renew` is `false`, then a subscription
18448
18829
  will expire at the end of its term. `auto_renew` can be overridden on
18449
18830
  the subscription record itself.
18831
+ pricing_model:
18832
+ title: Pricing Model
18833
+ type: string
18834
+ enum:
18835
+ - fixed
18836
+ - ramp
18837
+ default: fixed
18838
+ description: |
18839
+ A fixed pricing model has the same price for each billing period.
18840
+ A ramp pricing model defines a set of Ramp Intervals, where a subscription changes price on
18841
+ a specified cadence of billing periods. The price change could be an increase or decrease.
18842
+ ramp_intervals:
18843
+ type: array
18844
+ title: Ramp Intervals
18845
+ items:
18846
+ "$ref": "#/components/schemas/PlanRampInterval"
18450
18847
  accounting_code:
18451
18848
  type: string
18452
18849
  title: Plan accounting code
@@ -18522,6 +18919,13 @@ components:
18522
18919
  Used to determine whether items can be assigned as add-ons to individual subscriptions.
18523
18920
  If `true`, items can be assigned as add-ons to individual subscription add-ons.
18524
18921
  If `false`, only plan add-ons can be used.
18922
+ dunning_campaign_id:
18923
+ type: string
18924
+ title: Dunning Campaign ID
18925
+ description: Unique ID to identify a dunning campaign. Used to specify if
18926
+ a non-default dunning campaign should be assigned to this plan. For sites
18927
+ without multiple dunning campaigns enabled, the default dunning campaign
18928
+ will always be used.
18525
18929
  created_at:
18526
18930
  type: string
18527
18931
  format: date-time
@@ -18618,6 +19022,22 @@ components:
18618
19022
  renew its term at renewal. If `auto_renew` is `false`, then a subscription
18619
19023
  will expire at the end of its term. `auto_renew` can be overridden on
18620
19024
  the subscription record itself.
19025
+ pricing_model:
19026
+ title: Pricing Model
19027
+ type: string
19028
+ enum:
19029
+ - fixed
19030
+ - ramp
19031
+ default: fixed
19032
+ description: |
19033
+ A fixed pricing model has the same price for each billing period.
19034
+ A ramp pricing model defines a set of Ramp Intervals, where a subscription changes price on
19035
+ a specified cadence of billing periods. The price change could be an increase or decrease.
19036
+ ramp_intervals:
19037
+ type: array
19038
+ title: Ramp Intervals
19039
+ items:
19040
+ "$ref": "#/components/schemas/PlanRampInterval"
18621
19041
  revenue_schedule_type:
18622
19042
  type: string
18623
19043
  title: Revenue schedule type
@@ -18694,6 +19114,13 @@ components:
18694
19114
  Used to determine whether items can be assigned as add-ons to individual subscriptions.
18695
19115
  If `true`, items can be assigned as add-ons to individual subscription add-ons.
18696
19116
  If `false`, only plan add-ons can be used.
19117
+ dunning_campaign_id:
19118
+ type: string
19119
+ title: Dunning Campaign ID
19120
+ description: Unique ID to identify a dunning campaign. Used to specify if
19121
+ a non-default dunning campaign should be assigned to this plan. For sites
19122
+ without multiple dunning campaigns enabled, the default dunning campaign
19123
+ will always be used.
18697
19124
  required:
18698
19125
  - code
18699
19126
  - name
@@ -18742,8 +19169,15 @@ components:
18742
19169
  type: number
18743
19170
  format: float
18744
19171
  title: Unit price
19172
+ description: This field should not be sent when the pricing model is 'ramp'.
18745
19173
  minimum: 0
18746
19174
  maximum: 1000000
19175
+ tax_inclusive:
19176
+ type: boolean
19177
+ title: Tax Inclusive?
19178
+ default: false
19179
+ description: This field is deprecated. Please do not use it.
19180
+ deprecated: true
18747
19181
  PlanUpdate:
18748
19182
  type: object
18749
19183
  properties:
@@ -18813,6 +19247,11 @@ components:
18813
19247
  renew its term at renewal. If `auto_renew` is `false`, then a subscription
18814
19248
  will expire at the end of its term. `auto_renew` can be overridden on
18815
19249
  the subscription record itself.
19250
+ ramp_intervals:
19251
+ type: array
19252
+ title: Ramp Intervals
19253
+ items:
19254
+ "$ref": "#/components/schemas/PlanRampInterval"
18816
19255
  revenue_schedule_type:
18817
19256
  type: string
18818
19257
  title: Revenue schedule type
@@ -18883,6 +19322,26 @@ components:
18883
19322
  Used to determine whether items can be assigned as add-ons to individual subscriptions.
18884
19323
  If `true`, items can be assigned as add-ons to individual subscription add-ons.
18885
19324
  If `false`, only plan add-ons can be used.
19325
+ dunning_campaign_id:
19326
+ type: string
19327
+ title: Dunning Campaign ID
19328
+ description: Unique ID to identify a dunning campaign. Used to specify if
19329
+ a non-default dunning campaign should be assigned to this plan. For sites
19330
+ without multiple dunning campaigns enabled, the default dunning campaign
19331
+ will always be used.
19332
+ PlanRampInterval:
19333
+ type: object
19334
+ title: Plan Ramp Interval
19335
+ properties:
19336
+ starting_billing_cycle:
19337
+ type: integer
19338
+ description: Represents the first billing cycle of a ramp.
19339
+ default: 1
19340
+ currencies:
19341
+ type: array
19342
+ description: Represents the price for the ramp interval.
19343
+ items:
19344
+ "$ref": "#/components/schemas/PlanRampPricing"
18886
19345
  AddOnPricing:
18887
19346
  type: object
18888
19347
  properties:
@@ -18897,6 +19356,30 @@ components:
18897
19356
  title: Unit price
18898
19357
  minimum: 0
18899
19358
  maximum: 1000000
19359
+ tax_inclusive:
19360
+ type: boolean
19361
+ title: Tax Inclusive?
19362
+ default: false
19363
+ description: This field is deprecated. Please do not use it.
19364
+ deprecated: true
19365
+ required:
19366
+ - currency
19367
+ - unit_amount
19368
+ PlanRampPricing:
19369
+ type: object
19370
+ properties:
19371
+ currency:
19372
+ type: string
19373
+ title: Currency
19374
+ description: 3-letter ISO 4217 currency code.
19375
+ maxLength: 3
19376
+ unit_amount:
19377
+ type: number
19378
+ format: float
19379
+ title: Unit price
19380
+ description: Represents the price for the Ramp Interval.
19381
+ minimum: 0
19382
+ maximum: 1000000
18900
19383
  required:
18901
19384
  - currency
18902
19385
  - unit_amount
@@ -18914,6 +19397,12 @@ components:
18914
19397
  title: Unit price
18915
19398
  minimum: 0
18916
19399
  maximum: 1000000
19400
+ tax_inclusive:
19401
+ type: boolean
19402
+ title: Tax Inclusive?
19403
+ default: false
19404
+ description: This field is deprecated. Please do not use it.
19405
+ deprecated: true
18917
19406
  required:
18918
19407
  - currency
18919
19408
  - unit_amount
@@ -19018,7 +19507,7 @@ components:
19018
19507
  country:
19019
19508
  type: string
19020
19509
  maxLength: 50
19021
- description: Country, 2-letter ISO code.
19510
+ description: Country, 2-letter ISO 3166-1 alpha-2 code.
19022
19511
  created_at:
19023
19512
  type: string
19024
19513
  title: Created at
@@ -19073,7 +19562,7 @@ components:
19073
19562
  country:
19074
19563
  type: string
19075
19564
  maxLength: 50
19076
- description: Country, 2-letter ISO code.
19565
+ description: Country, 2-letter ISO 3166-1 alpha-2 code.
19077
19566
  required:
19078
19567
  - first_name
19079
19568
  - last_name
@@ -19323,7 +19812,7 @@ components:
19323
19812
  country:
19324
19813
  type: string
19325
19814
  maxLength: 50
19326
- description: Country, 2-letter ISO code.
19815
+ description: Country, 2-letter ISO 3166-1 alpha-2 code.
19327
19816
  Site:
19328
19817
  type: object
19329
19818
  properties:
@@ -19479,6 +19968,13 @@ components:
19479
19968
  default: true
19480
19969
  title: Auto renew
19481
19970
  description: Whether the subscription renews at the end of its term.
19971
+ ramp_intervals:
19972
+ type: array
19973
+ title: Ramp Intervals
19974
+ description: The ramp intervals representing the pricing schedule for the
19975
+ subscription.
19976
+ items:
19977
+ "$ref": "#/components/schemas/SubscriptionRampIntervalResponse"
19482
19978
  paused_at:
19483
19979
  type: string
19484
19980
  format: date-time
@@ -19507,6 +20003,12 @@ components:
19507
20003
  type: number
19508
20004
  format: float
19509
20005
  title: Subscription unit price
20006
+ tax_inclusive:
20007
+ type: boolean
20008
+ title: Tax Inclusive?
20009
+ description: Determines whether or not tax is included in the unit amount.
20010
+ The Tax Inclusive Pricing feature (separate from the Mixed Tax Pricing
20011
+ feature) must be enabled to utilize this flag.
19510
20012
  quantity:
19511
20013
  type: integer
19512
20014
  title: Subscription quantity
@@ -19592,6 +20094,13 @@ components:
19592
20094
  type: string
19593
20095
  title: Billing Info ID
19594
20096
  description: Billing Info ID.
20097
+ active_invoice_id:
20098
+ type: string
20099
+ title: Active invoice ID
20100
+ description: The invoice ID of the latest invoice created for an active
20101
+ subscription.
20102
+ maxLength: 13
20103
+ readOnly: true
19595
20104
  SubscriptionAddOn:
19596
20105
  type: object
19597
20106
  title: Subscription Add-on
@@ -19871,6 +20380,12 @@ components:
19871
20380
  type: number
19872
20381
  format: float
19873
20382
  title: Unit amount
20383
+ tax_inclusive:
20384
+ type: boolean
20385
+ title: Tax Inclusive?
20386
+ default: false
20387
+ description: This field is deprecated. Please do not use it.
20388
+ deprecated: true
19874
20389
  quantity:
19875
20390
  type: integer
19876
20391
  title: Subscription quantity
@@ -19921,6 +20436,28 @@ components:
19921
20436
  format: date-time
19922
20437
  title: Deleted at
19923
20438
  readOnly: true
20439
+ billing_info:
20440
+ "$ref": "#/components/schemas/SubscriptionChangeBillingInfo"
20441
+ ramp_intervals:
20442
+ type: array
20443
+ title: Ramp Intervals
20444
+ description: The ramp intervals representing the pricing schedule for the
20445
+ subscription.
20446
+ items:
20447
+ "$ref": "#/components/schemas/SubscriptionRampIntervalResponse"
20448
+ SubscriptionChangeBillingInfo:
20449
+ type: object
20450
+ description: Accept nested attributes for three_d_secure_action_result_token_id
20451
+ properties:
20452
+ three_d_secure_action_result_token_id:
20453
+ type: string
20454
+ title: 3-D Secure action result token ID
20455
+ description: A token generated by Recurly.js after completing a 3-D Secure
20456
+ device fingerprinting or authentication challenge.
20457
+ maxLength: 22
20458
+ SubscriptionChangeBillingInfoCreate:
20459
+ allOf:
20460
+ - "$ref": "#/components/schemas/SubscriptionChangeBillingInfo"
19924
20461
  SubscriptionChangeCreate:
19925
20462
  type: object
19926
20463
  properties:
@@ -19961,6 +20498,12 @@ components:
19961
20498
  be used.
19962
20499
  minimum: 0
19963
20500
  maximum: 1000000
20501
+ tax_inclusive:
20502
+ type: boolean
20503
+ title: Tax Inclusive?
20504
+ default: false
20505
+ description: This field is deprecated. Please do not use it.
20506
+ deprecated: true
19964
20507
  quantity:
19965
20508
  type: integer
19966
20509
  title: Quantity
@@ -20039,6 +20582,14 @@ components:
20039
20582
  mail order and telephone transactions.
20040
20583
  enum:
20041
20584
  - moto
20585
+ billing_info:
20586
+ "$ref": "#/components/schemas/SubscriptionChangeBillingInfoCreate"
20587
+ ramp_intervals:
20588
+ type: array
20589
+ title: Ramp Intervals
20590
+ description: The new set of ramp intervals for the subscription.
20591
+ items:
20592
+ "$ref": "#/components/schemas/SubscriptionRampInterval"
20042
20593
  SubscriptionChangePreview:
20043
20594
  type: object
20044
20595
  allOf:
@@ -20091,7 +20642,8 @@ components:
20091
20642
  description: The `billing_info_id` is the value that represents a specific
20092
20643
  billing info for an end customer. When `billing_info_id` is used to assign
20093
20644
  billing info to the subscription, all future billing events for the subscription
20094
- will bill to the specified billing info.
20645
+ will bill to the specified billing info. `billing_info_id` can ONLY be
20646
+ used for sites utilizing the Wallet feature.
20095
20647
  shipping:
20096
20648
  title: Shipping address
20097
20649
  description: Create a shipping address on the account and assign it to the
@@ -20118,6 +20670,13 @@ components:
20118
20670
  the subscription plan for the provided currency.
20119
20671
  minimum: 0
20120
20672
  maximum: 1000000
20673
+ tax_inclusive:
20674
+ type: boolean
20675
+ title: Tax Inclusive?
20676
+ default: false
20677
+ description: Determines whether or not tax is included in the unit amount.
20678
+ The Tax Inclusive Pricing feature (separate from the Mixed Tax Pricing
20679
+ feature) must be enabled to use this flag.
20121
20680
  quantity:
20122
20681
  type: integer
20123
20682
  title: Quantity
@@ -20141,8 +20700,11 @@ components:
20141
20700
  type: string
20142
20701
  format: date-time
20143
20702
  title: Trial ends at
20144
- description: If set, overrides the default trial behavior for the subscription.
20145
- The date must be in the future.
20703
+ description: IIf set, overrides the default trial behavior for the subscription.
20704
+ When the current date time or a past date time is provided the subscription
20705
+ will begin with no trial phase (overriding any plan default trial). When
20706
+ a future date time is provided the subscription will begin with a trial
20707
+ phase ending at the specified date time.
20146
20708
  starts_at:
20147
20709
  type: string
20148
20710
  format: date-time
@@ -20179,6 +20741,12 @@ components:
20179
20741
  default: true
20180
20742
  title: Auto renew
20181
20743
  description: Whether the subscription renews at the end of its term.
20744
+ ramp_intervals:
20745
+ type: array
20746
+ title: Ramp Intervals
20747
+ description: The new set of ramp intervals for the subscription.
20748
+ items:
20749
+ "$ref": "#/components/schemas/SubscriptionRampInterval"
20182
20750
  revenue_schedule_type:
20183
20751
  type: string
20184
20752
  title: Revenue schedule type
@@ -20248,10 +20816,17 @@ components:
20248
20816
  format: float
20249
20817
  title: Custom subscription pricing
20250
20818
  description: Override the unit amount of the subscription plan by setting
20251
- this value in cents. If not provided, the subscription will inherit the
20252
- price from the subscription plan for the provided currency.
20819
+ this value. If not provided, the subscription will inherit the price from
20820
+ the subscription plan for the provided currency.
20253
20821
  minimum: 0
20254
20822
  maximum: 1000000
20823
+ tax_inclusive:
20824
+ type: boolean
20825
+ title: Tax Inclusive?
20826
+ default: false
20827
+ description: Determines whether or not tax is included in the unit amount.
20828
+ The Tax Inclusive Pricing feature (separate from the Mixed Tax Pricing
20829
+ feature) must be enabled to use this flag.
20255
20830
  quantity:
20256
20831
  type: integer
20257
20832
  title: Quantity
@@ -20275,7 +20850,10 @@ components:
20275
20850
  format: date-time
20276
20851
  title: Trial ends at
20277
20852
  description: If set, overrides the default trial behavior for the subscription.
20278
- The date must be in the future.
20853
+ When the current date time or a past date time is provided the subscription
20854
+ will begin with no trial phase (overriding any plan default trial). When
20855
+ a future date time is provided the subscription will begin with a trial
20856
+ phase ending at the specified date time.
20279
20857
  starts_at:
20280
20858
  type: string
20281
20859
  format: date-time
@@ -20320,6 +20898,12 @@ components:
20320
20898
  - evenly
20321
20899
  - at_range_end
20322
20900
  - at_range_start
20901
+ ramp_intervals:
20902
+ type: array
20903
+ title: Ramp Intervals
20904
+ description: The new set of ramp intervals for the subscription.
20905
+ items:
20906
+ "$ref": "#/components/schemas/SubscriptionRampInterval"
20323
20907
  required:
20324
20908
  - plan_code
20325
20909
  SubscriptionUpdate:
@@ -20392,6 +20976,12 @@ components:
20392
20976
  at 31 days exactly.
20393
20977
  minimum: 0
20394
20978
  default: 0
20979
+ tax_inclusive:
20980
+ type: boolean
20981
+ title: Tax Inclusive?
20982
+ default: false
20983
+ description: This field is deprecated. Please do not use it.
20984
+ deprecated: true
20395
20985
  shipping:
20396
20986
  "$ref": "#/components/schemas/SubscriptionShippingUpdate"
20397
20987
  billing_info_id:
@@ -20400,14 +20990,16 @@ components:
20400
20990
  description: The `billing_info_id` is the value that represents a specific
20401
20991
  billing info for an end customer. When `billing_info_id` is used to assign
20402
20992
  billing info to the subscription, all future billing events for the subscription
20403
- will bill to the specified billing info.
20993
+ will bill to the specified billing info. `billing_info_id` can ONLY be
20994
+ used for sites utilizing the Wallet feature.
20404
20995
  SubscriptionPause:
20405
20996
  type: object
20406
20997
  properties:
20407
20998
  remaining_pause_cycles:
20408
20999
  type: integer
20409
21000
  title: Remaining pause cycles
20410
- description: Number of billing cycles to pause the subscriptions.
21001
+ description: Number of billing cycles to pause the subscriptions. A value
21002
+ of 0 will cancel any pending pauses on the subscription.
20411
21003
  required:
20412
21004
  - remaining_pause_cycles
20413
21005
  SubscriptionShipping:
@@ -20495,6 +21087,30 @@ components:
20495
21087
  format: float
20496
21088
  title: Assigns the subscription's shipping cost. If this is greater than
20497
21089
  zero then a `method_id` or `method_code` is required.
21090
+ SubscriptionRampInterval:
21091
+ type: object
21092
+ title: Subscription Ramp Interval
21093
+ properties:
21094
+ starting_billing_cycle:
21095
+ type: integer
21096
+ description: Represents how many billing cycles are included in a ramp interval.
21097
+ default: 1
21098
+ unit_amount:
21099
+ type: integer
21100
+ description: Represents the price for the ramp interval.
21101
+ SubscriptionRampIntervalResponse:
21102
+ type: object
21103
+ title: Subscription Ramp Interval
21104
+ properties:
21105
+ starting_billing_cycle:
21106
+ type: integer
21107
+ description: Represents how many billing cycles are included in a ramp interval.
21108
+ remaining_billing_cycles:
21109
+ type: integer
21110
+ description: Represents how many billing cycles are left in a ramp interval.
21111
+ unit_amount:
21112
+ type: integer
21113
+ description: Represents the price for the ramp interval.
20498
21114
  TaxInfo:
20499
21115
  type: object
20500
21116
  title: Tax info
@@ -20516,6 +21132,38 @@ components:
20516
21132
  type: number
20517
21133
  format: float
20518
21134
  title: Rate
21135
+ tax_details:
21136
+ type: array
21137
+ description: Provides additional tax details for Canadian Sales Tax when
21138
+ there is tax applied at both the country and province levels. This will
21139
+ only be populated for the Invoice response when fetching a single invoice
21140
+ and not for the InvoiceList or LineItem.
21141
+ items:
21142
+ "$ref": "#/components/schemas/TaxDetail"
21143
+ TaxDetail:
21144
+ type: object
21145
+ title: Tax detail
21146
+ properties:
21147
+ type:
21148
+ type: string
21149
+ title: Type
21150
+ description: Provides the tax type for the region. For Canadian Sales Tax,
21151
+ this will be GST, HST, QST or PST.
21152
+ region:
21153
+ type: string
21154
+ title: Region
21155
+ description: Provides the tax region applied on an invoice. For Canadian
21156
+ Sales Tax, this will be either the 2 letter province code or country code.
21157
+ rate:
21158
+ type: number
21159
+ format: float
21160
+ title: Rate
21161
+ description: Provides the tax rate for the region.
21162
+ tax:
21163
+ type: number
21164
+ format: float
21165
+ title: Tax
21166
+ description: The total tax applied for this tax type.
20519
21167
  Transaction:
20520
21168
  type: object
20521
21169
  properties:
@@ -20612,6 +21260,10 @@ components:
20612
21260
  type: boolean
20613
21261
  title: Success?
20614
21262
  description: Did this transaction complete successfully?
21263
+ backup_payment_method_used:
21264
+ type: boolean
21265
+ title: Backup Payment Method Used?
21266
+ description: Indicates if the transaction was completed using a backup payment
20615
21267
  refunded:
20616
21268
  type: boolean
20617
21269
  title: Refunded?
@@ -20637,7 +21289,8 @@ components:
20637
21289
  - When the merchant enters billing information using the UI, no IP address is recorded.
20638
21290
  ip_address_country:
20639
21291
  type: string
20640
- title: IP address's country
21292
+ title: Origin IP address country, 2-letter ISO 3166-1 alpha-2 code, if known
21293
+ by Recurly.
20641
21294
  status_code:
20642
21295
  type: string
20643
21296
  title: Status code
@@ -21031,7 +21684,8 @@ components:
21031
21684
  description: The `billing_info_id` is the value that represents a specific
21032
21685
  billing info for an end customer. When `billing_info_id` is used to assign
21033
21686
  billing info to the subscription, all future billing events for the subscription
21034
- will bill to the specified billing info.
21687
+ will bill to the specified billing info. `billing_info_id` can ONLY be
21688
+ used for sites utilizing the Wallet feature.
21035
21689
  collection_method:
21036
21690
  type: string
21037
21691
  title: Collection method
@@ -21136,6 +21790,155 @@ components:
21136
21790
  required:
21137
21791
  - currency
21138
21792
  - account
21793
+ DunningCampaign:
21794
+ type: object
21795
+ description: Settings for a dunning campaign.
21796
+ properties:
21797
+ id:
21798
+ type: string
21799
+ object:
21800
+ type: string
21801
+ title: Object type
21802
+ code:
21803
+ type: string
21804
+ description: Campaign code.
21805
+ name:
21806
+ type: string
21807
+ description: Campaign name.
21808
+ description:
21809
+ type: string
21810
+ description: Campaign description.
21811
+ default_campaign:
21812
+ type: boolean
21813
+ description: Whether or not this is the default campaign for accounts or
21814
+ plans without an assigned dunning campaign.
21815
+ dunning_cycles:
21816
+ type: array
21817
+ description: Dunning Cycle settings.
21818
+ items:
21819
+ "$ref": "#/components/schemas/DunningCycle"
21820
+ created_at:
21821
+ type: string
21822
+ format: date-time
21823
+ description: When the current campaign was created in Recurly.
21824
+ updated_at:
21825
+ type: string
21826
+ format: date-time
21827
+ description: When the current campaign was updated in Recurly.
21828
+ deleted_at:
21829
+ type: string
21830
+ format: date-time
21831
+ description: When the current campaign was deleted in Recurly.
21832
+ DunningCampaignList:
21833
+ type: object
21834
+ properties:
21835
+ object:
21836
+ type: string
21837
+ title: Object type
21838
+ description: Will always be List.
21839
+ has_more:
21840
+ type: boolean
21841
+ description: Indicates there are more results on subsequent pages.
21842
+ next:
21843
+ type: string
21844
+ description: Path to subsequent page of results.
21845
+ data:
21846
+ type: array
21847
+ items:
21848
+ "$ref": "#/components/schemas/DunningCampaign"
21849
+ DunningCycle:
21850
+ type: object
21851
+ properties:
21852
+ type:
21853
+ type: string
21854
+ description: The type of invoice this cycle applies to.
21855
+ enum:
21856
+ - automatic
21857
+ - manual
21858
+ - trial
21859
+ applies_to_manual_trial:
21860
+ type: boolean
21861
+ description: Whether the dunning settings will be applied to manual trials.
21862
+ Only applies to trial cycles.
21863
+ first_communication_interval:
21864
+ type: integer
21865
+ description: The number of days after a transaction failure before the first
21866
+ dunning email is sent.
21867
+ send_immediately_on_hard_decline:
21868
+ type: boolean
21869
+ description: Whether or not to send an extra email immediately to customers
21870
+ whose initial payment attempt fails with either a hard decline or invalid
21871
+ billing info.
21872
+ intervals:
21873
+ type: array
21874
+ description: Dunning intervals.
21875
+ items:
21876
+ "$ref": "#/components/schemas/DunningInterval"
21877
+ expire_subscription:
21878
+ type: boolean
21879
+ description: Whether the subscription(s) should be cancelled at the end
21880
+ of the dunning cycle.
21881
+ fail_invoice:
21882
+ type: boolean
21883
+ description: Whether the invoice should be failed at the end of the dunning
21884
+ cycle.
21885
+ total_dunning_days:
21886
+ type: integer
21887
+ description: The number of days between the first dunning email being sent
21888
+ and the end of the dunning cycle.
21889
+ total_recycling_days:
21890
+ type: integer
21891
+ description: The number of days between a transaction failure and the end
21892
+ of the dunning cycle.
21893
+ version:
21894
+ type: integer
21895
+ description: Current campaign version.
21896
+ created_at:
21897
+ type: string
21898
+ format: date-time
21899
+ description: When the current settings were created in Recurly.
21900
+ updated_at:
21901
+ type: string
21902
+ format: date-time
21903
+ description: When the current settings were updated in Recurly.
21904
+ DunningInterval:
21905
+ properties:
21906
+ days:
21907
+ type: integer
21908
+ description: Number of days before sending the next email.
21909
+ email_template:
21910
+ type: string
21911
+ description: Email template being used.
21912
+ DunningCampaignsBulkUpdate:
21913
+ properties:
21914
+ plan_codes:
21915
+ type: array
21916
+ maxItems: 200
21917
+ description: List of `plan_codes` associated with the Plans for which the
21918
+ dunning campaign should be updated. Required unless `plan_ids` is present.
21919
+ items:
21920
+ type: string
21921
+ plan_ids:
21922
+ type: array
21923
+ maxItems: 200
21924
+ description: List of `plan_ids` associated with the Plans for which the
21925
+ dunning campaign should be updated. Required unless `plan_codes` is present.
21926
+ items:
21927
+ type: string
21928
+ DunningCampaignsBulkUpdateResponse:
21929
+ properties:
21930
+ object:
21931
+ type: string
21932
+ title: Object type
21933
+ readOnly: true
21934
+ plans:
21935
+ type: array
21936
+ title: Plans
21937
+ description: An array containing all of the `Plan` resources that have been
21938
+ updated.
21939
+ maxItems: 200
21940
+ items:
21941
+ "$ref": "#/components/schemas/Plan"
21139
21942
  PaymentMethod:
21140
21943
  properties:
21141
21944
  object:
@@ -21157,6 +21960,7 @@ components:
21157
21960
  - gateway_token
21158
21961
  - iban_bank_account
21159
21962
  - other
21963
+ - braintree_v_zero
21160
21964
  card_type:
21161
21965
  type: string
21162
21966
  description: Visa, MasterCard, American Express, Discover, JCB, etc.
@@ -21174,6 +21978,7 @@ components:
21174
21978
  - Union Pay
21175
21979
  - Unknown
21176
21980
  - Visa
21981
+ - Tarjeta Naranja
21177
21982
  first_six:
21178
21983
  type: string
21179
21984
  description: Credit card number's first six digits.
@@ -21200,6 +22005,11 @@ components:
21200
22005
  description: A token used in place of a credit card in order to perform
21201
22006
  transactions.
21202
22007
  maxLength: 50
22008
+ cc_bin_country:
22009
+ type: string
22010
+ description: The 2-letter ISO 3166-1 alpha-2 country code associated with
22011
+ the credit card BIN, if known by Recurly. Available on the BillingInfo
22012
+ object only. Available when the BIN country lookup feature is enabled.
21203
22013
  gateway_code:
21204
22014
  type: string
21205
22015
  description: An identifier for a specific payment gateway.
@@ -21249,6 +22059,7 @@ components:
21249
22059
  - validation
21250
22060
  - missing_feature
21251
22061
  - rate_limited
22062
+ - tax_service_error
21252
22063
  message:
21253
22064
  type: string
21254
22065
  title: Message
@@ -21328,6 +22139,8 @@ components:
21328
22139
  - batch_processing_error
21329
22140
  - billing_agreement_already_accepted
21330
22141
  - billing_agreement_not_accepted
22142
+ - billing_agreement_not_found
22143
+ - billing_agreement_replaced
21331
22144
  - call_issuer
21332
22145
  - call_issuer_update_cardholder_data
21333
22146
  - cannot_refund_unsettled_transactions
@@ -21373,6 +22186,7 @@ components:
21373
22186
  - invalid_data
21374
22187
  - invalid_email
21375
22188
  - invalid_gateway_configuration
22189
+ - invalid_gateway_access_token
21376
22190
  - invalid_issuer
21377
22191
  - invalid_login
21378
22192
  - invalid_merchant_type