orb-billing 0.1.0.pre.alpha.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +169 -0
- data/lib/orb/client.rb +129 -0
- data/lib/orb/errors.rb +317 -0
- data/lib/orb/models/alert.rb +225 -0
- data/lib/orb/models/alert_create_for_customer_params.rb +77 -0
- data/lib/orb/models/alert_create_for_external_customer_params.rb +77 -0
- data/lib/orb/models/alert_create_for_subscription_params.rb +74 -0
- data/lib/orb/models/alert_disable_params.rb +26 -0
- data/lib/orb/models/alert_enable_params.rb +26 -0
- data/lib/orb/models/alert_list_params.rb +97 -0
- data/lib/orb/models/alert_retrieve_params.rb +19 -0
- data/lib/orb/models/alert_update_params.rb +46 -0
- data/lib/orb/models/amount_discount.rb +53 -0
- data/lib/orb/models/billable_metric.rb +76 -0
- data/lib/orb/models/billing_cycle_relative_date.rb +18 -0
- data/lib/orb/models/coupon.rb +86 -0
- data/lib/orb/models/coupon_archive_params.rb +19 -0
- data/lib/orb/models/coupon_create_params.rb +102 -0
- data/lib/orb/models/coupon_fetch_params.rb +19 -0
- data/lib/orb/models/coupon_list_params.rb +53 -0
- data/lib/orb/models/coupons/subscription_list_params.rb +40 -0
- data/lib/orb/models/credit_note.rb +522 -0
- data/lib/orb/models/credit_note_create_params.rb +77 -0
- data/lib/orb/models/credit_note_fetch_params.rb +19 -0
- data/lib/orb/models/credit_note_list_params.rb +73 -0
- data/lib/orb/models/customer.rb +872 -0
- data/lib/orb/models/customer_create_params.rb +843 -0
- data/lib/orb/models/customer_delete_params.rb +19 -0
- data/lib/orb/models/customer_fetch_by_external_id_params.rb +19 -0
- data/lib/orb/models/customer_fetch_params.rb +19 -0
- data/lib/orb/models/customer_list_params.rb +73 -0
- data/lib/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rb +19 -0
- data/lib/orb/models/customer_sync_payment_methods_from_gateway_params.rb +19 -0
- data/lib/orb/models/customer_update_by_external_id_params.rb +848 -0
- data/lib/orb/models/customer_update_params.rb +838 -0
- data/lib/orb/models/customers/balance_transaction_create_params.rb +53 -0
- data/lib/orb/models/customers/balance_transaction_create_response.rb +167 -0
- data/lib/orb/models/customers/balance_transaction_list_params.rb +75 -0
- data/lib/orb/models/customers/balance_transaction_list_response.rb +167 -0
- data/lib/orb/models/customers/cost_list_by_external_id_params.rb +69 -0
- data/lib/orb/models/customers/cost_list_by_external_id_response.rb +106 -0
- data/lib/orb/models/customers/cost_list_params.rb +69 -0
- data/lib/orb/models/customers/cost_list_response.rb +106 -0
- data/lib/orb/models/customers/credit_list_by_external_id_params.rb +59 -0
- data/lib/orb/models/customers/credit_list_by_external_id_response.rb +72 -0
- data/lib/orb/models/customers/credit_list_params.rb +59 -0
- data/lib/orb/models/customers/credit_list_response.rb +72 -0
- data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rb +215 -0
- data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rb +1311 -0
- data/lib/orb/models/customers/credits/ledger_create_entry_params.rb +214 -0
- data/lib/orb/models/customers/credits/ledger_create_entry_response.rb +1310 -0
- data/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rb +141 -0
- data/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rb +1310 -0
- data/lib/orb/models/customers/credits/ledger_list_params.rb +141 -0
- data/lib/orb/models/customers/credits/ledger_list_response.rb +1306 -0
- data/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rb +159 -0
- data/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rb +154 -0
- data/lib/orb/models/customers/credits/top_up_create_params.rb +158 -0
- data/lib/orb/models/customers/credits/top_up_create_response.rb +153 -0
- data/lib/orb/models/customers/credits/top_up_delete_by_external_id_params.rb +29 -0
- data/lib/orb/models/customers/credits/top_up_delete_params.rb +29 -0
- data/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rb +42 -0
- data/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rb +154 -0
- data/lib/orb/models/customers/credits/top_up_list_params.rb +42 -0
- data/lib/orb/models/customers/credits/top_up_list_response.rb +153 -0
- data/lib/orb/models/dimensional_price_group.rb +64 -0
- data/lib/orb/models/dimensional_price_group_create_params.rb +63 -0
- data/lib/orb/models/dimensional_price_group_list_params.rb +38 -0
- data/lib/orb/models/dimensional_price_group_retrieve_params.rb +19 -0
- data/lib/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rb +21 -0
- data/lib/orb/models/dimensional_price_groups.rb +25 -0
- data/lib/orb/models/discount.rb +23 -0
- data/lib/orb/models/evaluate_price_group.rb +48 -0
- data/lib/orb/models/event_deprecate_params.rb +19 -0
- data/lib/orb/models/event_deprecate_response.rb +21 -0
- data/lib/orb/models/event_ingest_params.rb +100 -0
- data/lib/orb/models/event_ingest_response.rb +77 -0
- data/lib/orb/models/event_search_params.rb +45 -0
- data/lib/orb/models/event_search_response.rb +87 -0
- data/lib/orb/models/event_update_params.rb +58 -0
- data/lib/orb/models/event_update_response.rb +21 -0
- data/lib/orb/models/events/backfill_close_params.rb +21 -0
- data/lib/orb/models/events/backfill_close_response.rb +131 -0
- data/lib/orb/models/events/backfill_create_params.rb +97 -0
- data/lib/orb/models/events/backfill_create_response.rb +131 -0
- data/lib/orb/models/events/backfill_fetch_params.rb +21 -0
- data/lib/orb/models/events/backfill_fetch_response.rb +131 -0
- data/lib/orb/models/events/backfill_list_params.rb +40 -0
- data/lib/orb/models/events/backfill_list_response.rb +131 -0
- data/lib/orb/models/events/backfill_revert_params.rb +21 -0
- data/lib/orb/models/events/backfill_revert_response.rb +131 -0
- data/lib/orb/models/events/event_volumes.rb +54 -0
- data/lib/orb/models/events/volume_list_params.rb +64 -0
- data/lib/orb/models/invoice.rb +2218 -0
- data/lib/orb/models/invoice_create_params.rb +200 -0
- data/lib/orb/models/invoice_fetch_params.rb +19 -0
- data/lib/orb/models/invoice_fetch_upcoming_params.rb +25 -0
- data/lib/orb/models/invoice_fetch_upcoming_response.rb +2226 -0
- data/lib/orb/models/invoice_issue_params.rb +34 -0
- data/lib/orb/models/invoice_level_discount.rb +21 -0
- data/lib/orb/models/invoice_line_item_create_params.rb +62 -0
- data/lib/orb/models/invoice_line_item_create_response.rb +929 -0
- data/lib/orb/models/invoice_list_params.rb +197 -0
- data/lib/orb/models/invoice_mark_paid_params.rb +40 -0
- data/lib/orb/models/invoice_pay_params.rb +19 -0
- data/lib/orb/models/invoice_update_params.rb +28 -0
- data/lib/orb/models/invoice_void_params.rb +19 -0
- data/lib/orb/models/item.rb +82 -0
- data/lib/orb/models/item_create_params.rb +26 -0
- data/lib/orb/models/item_fetch_params.rb +19 -0
- data/lib/orb/models/item_list_params.rb +38 -0
- data/lib/orb/models/item_update_params.rb +73 -0
- data/lib/orb/models/metric_create_params.rb +56 -0
- data/lib/orb/models/metric_fetch_params.rb +19 -0
- data/lib/orb/models/metric_list_params.rb +73 -0
- data/lib/orb/models/metric_update_params.rb +28 -0
- data/lib/orb/models/pagination_metadata.rb +25 -0
- data/lib/orb/models/percentage_discount.rb +54 -0
- data/lib/orb/models/plan.rb +894 -0
- data/lib/orb/models/plan_create_params.rb +6702 -0
- data/lib/orb/models/plan_fetch_params.rb +19 -0
- data/lib/orb/models/plan_list_params.rb +100 -0
- data/lib/orb/models/plan_update_params.rb +37 -0
- data/lib/orb/models/plans/external_plan_id_fetch_params.rb +21 -0
- data/lib/orb/models/plans/external_plan_id_update_params.rb +39 -0
- data/lib/orb/models/price.rb +12229 -0
- data/lib/orb/models/price_create_params.rb +808 -0
- data/lib/orb/models/price_evaluate_params.rb +80 -0
- data/lib/orb/models/price_evaluate_response.rb +20 -0
- data/lib/orb/models/price_fetch_params.rb +19 -0
- data/lib/orb/models/price_list_params.rb +38 -0
- data/lib/orb/models/price_update_params.rb +28 -0
- data/lib/orb/models/prices/external_price_id_fetch_params.rb +21 -0
- data/lib/orb/models/prices/external_price_id_update_params.rb +30 -0
- data/lib/orb/models/subscription.rb +1233 -0
- data/lib/orb/models/subscription_cancel_params.rb +58 -0
- data/lib/orb/models/subscription_cancel_response.rb +1217 -0
- data/lib/orb/models/subscription_create_params.rb +15065 -0
- data/lib/orb/models/subscription_create_response.rb +1217 -0
- data/lib/orb/models/subscription_fetch_costs_params.rb +67 -0
- data/lib/orb/models/subscription_fetch_costs_response.rb +104 -0
- data/lib/orb/models/subscription_fetch_params.rb +19 -0
- data/lib/orb/models/subscription_fetch_schedule_params.rb +73 -0
- data/lib/orb/models/subscription_fetch_schedule_response.rb +68 -0
- data/lib/orb/models/subscription_fetch_usage_params.rb +135 -0
- data/lib/orb/models/subscription_list_params.rb +108 -0
- data/lib/orb/models/subscription_price_intervals_params.rb +8358 -0
- data/lib/orb/models/subscription_price_intervals_response.rb +1224 -0
- data/lib/orb/models/subscription_schedule_plan_change_params.rb +15088 -0
- data/lib/orb/models/subscription_schedule_plan_change_response.rb +1224 -0
- data/lib/orb/models/subscription_trigger_phase_params.rb +36 -0
- data/lib/orb/models/subscription_trigger_phase_response.rb +1224 -0
- data/lib/orb/models/subscription_unschedule_cancellation_params.rb +19 -0
- data/lib/orb/models/subscription_unschedule_cancellation_response.rb +1224 -0
- data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rb +26 -0
- data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rb +1228 -0
- data/lib/orb/models/subscription_unschedule_pending_plan_changes_params.rb +19 -0
- data/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rb +1224 -0
- data/lib/orb/models/subscription_update_fixed_fee_quantity_params.rb +90 -0
- data/lib/orb/models/subscription_update_fixed_fee_quantity_response.rb +1224 -0
- data/lib/orb/models/subscription_update_params.rb +74 -0
- data/lib/orb/models/subscription_update_trial_params.rb +59 -0
- data/lib/orb/models/subscription_update_trial_response.rb +1222 -0
- data/lib/orb/models/subscription_usage.rb +258 -0
- data/lib/orb/models/subscriptions.rb +25 -0
- data/lib/orb/models/top_level_ping_params.rb +19 -0
- data/lib/orb/models/top_level_ping_response.rb +20 -0
- data/lib/orb/models/trial_discount.rb +69 -0
- data/lib/orb/models/usage_discount.rb +54 -0
- data/lib/orb/page.rb +114 -0
- data/lib/orb/request_options.rb +75 -0
- data/lib/orb/resources/alerts.rb +239 -0
- data/lib/orb/resources/coupons/subscriptions.rb +43 -0
- data/lib/orb/resources/coupons.rb +115 -0
- data/lib/orb/resources/credit_notes.rb +87 -0
- data/lib/orb/resources/customers/balance_transactions.rb +96 -0
- data/lib/orb/resources/customers/costs.rb +298 -0
- data/lib/orb/resources/customers/credits/ledger.rb +527 -0
- data/lib/orb/resources/customers/credits/top_ups.rb +192 -0
- data/lib/orb/resources/customers/credits.rb +88 -0
- data/lib/orb/resources/customers.rb +321 -0
- data/lib/orb/resources/dimensional_price_groups/external_dimensional_price_group_id.rb +38 -0
- data/lib/orb/resources/dimensional_price_groups.rb +93 -0
- data/lib/orb/resources/events/backfills.rb +174 -0
- data/lib/orb/resources/events/volume.rb +52 -0
- data/lib/orb/resources/events.rb +415 -0
- data/lib/orb/resources/invoice_line_items.rb +41 -0
- data/lib/orb/resources/invoices.rb +266 -0
- data/lib/orb/resources/items.rb +95 -0
- data/lib/orb/resources/metrics.rb +114 -0
- data/lib/orb/resources/plans/external_plan_id.rb +76 -0
- data/lib/orb/resources/plans.rb +133 -0
- data/lib/orb/resources/prices/external_price_id.rb +61 -0
- data/lib/orb/resources/prices.rb +197 -0
- data/lib/orb/resources/subscriptions.rb +1278 -0
- data/lib/orb/resources/top_level.rb +37 -0
- data/lib/orb/transport/base_client.rb +459 -0
- data/lib/orb/transport/pooled_net_requester.rb +182 -0
- data/lib/orb/type/array_of.rb +112 -0
- data/lib/orb/type/base_model.rb +367 -0
- data/lib/orb/type/base_page.rb +61 -0
- data/lib/orb/type/boolean_model.rb +52 -0
- data/lib/orb/type/converter.rb +217 -0
- data/lib/orb/type/enum.rb +101 -0
- data/lib/orb/type/hash_of.rb +132 -0
- data/lib/orb/type/request_parameters.rb +38 -0
- data/lib/orb/type/union.rb +225 -0
- data/lib/orb/type/unknown.rb +56 -0
- data/lib/orb/type.rb +23 -0
- data/lib/orb/util.rb +722 -0
- data/lib/orb/version.rb +5 -0
- data/lib/orb.rb +247 -0
- data/manifest.yaml +15 -0
- data/rbi/lib/orb/client.rbi +90 -0
- data/rbi/lib/orb/errors.rbi +246 -0
- data/rbi/lib/orb/models/alert.rbi +239 -0
- data/rbi/lib/orb/models/alert_create_for_customer_params.rbi +86 -0
- data/rbi/lib/orb/models/alert_create_for_external_customer_params.rbi +88 -0
- data/rbi/lib/orb/models/alert_create_for_subscription_params.rbi +83 -0
- data/rbi/lib/orb/models/alert_disable_params.rbi +28 -0
- data/rbi/lib/orb/models/alert_enable_params.rbi +28 -0
- data/rbi/lib/orb/models/alert_list_params.rbi +95 -0
- data/rbi/lib/orb/models/alert_retrieve_params.rbi +20 -0
- data/rbi/lib/orb/models/alert_update_params.rbi +51 -0
- data/rbi/lib/orb/models/amount_discount.rbi +62 -0
- data/rbi/lib/orb/models/billable_metric.rbi +83 -0
- data/rbi/lib/orb/models/billing_cycle_relative_date.rbi +19 -0
- data/rbi/lib/orb/models/coupon.rbi +90 -0
- data/rbi/lib/orb/models/coupon_archive_params.rbi +20 -0
- data/rbi/lib/orb/models/coupon_create_params.rbi +120 -0
- data/rbi/lib/orb/models/coupon_fetch_params.rbi +20 -0
- data/rbi/lib/orb/models/coupon_list_params.rbi +59 -0
- data/rbi/lib/orb/models/coupons/subscription_list_params.rbi +41 -0
- data/rbi/lib/orb/models/credit_note.rbi +546 -0
- data/rbi/lib/orb/models/credit_note_create_params.rbi +84 -0
- data/rbi/lib/orb/models/credit_note_fetch_params.rbi +20 -0
- data/rbi/lib/orb/models/credit_note_list_params.rbi +74 -0
- data/rbi/lib/orb/models/customer.rbi +941 -0
- data/rbi/lib/orb/models/customer_create_params.rbi +923 -0
- data/rbi/lib/orb/models/customer_delete_params.rbi +20 -0
- data/rbi/lib/orb/models/customer_fetch_by_external_id_params.rbi +20 -0
- data/rbi/lib/orb/models/customer_fetch_params.rbi +20 -0
- data/rbi/lib/orb/models/customer_list_params.rbi +74 -0
- data/rbi/lib/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rbi +20 -0
- data/rbi/lib/orb/models/customer_sync_payment_methods_from_gateway_params.rbi +20 -0
- data/rbi/lib/orb/models/customer_update_by_external_id_params.rbi +945 -0
- data/rbi/lib/orb/models/customer_update_params.rbi +919 -0
- data/rbi/lib/orb/models/customers/balance_transaction_create_params.rbi +64 -0
- data/rbi/lib/orb/models/customers/balance_transaction_create_response.rbi +199 -0
- data/rbi/lib/orb/models/customers/balance_transaction_list_params.rbi +76 -0
- data/rbi/lib/orb/models/customers/balance_transaction_list_response.rbi +191 -0
- data/rbi/lib/orb/models/customers/cost_list_by_external_id_params.rbi +86 -0
- data/rbi/lib/orb/models/customers/cost_list_by_external_id_response.rbi +214 -0
- data/rbi/lib/orb/models/customers/cost_list_params.rbi +84 -0
- data/rbi/lib/orb/models/customers/cost_list_response.rbi +212 -0
- data/rbi/lib/orb/models/customers/credit_list_by_external_id_params.rbi +64 -0
- data/rbi/lib/orb/models/customers/credit_list_by_external_id_response.rbi +87 -0
- data/rbi/lib/orb/models/customers/credit_list_params.rbi +64 -0
- data/rbi/lib/orb/models/customers/credit_list_response.rbi +86 -0
- data/rbi/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbi +270 -0
- data/rbi/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbi +1670 -0
- data/rbi/lib/orb/models/customers/credits/ledger_create_entry_params.rbi +238 -0
- data/rbi/lib/orb/models/customers/credits/ledger_create_entry_response.rbi +1626 -0
- data/rbi/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rbi +181 -0
- data/rbi/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rbi +1654 -0
- data/rbi/lib/orb/models/customers/credits/ledger_list_params.rbi +144 -0
- data/rbi/lib/orb/models/customers/credits/ledger_list_response.rbi +1588 -0
- data/rbi/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rbi +196 -0
- data/rbi/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rbi +198 -0
- data/rbi/lib/orb/models/customers/credits/top_up_create_params.rbi +176 -0
- data/rbi/lib/orb/models/customers/credits/top_up_create_response.rbi +175 -0
- data/rbi/lib/orb/models/customers/credits/top_up_delete_by_external_id_params.rbi +31 -0
- data/rbi/lib/orb/models/customers/credits/top_up_delete_params.rbi +28 -0
- data/rbi/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rbi +49 -0
- data/rbi/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rbi +188 -0
- data/rbi/lib/orb/models/customers/credits/top_up_list_params.rbi +49 -0
- data/rbi/lib/orb/models/customers/credits/top_up_list_response.rbi +168 -0
- data/rbi/lib/orb/models/dimensional_price_group.rbi +75 -0
- data/rbi/lib/orb/models/dimensional_price_group_create_params.rbi +66 -0
- data/rbi/lib/orb/models/dimensional_price_group_list_params.rbi +39 -0
- data/rbi/lib/orb/models/dimensional_price_group_retrieve_params.rbi +20 -0
- data/rbi/lib/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rbi +22 -0
- data/rbi/lib/orb/models/dimensional_price_groups.rbi +35 -0
- data/rbi/lib/orb/models/discount.rbi +18 -0
- data/rbi/lib/orb/models/evaluate_price_group.rbi +45 -0
- data/rbi/lib/orb/models/event_deprecate_params.rbi +20 -0
- data/rbi/lib/orb/models/event_deprecate_response.rbi +19 -0
- data/rbi/lib/orb/models/event_ingest_params.rbi +120 -0
- data/rbi/lib/orb/models/event_ingest_response.rbi +79 -0
- data/rbi/lib/orb/models/event_search_params.rbi +53 -0
- data/rbi/lib/orb/models/event_search_response.rbi +100 -0
- data/rbi/lib/orb/models/event_update_params.rbi +71 -0
- data/rbi/lib/orb/models/event_update_response.rbi +19 -0
- data/rbi/lib/orb/models/events/backfill_close_params.rbi +22 -0
- data/rbi/lib/orb/models/events/backfill_close_response.rbi +127 -0
- data/rbi/lib/orb/models/events/backfill_create_params.rbi +97 -0
- data/rbi/lib/orb/models/events/backfill_create_response.rbi +128 -0
- data/rbi/lib/orb/models/events/backfill_fetch_params.rbi +22 -0
- data/rbi/lib/orb/models/events/backfill_fetch_response.rbi +127 -0
- data/rbi/lib/orb/models/events/backfill_list_params.rbi +41 -0
- data/rbi/lib/orb/models/events/backfill_list_response.rbi +127 -0
- data/rbi/lib/orb/models/events/backfill_revert_params.rbi +22 -0
- data/rbi/lib/orb/models/events/backfill_revert_response.rbi +128 -0
- data/rbi/lib/orb/models/events/event_volumes.rbi +47 -0
- data/rbi/lib/orb/models/events/volume_list_params.rbi +69 -0
- data/rbi/lib/orb/models/invoice.rbi +2466 -0
- data/rbi/lib/orb/models/invoice_create_params.rbi +230 -0
- data/rbi/lib/orb/models/invoice_fetch_params.rbi +20 -0
- data/rbi/lib/orb/models/invoice_fetch_upcoming_params.rbi +24 -0
- data/rbi/lib/orb/models/invoice_fetch_upcoming_response.rbi +2646 -0
- data/rbi/lib/orb/models/invoice_issue_params.rbi +32 -0
- data/rbi/lib/orb/models/invoice_level_discount.rbi +16 -0
- data/rbi/lib/orb/models/invoice_line_item_create_params.rbi +67 -0
- data/rbi/lib/orb/models/invoice_line_item_create_response.rbi +1164 -0
- data/rbi/lib/orb/models/invoice_list_params.rbi +187 -0
- data/rbi/lib/orb/models/invoice_mark_paid_params.rbi +48 -0
- data/rbi/lib/orb/models/invoice_pay_params.rbi +20 -0
- data/rbi/lib/orb/models/invoice_update_params.rbi +36 -0
- data/rbi/lib/orb/models/invoice_void_params.rbi +20 -0
- data/rbi/lib/orb/models/item.rbi +101 -0
- data/rbi/lib/orb/models/item_create_params.rbi +25 -0
- data/rbi/lib/orb/models/item_fetch_params.rbi +20 -0
- data/rbi/lib/orb/models/item_list_params.rbi +39 -0
- data/rbi/lib/orb/models/item_update_params.rbi +113 -0
- data/rbi/lib/orb/models/metric_create_params.rbi +62 -0
- data/rbi/lib/orb/models/metric_fetch_params.rbi +20 -0
- data/rbi/lib/orb/models/metric_list_params.rbi +74 -0
- data/rbi/lib/orb/models/metric_update_params.rbi +36 -0
- data/rbi/lib/orb/models/pagination_metadata.rbi +21 -0
- data/rbi/lib/orb/models/percentage_discount.rbi +63 -0
- data/rbi/lib/orb/models/plan.rbi +1071 -0
- data/rbi/lib/orb/models/plan_create_params.rbi +10069 -0
- data/rbi/lib/orb/models/plan_fetch_params.rbi +20 -0
- data/rbi/lib/orb/models/plan_list_params.rbi +100 -0
- data/rbi/lib/orb/models/plan_update_params.rbi +46 -0
- data/rbi/lib/orb/models/plans/external_plan_id_fetch_params.rbi +22 -0
- data/rbi/lib/orb/models/plans/external_plan_id_update_params.rbi +48 -0
- data/rbi/lib/orb/models/price.rbi +15341 -0
- data/rbi/lib/orb/models/price_create_params.rbi +885 -0
- data/rbi/lib/orb/models/price_evaluate_params.rbi +81 -0
- data/rbi/lib/orb/models/price_evaluate_response.rbi +21 -0
- data/rbi/lib/orb/models/price_fetch_params.rbi +20 -0
- data/rbi/lib/orb/models/price_list_params.rbi +39 -0
- data/rbi/lib/orb/models/price_update_params.rbi +36 -0
- data/rbi/lib/orb/models/prices/external_price_id_fetch_params.rbi +22 -0
- data/rbi/lib/orb/models/prices/external_price_id_update_params.rbi +38 -0
- data/rbi/lib/orb/models/subscription.rbi +1381 -0
- data/rbi/lib/orb/models/subscription_cancel_params.rbi +75 -0
- data/rbi/lib/orb/models/subscription_cancel_response.rbi +1374 -0
- data/rbi/lib/orb/models/subscription_create_params.rbi +23422 -0
- data/rbi/lib/orb/models/subscription_create_response.rbi +1374 -0
- data/rbi/lib/orb/models/subscription_fetch_costs_params.rbi +82 -0
- data/rbi/lib/orb/models/subscription_fetch_costs_response.rbi +210 -0
- data/rbi/lib/orb/models/subscription_fetch_params.rbi +20 -0
- data/rbi/lib/orb/models/subscription_fetch_schedule_params.rbi +74 -0
- data/rbi/lib/orb/models/subscription_fetch_schedule_response.rbi +81 -0
- data/rbi/lib/orb/models/subscription_fetch_usage_params.rbi +137 -0
- data/rbi/lib/orb/models/subscription_list_params.rbi +108 -0
- data/rbi/lib/orb/models/subscription_price_intervals_params.rbi +12991 -0
- data/rbi/lib/orb/models/subscription_price_intervals_response.rbi +1387 -0
- data/rbi/lib/orb/models/subscription_schedule_plan_change_params.rbi +23589 -0
- data/rbi/lib/orb/models/subscription_schedule_plan_change_response.rbi +1390 -0
- data/rbi/lib/orb/models/subscription_trigger_phase_params.rbi +45 -0
- data/rbi/lib/orb/models/subscription_trigger_phase_response.rbi +1381 -0
- data/rbi/lib/orb/models/subscription_unschedule_cancellation_params.rbi +20 -0
- data/rbi/lib/orb/models/subscription_unschedule_cancellation_response.rbi +1400 -0
- data/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rbi +25 -0
- data/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbi +1451 -0
- data/rbi/lib/orb/models/subscription_unschedule_pending_plan_changes_params.rbi +20 -0
- data/rbi/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rbi +1410 -0
- data/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_params.rbi +104 -0
- data/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_response.rbi +1400 -0
- data/rbi/lib/orb/models/subscription_update_params.rbi +77 -0
- data/rbi/lib/orb/models/subscription_update_trial_params.rbi +63 -0
- data/rbi/lib/orb/models/subscription_update_trial_response.rbi +1378 -0
- data/rbi/lib/orb/models/subscription_usage.rbi +323 -0
- data/rbi/lib/orb/models/subscriptions.rbi +33 -0
- data/rbi/lib/orb/models/top_level_ping_params.rbi +20 -0
- data/rbi/lib/orb/models/top_level_ping_response.rbi +18 -0
- data/rbi/lib/orb/models/trial_discount.rbi +73 -0
- data/rbi/lib/orb/models/usage_discount.rbi +62 -0
- data/rbi/lib/orb/page.rbi +35 -0
- data/rbi/lib/orb/request_options.rbi +48 -0
- data/rbi/lib/orb/resources/alerts.rbi +216 -0
- data/rbi/lib/orb/resources/coupons/subscriptions.rbi +38 -0
- data/rbi/lib/orb/resources/coupons.rbi +96 -0
- data/rbi/lib/orb/resources/credit_notes.rbi +74 -0
- data/rbi/lib/orb/resources/customers/balance_transactions.rbi +92 -0
- data/rbi/lib/orb/resources/customers/costs.rbi +304 -0
- data/rbi/lib/orb/resources/customers/credits/ledger.rbi +645 -0
- data/rbi/lib/orb/resources/customers/credits/top_ups.rbi +180 -0
- data/rbi/lib/orb/resources/customers/credits.rbi +88 -0
- data/rbi/lib/orb/resources/customers.rbi +714 -0
- data/rbi/lib/orb/resources/dimensional_price_groups/external_dimensional_price_group_id.rbi +25 -0
- data/rbi/lib/orb/resources/dimensional_price_groups.rbi +78 -0
- data/rbi/lib/orb/resources/events/backfills.rbi +161 -0
- data/rbi/lib/orb/resources/events/volume.rbi +57 -0
- data/rbi/lib/orb/resources/events.rbi +408 -0
- data/rbi/lib/orb/resources/invoice_line_items.rbi +44 -0
- data/rbi/lib/orb/resources/invoices.rbi +262 -0
- data/rbi/lib/orb/resources/items.rbi +65 -0
- data/rbi/lib/orb/resources/metrics.rbi +102 -0
- data/rbi/lib/orb/resources/plans/external_plan_id.rbi +67 -0
- data/rbi/lib/orb/resources/plans.rbi +170 -0
- data/rbi/lib/orb/resources/prices/external_price_id.rbi +110 -0
- data/rbi/lib/orb/resources/prices.rbi +371 -0
- data/rbi/lib/orb/resources/subscriptions.rbi +1469 -0
- data/rbi/lib/orb/resources/top_level.rbi +25 -0
- data/rbi/lib/orb/transport/base_client.rbi +205 -0
- data/rbi/lib/orb/transport/pooled_net_requester.rbi +64 -0
- data/rbi/lib/orb/type/array_of.rbi +82 -0
- data/rbi/lib/orb/type/base_model.rbi +197 -0
- data/rbi/lib/orb/type/base_page.rbi +38 -0
- data/rbi/lib/orb/type/boolean_model.rbi +41 -0
- data/rbi/lib/orb/type/converter.rbi +95 -0
- data/rbi/lib/orb/type/enum.rbi +58 -0
- data/rbi/lib/orb/type/hash_of.rbi +86 -0
- data/rbi/lib/orb/type/request_parameters.rbi +20 -0
- data/rbi/lib/orb/type/union.rbi +66 -0
- data/rbi/lib/orb/type/unknown.rbi +37 -0
- data/rbi/lib/orb/type.rbi +23 -0
- data/rbi/lib/orb/util.rbi +278 -0
- data/rbi/lib/orb/version.rbi +5 -0
- data/sig/orb/client.rbs +53 -0
- data/sig/orb/errors.rbs +201 -0
- data/sig/orb/models/alert.rbs +142 -0
- data/sig/orb/models/alert_create_for_customer_params.rbs +56 -0
- data/sig/orb/models/alert_create_for_external_customer_params.rbs +56 -0
- data/sig/orb/models/alert_create_for_subscription_params.rbs +52 -0
- data/sig/orb/models/alert_disable_params.rbs +20 -0
- data/sig/orb/models/alert_enable_params.rbs +20 -0
- data/sig/orb/models/alert_list_params.rbs +57 -0
- data/sig/orb/models/alert_retrieve_params.rbs +14 -0
- data/sig/orb/models/alert_update_params.rbs +31 -0
- data/sig/orb/models/amount_discount.rbs +40 -0
- data/sig/orb/models/billable_metric.rbs +50 -0
- data/sig/orb/models/billing_cycle_relative_date.rbs +14 -0
- data/sig/orb/models/coupon.rbs +51 -0
- data/sig/orb/models/coupon_archive_params.rbs +14 -0
- data/sig/orb/models/coupon_create_params.rbs +77 -0
- data/sig/orb/models/coupon_fetch_params.rbs +14 -0
- data/sig/orb/models/coupon_list_params.rbs +37 -0
- data/sig/orb/models/coupons/subscription_list_params.rbs +27 -0
- data/sig/orb/models/credit_note.rbs +345 -0
- data/sig/orb/models/credit_note_create_params.rbs +57 -0
- data/sig/orb/models/credit_note_fetch_params.rbs +14 -0
- data/sig/orb/models/credit_note_list_params.rbs +45 -0
- data/sig/orb/models/customer.rbs +628 -0
- data/sig/orb/models/customer_create_params.rbs +624 -0
- data/sig/orb/models/customer_delete_params.rbs +14 -0
- data/sig/orb/models/customer_fetch_by_external_id_params.rbs +14 -0
- data/sig/orb/models/customer_fetch_params.rbs +14 -0
- data/sig/orb/models/customer_list_params.rbs +45 -0
- data/sig/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rbs +15 -0
- data/sig/orb/models/customer_sync_payment_methods_from_gateway_params.rbs +15 -0
- data/sig/orb/models/customer_update_by_external_id_params.rbs +620 -0
- data/sig/orb/models/customer_update_params.rbs +620 -0
- data/sig/orb/models/customers/balance_transaction_create_params.rbs +44 -0
- data/sig/orb/models/customers/balance_transaction_create_response.rbs +114 -0
- data/sig/orb/models/customers/balance_transaction_list_params.rbs +47 -0
- data/sig/orb/models/customers/balance_transaction_list_response.rbs +114 -0
- data/sig/orb/models/customers/cost_list_by_external_id_params.rbs +48 -0
- data/sig/orb/models/customers/cost_list_by_external_id_response.rbs +82 -0
- data/sig/orb/models/customers/cost_list_params.rbs +48 -0
- data/sig/orb/models/customers/cost_list_response.rbs +80 -0
- data/sig/orb/models/customers/credit_list_by_external_id_params.rbs +41 -0
- data/sig/orb/models/customers/credit_list_by_external_id_response.rbs +55 -0
- data/sig/orb/models/customers/credit_list_params.rbs +41 -0
- data/sig/orb/models/customers/credit_list_response.rbs +55 -0
- data/sig/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbs +120 -0
- data/sig/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbs +814 -0
- data/sig/orb/models/customers/credits/ledger_create_entry_params.rbs +120 -0
- data/sig/orb/models/customers/credits/ledger_create_entry_response.rbs +814 -0
- data/sig/orb/models/customers/credits/ledger_list_by_external_id_params.rbs +99 -0
- data/sig/orb/models/customers/credits/ledger_list_by_external_id_response.rbs +814 -0
- data/sig/orb/models/customers/credits/ledger_list_params.rbs +99 -0
- data/sig/orb/models/customers/credits/ledger_list_response.rbs +814 -0
- data/sig/orb/models/customers/credits/top_up_create_by_external_id_params.rbs +95 -0
- data/sig/orb/models/customers/credits/top_up_create_by_external_id_response.rbs +90 -0
- data/sig/orb/models/customers/credits/top_up_create_params.rbs +95 -0
- data/sig/orb/models/customers/credits/top_up_create_response.rbs +90 -0
- data/sig/orb/models/customers/credits/top_up_delete_by_external_id_params.rbs +24 -0
- data/sig/orb/models/customers/credits/top_up_delete_params.rbs +24 -0
- data/sig/orb/models/customers/credits/top_up_list_by_external_id_params.rbs +29 -0
- data/sig/orb/models/customers/credits/top_up_list_by_external_id_response.rbs +90 -0
- data/sig/orb/models/customers/credits/top_up_list_params.rbs +29 -0
- data/sig/orb/models/customers/credits/top_up_list_response.rbs +90 -0
- data/sig/orb/models/dimensional_price_group.rbs +38 -0
- data/sig/orb/models/dimensional_price_group_create_params.rbs +39 -0
- data/sig/orb/models/dimensional_price_group_list_params.rbs +25 -0
- data/sig/orb/models/dimensional_price_group_retrieve_params.rbs +15 -0
- data/sig/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rbs +17 -0
- data/sig/orb/models/dimensional_price_groups.rbs +22 -0
- data/sig/orb/models/discount.rbs +15 -0
- data/sig/orb/models/evaluate_price_group.rbs +34 -0
- data/sig/orb/models/event_deprecate_params.rbs +14 -0
- data/sig/orb/models/event_deprecate_response.rbs +13 -0
- data/sig/orb/models/event_ingest_params.rbs +68 -0
- data/sig/orb/models/event_ingest_response.rbs +53 -0
- data/sig/orb/models/event_search_params.rbs +31 -0
- data/sig/orb/models/event_search_response.rbs +55 -0
- data/sig/orb/models/event_update_params.rbs +39 -0
- data/sig/orb/models/event_update_response.rbs +13 -0
- data/sig/orb/models/events/backfill_close_params.rbs +16 -0
- data/sig/orb/models/events/backfill_close_response.rbs +73 -0
- data/sig/orb/models/events/backfill_create_params.rbs +51 -0
- data/sig/orb/models/events/backfill_create_response.rbs +73 -0
- data/sig/orb/models/events/backfill_fetch_params.rbs +16 -0
- data/sig/orb/models/events/backfill_fetch_response.rbs +73 -0
- data/sig/orb/models/events/backfill_list_params.rbs +27 -0
- data/sig/orb/models/events/backfill_list_response.rbs +73 -0
- data/sig/orb/models/events/backfill_revert_params.rbs +16 -0
- data/sig/orb/models/events/backfill_revert_response.rbs +73 -0
- data/sig/orb/models/events/event_volumes.rbs +39 -0
- data/sig/orb/models/events/volume_list_params.rbs +41 -0
- data/sig/orb/models/invoice.rbs +1430 -0
- data/sig/orb/models/invoice_create_params.rbs +120 -0
- data/sig/orb/models/invoice_fetch_params.rbs +14 -0
- data/sig/orb/models/invoice_fetch_upcoming_params.rbs +20 -0
- data/sig/orb/models/invoice_fetch_upcoming_response.rbs +1430 -0
- data/sig/orb/models/invoice_issue_params.rbs +21 -0
- data/sig/orb/models/invoice_level_discount.rbs +14 -0
- data/sig/orb/models/invoice_line_item_create_params.rbs +43 -0
- data/sig/orb/models/invoice_line_item_create_response.rbs +546 -0
- data/sig/orb/models/invoice_list_params.rbs +122 -0
- data/sig/orb/models/invoice_mark_paid_params.rbs +27 -0
- data/sig/orb/models/invoice_pay_params.rbs +14 -0
- data/sig/orb/models/invoice_update_params.rbs +20 -0
- data/sig/orb/models/invoice_void_params.rbs +14 -0
- data/sig/orb/models/item.rbs +72 -0
- data/sig/orb/models/item_create_params.rbs +19 -0
- data/sig/orb/models/item_fetch_params.rbs +14 -0
- data/sig/orb/models/item_list_params.rbs +25 -0
- data/sig/orb/models/item_update_params.rbs +69 -0
- data/sig/orb/models/metric_create_params.rbs +39 -0
- data/sig/orb/models/metric_fetch_params.rbs +14 -0
- data/sig/orb/models/metric_list_params.rbs +45 -0
- data/sig/orb/models/metric_update_params.rbs +20 -0
- data/sig/orb/models/pagination_metadata.rbs +15 -0
- data/sig/orb/models/percentage_discount.rbs +40 -0
- data/sig/orb/models/plan.rbs +529 -0
- data/sig/orb/models/plan_create_params.rbs +3991 -0
- data/sig/orb/models/plan_fetch_params.rbs +14 -0
- data/sig/orb/models/plan_list_params.rbs +65 -0
- data/sig/orb/models/plan_update_params.rbs +24 -0
- data/sig/orb/models/plans/external_plan_id_fetch_params.rbs +16 -0
- data/sig/orb/models/plans/external_plan_id_update_params.rbs +26 -0
- data/sig/orb/models/price.rbs +8108 -0
- data/sig/orb/models/price_create_params.rbs +520 -0
- data/sig/orb/models/price_evaluate_params.rbs +45 -0
- data/sig/orb/models/price_evaluate_response.rbs +14 -0
- data/sig/orb/models/price_fetch_params.rbs +14 -0
- data/sig/orb/models/price_list_params.rbs +25 -0
- data/sig/orb/models/price_update_params.rbs +20 -0
- data/sig/orb/models/prices/external_price_id_fetch_params.rbs +16 -0
- data/sig/orb/models/prices/external_price_id_update_params.rbs +22 -0
- data/sig/orb/models/subscription.rbs +687 -0
- data/sig/orb/models/subscription_cancel_params.rbs +44 -0
- data/sig/orb/models/subscription_cancel_response.rbs +687 -0
- data/sig/orb/models/subscription_create_params.rbs +9141 -0
- data/sig/orb/models/subscription_create_response.rbs +687 -0
- data/sig/orb/models/subscription_fetch_costs_params.rbs +46 -0
- data/sig/orb/models/subscription_fetch_costs_response.rbs +78 -0
- data/sig/orb/models/subscription_fetch_params.rbs +14 -0
- data/sig/orb/models/subscription_fetch_schedule_params.rbs +45 -0
- data/sig/orb/models/subscription_fetch_schedule_response.rbs +48 -0
- data/sig/orb/models/subscription_fetch_usage_params.rbs +80 -0
- data/sig/orb/models/subscription_list_params.rbs +69 -0
- data/sig/orb/models/subscription_price_intervals_params.rbs +5117 -0
- data/sig/orb/models/subscription_price_intervals_response.rbs +687 -0
- data/sig/orb/models/subscription_schedule_plan_change_params.rbs +9133 -0
- data/sig/orb/models/subscription_schedule_plan_change_response.rbs +687 -0
- data/sig/orb/models/subscription_trigger_phase_params.rbs +24 -0
- data/sig/orb/models/subscription_trigger_phase_response.rbs +687 -0
- data/sig/orb/models/subscription_unschedule_cancellation_params.rbs +15 -0
- data/sig/orb/models/subscription_unschedule_cancellation_response.rbs +687 -0
- data/sig/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rbs +20 -0
- data/sig/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbs +687 -0
- data/sig/orb/models/subscription_unschedule_pending_plan_changes_params.rbs +15 -0
- data/sig/orb/models/subscription_unschedule_pending_plan_changes_response.rbs +687 -0
- data/sig/orb/models/subscription_update_fixed_fee_quantity_params.rbs +55 -0
- data/sig/orb/models/subscription_update_fixed_fee_quantity_response.rbs +687 -0
- data/sig/orb/models/subscription_update_params.rbs +39 -0
- data/sig/orb/models/subscription_update_trial_params.rbs +39 -0
- data/sig/orb/models/subscription_update_trial_response.rbs +687 -0
- data/sig/orb/models/subscription_usage.rbs +196 -0
- data/sig/orb/models/subscriptions.rbs +22 -0
- data/sig/orb/models/top_level_ping_params.rbs +14 -0
- data/sig/orb/models/top_level_ping_response.rbs +13 -0
- data/sig/orb/models/trial_discount.rbs +44 -0
- data/sig/orb/models/usage_discount.rbs +40 -0
- data/sig/orb/page.rbs +22 -0
- data/sig/orb/request_options.rbs +32 -0
- data/sig/orb/resources/alerts.rbs +67 -0
- data/sig/orb/resources/coupons/subscriptions.rbs +16 -0
- data/sig/orb/resources/coupons.rbs +35 -0
- data/sig/orb/resources/credit_notes.rbs +29 -0
- data/sig/orb/resources/customers/balance_transactions.rbs +28 -0
- data/sig/orb/resources/customers/costs.rbs +27 -0
- data/sig/orb/resources/customers/credits/ledger.rbs +75 -0
- data/sig/orb/resources/customers/credits/top_ups.rbs +63 -0
- data/sig/orb/resources/customers/credits.rbs +31 -0
- data/sig/orb/resources/customers.rbs +114 -0
- data/sig/orb/resources/dimensional_price_groups/external_dimensional_price_group_id.rbs +14 -0
- data/sig/orb/resources/dimensional_price_groups.rbs +29 -0
- data/sig/orb/resources/events/backfills.rbs +41 -0
- data/sig/orb/resources/events/volume.rbs +17 -0
- data/sig/orb/resources/events.rbs +40 -0
- data/sig/orb/resources/invoice_line_items.rbs +17 -0
- data/sig/orb/resources/invoices.rbs +84 -0
- data/sig/orb/resources/items.rbs +30 -0
- data/sig/orb/resources/metrics.rbs +37 -0
- data/sig/orb/resources/plans/external_plan_id.rbs +21 -0
- data/sig/orb/resources/plans.rbs +44 -0
- data/sig/orb/resources/prices/external_price_id.rbs +20 -0
- data/sig/orb/resources/prices.rbs +83 -0
- data/sig/orb/resources/subscriptions.rbs +194 -0
- data/sig/orb/resources/top_level.rbs +11 -0
- data/sig/orb/transport/base_client.rbs +110 -0
- data/sig/orb/transport/pooled_net_requester.rbs +39 -0
- data/sig/orb/type/array_of.rbs +36 -0
- data/sig/orb/type/base_model.rbs +77 -0
- data/sig/orb/type/base_page.rbs +22 -0
- data/sig/orb/type/boolean_model.rbs +18 -0
- data/sig/orb/type/converter.rbs +36 -0
- data/sig/orb/type/enum.rbs +22 -0
- data/sig/orb/type/hash_of.rbs +36 -0
- data/sig/orb/type/request_parameters.rbs +13 -0
- data/sig/orb/type/union.rbs +37 -0
- data/sig/orb/type/unknown.rbs +15 -0
- data/sig/orb/type.rbs +22 -0
- data/sig/orb/util.rbs +132 -0
- data/sig/orb/version.rbs +3 -0
- metadata +692 -0
@@ -0,0 +1,262 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Orb
|
4
|
+
module Resources
|
5
|
+
class Invoices
|
6
|
+
# This endpoint is used to create a one-off invoice for a customer.
|
7
|
+
sig do
|
8
|
+
params(
|
9
|
+
currency: String,
|
10
|
+
invoice_date: Time,
|
11
|
+
line_items: T::Array[T.any(Orb::Models::InvoiceCreateParams::LineItem, Orb::Util::AnyHash)],
|
12
|
+
net_terms: Integer,
|
13
|
+
customer_id: T.nilable(String),
|
14
|
+
discount: T.nilable(
|
15
|
+
T.any(
|
16
|
+
Orb::Models::PercentageDiscount,
|
17
|
+
Orb::Util::AnyHash,
|
18
|
+
Orb::Models::TrialDiscount,
|
19
|
+
Orb::Models::UsageDiscount,
|
20
|
+
Orb::Models::AmountDiscount
|
21
|
+
)
|
22
|
+
),
|
23
|
+
external_customer_id: T.nilable(String),
|
24
|
+
memo: T.nilable(String),
|
25
|
+
metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
|
26
|
+
will_auto_issue: T::Boolean,
|
27
|
+
request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash))
|
28
|
+
)
|
29
|
+
.returns(Orb::Models::Invoice)
|
30
|
+
end
|
31
|
+
def create(
|
32
|
+
# An ISO 4217 currency string. Must be the same as the customer's currency if it
|
33
|
+
# is set.
|
34
|
+
currency:,
|
35
|
+
# Optional invoice date to set. Must be in the past, if not set, `invoice_date` is
|
36
|
+
# set to the current time in the customer's timezone.
|
37
|
+
invoice_date:,
|
38
|
+
line_items:,
|
39
|
+
# Determines the difference between the invoice issue date for subscription
|
40
|
+
# invoices as the date that they are due. A value of '0' here represents that the
|
41
|
+
# invoice is due on issue, whereas a value of 30 represents that the customer has
|
42
|
+
# 30 days to pay the invoice.
|
43
|
+
net_terms:,
|
44
|
+
# The id of the `Customer` to create this invoice for. One of `customer_id` and
|
45
|
+
# `external_customer_id` are required.
|
46
|
+
customer_id: nil,
|
47
|
+
# An optional discount to attach to the invoice.
|
48
|
+
discount: nil,
|
49
|
+
# The `external_customer_id` of the `Customer` to create this invoice for. One of
|
50
|
+
# `customer_id` and `external_customer_id` are required.
|
51
|
+
external_customer_id: nil,
|
52
|
+
# An optional memo to attach to the invoice.
|
53
|
+
memo: nil,
|
54
|
+
# User-specified key/value pairs for the resource. Individual keys can be removed
|
55
|
+
# by setting the value to `null`, and the entire metadata mapping can be cleared
|
56
|
+
# by setting `metadata` to `null`.
|
57
|
+
metadata: nil,
|
58
|
+
# When true, this invoice will automatically be issued upon creation. When false,
|
59
|
+
# the resulting invoice will require manual review to issue. Defaulted to false.
|
60
|
+
will_auto_issue: nil,
|
61
|
+
request_options: {}
|
62
|
+
)
|
63
|
+
end
|
64
|
+
|
65
|
+
# This endpoint allows you to update the `metadata` property on an invoice. If you
|
66
|
+
# pass null for the metadata value, it will clear any existing metadata for that
|
67
|
+
# invoice.
|
68
|
+
#
|
69
|
+
# `metadata` can be modified regardless of invoice state.
|
70
|
+
sig do
|
71
|
+
params(
|
72
|
+
invoice_id: String,
|
73
|
+
metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
|
74
|
+
request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash))
|
75
|
+
)
|
76
|
+
.returns(Orb::Models::Invoice)
|
77
|
+
end
|
78
|
+
def update(
|
79
|
+
invoice_id,
|
80
|
+
# User-specified key/value pairs for the resource. Individual keys can be removed
|
81
|
+
# by setting the value to `null`, and the entire metadata mapping can be cleared
|
82
|
+
# by setting `metadata` to `null`.
|
83
|
+
metadata: nil,
|
84
|
+
request_options: {}
|
85
|
+
)
|
86
|
+
end
|
87
|
+
|
88
|
+
# This endpoint returns a list of all [`Invoice`](/core-concepts#invoice)s for an
|
89
|
+
# account in a list format.
|
90
|
+
#
|
91
|
+
# The list of invoices is ordered starting from the most recently issued invoice
|
92
|
+
# date. The response also includes
|
93
|
+
# [`pagination_metadata`](/api-reference/pagination), which lets the caller
|
94
|
+
# retrieve the next page of results if they exist.
|
95
|
+
#
|
96
|
+
# By default, this only returns invoices that are `issued`, `paid`, or `synced`.
|
97
|
+
#
|
98
|
+
# When fetching any `draft` invoices, this returns the last-computed invoice
|
99
|
+
# values for each draft invoice, which may not always be up-to-date since Orb
|
100
|
+
# regularly refreshes invoices asynchronously.
|
101
|
+
sig do
|
102
|
+
params(
|
103
|
+
amount: T.nilable(String),
|
104
|
+
amount_gt: T.nilable(String),
|
105
|
+
amount_lt: T.nilable(String),
|
106
|
+
cursor: T.nilable(String),
|
107
|
+
customer_id: T.nilable(String),
|
108
|
+
date_type: T.nilable(Orb::Models::InvoiceListParams::DateType::OrSymbol),
|
109
|
+
due_date: T.nilable(Date),
|
110
|
+
due_date_window: T.nilable(String),
|
111
|
+
due_date_gt: T.nilable(Date),
|
112
|
+
due_date_lt: T.nilable(Date),
|
113
|
+
external_customer_id: T.nilable(String),
|
114
|
+
invoice_date_gt: T.nilable(Time),
|
115
|
+
invoice_date_gte: T.nilable(Time),
|
116
|
+
invoice_date_lt: T.nilable(Time),
|
117
|
+
invoice_date_lte: T.nilable(Time),
|
118
|
+
is_recurring: T.nilable(T::Boolean),
|
119
|
+
limit: Integer,
|
120
|
+
status: T.nilable(T::Array[Orb::Models::InvoiceListParams::Status::OrSymbol]),
|
121
|
+
subscription_id: T.nilable(String),
|
122
|
+
request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash))
|
123
|
+
)
|
124
|
+
.returns(Orb::Page[Orb::Models::Invoice])
|
125
|
+
end
|
126
|
+
def list(
|
127
|
+
amount: nil,
|
128
|
+
amount_gt: nil,
|
129
|
+
amount_lt: nil,
|
130
|
+
# Cursor for pagination. This can be populated by the `next_cursor` value returned
|
131
|
+
# from the initial request.
|
132
|
+
cursor: nil,
|
133
|
+
customer_id: nil,
|
134
|
+
date_type: nil,
|
135
|
+
due_date: nil,
|
136
|
+
# Filters invoices by their due dates within a specific time range in the past.
|
137
|
+
# Specify the range as a number followed by 'd' (days) or 'm' (months). For
|
138
|
+
# example, '7d' filters invoices due in the last 7 days, and '2m' filters those
|
139
|
+
# due in the last 2 months.
|
140
|
+
due_date_window: nil,
|
141
|
+
due_date_gt: nil,
|
142
|
+
due_date_lt: nil,
|
143
|
+
external_customer_id: nil,
|
144
|
+
invoice_date_gt: nil,
|
145
|
+
invoice_date_gte: nil,
|
146
|
+
invoice_date_lt: nil,
|
147
|
+
invoice_date_lte: nil,
|
148
|
+
is_recurring: nil,
|
149
|
+
# The number of items to fetch. Defaults to 20.
|
150
|
+
limit: nil,
|
151
|
+
status: nil,
|
152
|
+
subscription_id: nil,
|
153
|
+
request_options: {}
|
154
|
+
)
|
155
|
+
end
|
156
|
+
|
157
|
+
# This endpoint is used to fetch an [`Invoice`](/core-concepts#invoice) given an
|
158
|
+
# identifier.
|
159
|
+
sig do
|
160
|
+
params(invoice_id: String, request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash)))
|
161
|
+
.returns(Orb::Models::Invoice)
|
162
|
+
end
|
163
|
+
def fetch(invoice_id, request_options: {})
|
164
|
+
end
|
165
|
+
|
166
|
+
# This endpoint can be used to fetch the upcoming
|
167
|
+
# [invoice](/core-concepts#invoice) for the current billing period given a
|
168
|
+
# subscription.
|
169
|
+
sig do
|
170
|
+
params(
|
171
|
+
subscription_id: String,
|
172
|
+
request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash))
|
173
|
+
)
|
174
|
+
.returns(Orb::Models::InvoiceFetchUpcomingResponse)
|
175
|
+
end
|
176
|
+
def fetch_upcoming(subscription_id:, request_options: {})
|
177
|
+
end
|
178
|
+
|
179
|
+
# This endpoint allows an eligible invoice to be issued manually. This is only
|
180
|
+
# possible with invoices where status is `draft`, `will_auto_issue` is false, and
|
181
|
+
# an `eligible_to_issue_at` is a time in the past. Issuing an invoice could
|
182
|
+
# possibly trigger side effects, some of which could be customer-visible (e.g.
|
183
|
+
# sending emails, auto-collecting payment, syncing the invoice to external
|
184
|
+
# providers, etc).
|
185
|
+
sig do
|
186
|
+
params(
|
187
|
+
invoice_id: String,
|
188
|
+
synchronous: T::Boolean,
|
189
|
+
request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash))
|
190
|
+
)
|
191
|
+
.returns(Orb::Models::Invoice)
|
192
|
+
end
|
193
|
+
def issue(
|
194
|
+
invoice_id,
|
195
|
+
# If true, the invoice will be issued synchronously. If false, the invoice will be
|
196
|
+
# issued asynchronously. The synchronous option is only available for invoices
|
197
|
+
# that have no usage fees. If the invoice is configured to sync to an external
|
198
|
+
# provider, a successful response from this endpoint guarantees the invoice is
|
199
|
+
# present in the provider.
|
200
|
+
synchronous: nil,
|
201
|
+
request_options: {}
|
202
|
+
)
|
203
|
+
end
|
204
|
+
|
205
|
+
# This endpoint allows an invoice's status to be set the `paid` status. This can
|
206
|
+
# only be done to invoices that are in the `issued` status.
|
207
|
+
sig do
|
208
|
+
params(
|
209
|
+
invoice_id: String,
|
210
|
+
payment_received_date: Date,
|
211
|
+
external_id: T.nilable(String),
|
212
|
+
notes: T.nilable(String),
|
213
|
+
request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash))
|
214
|
+
)
|
215
|
+
.returns(Orb::Models::Invoice)
|
216
|
+
end
|
217
|
+
def mark_paid(
|
218
|
+
invoice_id,
|
219
|
+
# A date string to specify the date of the payment.
|
220
|
+
payment_received_date:,
|
221
|
+
# An optional external ID to associate with the payment.
|
222
|
+
external_id: nil,
|
223
|
+
# An optional note to associate with the payment.
|
224
|
+
notes: nil,
|
225
|
+
request_options: {}
|
226
|
+
)
|
227
|
+
end
|
228
|
+
|
229
|
+
# This endpoint collects payment for an invoice using the customer's default
|
230
|
+
# payment method. This action can only be taken on invoices with status "issued".
|
231
|
+
sig do
|
232
|
+
params(invoice_id: String, request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash)))
|
233
|
+
.returns(Orb::Models::Invoice)
|
234
|
+
end
|
235
|
+
def pay(invoice_id, request_options: {})
|
236
|
+
end
|
237
|
+
|
238
|
+
# This endpoint allows an invoice's status to be set the `void` status. This can
|
239
|
+
# only be done to invoices that are in the `issued` status.
|
240
|
+
#
|
241
|
+
# If the associated invoice has used the customer balance to change the amount
|
242
|
+
# due, the customer balance operation will be reverted. For example, if the
|
243
|
+
# invoice used $10 of customer balance, that amount will be added back to the
|
244
|
+
# customer balance upon voiding.
|
245
|
+
#
|
246
|
+
# If the invoice was used to purchase a credit block, but the invoice is not yet
|
247
|
+
# paid, the credit block will be voided. If the invoice was created due to a
|
248
|
+
# top-up, the top-up will be disabled.
|
249
|
+
sig do
|
250
|
+
params(invoice_id: String, request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash)))
|
251
|
+
.returns(Orb::Models::Invoice)
|
252
|
+
end
|
253
|
+
def void(invoice_id, request_options: {})
|
254
|
+
end
|
255
|
+
|
256
|
+
# @api private
|
257
|
+
sig { params(client: Orb::Client).returns(T.attached_class) }
|
258
|
+
def self.new(client:)
|
259
|
+
end
|
260
|
+
end
|
261
|
+
end
|
262
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Orb
|
4
|
+
module Resources
|
5
|
+
class Items
|
6
|
+
# This endpoint is used to create an [Item](/core-concepts#item).
|
7
|
+
sig do
|
8
|
+
params(name: String, request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash)))
|
9
|
+
.returns(Orb::Models::Item)
|
10
|
+
end
|
11
|
+
def create(
|
12
|
+
# The name of the item.
|
13
|
+
name:,
|
14
|
+
request_options: {}
|
15
|
+
)
|
16
|
+
end
|
17
|
+
|
18
|
+
# This endpoint can be used to update properties on the Item.
|
19
|
+
sig do
|
20
|
+
params(
|
21
|
+
item_id: String,
|
22
|
+
external_connections: T.nilable(T::Array[T.any(Orb::Models::ItemUpdateParams::ExternalConnection, Orb::Util::AnyHash)]),
|
23
|
+
name: T.nilable(String),
|
24
|
+
request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash))
|
25
|
+
)
|
26
|
+
.returns(Orb::Models::Item)
|
27
|
+
end
|
28
|
+
def update(item_id, external_connections: nil, name: nil, request_options: {})
|
29
|
+
end
|
30
|
+
|
31
|
+
# This endpoint returns a list of all Items, ordered in descending order by
|
32
|
+
# creation time.
|
33
|
+
sig do
|
34
|
+
params(
|
35
|
+
cursor: T.nilable(String),
|
36
|
+
limit: Integer,
|
37
|
+
request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash))
|
38
|
+
)
|
39
|
+
.returns(Orb::Page[Orb::Models::Item])
|
40
|
+
end
|
41
|
+
def list(
|
42
|
+
# Cursor for pagination. This can be populated by the `next_cursor` value returned
|
43
|
+
# from the initial request.
|
44
|
+
cursor: nil,
|
45
|
+
# The number of items to fetch. Defaults to 20.
|
46
|
+
limit: nil,
|
47
|
+
request_options: {}
|
48
|
+
)
|
49
|
+
end
|
50
|
+
|
51
|
+
# This endpoint returns an item identified by its item_id.
|
52
|
+
sig do
|
53
|
+
params(item_id: String, request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash)))
|
54
|
+
.returns(Orb::Models::Item)
|
55
|
+
end
|
56
|
+
def fetch(item_id, request_options: {})
|
57
|
+
end
|
58
|
+
|
59
|
+
# @api private
|
60
|
+
sig { params(client: Orb::Client).returns(T.attached_class) }
|
61
|
+
def self.new(client:)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,102 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Orb
|
4
|
+
module Resources
|
5
|
+
class Metrics
|
6
|
+
# This endpoint is used to create a [metric](/core-concepts###metric) using a SQL
|
7
|
+
# string. See [SQL support](/extensibility/advanced-metrics#sql-support) for a
|
8
|
+
# description of constructing SQL queries with examples.
|
9
|
+
sig do
|
10
|
+
params(
|
11
|
+
description: T.nilable(String),
|
12
|
+
item_id: String,
|
13
|
+
name: String,
|
14
|
+
sql: String,
|
15
|
+
metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
|
16
|
+
request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash))
|
17
|
+
)
|
18
|
+
.returns(Orb::Models::BillableMetric)
|
19
|
+
end
|
20
|
+
def create(
|
21
|
+
# A description of the metric.
|
22
|
+
description:,
|
23
|
+
# The id of the item
|
24
|
+
item_id:,
|
25
|
+
# The name of the metric.
|
26
|
+
name:,
|
27
|
+
# A sql string defining the metric.
|
28
|
+
sql:,
|
29
|
+
# User-specified key/value pairs for the resource. Individual keys can be removed
|
30
|
+
# by setting the value to `null`, and the entire metadata mapping can be cleared
|
31
|
+
# by setting `metadata` to `null`.
|
32
|
+
metadata: nil,
|
33
|
+
request_options: {}
|
34
|
+
)
|
35
|
+
end
|
36
|
+
|
37
|
+
# This endpoint allows you to update the `metadata` property on a metric. If you
|
38
|
+
# pass `null` for the metadata value, it will clear any existing metadata for that
|
39
|
+
# invoice.
|
40
|
+
sig do
|
41
|
+
params(
|
42
|
+
metric_id: String,
|
43
|
+
metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
|
44
|
+
request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash))
|
45
|
+
)
|
46
|
+
.returns(Orb::Models::BillableMetric)
|
47
|
+
end
|
48
|
+
def update(
|
49
|
+
metric_id,
|
50
|
+
# User-specified key/value pairs for the resource. Individual keys can be removed
|
51
|
+
# by setting the value to `null`, and the entire metadata mapping can be cleared
|
52
|
+
# by setting `metadata` to `null`.
|
53
|
+
metadata: nil,
|
54
|
+
request_options: {}
|
55
|
+
)
|
56
|
+
end
|
57
|
+
|
58
|
+
# This endpoint is used to fetch [metric](/core-concepts##metric) details given a
|
59
|
+
# metric identifier. It returns information about the metrics including its name,
|
60
|
+
# description, and item.
|
61
|
+
sig do
|
62
|
+
params(
|
63
|
+
created_at_gt: T.nilable(Time),
|
64
|
+
created_at_gte: T.nilable(Time),
|
65
|
+
created_at_lt: T.nilable(Time),
|
66
|
+
created_at_lte: T.nilable(Time),
|
67
|
+
cursor: T.nilable(String),
|
68
|
+
limit: Integer,
|
69
|
+
request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash))
|
70
|
+
)
|
71
|
+
.returns(Orb::Page[Orb::Models::BillableMetric])
|
72
|
+
end
|
73
|
+
def list(
|
74
|
+
created_at_gt: nil,
|
75
|
+
created_at_gte: nil,
|
76
|
+
created_at_lt: nil,
|
77
|
+
created_at_lte: nil,
|
78
|
+
# Cursor for pagination. This can be populated by the `next_cursor` value returned
|
79
|
+
# from the initial request.
|
80
|
+
cursor: nil,
|
81
|
+
# The number of items to fetch. Defaults to 20.
|
82
|
+
limit: nil,
|
83
|
+
request_options: {}
|
84
|
+
)
|
85
|
+
end
|
86
|
+
|
87
|
+
# This endpoint is used to list [metrics](/core-concepts#metric). It returns
|
88
|
+
# information about the metrics including its name, description, and item.
|
89
|
+
sig do
|
90
|
+
params(metric_id: String, request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash)))
|
91
|
+
.returns(Orb::Models::BillableMetric)
|
92
|
+
end
|
93
|
+
def fetch(metric_id, request_options: {})
|
94
|
+
end
|
95
|
+
|
96
|
+
# @api private
|
97
|
+
sig { params(client: Orb::Client).returns(T.attached_class) }
|
98
|
+
def self.new(client:)
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Orb
|
4
|
+
module Resources
|
5
|
+
class Plans
|
6
|
+
class ExternalPlanID
|
7
|
+
# This endpoint can be used to update the `external_plan_id`, and `metadata` of an
|
8
|
+
# existing plan.
|
9
|
+
#
|
10
|
+
# Other fields on a customer are currently immutable.
|
11
|
+
sig do
|
12
|
+
params(
|
13
|
+
other_external_plan_id: String,
|
14
|
+
external_plan_id: T.nilable(String),
|
15
|
+
metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
|
16
|
+
request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash))
|
17
|
+
)
|
18
|
+
.returns(Orb::Models::Plan)
|
19
|
+
end
|
20
|
+
def update(
|
21
|
+
other_external_plan_id,
|
22
|
+
# An optional user-defined ID for this plan resource, used throughout the system
|
23
|
+
# as an alias for this Plan. Use this field to identify a plan by an existing
|
24
|
+
# identifier in your system.
|
25
|
+
external_plan_id: nil,
|
26
|
+
# User-specified key/value pairs for the resource. Individual keys can be removed
|
27
|
+
# by setting the value to `null`, and the entire metadata mapping can be cleared
|
28
|
+
# by setting `metadata` to `null`.
|
29
|
+
metadata: nil,
|
30
|
+
request_options: {}
|
31
|
+
)
|
32
|
+
end
|
33
|
+
|
34
|
+
# This endpoint is used to fetch [plan](/core-concepts##plan-and-price) details
|
35
|
+
# given an external_plan_id identifier. It returns information about the prices
|
36
|
+
# included in the plan and their configuration, as well as the product that the
|
37
|
+
# plan is attached to.
|
38
|
+
#
|
39
|
+
# If multiple plans are found to contain the specified external_plan_id, the
|
40
|
+
# active plans will take priority over archived ones, and among those, the
|
41
|
+
# endpoint will return the most recently created plan.
|
42
|
+
#
|
43
|
+
# ## Serialized prices
|
44
|
+
#
|
45
|
+
# Orb supports a few different pricing models out of the box. Each of these models
|
46
|
+
# is serialized differently in a given [Price](/core-concepts#plan-and-price)
|
47
|
+
# object. The `model_type` field determines the key for the configuration object
|
48
|
+
# that is present. A detailed explanation of price types can be found in the
|
49
|
+
# [Price schema](/core-concepts#plan-and-price). "
|
50
|
+
sig do
|
51
|
+
params(
|
52
|
+
external_plan_id: String,
|
53
|
+
request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash))
|
54
|
+
)
|
55
|
+
.returns(Orb::Models::Plan)
|
56
|
+
end
|
57
|
+
def fetch(external_plan_id, request_options: {})
|
58
|
+
end
|
59
|
+
|
60
|
+
# @api private
|
61
|
+
sig { params(client: Orb::Client).returns(T.attached_class) }
|
62
|
+
def self.new(client:)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,170 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Orb
|
4
|
+
module Resources
|
5
|
+
class Plans
|
6
|
+
sig { returns(Orb::Resources::Plans::ExternalPlanID) }
|
7
|
+
attr_reader :external_plan_id
|
8
|
+
|
9
|
+
# This endpoint allows creation of plans including their prices.
|
10
|
+
sig do
|
11
|
+
params(
|
12
|
+
currency: String,
|
13
|
+
name: String,
|
14
|
+
prices: T::Array[
|
15
|
+
T.any(
|
16
|
+
Orb::Models::PlanCreateParams::Price::NewPlanUnitPrice,
|
17
|
+
Orb::Util::AnyHash,
|
18
|
+
Orb::Models::PlanCreateParams::Price::NewPlanPackagePrice,
|
19
|
+
Orb::Models::PlanCreateParams::Price::NewPlanMatrixPrice,
|
20
|
+
Orb::Models::PlanCreateParams::Price::NewPlanTieredPrice,
|
21
|
+
Orb::Models::PlanCreateParams::Price::NewPlanTieredBpsPrice,
|
22
|
+
Orb::Models::PlanCreateParams::Price::NewPlanBpsPrice,
|
23
|
+
Orb::Models::PlanCreateParams::Price::NewPlanBulkBpsPrice,
|
24
|
+
Orb::Models::PlanCreateParams::Price::NewPlanBulkPrice,
|
25
|
+
Orb::Models::PlanCreateParams::Price::NewPlanThresholdTotalAmountPrice,
|
26
|
+
Orb::Models::PlanCreateParams::Price::NewPlanTieredPackagePrice,
|
27
|
+
Orb::Models::PlanCreateParams::Price::NewPlanTieredWithMinimumPrice,
|
28
|
+
Orb::Models::PlanCreateParams::Price::NewPlanUnitWithPercentPrice,
|
29
|
+
Orb::Models::PlanCreateParams::Price::NewPlanPackageWithAllocationPrice,
|
30
|
+
Orb::Models::PlanCreateParams::Price::NewPlanTierWithProrationPrice,
|
31
|
+
Orb::Models::PlanCreateParams::Price::NewPlanUnitWithProrationPrice,
|
32
|
+
Orb::Models::PlanCreateParams::Price::NewPlanGroupedAllocationPrice,
|
33
|
+
Orb::Models::PlanCreateParams::Price::NewPlanGroupedWithProratedMinimumPrice,
|
34
|
+
Orb::Models::PlanCreateParams::Price::NewPlanGroupedWithMeteredMinimumPrice,
|
35
|
+
Orb::Models::PlanCreateParams::Price::NewPlanMatrixWithDisplayNamePrice,
|
36
|
+
Orb::Models::PlanCreateParams::Price::NewPlanBulkWithProrationPrice,
|
37
|
+
Orb::Models::PlanCreateParams::Price::NewPlanGroupedTieredPackagePrice,
|
38
|
+
Orb::Models::PlanCreateParams::Price::NewPlanMaxGroupTieredPackagePrice,
|
39
|
+
Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithUnitPricingPrice,
|
40
|
+
Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithTieredPricingPrice,
|
41
|
+
Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice
|
42
|
+
)
|
43
|
+
],
|
44
|
+
default_invoice_memo: T.nilable(String),
|
45
|
+
external_plan_id: T.nilable(String),
|
46
|
+
metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
|
47
|
+
net_terms: T.nilable(Integer),
|
48
|
+
status: Orb::Models::PlanCreateParams::Status::OrSymbol,
|
49
|
+
request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash))
|
50
|
+
)
|
51
|
+
.returns(Orb::Models::Plan)
|
52
|
+
end
|
53
|
+
def create(
|
54
|
+
# An ISO 4217 currency string for invoices generated by subscriptions on this
|
55
|
+
# plan.
|
56
|
+
currency:,
|
57
|
+
name:,
|
58
|
+
# Prices for this plan. If the plan has phases, this includes prices across all
|
59
|
+
# phases of the plan.
|
60
|
+
prices:,
|
61
|
+
# Free-form text which is available on the invoice PDF and the Orb invoice portal.
|
62
|
+
default_invoice_memo: nil,
|
63
|
+
external_plan_id: nil,
|
64
|
+
# User-specified key/value pairs for the resource. Individual keys can be removed
|
65
|
+
# by setting the value to `null`, and the entire metadata mapping can be cleared
|
66
|
+
# by setting `metadata` to `null`.
|
67
|
+
metadata: nil,
|
68
|
+
# The net terms determines the difference between the invoice date and the issue
|
69
|
+
# date for the invoice. If you intend the invoice to be due on issue, set this
|
70
|
+
# to 0.
|
71
|
+
net_terms: nil,
|
72
|
+
# The status of the plan to create (either active or draft). If not specified,
|
73
|
+
# this defaults to active.
|
74
|
+
status: nil,
|
75
|
+
request_options: {}
|
76
|
+
)
|
77
|
+
end
|
78
|
+
|
79
|
+
# This endpoint can be used to update the `external_plan_id`, and `metadata` of an
|
80
|
+
# existing plan.
|
81
|
+
#
|
82
|
+
# Other fields on a customer are currently immutable.
|
83
|
+
sig do
|
84
|
+
params(
|
85
|
+
plan_id: String,
|
86
|
+
external_plan_id: T.nilable(String),
|
87
|
+
metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
|
88
|
+
request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash))
|
89
|
+
)
|
90
|
+
.returns(Orb::Models::Plan)
|
91
|
+
end
|
92
|
+
def update(
|
93
|
+
plan_id,
|
94
|
+
# An optional user-defined ID for this plan resource, used throughout the system
|
95
|
+
# as an alias for this Plan. Use this field to identify a plan by an existing
|
96
|
+
# identifier in your system.
|
97
|
+
external_plan_id: nil,
|
98
|
+
# User-specified key/value pairs for the resource. Individual keys can be removed
|
99
|
+
# by setting the value to `null`, and the entire metadata mapping can be cleared
|
100
|
+
# by setting `metadata` to `null`.
|
101
|
+
metadata: nil,
|
102
|
+
request_options: {}
|
103
|
+
)
|
104
|
+
end
|
105
|
+
|
106
|
+
# This endpoint returns a list of all [plans](/core-concepts#plan-and-price) for
|
107
|
+
# an account in a list format. The list of plans is ordered starting from the most
|
108
|
+
# recently created plan. The response also includes
|
109
|
+
# [`pagination_metadata`](/api-reference/pagination), which lets the caller
|
110
|
+
# retrieve the next page of results if they exist.
|
111
|
+
sig do
|
112
|
+
params(
|
113
|
+
created_at_gt: T.nilable(Time),
|
114
|
+
created_at_gte: T.nilable(Time),
|
115
|
+
created_at_lt: T.nilable(Time),
|
116
|
+
created_at_lte: T.nilable(Time),
|
117
|
+
cursor: T.nilable(String),
|
118
|
+
limit: Integer,
|
119
|
+
status: Orb::Models::PlanListParams::Status::OrSymbol,
|
120
|
+
request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash))
|
121
|
+
)
|
122
|
+
.returns(Orb::Page[Orb::Models::Plan])
|
123
|
+
end
|
124
|
+
def list(
|
125
|
+
created_at_gt: nil,
|
126
|
+
created_at_gte: nil,
|
127
|
+
created_at_lt: nil,
|
128
|
+
created_at_lte: nil,
|
129
|
+
# Cursor for pagination. This can be populated by the `next_cursor` value returned
|
130
|
+
# from the initial request.
|
131
|
+
cursor: nil,
|
132
|
+
# The number of items to fetch. Defaults to 20.
|
133
|
+
limit: nil,
|
134
|
+
# The plan status to filter to ('active', 'archived', or 'draft').
|
135
|
+
status: nil,
|
136
|
+
request_options: {}
|
137
|
+
)
|
138
|
+
end
|
139
|
+
|
140
|
+
# This endpoint is used to fetch [plan](/core-concepts#plan-and-price) details
|
141
|
+
# given a plan identifier. It returns information about the prices included in the
|
142
|
+
# plan and their configuration, as well as the product that the plan is attached
|
143
|
+
# to.
|
144
|
+
#
|
145
|
+
# ## Serialized prices
|
146
|
+
#
|
147
|
+
# Orb supports a few different pricing models out of the box. Each of these models
|
148
|
+
# is serialized differently in a given [Price](/core-concepts#plan-and-price)
|
149
|
+
# object. The `model_type` field determines the key for the configuration object
|
150
|
+
# that is present. A detailed explanation of price types can be found in the
|
151
|
+
# [Price schema](/core-concepts#plan-and-price).
|
152
|
+
#
|
153
|
+
# ## Phases
|
154
|
+
#
|
155
|
+
# Orb supports plan phases, also known as contract ramps. For plans with phases,
|
156
|
+
# the serialized prices refer to all prices across all phases.
|
157
|
+
sig do
|
158
|
+
params(plan_id: String, request_options: T.nilable(T.any(Orb::RequestOptions, Orb::Util::AnyHash)))
|
159
|
+
.returns(Orb::Models::Plan)
|
160
|
+
end
|
161
|
+
def fetch(plan_id, request_options: {})
|
162
|
+
end
|
163
|
+
|
164
|
+
# @api private
|
165
|
+
sig { params(client: Orb::Client).returns(T.attached_class) }
|
166
|
+
def self.new(client:)
|
167
|
+
end
|
168
|
+
end
|
169
|
+
end
|
170
|
+
end
|