lago_ruby 0.46.0.pre.beta

Sign up to get free protection for your applications and to get access to all the features.
Files changed (553) hide show
  1. checksums.yaml +7 -0
  2. data/CODE_OF_CONDUCT.md +128 -0
  3. data/CONTRIBUTING.md +213 -0
  4. data/Gemfile +9 -0
  5. data/Gemfile.lock +72 -0
  6. data/LICENSE +21 -0
  7. data/README.md +343 -0
  8. data/Rakefile +10 -0
  9. data/docs/AddOn.md +18 -0
  10. data/docs/AddOnBaseInput.md +28 -0
  11. data/docs/AddOnCreateInput.md +18 -0
  12. data/docs/AddOnCreateInputAddOn.md +28 -0
  13. data/docs/AddOnObject.md +32 -0
  14. data/docs/AddOnUpdateInput.md +18 -0
  15. data/docs/AddOnsApi.md +433 -0
  16. data/docs/AddOnsPaginated.md +20 -0
  17. data/docs/ApiErrorBadRequest.md +20 -0
  18. data/docs/ApiErrorForbidden.md +22 -0
  19. data/docs/ApiErrorNotAllowed.md +22 -0
  20. data/docs/ApiErrorNotFound.md +22 -0
  21. data/docs/ApiErrorUnauthorized.md +20 -0
  22. data/docs/ApiErrorUnprocessableEntity.md +24 -0
  23. data/docs/AppliedAddOn.md +18 -0
  24. data/docs/AppliedAddOnInput.md +18 -0
  25. data/docs/AppliedAddOnInputAppliedAddOn.md +24 -0
  26. data/docs/AppliedAddOnObject.md +32 -0
  27. data/docs/AppliedCoupon.md +18 -0
  28. data/docs/AppliedCouponInput.md +18 -0
  29. data/docs/AppliedCouponInputAppliedCoupon.md +30 -0
  30. data/docs/AppliedCouponObject.md +50 -0
  31. data/docs/AppliedCouponObjectExtended.md +52 -0
  32. data/docs/AppliedCouponsPaginated.md +20 -0
  33. data/docs/BaseAppliedTax.md +34 -0
  34. data/docs/BillableMetric.md +18 -0
  35. data/docs/BillableMetricBaseInput.md +30 -0
  36. data/docs/BillableMetricCreateInput.md +18 -0
  37. data/docs/BillableMetricCreateInputBillableMetric.md +30 -0
  38. data/docs/BillableMetricGroup.md +20 -0
  39. data/docs/BillableMetricGroupValuesInner.md +49 -0
  40. data/docs/BillableMetricGroupValuesInnerOneOf.md +20 -0
  41. data/docs/BillableMetricObject.md +40 -0
  42. data/docs/BillableMetricUpdateInput.md +18 -0
  43. data/docs/BillableMetricsApi.md +439 -0
  44. data/docs/BillableMetricsPaginated.md +20 -0
  45. data/docs/ChargeObject.md +40 -0
  46. data/docs/ChargeObjectProperties.md +40 -0
  47. data/docs/ChargeProperties.md +40 -0
  48. data/docs/ChargePropertiesGraduatedPercentageRangesInner.md +24 -0
  49. data/docs/ChargePropertiesGraduatedRangesInner.md +24 -0
  50. data/docs/ChargePropertiesVolumeRangesInner.md +24 -0
  51. data/docs/Country.md +15 -0
  52. data/docs/Coupon.md +18 -0
  53. data/docs/CouponBaseInput.md +42 -0
  54. data/docs/CouponBaseInputAppliesTo.md +20 -0
  55. data/docs/CouponCreateInput.md +18 -0
  56. data/docs/CouponCreateInputCoupon.md +42 -0
  57. data/docs/CouponObject.md +52 -0
  58. data/docs/CouponUpdateInput.md +18 -0
  59. data/docs/CouponsApi.md +583 -0
  60. data/docs/CouponsPaginated.md +20 -0
  61. data/docs/CreateWebhookEndpoint200Response.md +18 -0
  62. data/docs/CreateWebhookEndpoint200ResponseWebhookEndpoint.md +26 -0
  63. data/docs/CreateWebhookEndpointRequest.md +18 -0
  64. data/docs/CreateWebhookEndpointRequestWebhookEndpoint.md +20 -0
  65. data/docs/CreditNote.md +18 -0
  66. data/docs/CreditNoteAppliedTaxObject.md +38 -0
  67. data/docs/CreditNoteCreateInput.md +18 -0
  68. data/docs/CreditNoteCreateInputCreditNote.md +28 -0
  69. data/docs/CreditNoteCreateInputCreditNoteItemsInner.md +20 -0
  70. data/docs/CreditNoteItemObject.md +24 -0
  71. data/docs/CreditNoteItemObjectFee.md +74 -0
  72. data/docs/CreditNoteObject.md +64 -0
  73. data/docs/CreditNoteUpdateInput.md +18 -0
  74. data/docs/CreditNoteUpdateInputCreditNote.md +18 -0
  75. data/docs/CreditNotes.md +18 -0
  76. data/docs/CreditNotesApi.md +435 -0
  77. data/docs/CreditObject.md +28 -0
  78. data/docs/CreditObjectInvoice.md +20 -0
  79. data/docs/CreditObjectItem.md +24 -0
  80. data/docs/Currency.md +15 -0
  81. data/docs/Customer.md +18 -0
  82. data/docs/CustomerBillingConfiguration.md +30 -0
  83. data/docs/CustomerChargeUsageObject.md +28 -0
  84. data/docs/CustomerChargeUsageObjectBillableMetric.md +24 -0
  85. data/docs/CustomerChargeUsageObjectCharge.md +20 -0
  86. data/docs/CustomerChargeUsageObjectGroupsInner.md +26 -0
  87. data/docs/CustomerCreateInput.md +18 -0
  88. data/docs/CustomerCreateInputCustomer.md +58 -0
  89. data/docs/CustomerCreateInputCustomerMetadataInner.md +24 -0
  90. data/docs/CustomerMetadata.md +26 -0
  91. data/docs/CustomerObject.md +68 -0
  92. data/docs/CustomerObjectExtended.md +70 -0
  93. data/docs/CustomerUsage.md +18 -0
  94. data/docs/CustomerUsageObject.md +32 -0
  95. data/docs/CustomersApi.md +505 -0
  96. data/docs/CustomersPaginated.md +20 -0
  97. data/docs/Event.md +18 -0
  98. data/docs/EventBatchInput.md +18 -0
  99. data/docs/EventBatchInputEvent.md +28 -0
  100. data/docs/EventBatchInputEventProperties.md +18 -0
  101. data/docs/EventEstimateFeesInput.md +18 -0
  102. data/docs/EventEstimateFeesInputEvent.md +24 -0
  103. data/docs/EventInput.md +18 -0
  104. data/docs/EventInputEvent.md +28 -0
  105. data/docs/EventObject.md +36 -0
  106. data/docs/EventsApi.md +285 -0
  107. data/docs/Fee.md +18 -0
  108. data/docs/FeeAppliedTaxObject.md +36 -0
  109. data/docs/FeeObject.md +74 -0
  110. data/docs/FeeObjectItem.md +26 -0
  111. data/docs/FeeUpdateInput.md +18 -0
  112. data/docs/FeeUpdateInputFee.md +18 -0
  113. data/docs/Fees.md +18 -0
  114. data/docs/FeesApi.md +253 -0
  115. data/docs/FeesPaginated.md +20 -0
  116. data/docs/FindAllWebhookEndpoints200Response.md +20 -0
  117. data/docs/GetCustomerPortalUrl200Response.md +18 -0
  118. data/docs/GetCustomerPortalUrl200ResponseCustomer.md +18 -0
  119. data/docs/GroupObject.md +22 -0
  120. data/docs/GroupPropertiesObject.md +20 -0
  121. data/docs/GroupPropertiesObjectValues.md +40 -0
  122. data/docs/GroupsPaginated.md +20 -0
  123. data/docs/Invoice.md +18 -0
  124. data/docs/InvoiceAppliedTaxObject.md +38 -0
  125. data/docs/InvoiceMetadataObject.md +24 -0
  126. data/docs/InvoiceObject.md +62 -0
  127. data/docs/InvoiceObjectCustomer.md +68 -0
  128. data/docs/InvoiceObjectExtended.md +68 -0
  129. data/docs/InvoiceOneOffCreateInput.md +18 -0
  130. data/docs/InvoiceOneOffCreateInputInvoice.md +22 -0
  131. data/docs/InvoiceOneOffCreateInputInvoiceFeesInner.md +26 -0
  132. data/docs/InvoiceUpdateInput.md +18 -0
  133. data/docs/InvoiceUpdateInputInvoice.md +20 -0
  134. data/docs/InvoiceUpdateInputInvoiceMetadataInner.md +22 -0
  135. data/docs/InvoicesApi.md +582 -0
  136. data/docs/InvoicesPaginated.md +20 -0
  137. data/docs/Organization.md +18 -0
  138. data/docs/OrganizationBillingConfiguration.md +22 -0
  139. data/docs/OrganizationObject.md +54 -0
  140. data/docs/OrganizationUpdateInput.md +18 -0
  141. data/docs/OrganizationUpdateInputOrganization.md +46 -0
  142. data/docs/OrganizationsApi.md +77 -0
  143. data/docs/PaginationMeta.md +26 -0
  144. data/docs/Plan.md +18 -0
  145. data/docs/PlanCreateInput.md +18 -0
  146. data/docs/PlanCreateInputPlan.md +38 -0
  147. data/docs/PlanCreateInputPlanChargesInner.md +34 -0
  148. data/docs/PlanCreateInputPlanChargesInnerGroupPropertiesInner.md +20 -0
  149. data/docs/PlanObject.md +46 -0
  150. data/docs/PlanUpdateInput.md +18 -0
  151. data/docs/PlanUpdateInputPlan.md +38 -0
  152. data/docs/PlanUpdateInputPlanChargesInner.md +36 -0
  153. data/docs/PlansApi.md +363 -0
  154. data/docs/PlansPaginated.md +20 -0
  155. data/docs/Subscription.md +18 -0
  156. data/docs/SubscriptionCreateInput.md +18 -0
  157. data/docs/SubscriptionCreateInputSubscription.md +28 -0
  158. data/docs/SubscriptionObject.md +48 -0
  159. data/docs/SubscriptionUpdateInput.md +18 -0
  160. data/docs/SubscriptionUpdateInputSubscription.md +20 -0
  161. data/docs/SubscriptionsApi.md +303 -0
  162. data/docs/SubscriptionsPaginated.md +20 -0
  163. data/docs/Tax.md +18 -0
  164. data/docs/TaxBaseInput.md +26 -0
  165. data/docs/TaxCreateInput.md +18 -0
  166. data/docs/TaxCreateInputTax.md +26 -0
  167. data/docs/TaxObject.md +38 -0
  168. data/docs/TaxUpdateInput.md +18 -0
  169. data/docs/TaxesApi.md +363 -0
  170. data/docs/TaxesPaginated.md +20 -0
  171. data/docs/Timezone.md +15 -0
  172. data/docs/Wallet.md +18 -0
  173. data/docs/WalletCreateInput.md +18 -0
  174. data/docs/WalletCreateInputWallet.md +30 -0
  175. data/docs/WalletObject.md +46 -0
  176. data/docs/WalletTransactionCreateInput.md +18 -0
  177. data/docs/WalletTransactionCreateInputWalletTransaction.md +22 -0
  178. data/docs/WalletTransactionObject.md +32 -0
  179. data/docs/WalletTransactions.md +18 -0
  180. data/docs/WalletTransactionsPaginated.md +20 -0
  181. data/docs/WalletUpdateInput.md +18 -0
  182. data/docs/WalletUpdateInputWallet.md +20 -0
  183. data/docs/WalletsApi.md +515 -0
  184. data/docs/WalletsPaginated.md +20 -0
  185. data/docs/WebhookEndpointsApi.md +363 -0
  186. data/docs/WebhooksApi.md +74 -0
  187. data/git_push.sh +57 -0
  188. data/lago_ruby.gemspec +42 -0
  189. data/lib/lago_ruby/api/add_ons_api.rb +421 -0
  190. data/lib/lago_ruby/api/billable_metrics_api.rb +422 -0
  191. data/lib/lago_ruby/api/coupons_api.rb +563 -0
  192. data/lib/lago_ruby/api/credit_notes_api.rb +419 -0
  193. data/lib/lago_ruby/api/customers_api.rb +481 -0
  194. data/lib/lago_ruby/api/events_api.rb +289 -0
  195. data/lib/lago_ruby/api/fees_api.rb +268 -0
  196. data/lib/lago_ruby/api/invoices_api.rb +565 -0
  197. data/lib/lago_ruby/api/organizations_api.rb +90 -0
  198. data/lib/lago_ruby/api/plans_api.rb +353 -0
  199. data/lib/lago_ruby/api/subscriptions_api.rb +306 -0
  200. data/lib/lago_ruby/api/taxes_api.rb +353 -0
  201. data/lib/lago_ruby/api/wallets_api.rb +503 -0
  202. data/lib/lago_ruby/api/webhook_endpoints_api.rb +353 -0
  203. data/lib/lago_ruby/api/webhooks_api.rb +79 -0
  204. data/lib/lago_ruby/api_client.rb +392 -0
  205. data/lib/lago_ruby/api_error.rb +58 -0
  206. data/lib/lago_ruby/configuration.rb +297 -0
  207. data/lib/lago_ruby/models/add_on.rb +221 -0
  208. data/lib/lago_ruby/models/add_on_base_input.rb +267 -0
  209. data/lib/lago_ruby/models/add_on_create_input.rb +221 -0
  210. data/lib/lago_ruby/models/add_on_create_input_add_on.rb +302 -0
  211. data/lib/lago_ruby/models/add_on_object.rb +329 -0
  212. data/lib/lago_ruby/models/add_on_update_input.rb +221 -0
  213. data/lib/lago_ruby/models/add_ons_paginated.rb +239 -0
  214. data/lib/lago_ruby/models/api_error_bad_request.rb +237 -0
  215. data/lib/lago_ruby/models/api_error_forbidden.rb +253 -0
  216. data/lib/lago_ruby/models/api_error_not_allowed.rb +253 -0
  217. data/lib/lago_ruby/models/api_error_not_found.rb +253 -0
  218. data/lib/lago_ruby/models/api_error_unauthorized.rb +237 -0
  219. data/lib/lago_ruby/models/api_error_unprocessable_entity.rb +269 -0
  220. data/lib/lago_ruby/models/applied_add_on.rb +221 -0
  221. data/lib/lago_ruby/models/applied_add_on_input.rb +221 -0
  222. data/lib/lago_ruby/models/applied_add_on_input_applied_add_on.rb +259 -0
  223. data/lib/lago_ruby/models/applied_add_on_object.rb +339 -0
  224. data/lib/lago_ruby/models/applied_coupon.rb +221 -0
  225. data/lib/lago_ruby/models/applied_coupon_input.rb +221 -0
  226. data/lib/lago_ruby/models/applied_coupon_input_applied_coupon.rb +343 -0
  227. data/lib/lago_ruby/models/applied_coupon_object.rb +507 -0
  228. data/lib/lago_ruby/models/applied_coupon_object_extended.rb +532 -0
  229. data/lib/lago_ruby/models/applied_coupons_paginated.rb +239 -0
  230. data/lib/lago_ruby/models/base_applied_tax.rb +294 -0
  231. data/lib/lago_ruby/models/billable_metric.rb +221 -0
  232. data/lib/lago_ruby/models/billable_metric_base_input.rb +310 -0
  233. data/lib/lago_ruby/models/billable_metric_create_input.rb +221 -0
  234. data/lib/lago_ruby/models/billable_metric_create_input_billable_metric.rb +338 -0
  235. data/lib/lago_ruby/models/billable_metric_group.rb +242 -0
  236. data/lib/lago_ruby/models/billable_metric_group_values_inner.rb +105 -0
  237. data/lib/lago_ruby/models/billable_metric_group_values_inner_one_of.rb +242 -0
  238. data/lib/lago_ruby/models/billable_metric_object.rb +423 -0
  239. data/lib/lago_ruby/models/billable_metric_update_input.rb +221 -0
  240. data/lib/lago_ruby/models/billable_metrics_paginated.rb +239 -0
  241. data/lib/lago_ruby/models/charge_object.rb +397 -0
  242. data/lib/lago_ruby/models/charge_object_properties.rb +422 -0
  243. data/lib/lago_ruby/models/charge_properties.rb +415 -0
  244. data/lib/lago_ruby/models/charge_properties_graduated_percentage_ranges_inner.rb +269 -0
  245. data/lib/lago_ruby/models/charge_properties_graduated_ranges_inner.rb +311 -0
  246. data/lib/lago_ruby/models/charge_properties_volume_ranges_inner.rb +311 -0
  247. data/lib/lago_ruby/models/country.rb +287 -0
  248. data/lib/lago_ruby/models/coupon.rb +221 -0
  249. data/lib/lago_ruby/models/coupon_base_input.rb +414 -0
  250. data/lib/lago_ruby/models/coupon_base_input_applies_to.rb +232 -0
  251. data/lib/lago_ruby/models/coupon_create_input.rb +221 -0
  252. data/lib/lago_ruby/models/coupon_create_input_coupon.rb +449 -0
  253. data/lib/lago_ruby/models/coupon_object.rb +538 -0
  254. data/lib/lago_ruby/models/coupon_update_input.rb +221 -0
  255. data/lib/lago_ruby/models/coupons_paginated.rb +239 -0
  256. data/lib/lago_ruby/models/create_webhook_endpoint200_response.rb +221 -0
  257. data/lib/lago_ruby/models/create_webhook_endpoint200_response_webhook_endpoint.rb +317 -0
  258. data/lib/lago_ruby/models/create_webhook_endpoint_request.rb +214 -0
  259. data/lib/lago_ruby/models/create_webhook_endpoint_request_webhook_endpoint.rb +267 -0
  260. data/lib/lago_ruby/models/credit_note.rb +221 -0
  261. data/lib/lago_ruby/models/credit_note_applied_tax_object.rb +320 -0
  262. data/lib/lago_ruby/models/credit_note_create_input.rb +221 -0
  263. data/lib/lago_ruby/models/credit_note_create_input_credit_note.rb +318 -0
  264. data/lib/lago_ruby/models/credit_note_create_input_credit_note_items_inner.rb +239 -0
  265. data/lib/lago_ruby/models/credit_note_item_object.rb +271 -0
  266. data/lib/lago_ruby/models/credit_note_item_object_fee.rb +628 -0
  267. data/lib/lago_ruby/models/credit_note_object.rb +635 -0
  268. data/lib/lago_ruby/models/credit_note_update_input.rb +221 -0
  269. data/lib/lago_ruby/models/credit_note_update_input_credit_note.rb +256 -0
  270. data/lib/lago_ruby/models/credit_notes.rb +223 -0
  271. data/lib/lago_ruby/models/credit_object.rb +304 -0
  272. data/lib/lago_ruby/models/credit_object_invoice.rb +271 -0
  273. data/lib/lago_ruby/models/credit_object_item.rb +308 -0
  274. data/lib/lago_ruby/models/currency.rb +175 -0
  275. data/lib/lago_ruby/models/customer.rb +221 -0
  276. data/lib/lago_ruby/models/customer_billing_configuration.rb +313 -0
  277. data/lib/lago_ruby/models/customer_charge_usage_object.rb +327 -0
  278. data/lib/lago_ruby/models/customer_charge_usage_object_billable_metric.rb +308 -0
  279. data/lib/lago_ruby/models/customer_charge_usage_object_charge.rb +274 -0
  280. data/lib/lago_ruby/models/customer_charge_usage_object_groups_inner.rb +277 -0
  281. data/lib/lago_ruby/models/customer_create_input.rb +221 -0
  282. data/lib/lago_ruby/models/customer_create_input_customer.rb +436 -0
  283. data/lib/lago_ruby/models/customer_create_input_customer_metadata_inner.rb +266 -0
  284. data/lib/lago_ruby/models/customer_metadata.rb +291 -0
  285. data/lib/lago_ruby/models/customer_object.rb +517 -0
  286. data/lib/lago_ruby/models/customer_object_extended.rb +536 -0
  287. data/lib/lago_ruby/models/customer_usage.rb +221 -0
  288. data/lib/lago_ruby/models/customer_usage_object.rb +335 -0
  289. data/lib/lago_ruby/models/customers_paginated.rb +239 -0
  290. data/lib/lago_ruby/models/event.rb +221 -0
  291. data/lib/lago_ruby/models/event_batch_input.rb +221 -0
  292. data/lib/lago_ruby/models/event_batch_input_event.rb +287 -0
  293. data/lib/lago_ruby/models/event_batch_input_event_properties.rb +250 -0
  294. data/lib/lago_ruby/models/event_estimate_fees_input.rb +221 -0
  295. data/lib/lago_ruby/models/event_estimate_fees_input_event.rb +252 -0
  296. data/lib/lago_ruby/models/event_input.rb +221 -0
  297. data/lib/lago_ruby/models/event_input_event.rb +278 -0
  298. data/lib/lago_ruby/models/event_object.rb +367 -0
  299. data/lib/lago_ruby/models/fee.rb +221 -0
  300. data/lib/lago_ruby/models/fee_applied_tax_object.rb +311 -0
  301. data/lib/lago_ruby/models/fee_object.rb +621 -0
  302. data/lib/lago_ruby/models/fee_object_item.rb +337 -0
  303. data/lib/lago_ruby/models/fee_update_input.rb +221 -0
  304. data/lib/lago_ruby/models/fee_update_input_fee.rb +256 -0
  305. data/lib/lago_ruby/models/fees.rb +223 -0
  306. data/lib/lago_ruby/models/fees_paginated.rb +246 -0
  307. data/lib/lago_ruby/models/find_all_webhook_endpoints200_response.rb +239 -0
  308. data/lib/lago_ruby/models/get_customer_portal_url200_response.rb +221 -0
  309. data/lib/lago_ruby/models/get_customer_portal_url200_response_customer.rb +222 -0
  310. data/lib/lago_ruby/models/group_object.rb +256 -0
  311. data/lib/lago_ruby/models/group_properties_object.rb +238 -0
  312. data/lib/lago_ruby/models/group_properties_object_values.rb +422 -0
  313. data/lib/lago_ruby/models/groups_paginated.rb +239 -0
  314. data/lib/lago_ruby/models/invoice.rb +221 -0
  315. data/lib/lago_ruby/models/invoice_applied_tax_object.rb +321 -0
  316. data/lib/lago_ruby/models/invoice_metadata_object.rb +245 -0
  317. data/lib/lago_ruby/models/invoice_object.rb +611 -0
  318. data/lib/lago_ruby/models/invoice_object_customer.rb +524 -0
  319. data/lib/lago_ruby/models/invoice_object_extended.rb +651 -0
  320. data/lib/lago_ruby/models/invoice_one_off_create_input.rb +221 -0
  321. data/lib/lago_ruby/models/invoice_one_off_create_input_invoice.rb +249 -0
  322. data/lib/lago_ruby/models/invoice_one_off_create_input_invoice_fees_inner.rb +284 -0
  323. data/lib/lago_ruby/models/invoice_update_input.rb +221 -0
  324. data/lib/lago_ruby/models/invoice_update_input_invoice.rb +260 -0
  325. data/lib/lago_ruby/models/invoice_update_input_invoice_metadata_inner.rb +235 -0
  326. data/lib/lago_ruby/models/invoices_paginated.rb +239 -0
  327. data/lib/lago_ruby/models/organization.rb +221 -0
  328. data/lib/lago_ruby/models/organization_billing_configuration.rb +237 -0
  329. data/lib/lago_ruby/models/organization_object.rb +431 -0
  330. data/lib/lago_ruby/models/organization_update_input.rb +221 -0
  331. data/lib/lago_ruby/models/organization_update_input_organization.rb +386 -0
  332. data/lib/lago_ruby/models/pagination_meta.rb +278 -0
  333. data/lib/lago_ruby/models/plan.rb +221 -0
  334. data/lib/lago_ruby/models/plan_create_input.rb +221 -0
  335. data/lib/lago_ruby/models/plan_create_input_plan.rb +353 -0
  336. data/lib/lago_ruby/models/plan_create_input_plan_charges_inner.rb +332 -0
  337. data/lib/lago_ruby/models/plan_create_input_plan_charges_inner_group_properties_inner.rb +238 -0
  338. data/lib/lago_ruby/models/plan_object.rb +456 -0
  339. data/lib/lago_ruby/models/plan_update_input.rb +221 -0
  340. data/lib/lago_ruby/models/plan_update_input_plan.rb +353 -0
  341. data/lib/lago_ruby/models/plan_update_input_plan_charges_inner.rb +342 -0
  342. data/lib/lago_ruby/models/plans_paginated.rb +239 -0
  343. data/lib/lago_ruby/models/subscription.rb +221 -0
  344. data/lib/lago_ruby/models/subscription_create_input.rb +221 -0
  345. data/lib/lago_ruby/models/subscription_create_input_subscription.rb +320 -0
  346. data/lib/lago_ruby/models/subscription_object.rb +481 -0
  347. data/lib/lago_ruby/models/subscription_update_input.rb +221 -0
  348. data/lib/lago_ruby/models/subscription_update_input_subscription.rb +226 -0
  349. data/lib/lago_ruby/models/subscriptions_paginated.rb +239 -0
  350. data/lib/lago_ruby/models/tax.rb +221 -0
  351. data/lib/lago_ruby/models/tax_base_input.rb +277 -0
  352. data/lib/lago_ruby/models/tax_create_input.rb +221 -0
  353. data/lib/lago_ruby/models/tax_create_input_tax.rb +305 -0
  354. data/lib/lago_ruby/models/tax_object.rb +364 -0
  355. data/lib/lago_ruby/models/tax_update_input.rb +221 -0
  356. data/lib/lago_ruby/models/taxes_paginated.rb +239 -0
  357. data/lib/lago_ruby/models/timezone.rb +173 -0
  358. data/lib/lago_ruby/models/wallet.rb +221 -0
  359. data/lib/lago_ruby/models/wallet_create_input.rb +214 -0
  360. data/lib/lago_ruby/models/wallet_create_input_wallet.rb +353 -0
  361. data/lib/lago_ruby/models/wallet_object.rb +525 -0
  362. data/lib/lago_ruby/models/wallet_transaction_create_input.rb +221 -0
  363. data/lib/lago_ruby/models/wallet_transaction_create_input_wallet_transaction.rb +284 -0
  364. data/lib/lago_ruby/models/wallet_transaction_object.rb +422 -0
  365. data/lib/lago_ruby/models/wallet_transactions.rb +223 -0
  366. data/lib/lago_ruby/models/wallet_transactions_paginated.rb +246 -0
  367. data/lib/lago_ruby/models/wallet_update_input.rb +221 -0
  368. data/lib/lago_ruby/models/wallet_update_input_wallet.rb +227 -0
  369. data/lib/lago_ruby/models/wallets_paginated.rb +239 -0
  370. data/lib/lago_ruby/version.rb +15 -0
  371. data/lib/lago_ruby.rb +217 -0
  372. data/spec/api/add_ons_api_spec.rb +109 -0
  373. data/spec/api/billable_metrics_api_spec.rb +111 -0
  374. data/spec/api/coupons_api_spec.rb +137 -0
  375. data/spec/api/credit_notes_api_spec.rb +110 -0
  376. data/spec/api/customers_api_spec.rb +122 -0
  377. data/spec/api/events_api_spec.rb +83 -0
  378. data/spec/api/fees_api_spec.rb +87 -0
  379. data/spec/api/invoices_api_spec.rb +138 -0
  380. data/spec/api/organizations_api_spec.rb +47 -0
  381. data/spec/api/plans_api_spec.rb +97 -0
  382. data/spec/api/subscriptions_api_spec.rb +89 -0
  383. data/spec/api/taxes_api_spec.rb +97 -0
  384. data/spec/api/wallets_api_spec.rb +126 -0
  385. data/spec/api/webhook_endpoints_api_spec.rb +97 -0
  386. data/spec/api/webhooks_api_spec.rb +46 -0
  387. data/spec/api_client_spec.rb +228 -0
  388. data/spec/configuration_spec.rb +42 -0
  389. data/spec/models/add_on_base_input_spec.rb +64 -0
  390. data/spec/models/add_on_create_input_add_on_spec.rb +64 -0
  391. data/spec/models/add_on_create_input_spec.rb +34 -0
  392. data/spec/models/add_on_object_spec.rb +76 -0
  393. data/spec/models/add_on_spec.rb +34 -0
  394. data/spec/models/add_on_update_input_spec.rb +34 -0
  395. data/spec/models/add_ons_paginated_spec.rb +40 -0
  396. data/spec/models/api_error_bad_request_spec.rb +40 -0
  397. data/spec/models/api_error_forbidden_spec.rb +46 -0
  398. data/spec/models/api_error_not_allowed_spec.rb +46 -0
  399. data/spec/models/api_error_not_found_spec.rb +46 -0
  400. data/spec/models/api_error_unauthorized_spec.rb +40 -0
  401. data/spec/models/api_error_unprocessable_entity_spec.rb +52 -0
  402. data/spec/models/applied_add_on_input_applied_add_on_spec.rb +52 -0
  403. data/spec/models/applied_add_on_input_spec.rb +34 -0
  404. data/spec/models/applied_add_on_object_spec.rb +76 -0
  405. data/spec/models/applied_add_on_spec.rb +34 -0
  406. data/spec/models/applied_coupon_input_applied_coupon_spec.rb +74 -0
  407. data/spec/models/applied_coupon_input_spec.rb +34 -0
  408. data/spec/models/applied_coupon_object_extended_spec.rb +144 -0
  409. data/spec/models/applied_coupon_object_spec.rb +138 -0
  410. data/spec/models/applied_coupon_spec.rb +34 -0
  411. data/spec/models/applied_coupons_paginated_spec.rb +40 -0
  412. data/spec/models/base_applied_tax_spec.rb +82 -0
  413. data/spec/models/billable_metric_base_input_spec.rb +74 -0
  414. data/spec/models/billable_metric_create_input_billable_metric_spec.rb +74 -0
  415. data/spec/models/billable_metric_create_input_spec.rb +34 -0
  416. data/spec/models/billable_metric_group_spec.rb +40 -0
  417. data/spec/models/billable_metric_group_values_inner_one_of_spec.rb +40 -0
  418. data/spec/models/billable_metric_group_values_inner_spec.rb +31 -0
  419. data/spec/models/billable_metric_object_spec.rb +104 -0
  420. data/spec/models/billable_metric_spec.rb +34 -0
  421. data/spec/models/billable_metric_update_input_spec.rb +34 -0
  422. data/spec/models/billable_metrics_paginated_spec.rb +40 -0
  423. data/spec/models/charge_object_properties_spec.rb +100 -0
  424. data/spec/models/charge_object_spec.rb +104 -0
  425. data/spec/models/charge_properties_graduated_percentage_ranges_inner_spec.rb +52 -0
  426. data/spec/models/charge_properties_graduated_ranges_inner_spec.rb +59 -0
  427. data/spec/models/charge_properties_spec.rb +100 -0
  428. data/spec/models/charge_properties_volume_ranges_inner_spec.rb +59 -0
  429. data/spec/models/country_spec.rb +28 -0
  430. data/spec/models/coupon_base_input_applies_to_spec.rb +40 -0
  431. data/spec/models/coupon_base_input_spec.rb +118 -0
  432. data/spec/models/coupon_create_input_coupon_spec.rb +118 -0
  433. data/spec/models/coupon_create_input_spec.rb +34 -0
  434. data/spec/models/coupon_object_spec.rb +148 -0
  435. data/spec/models/coupon_spec.rb +34 -0
  436. data/spec/models/coupon_update_input_spec.rb +34 -0
  437. data/spec/models/coupons_paginated_spec.rb +40 -0
  438. data/spec/models/create_webhook_endpoint200_response_spec.rb +34 -0
  439. data/spec/models/create_webhook_endpoint200_response_webhook_endpoint_spec.rb +62 -0
  440. data/spec/models/create_webhook_endpoint_request_spec.rb +34 -0
  441. data/spec/models/create_webhook_endpoint_request_webhook_endpoint_spec.rb +44 -0
  442. data/spec/models/credit_note_applied_tax_object_spec.rb +94 -0
  443. data/spec/models/credit_note_create_input_credit_note_items_inner_spec.rb +40 -0
  444. data/spec/models/credit_note_create_input_credit_note_spec.rb +68 -0
  445. data/spec/models/credit_note_create_input_spec.rb +34 -0
  446. data/spec/models/credit_note_item_object_fee_spec.rb +206 -0
  447. data/spec/models/credit_note_item_object_spec.rb +52 -0
  448. data/spec/models/credit_note_object_spec.rb +184 -0
  449. data/spec/models/credit_note_spec.rb +34 -0
  450. data/spec/models/credit_note_update_input_credit_note_spec.rb +38 -0
  451. data/spec/models/credit_note_update_input_spec.rb +34 -0
  452. data/spec/models/credit_notes_spec.rb +34 -0
  453. data/spec/models/credit_object_invoice_spec.rb +44 -0
  454. data/spec/models/credit_object_item_spec.rb +56 -0
  455. data/spec/models/credit_object_spec.rb +64 -0
  456. data/spec/models/currency_spec.rb +28 -0
  457. data/spec/models/customer_billing_configuration_spec.rb +74 -0
  458. data/spec/models/customer_charge_usage_object_billable_metric_spec.rb +56 -0
  459. data/spec/models/customer_charge_usage_object_charge_spec.rb +44 -0
  460. data/spec/models/customer_charge_usage_object_groups_inner_spec.rb +58 -0
  461. data/spec/models/customer_charge_usage_object_spec.rb +89 -0
  462. data/spec/models/customer_create_input_customer_metadata_inner_spec.rb +52 -0
  463. data/spec/models/customer_create_input_customer_spec.rb +154 -0
  464. data/spec/models/customer_create_input_spec.rb +34 -0
  465. data/spec/models/customer_metadata_spec.rb +58 -0
  466. data/spec/models/customer_object_extended_spec.rb +190 -0
  467. data/spec/models/customer_object_spec.rb +184 -0
  468. data/spec/models/customer_spec.rb +34 -0
  469. data/spec/models/customer_usage_object_spec.rb +76 -0
  470. data/spec/models/customer_usage_spec.rb +34 -0
  471. data/spec/models/customers_paginated_spec.rb +40 -0
  472. data/spec/models/event_batch_input_event_properties_spec.rb +38 -0
  473. data/spec/models/event_batch_input_event_spec.rb +64 -0
  474. data/spec/models/event_batch_input_spec.rb +34 -0
  475. data/spec/models/event_estimate_fees_input_event_spec.rb +52 -0
  476. data/spec/models/event_estimate_fees_input_spec.rb +34 -0
  477. data/spec/models/event_input_event_spec.rb +64 -0
  478. data/spec/models/event_input_spec.rb +34 -0
  479. data/spec/models/event_object_spec.rb +88 -0
  480. data/spec/models/event_spec.rb +34 -0
  481. data/spec/models/fee_applied_tax_object_spec.rb +88 -0
  482. data/spec/models/fee_object_item_spec.rb +66 -0
  483. data/spec/models/fee_object_spec.rb +206 -0
  484. data/spec/models/fee_spec.rb +34 -0
  485. data/spec/models/fee_update_input_fee_spec.rb +38 -0
  486. data/spec/models/fee_update_input_spec.rb +34 -0
  487. data/spec/models/fees_paginated_spec.rb +40 -0
  488. data/spec/models/fees_spec.rb +34 -0
  489. data/spec/models/find_all_webhook_endpoints200_response_spec.rb +40 -0
  490. data/spec/models/get_customer_portal_url200_response_customer_spec.rb +34 -0
  491. data/spec/models/get_customer_portal_url200_response_spec.rb +34 -0
  492. data/spec/models/group_object_spec.rb +46 -0
  493. data/spec/models/group_properties_object_spec.rb +40 -0
  494. data/spec/models/group_properties_object_values_spec.rb +100 -0
  495. data/spec/models/groups_paginated_spec.rb +40 -0
  496. data/spec/models/invoice_applied_tax_object_spec.rb +94 -0
  497. data/spec/models/invoice_metadata_object_spec.rb +52 -0
  498. data/spec/models/invoice_object_customer_spec.rb +184 -0
  499. data/spec/models/invoice_object_extended_spec.rb +196 -0
  500. data/spec/models/invoice_object_spec.rb +178 -0
  501. data/spec/models/invoice_one_off_create_input_invoice_fees_inner_spec.rb +58 -0
  502. data/spec/models/invoice_one_off_create_input_invoice_spec.rb +46 -0
  503. data/spec/models/invoice_one_off_create_input_spec.rb +34 -0
  504. data/spec/models/invoice_spec.rb +34 -0
  505. data/spec/models/invoice_update_input_invoice_metadata_inner_spec.rb +46 -0
  506. data/spec/models/invoice_update_input_invoice_spec.rb +44 -0
  507. data/spec/models/invoice_update_input_spec.rb +34 -0
  508. data/spec/models/invoices_paginated_spec.rb +40 -0
  509. data/spec/models/organization_billing_configuration_spec.rb +46 -0
  510. data/spec/models/organization_object_spec.rb +142 -0
  511. data/spec/models/organization_spec.rb +34 -0
  512. data/spec/models/organization_update_input_organization_spec.rb +122 -0
  513. data/spec/models/organization_update_input_spec.rb +34 -0
  514. data/spec/models/pagination_meta_spec.rb +58 -0
  515. data/spec/models/plan_create_input_plan_charges_inner_group_properties_inner_spec.rb +40 -0
  516. data/spec/models/plan_create_input_plan_charges_inner_spec.rb +86 -0
  517. data/spec/models/plan_create_input_plan_spec.rb +98 -0
  518. data/spec/models/plan_create_input_spec.rb +34 -0
  519. data/spec/models/plan_object_spec.rb +122 -0
  520. data/spec/models/plan_spec.rb +34 -0
  521. data/spec/models/plan_update_input_plan_charges_inner_spec.rb +92 -0
  522. data/spec/models/plan_update_input_plan_spec.rb +98 -0
  523. data/spec/models/plan_update_input_spec.rb +34 -0
  524. data/spec/models/plans_paginated_spec.rb +40 -0
  525. data/spec/models/subscription_create_input_spec.rb +34 -0
  526. data/spec/models/subscription_create_input_subscription_spec.rb +68 -0
  527. data/spec/models/subscription_object_spec.rb +132 -0
  528. data/spec/models/subscription_spec.rb +34 -0
  529. data/spec/models/subscription_update_input_spec.rb +34 -0
  530. data/spec/models/subscription_update_input_subscription_spec.rb +40 -0
  531. data/spec/models/subscriptions_paginated_spec.rb +40 -0
  532. data/spec/models/tax_base_input_spec.rb +58 -0
  533. data/spec/models/tax_create_input_spec.rb +34 -0
  534. data/spec/models/tax_create_input_tax_spec.rb +66 -0
  535. data/spec/models/tax_object_spec.rb +94 -0
  536. data/spec/models/tax_spec.rb +34 -0
  537. data/spec/models/tax_update_input_spec.rb +34 -0
  538. data/spec/models/taxes_paginated_spec.rb +40 -0
  539. data/spec/models/timezone_spec.rb +28 -0
  540. data/spec/models/wallet_create_input_spec.rb +34 -0
  541. data/spec/models/wallet_create_input_wallet_spec.rb +80 -0
  542. data/spec/models/wallet_object_spec.rb +140 -0
  543. data/spec/models/wallet_spec.rb +34 -0
  544. data/spec/models/wallet_transaction_create_input_spec.rb +34 -0
  545. data/spec/models/wallet_transaction_create_input_wallet_transaction_spec.rb +46 -0
  546. data/spec/models/wallet_transaction_object_spec.rb +95 -0
  547. data/spec/models/wallet_transactions_paginated_spec.rb +40 -0
  548. data/spec/models/wallet_transactions_spec.rb +34 -0
  549. data/spec/models/wallet_update_input_spec.rb +34 -0
  550. data/spec/models/wallet_update_input_wallet_spec.rb +40 -0
  551. data/spec/models/wallets_paginated_spec.rb +40 -0
  552. data/spec/spec_helper.rb +111 -0
  553. metadata +818 -0
@@ -0,0 +1,505 @@
1
+ # LagoAPI::CustomersApi
2
+
3
+ All URIs are relative to *https://api.getlago.com/api/v1*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**create_customer**](CustomersApi.md#create_customer) | **POST** /customers | Create a customer |
8
+ | [**delete_applied_coupon**](CustomersApi.md#delete_applied_coupon) | **DELETE** /customers/{external_customer_id}/applied_coupons/{applied_coupon_id} | Delete an applied coupon |
9
+ | [**destroy_customer**](CustomersApi.md#destroy_customer) | **DELETE** /customers/{external_id} | Delete a customer |
10
+ | [**find_all_customers**](CustomersApi.md#find_all_customers) | **GET** /customers | List all customers |
11
+ | [**find_customer**](CustomersApi.md#find_customer) | **GET** /customers/{external_id} | Retrieve a customer |
12
+ | [**find_customer_current_usage**](CustomersApi.md#find_customer_current_usage) | **GET** /customers/{external_customer_id}/current_usage | Retrieve customer current usage |
13
+ | [**get_customer_portal_url**](CustomersApi.md#get_customer_portal_url) | **GET** /customers/{external_customer_id}/portal_url | Get a customer portal URL |
14
+
15
+
16
+ ## create_customer
17
+
18
+ > <Customer> create_customer(customer_create_input)
19
+
20
+ Create a customer
21
+
22
+ This endpoint creates a new customer.
23
+
24
+ ### Examples
25
+
26
+ ```ruby
27
+ require 'time'
28
+ require 'lago_ruby'
29
+ # setup authorization
30
+ LagoAPI.configure do |config|
31
+ # Configure Bearer authorization: bearerAuth
32
+ config.access_token = 'YOUR_BEARER_TOKEN'
33
+ end
34
+
35
+ api_instance = LagoAPI::CustomersApi.new
36
+ customer_create_input = LagoAPI::CustomerCreateInput.new({customer: LagoAPI::CustomerCreateInputCustomer.new({external_id: '5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba'})}) # CustomerCreateInput | Customer payload
37
+
38
+ begin
39
+ # Create a customer
40
+ result = api_instance.create_customer(customer_create_input)
41
+ p result
42
+ rescue LagoAPI::ApiError => e
43
+ puts "Error when calling CustomersApi->create_customer: #{e}"
44
+ end
45
+ ```
46
+
47
+ #### Using the create_customer_with_http_info variant
48
+
49
+ This returns an Array which contains the response data, status code and headers.
50
+
51
+ > <Array(<Customer>, Integer, Hash)> create_customer_with_http_info(customer_create_input)
52
+
53
+ ```ruby
54
+ begin
55
+ # Create a customer
56
+ data, status_code, headers = api_instance.create_customer_with_http_info(customer_create_input)
57
+ p status_code # => 2xx
58
+ p headers # => { ... }
59
+ p data # => <Customer>
60
+ rescue LagoAPI::ApiError => e
61
+ puts "Error when calling CustomersApi->create_customer_with_http_info: #{e}"
62
+ end
63
+ ```
64
+
65
+ ### Parameters
66
+
67
+ | Name | Type | Description | Notes |
68
+ | ---- | ---- | ----------- | ----- |
69
+ | **customer_create_input** | [**CustomerCreateInput**](CustomerCreateInput.md) | Customer payload | |
70
+
71
+ ### Return type
72
+
73
+ [**Customer**](Customer.md)
74
+
75
+ ### Authorization
76
+
77
+ [bearerAuth](../README.md#bearerAuth)
78
+
79
+ ### HTTP request headers
80
+
81
+ - **Content-Type**: application/json
82
+ - **Accept**: application/json
83
+
84
+
85
+ ## delete_applied_coupon
86
+
87
+ > <AppliedCoupon> delete_applied_coupon(external_customer_id, applied_coupon_id)
88
+
89
+ Delete an applied coupon
90
+
91
+ This endpoint is used to delete a specific coupon that has been applied to a customer.
92
+
93
+ ### Examples
94
+
95
+ ```ruby
96
+ require 'time'
97
+ require 'lago_ruby'
98
+ # setup authorization
99
+ LagoAPI.configure do |config|
100
+ # Configure Bearer authorization: bearerAuth
101
+ config.access_token = 'YOUR_BEARER_TOKEN'
102
+ end
103
+
104
+ api_instance = LagoAPI::CustomersApi.new
105
+ external_customer_id = '5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba' # String | The customer external unique identifier (provided by your own application)
106
+ applied_coupon_id = '1a901a90-1a90-1a90-1a90-1a901a901a90' # String | Unique identifier of the applied coupon, created by Lago.
107
+
108
+ begin
109
+ # Delete an applied coupon
110
+ result = api_instance.delete_applied_coupon(external_customer_id, applied_coupon_id)
111
+ p result
112
+ rescue LagoAPI::ApiError => e
113
+ puts "Error when calling CustomersApi->delete_applied_coupon: #{e}"
114
+ end
115
+ ```
116
+
117
+ #### Using the delete_applied_coupon_with_http_info variant
118
+
119
+ This returns an Array which contains the response data, status code and headers.
120
+
121
+ > <Array(<AppliedCoupon>, Integer, Hash)> delete_applied_coupon_with_http_info(external_customer_id, applied_coupon_id)
122
+
123
+ ```ruby
124
+ begin
125
+ # Delete an applied coupon
126
+ data, status_code, headers = api_instance.delete_applied_coupon_with_http_info(external_customer_id, applied_coupon_id)
127
+ p status_code # => 2xx
128
+ p headers # => { ... }
129
+ p data # => <AppliedCoupon>
130
+ rescue LagoAPI::ApiError => e
131
+ puts "Error when calling CustomersApi->delete_applied_coupon_with_http_info: #{e}"
132
+ end
133
+ ```
134
+
135
+ ### Parameters
136
+
137
+ | Name | Type | Description | Notes |
138
+ | ---- | ---- | ----------- | ----- |
139
+ | **external_customer_id** | **String** | The customer external unique identifier (provided by your own application) | |
140
+ | **applied_coupon_id** | **String** | Unique identifier of the applied coupon, created by Lago. | |
141
+
142
+ ### Return type
143
+
144
+ [**AppliedCoupon**](AppliedCoupon.md)
145
+
146
+ ### Authorization
147
+
148
+ [bearerAuth](../README.md#bearerAuth)
149
+
150
+ ### HTTP request headers
151
+
152
+ - **Content-Type**: Not defined
153
+ - **Accept**: application/json
154
+
155
+
156
+ ## destroy_customer
157
+
158
+ > <Customer> destroy_customer(external_id)
159
+
160
+ Delete a customer
161
+
162
+ This endpoint deletes an existing customer.
163
+
164
+ ### Examples
165
+
166
+ ```ruby
167
+ require 'time'
168
+ require 'lago_ruby'
169
+ # setup authorization
170
+ LagoAPI.configure do |config|
171
+ # Configure Bearer authorization: bearerAuth
172
+ config.access_token = 'YOUR_BEARER_TOKEN'
173
+ end
174
+
175
+ api_instance = LagoAPI::CustomersApi.new
176
+ external_id = '5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba' # String | External ID of the existing customer
177
+
178
+ begin
179
+ # Delete a customer
180
+ result = api_instance.destroy_customer(external_id)
181
+ p result
182
+ rescue LagoAPI::ApiError => e
183
+ puts "Error when calling CustomersApi->destroy_customer: #{e}"
184
+ end
185
+ ```
186
+
187
+ #### Using the destroy_customer_with_http_info variant
188
+
189
+ This returns an Array which contains the response data, status code and headers.
190
+
191
+ > <Array(<Customer>, Integer, Hash)> destroy_customer_with_http_info(external_id)
192
+
193
+ ```ruby
194
+ begin
195
+ # Delete a customer
196
+ data, status_code, headers = api_instance.destroy_customer_with_http_info(external_id)
197
+ p status_code # => 2xx
198
+ p headers # => { ... }
199
+ p data # => <Customer>
200
+ rescue LagoAPI::ApiError => e
201
+ puts "Error when calling CustomersApi->destroy_customer_with_http_info: #{e}"
202
+ end
203
+ ```
204
+
205
+ ### Parameters
206
+
207
+ | Name | Type | Description | Notes |
208
+ | ---- | ---- | ----------- | ----- |
209
+ | **external_id** | **String** | External ID of the existing customer | |
210
+
211
+ ### Return type
212
+
213
+ [**Customer**](Customer.md)
214
+
215
+ ### Authorization
216
+
217
+ [bearerAuth](../README.md#bearerAuth)
218
+
219
+ ### HTTP request headers
220
+
221
+ - **Content-Type**: Not defined
222
+ - **Accept**: application/json
223
+
224
+
225
+ ## find_all_customers
226
+
227
+ > <CustomersPaginated> find_all_customers(opts)
228
+
229
+ List all customers
230
+
231
+ This endpoint retrieves all existing customers.
232
+
233
+ ### Examples
234
+
235
+ ```ruby
236
+ require 'time'
237
+ require 'lago_ruby'
238
+ # setup authorization
239
+ LagoAPI.configure do |config|
240
+ # Configure Bearer authorization: bearerAuth
241
+ config.access_token = 'YOUR_BEARER_TOKEN'
242
+ end
243
+
244
+ api_instance = LagoAPI::CustomersApi.new
245
+ opts = {
246
+ page: 1, # Integer | Page number.
247
+ per_page: 20 # Integer | Number of records per page.
248
+ }
249
+
250
+ begin
251
+ # List all customers
252
+ result = api_instance.find_all_customers(opts)
253
+ p result
254
+ rescue LagoAPI::ApiError => e
255
+ puts "Error when calling CustomersApi->find_all_customers: #{e}"
256
+ end
257
+ ```
258
+
259
+ #### Using the find_all_customers_with_http_info variant
260
+
261
+ This returns an Array which contains the response data, status code and headers.
262
+
263
+ > <Array(<CustomersPaginated>, Integer, Hash)> find_all_customers_with_http_info(opts)
264
+
265
+ ```ruby
266
+ begin
267
+ # List all customers
268
+ data, status_code, headers = api_instance.find_all_customers_with_http_info(opts)
269
+ p status_code # => 2xx
270
+ p headers # => { ... }
271
+ p data # => <CustomersPaginated>
272
+ rescue LagoAPI::ApiError => e
273
+ puts "Error when calling CustomersApi->find_all_customers_with_http_info: #{e}"
274
+ end
275
+ ```
276
+
277
+ ### Parameters
278
+
279
+ | Name | Type | Description | Notes |
280
+ | ---- | ---- | ----------- | ----- |
281
+ | **page** | **Integer** | Page number. | [optional] |
282
+ | **per_page** | **Integer** | Number of records per page. | [optional] |
283
+
284
+ ### Return type
285
+
286
+ [**CustomersPaginated**](CustomersPaginated.md)
287
+
288
+ ### Authorization
289
+
290
+ [bearerAuth](../README.md#bearerAuth)
291
+
292
+ ### HTTP request headers
293
+
294
+ - **Content-Type**: Not defined
295
+ - **Accept**: application/json
296
+
297
+
298
+ ## find_customer
299
+
300
+ > <Customer> find_customer(external_id)
301
+
302
+ Retrieve a customer
303
+
304
+ This endpoint retrieves an existing customer.
305
+
306
+ ### Examples
307
+
308
+ ```ruby
309
+ require 'time'
310
+ require 'lago_ruby'
311
+ # setup authorization
312
+ LagoAPI.configure do |config|
313
+ # Configure Bearer authorization: bearerAuth
314
+ config.access_token = 'YOUR_BEARER_TOKEN'
315
+ end
316
+
317
+ api_instance = LagoAPI::CustomersApi.new
318
+ external_id = '5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba' # String | External ID of the existing customer
319
+
320
+ begin
321
+ # Retrieve a customer
322
+ result = api_instance.find_customer(external_id)
323
+ p result
324
+ rescue LagoAPI::ApiError => e
325
+ puts "Error when calling CustomersApi->find_customer: #{e}"
326
+ end
327
+ ```
328
+
329
+ #### Using the find_customer_with_http_info variant
330
+
331
+ This returns an Array which contains the response data, status code and headers.
332
+
333
+ > <Array(<Customer>, Integer, Hash)> find_customer_with_http_info(external_id)
334
+
335
+ ```ruby
336
+ begin
337
+ # Retrieve a customer
338
+ data, status_code, headers = api_instance.find_customer_with_http_info(external_id)
339
+ p status_code # => 2xx
340
+ p headers # => { ... }
341
+ p data # => <Customer>
342
+ rescue LagoAPI::ApiError => e
343
+ puts "Error when calling CustomersApi->find_customer_with_http_info: #{e}"
344
+ end
345
+ ```
346
+
347
+ ### Parameters
348
+
349
+ | Name | Type | Description | Notes |
350
+ | ---- | ---- | ----------- | ----- |
351
+ | **external_id** | **String** | External ID of the existing customer | |
352
+
353
+ ### Return type
354
+
355
+ [**Customer**](Customer.md)
356
+
357
+ ### Authorization
358
+
359
+ [bearerAuth](../README.md#bearerAuth)
360
+
361
+ ### HTTP request headers
362
+
363
+ - **Content-Type**: Not defined
364
+ - **Accept**: application/json
365
+
366
+
367
+ ## find_customer_current_usage
368
+
369
+ > <CustomerUsage> find_customer_current_usage(external_customer_id, external_subscription_id)
370
+
371
+ Retrieve customer current usage
372
+
373
+ This endpoint enables the retrieval of the usage-based billing data for a customer within the current period.
374
+
375
+ ### Examples
376
+
377
+ ```ruby
378
+ require 'time'
379
+ require 'lago_ruby'
380
+ # setup authorization
381
+ LagoAPI.configure do |config|
382
+ # Configure Bearer authorization: bearerAuth
383
+ config.access_token = 'YOUR_BEARER_TOKEN'
384
+ end
385
+
386
+ api_instance = LagoAPI::CustomersApi.new
387
+ external_customer_id = '5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba' # String | The customer external unique identifier (provided by your own application).
388
+ external_subscription_id = 'sub_1234567890' # String | The unique identifier of the subscription within your application.
389
+
390
+ begin
391
+ # Retrieve customer current usage
392
+ result = api_instance.find_customer_current_usage(external_customer_id, external_subscription_id)
393
+ p result
394
+ rescue LagoAPI::ApiError => e
395
+ puts "Error when calling CustomersApi->find_customer_current_usage: #{e}"
396
+ end
397
+ ```
398
+
399
+ #### Using the find_customer_current_usage_with_http_info variant
400
+
401
+ This returns an Array which contains the response data, status code and headers.
402
+
403
+ > <Array(<CustomerUsage>, Integer, Hash)> find_customer_current_usage_with_http_info(external_customer_id, external_subscription_id)
404
+
405
+ ```ruby
406
+ begin
407
+ # Retrieve customer current usage
408
+ data, status_code, headers = api_instance.find_customer_current_usage_with_http_info(external_customer_id, external_subscription_id)
409
+ p status_code # => 2xx
410
+ p headers # => { ... }
411
+ p data # => <CustomerUsage>
412
+ rescue LagoAPI::ApiError => e
413
+ puts "Error when calling CustomersApi->find_customer_current_usage_with_http_info: #{e}"
414
+ end
415
+ ```
416
+
417
+ ### Parameters
418
+
419
+ | Name | Type | Description | Notes |
420
+ | ---- | ---- | ----------- | ----- |
421
+ | **external_customer_id** | **String** | The customer external unique identifier (provided by your own application). | |
422
+ | **external_subscription_id** | **String** | The unique identifier of the subscription within your application. | |
423
+
424
+ ### Return type
425
+
426
+ [**CustomerUsage**](CustomerUsage.md)
427
+
428
+ ### Authorization
429
+
430
+ [bearerAuth](../README.md#bearerAuth)
431
+
432
+ ### HTTP request headers
433
+
434
+ - **Content-Type**: Not defined
435
+ - **Accept**: application/json
436
+
437
+
438
+ ## get_customer_portal_url
439
+
440
+ > <GetCustomerPortalUrl200Response> get_customer_portal_url(external_customer_id)
441
+
442
+ Get a customer portal URL
443
+
444
+ Retrieves an embeddable link for displaying a customer portal. This endpoint allows you to fetch the URL that can be embedded to provide customers access to a dedicated portal
445
+
446
+ ### Examples
447
+
448
+ ```ruby
449
+ require 'time'
450
+ require 'lago_ruby'
451
+ # setup authorization
452
+ LagoAPI.configure do |config|
453
+ # Configure Bearer authorization: bearerAuth
454
+ config.access_token = 'YOUR_BEARER_TOKEN'
455
+ end
456
+
457
+ api_instance = LagoAPI::CustomersApi.new
458
+ external_customer_id = '5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba' # String | External ID of the existing customer
459
+
460
+ begin
461
+ # Get a customer portal URL
462
+ result = api_instance.get_customer_portal_url(external_customer_id)
463
+ p result
464
+ rescue LagoAPI::ApiError => e
465
+ puts "Error when calling CustomersApi->get_customer_portal_url: #{e}"
466
+ end
467
+ ```
468
+
469
+ #### Using the get_customer_portal_url_with_http_info variant
470
+
471
+ This returns an Array which contains the response data, status code and headers.
472
+
473
+ > <Array(<GetCustomerPortalUrl200Response>, Integer, Hash)> get_customer_portal_url_with_http_info(external_customer_id)
474
+
475
+ ```ruby
476
+ begin
477
+ # Get a customer portal URL
478
+ data, status_code, headers = api_instance.get_customer_portal_url_with_http_info(external_customer_id)
479
+ p status_code # => 2xx
480
+ p headers # => { ... }
481
+ p data # => <GetCustomerPortalUrl200Response>
482
+ rescue LagoAPI::ApiError => e
483
+ puts "Error when calling CustomersApi->get_customer_portal_url_with_http_info: #{e}"
484
+ end
485
+ ```
486
+
487
+ ### Parameters
488
+
489
+ | Name | Type | Description | Notes |
490
+ | ---- | ---- | ----------- | ----- |
491
+ | **external_customer_id** | **String** | External ID of the existing customer | |
492
+
493
+ ### Return type
494
+
495
+ [**GetCustomerPortalUrl200Response**](GetCustomerPortalUrl200Response.md)
496
+
497
+ ### Authorization
498
+
499
+ [bearerAuth](../README.md#bearerAuth)
500
+
501
+ ### HTTP request headers
502
+
503
+ - **Content-Type**: Not defined
504
+ - **Accept**: application/json
505
+
@@ -0,0 +1,20 @@
1
+ # LagoAPI::CustomersPaginated
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **customers** | [**Array&lt;CustomerObjectExtended&gt;**](CustomerObjectExtended.md) | | |
8
+ | **meta** | [**PaginationMeta**](PaginationMeta.md) | | |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'lago_ruby'
14
+
15
+ instance = LagoAPI::CustomersPaginated.new(
16
+ customers: null,
17
+ meta: null
18
+ )
19
+ ```
20
+
data/docs/Event.md ADDED
@@ -0,0 +1,18 @@
1
+ # LagoAPI::Event
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **event** | [**EventObject**](EventObject.md) | | |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'lago_ruby'
13
+
14
+ instance = LagoAPI::Event.new(
15
+ event: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,18 @@
1
+ # LagoAPI::EventBatchInput
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **event** | [**EventBatchInputEvent**](EventBatchInputEvent.md) | | |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'lago_ruby'
13
+
14
+ instance = LagoAPI::EventBatchInput.new(
15
+ event: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,28 @@
1
+ # LagoAPI::EventBatchInputEvent
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **transaction_id** | **String** | This field represents a unique identifier for the event. It is crucial for ensuring idempotency, meaning that each event can be uniquely identified and processed without causing any unintended side effects. | |
8
+ | **external_customer_id** | **String** | The customer external unique identifier (provided by your own application). This field is optional if you send the &#x60;external_subscription_ids&#x60;, targeting a specific subscription. | [optional] |
9
+ | **external_subscription_ids** | **Array&lt;String&gt;** | Array of unique identifiers of the targeted subscriptions within your application. | |
10
+ | **code** | **String** | The code that identifies a targeted billable metric. It is essential that this code matches the &#x60;code&#x60; property of one of your active billable metrics. If the provided code does not correspond to any active billable metric, it will be ignored during the process. | |
11
+ | **timestamp** | **Integer** | This field captures the Unix timestamp in seconds indicating the occurrence of the event in Coordinated Universal Time (UTC). If this timestamp is not provided, the API will automatically set it to the time of event reception. | [optional] |
12
+ | **properties** | [**EventBatchInputEventProperties**](EventBatchInputEventProperties.md) | | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'lago_ruby'
18
+
19
+ instance = LagoAPI::EventBatchInputEvent.new(
20
+ transaction_id: transaction_1234567890,
21
+ external_customer_id: 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba,
22
+ external_subscription_ids: [&quot;sub_1234567890&quot;,&quot;sub_0987654321&quot;],
23
+ code: storage,
24
+ timestamp: 1651240791,
25
+ properties: null
26
+ )
27
+ ```
28
+
@@ -0,0 +1,18 @@
1
+ # LagoAPI::EventBatchInputEventProperties
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **operation_type** | **String** | The &#x60;operation_type&#x60; field is only necessary when adding or removing a specific unit when the targeted billable metric adopts a &#x60;unique_count_agg&#x60; aggregation method. In other cases, the &#x60;operation_type&#x60; field is not required. The valid values for the &#x60;operation_type&#x60; field are &#x60;add&#x60; or &#x60;remove&#x60;, which indicate whether the unit is being added or removed from the unique count aggregation, respectively. | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'lago_ruby'
13
+
14
+ instance = LagoAPI::EventBatchInputEventProperties.new(
15
+ operation_type: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,18 @@
1
+ # LagoAPI::EventEstimateFeesInput
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **event** | [**EventEstimateFeesInputEvent**](EventEstimateFeesInputEvent.md) | | |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'lago_ruby'
13
+
14
+ instance = LagoAPI::EventEstimateFeesInput.new(
15
+ event: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,24 @@
1
+ # LagoAPI::EventEstimateFeesInputEvent
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **code** | **String** | The code that identifies a targeted billable metric. It is essential that this code matches the &#x60;code&#x60; property of one of your active billable metrics. If the provided code does not correspond to any active billable metric, it will be ignored during the process. | |
8
+ | **external_customer_id** | **String** | The customer external unique identifier (provided by your own application). This field is optional if you send the &#x60;external_subscription_id&#x60;, targeting a specific subscription. | [optional] |
9
+ | **external_subscription_id** | **String** | The unique identifier of the subscription within your application. It is a mandatory field when the customer possesses multiple subscriptions or when the &#x60;external_customer_id&#x60; is not provided. | [optional] |
10
+ | **properties** | **Object** | This field represents additional properties associated with the event, which are utilized in the calculation of the final fee. This object becomes mandatory when the targeted billable metric employs a &#x60;sum_agg&#x60;, &#x60;max_agg&#x60;, or &#x60;unique_count_agg&#x60; aggregation method. However, when using a simple &#x60;count_agg&#x60;, this object is not required. | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'lago_ruby'
16
+
17
+ instance = LagoAPI::EventEstimateFeesInputEvent.new(
18
+ code: storage,
19
+ external_customer_id: 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba,
20
+ external_subscription_id: sub_1234567890,
21
+ properties: null
22
+ )
23
+ ```
24
+
@@ -0,0 +1,18 @@
1
+ # LagoAPI::EventInput
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **event** | [**EventInputEvent**](EventInputEvent.md) | | |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'lago_ruby'
13
+
14
+ instance = LagoAPI::EventInput.new(
15
+ event: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,28 @@
1
+ # LagoAPI::EventInputEvent
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **transaction_id** | **String** | This field represents a unique identifier for the event. It is crucial for ensuring idempotency, meaning that each event can be uniquely identified and processed without causing any unintended side effects. | |
8
+ | **external_customer_id** | **String** | The customer external unique identifier (provided by your own application). This field is optional if you send the &#x60;external_subscription_id&#x60;, targeting a specific subscription. | [optional] |
9
+ | **external_subscription_id** | **String** | The unique identifier of the subscription within your application. It is a mandatory field when the customer possesses multiple subscriptions or when the &#x60;external_customer_id&#x60; is not provided. | [optional] |
10
+ | **code** | **String** | The code that identifies a targeted billable metric. It is essential that this code matches the &#x60;code&#x60; property of one of your active billable metrics. If the provided code does not correspond to any active billable metric, it will be ignored during the process. | |
11
+ | **timestamp** | **Integer** | This field captures the Unix timestamp in seconds indicating the occurrence of the event in Coordinated Universal Time (UTC). If this timestamp is not provided, the API will automatically set it to the time of event reception. | [optional] |
12
+ | **properties** | [**EventBatchInputEventProperties**](EventBatchInputEventProperties.md) | | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'lago_ruby'
18
+
19
+ instance = LagoAPI::EventInputEvent.new(
20
+ transaction_id: transaction_1234567890,
21
+ external_customer_id: 5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba,
22
+ external_subscription_id: sub_1234567890,
23
+ code: storage,
24
+ timestamp: 1651240791,
25
+ properties: null
26
+ )
27
+ ```
28
+