From fdbeaa31490f28f4796e23b83524942b17cd740f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 28 Oct 2026 17:13:51 +0000 Subject: [PATCH] feat(api)!: update SDKs to meteroid 0.1.0 BEGIN_NESTED_COMMIT feat(api)!: `GET /api/v1/coupons`: added `#/components/schemas/CreditDiscount` to the `data/items/discount` response property `oneOf` list for the response status `200` END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(api)!: `GET /api/v1/coupons/{coupon_id}`: added `#/components/schemas/CreditDiscount` to the `discount` response property `oneOf` list for the response status `200` END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(api)!: `GET /api/v1/plans`: added `#/components/schemas/CreditPlanFee` to the `data/items/price_components/items/fee/oneOf[#/components/schemas/Fee]/` response property `oneOf` list for the response status `200` END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(api)!: `GET /api/v1/plans/{plan_id}`: added `#/components/schemas/CreditPlanFee` to the `price_components/items/fee/oneOf[#/components/schemas/Fee]/` response property `oneOf` list for the response status `200` END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(api)!: `GET /api/v1/products`: added `#/components/schemas/CreditFeeStructure` to the `data/items/fee_structure` response property `oneOf` list for the response status `200` END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(api)!: `GET /api/v1/products/{product_id}`: added `#/components/schemas/CreditFeeStructure` to the `fee_structure` response property `oneOf` list for the response status `200` END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(api)!: `GET /api/v1/subscriptions/{subscription_id}`: added `#/components/schemas/CreditDiscount` to the `applied_coupons/items/coupon/discount` response property `oneOf` list for the response status `200` END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(api)!: `GET /api/v1/subscriptions/{subscription_id}`: added `#/components/schemas/CreditFee` to the `add_ons/items/fee` response property `oneOf` list for the response status `200` END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(api)!: `GET /api/v1/subscriptions/{subscription_id}`: added `#/components/schemas/CreditFee` to the `components/items/fee` response property `oneOf` list for the response status `200` END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(api)!: `PATCH /api/v1/coupons/{coupon_id}`: added the new required request property `discount/oneOf[#/components/schemas/CouponDiscount]/oneOf[#/components/schemas/FixedDiscount]/type` END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(api)!: 90 more breaking changes END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(api): update the API definitions END_NESTED_COMMIT --- api.md | 107 +- src/main/java/com/meteroid/Meteroid.java | 105 ++ src/main/java/com/meteroid/MeteroidAsync.java | 105 ++ src/main/java/com/meteroid/api/Budgets.java | 662 +++++++++++ .../java/com/meteroid/api/BudgetsAsync.java | 510 ++++++++ .../meteroid/api/BudgetsListAsyncPage.java | 66 ++ .../com/meteroid/api/BudgetsListOptions.java | 158 +++ .../com/meteroid/api/BudgetsListPage.java | 66 ++ src/main/java/com/meteroid/api/Checks.java | 375 ++++++ .../java/com/meteroid/api/ChecksAsync.java | 331 ++++++ .../api/ChecksCheckEntitlementOptions.java | 168 +++ src/main/java/com/meteroid/api/Connect.java | 29 +- .../java/com/meteroid/api/ConnectAsync.java | 33 +- .../java/com/meteroid/api/CreditUnits.java | 431 +++++++ .../com/meteroid/api/CreditUnitsAsync.java | 356 ++++++ .../meteroid/api/CreditUnitsListOptions.java | 101 ++ .../com/meteroid/api/CreditUnitsPrices.java | 371 ++++++ .../meteroid/api/CreditUnitsPricesAsync.java | 302 +++++ .../api/CreditUnitsPricesListOptions.java | 101 ++ src/main/java/com/meteroid/api/Credits.java | 453 +++++++ .../java/com/meteroid/api/CreditsAsync.java | 367 ++++++ .../java/com/meteroid/api/CreditsGrants.java | 406 +++++++ .../com/meteroid/api/CreditsGrantsAsync.java | 302 +++++ .../api/CreditsGrantsListAsyncPage.java | 67 ++ .../api/CreditsGrantsListOptions.java | 280 +++++ .../meteroid/api/CreditsGrantsListPage.java | 68 ++ ...ditsListCustomerCreditLedgerAsyncPage.java | 71 ++ ...reditsListCustomerCreditLedgerOptions.java | 192 +++ .../CreditsListCustomerCreditLedgerPage.java | 73 ++ .../java/com/meteroid/api/CreditsWallets.java | 554 +++++++++ .../com/meteroid/api/CreditsWalletsAsync.java | 450 +++++++ .../api/CreditsWalletsCheckOptions.java | 197 +++ .../api/CreditsWalletsListOptions.java | 104 ++ src/main/java/com/meteroid/api/Features.java | 26 +- .../java/com/meteroid/api/FeaturesAsync.java | 24 +- src/main/java/com/meteroid/api/Plans.java | 16 +- .../java/com/meteroid/api/PlansAsync.java | 16 +- src/main/java/com/meteroid/api/Usage.java | 248 +--- .../java/com/meteroid/api/UsageAsync.java | 222 +--- .../java/com/meteroid/api/UsageCosts.java | 81 ++ .../com/meteroid/api/UsageCostsAsync.java | 81 ++ .../com/meteroid/api/UsageCostsCustomer.java | 654 ++++++++++ .../meteroid/api/UsageCostsCustomerAsync.java | 571 +++++++++ .../UsageCostsCustomerListCostsOptions.java | 101 ++ .../UsageCostsCustomerListEventsOptions.java | 130 ++ .../meteroid/api/UsageCostsSubscription.java | 624 ++++++++++ .../api/UsageCostsSubscriptionAsync.java | 541 +++++++++ ...sageCostsSubscriptionListCostsOptions.java | 101 ++ ...ageCostsSubscriptionListEventsOptions.java | 130 ++ .../java/com/meteroid/api/UsageCustomer.java | 421 +++++++ .../com/meteroid/api/UsageCustomerAsync.java | 360 ++++++ ...java => UsageCustomerRetrieveOptions.java} | 20 +- ...geCustomerRetrieveUnattributedOptions.java | 135 +++ src/main/java/com/meteroid/models/Actor.java | 237 ++++ .../java/com/meteroid/models/ActorType.java | 150 +++ .../meteroid/models/AllComponentsScope.java | 40 +- .../java/com/meteroid/models/AutoTopUp.java | 621 ++++++++++ .../models/AutoTopUpCapReachedEvent.java | 284 +++++ .../models/AutoTopUpCapReachedEventData.java | 396 +++++++ .../models/AutoTopUpConsentChangedEvent.java | 286 +++++ .../AutoTopUpConsentChangedEventData.java | 459 +++++++ .../com/meteroid/models/AutoTopUpEvent.java | 283 +++++ .../meteroid/models/AutoTopUpEventData.java | 371 ++++++ .../com/meteroid/models/AutoTopUpMethod.java | 126 ++ .../com/meteroid/models/AutoTopUpStatus.java | 136 +++ .../models/AutoTopUpWriteRequest.java | 541 +++++++++ .../BankTransferPaymentMethodConfig.java | 32 +- .../models/BillingCycleResetPeriod.java | 40 +- .../meteroid/models/BooleanConfigValue.java | 36 +- .../BooleanEffectiveEntitlementValue.java | 32 +- .../models/BooleanEntitlementValue.java | 32 +- .../meteroid/models/BooleanFeatureType.java | 40 +- .../BooleanResolvedEntitlementValue.java | 32 +- src/main/java/com/meteroid/models/Budget.java | 724 ++++++++++++ .../com/meteroid/models/BudgetAuthor.java | 128 ++ .../com/meteroid/models/BudgetBehavior.java | 131 ++ .../meteroid/models/BudgetListResponse.java | 245 ++++ .../com/meteroid/models/BudgetPeriod.java | 232 ++++ .../meteroid/models/CalendarResetPeriod.java | 32 +- .../java/com/meteroid/models/CapacityFee.java | 69 +- .../meteroid/models/CapacityFeeStructure.java | 32 +- .../com/meteroid/models/CapacityPlanFee.java | 64 +- .../com/meteroid/models/CapacityPricing.java | 32 +- .../com/meteroid/models/ComponentsScope.java | 32 +- .../ConfigEffectiveEntitlementValue.java | 36 +- .../models/ConfigEntitlementValue.java | 36 +- .../meteroid/models/ConfigFeatureType.java | 32 +- .../ConfigResolvedEntitlementValue.java | 36 +- src/main/java/com/meteroid/models/Coupon.java | 10 +- .../meteroid/models/CouponCreditScope.java | 131 ++ .../com/meteroid/models/CouponDiscount.java | 104 +- .../meteroid/models/CreateBudgetRequest.java | 380 ++++++ .../models/CreateCheckoutSessionRequest.java | 11 +- .../models/CreateConnectedAccountRequest.java | 167 ++- .../CreateConnectedAccountResponse.java | 226 ++++ .../meteroid/models/CreateCouponRequest.java | 14 +- .../models/CreateCreditGrantRequest.java | 599 ++++++++++ .../meteroid/models/CreateMetricRequest.java | 68 ++ .../meteroid/models/CreatePlanRequest.java | 31 + .../meteroid/models/CreateTopUpRequest.java | 414 +++++++ .../models/CreateWebhookEndpointRequest.java | 6 +- .../com/meteroid/models/CreditAppliesTo.java | 128 ++ .../java/com/meteroid/models/CreditCap.java | 231 ++++ .../java/com/meteroid/models/CreditCaps.java | 245 ++++ .../java/com/meteroid/models/CreditCost.java | 233 ++++ .../meteroid/models/CreditCostRequest.java | 233 ++++ .../com/meteroid/models/CreditDiscount.java | 329 ++++++ .../meteroid/models/CreditExhaustedRule.java | 495 ++++++++ .../CreditExhaustedRuleInvoiceVariant.java | 203 ++++ .../CreditExhaustedRulePauseVariant.java | 203 ++++ .../com/meteroid/models/CreditExpiryUnit.java | 136 +++ .../java/com/meteroid/models/CreditFee.java | 432 +++++++ .../meteroid/models/CreditFeeStructure.java | 199 ++++ .../java/com/meteroid/models/CreditGrant.java | 1052 +++++++++++++++++ .../models/CreditGrantExpiredEvent.java | 284 +++++ .../models/CreditGrantExpiredEventData.java | 571 +++++++++ .../com/meteroid/models/CreditGrantKind.java | 152 +++ .../models/CreditGrantLapseReason.java | 133 +++ .../models/CreditGrantListResponse.java | 249 ++++ .../meteroid/models/CreditGrantSource.java | 190 +++ .../meteroid/models/CreditGrantStatus.java | 145 +++ .../com/meteroid/models/CreditGrantType.java | 132 +++ .../com/meteroid/models/CreditPackExpiry.java | 233 ++++ .../meteroid/models/CreditPackRollover.java | 237 ++++ .../com/meteroid/models/CreditPackUnit.java | 265 +++++ .../com/meteroid/models/CreditPlanFee.java | 470 ++++++++ .../java/com/meteroid/models/CreditUnit.java | 475 ++++++++ .../models/CreditUnitCreateRequest.java | 327 +++++ .../models/CreditUnitListResponse.java | 219 ++++ .../com/meteroid/models/CreditUnitPrice.java | 327 +++++ .../models/CreditUnitPriceListResponse.java | 219 ++++ .../models/CreditUnitPriceSetRequest.java | 205 ++++ .../models/CreditUnitUpdateRequest.java | 330 ++++++ .../java/com/meteroid/models/DeclineKind.java | 13 +- .../models/DoubleSegmentationMatrix.java | 32 +- .../com/meteroid/models/EntitlementCheck.java | 677 +++++++++++ .../models/EntitlementCheckFeature.java | 229 ++++ .../models/EntitlementCheckLimit.java | 411 +++++++ .../models/EntitlementCheckLimitBehavior.java | 140 +++ .../models/EntitlementCheckPeriod.java | 232 ++++ .../models/EntitlementCheckReason.java | 175 +++ .../models/EntitlementOverageBehavior.java | 131 ++ .../java/com/meteroid/models/EventType.java | 124 +- .../com/meteroid/models/ExistingPriceRef.java | 32 +- .../meteroid/models/ExistingProductRef.java | 32 +- .../models/ExternalPaymentMethodConfig.java | 37 +- .../models/ExtraRecurringFeeStructure.java | 32 +- .../models/ExtraRecurringPlanFee.java | 32 +- .../models/ExtraRecurringPricing.java | 32 +- src/main/java/com/meteroid/models/Fee.java | 104 +- .../com/meteroid/models/FeeCreditUnit.java | 299 +++++ .../com/meteroid/models/FixedDiscount.java | 32 +- .../models/FixedWindowResetPeriod.java | 32 +- .../java/com/meteroid/models/Invoice.java | 110 +- .../com/meteroid/models/InvoiceEventData.java | 35 + .../models/InvoiceLineCreditUnit.java | 358 ++++++ .../com/meteroid/models/InvoiceLineItem.java | 31 + .../com/meteroid/models/JsonConfigValue.java | 36 +- .../java/com/meteroid/models/LedgerEntry.java | 741 ++++++++++++ .../com/meteroid/models/LedgerEntryType.java | 173 +++ .../meteroid/models/LedgerListResponse.java | 249 ++++ .../models/LinkedSegmentationMatrix.java | 32 +- .../ListCustomerUsageCostsGranularity.java | 140 +++ ...ListSubscriptionUsageCostsGranularity.java | 141 +++ .../meteroid/models/MatrixPlanPricing.java | 32 +- .../com/meteroid/models/MatrixPricing.java | 32 +- .../MeteredEffectiveEntitlementValue.java | 32 +- .../models/MeteredEntitlementSpec.java | 188 ++- .../models/MeteredEntitlementUsage.java | 35 +- .../models/MeteredEntitlementValue.java | 220 +++- .../meteroid/models/MeteredFeatureType.java | 32 +- .../MeteredResolvedEntitlementValue.java | 213 +++- src/main/java/com/meteroid/models/Metric.java | 64 + .../com/meteroid/models/MetricEventData.java | 62 + .../com/meteroid/models/MetricSummary.java | 62 + .../java/com/meteroid/models/MetricUsage.java | 63 +- .../com/meteroid/models/NeverResetPeriod.java | 40 +- .../com/meteroid/models/NewProductRef.java | 32 +- .../meteroid/models/NumberConfigValue.java | 36 +- .../java/com/meteroid/models/OneTimeFee.java | 32 +- .../meteroid/models/OneTimeFeeStructure.java | 40 +- .../com/meteroid/models/OneTimePlanFee.java | 32 +- .../com/meteroid/models/OneTimePricing.java | 32 +- .../models/OnlinePaymentMethodConfig.java | 32 +- .../meteroid/models/PackagePlanPricing.java | 32 +- .../com/meteroid/models/PackagePricing.java | 32 +- .../meteroid/models/PatchBudgetRequest.java | 313 +++++ .../meteroid/models/PatchWalletRequest.java | 328 +++++ .../meteroid/models/PerUnitPlanPricing.java | 32 +- .../com/meteroid/models/PerUnitPricing.java | 32 +- .../meteroid/models/PercentageDiscount.java | 32 +- src/main/java/com/meteroid/models/Plan.java | 31 + .../meteroid/models/PlanFeeCreditUnit.java | 236 ++++ .../java/com/meteroid/models/PriceInput.java | 32 +- .../meteroid/models/ProductFeeStructure.java | 104 +- .../meteroid/models/ProductFeeTypeEnum.java | 12 +- .../com/meteroid/models/ProductsScope.java | 32 +- .../java/com/meteroid/models/RateFee.java | 39 +- .../com/meteroid/models/RateFeeStructure.java | 40 +- .../java/com/meteroid/models/RatePlanFee.java | 32 +- .../java/com/meteroid/models/RatePricing.java | 32 +- .../com/meteroid/models/RecurringFee.java | 32 +- .../com/meteroid/models/RefundEventData.java | 64 + .../meteroid/models/ReplacePlanRequest.java | 31 + .../models/SlidingWindowResetPeriod.java | 36 +- .../java/com/meteroid/models/SlotFee.java | 33 +- .../com/meteroid/models/SlotFeeStructure.java | 33 +- .../java/com/meteroid/models/SlotPlanFee.java | 32 +- .../java/com/meteroid/models/SlotPricing.java | 32 +- .../com/meteroid/models/Subscription.java | 64 + .../SubscriptionAddOnParameterization.java | 32 +- .../SubscriptionAddOnPriceOverride.java | 32 +- .../models/SubscriptionCreateRequest.java | 42 +- .../meteroid/models/SubscriptionCredit.java | 233 ++++ .../meteroid/models/SubscriptionDetails.java | 64 + .../com/meteroid/models/SubscriptionFee.java | 104 +- .../models/SubscriptionUpdateRequest.java | 31 + .../com/meteroid/models/TextConfigValue.java | 36 +- .../meteroid/models/TieredPlanPricing.java | 32 +- .../com/meteroid/models/TieredPricing.java | 32 +- .../com/meteroid/models/TopUpCollection.java | 130 ++ .../com/meteroid/models/TopUpResponse.java | 430 +++++++ .../java/com/meteroid/models/TopUpStatus.java | 144 +++ .../java/com/meteroid/models/Transaction.java | 66 ++ .../models/UnattributedMetricUsage.java | 357 ++++++ .../models/UnattributedUsageResponse.java | 276 +++++ .../com/meteroid/models/UnitConversion.java | 13 +- .../meteroid/models/UpdateMetricRequest.java | 68 ++ .../models/UpdateWebhookEndpointRequest.java | 6 +- .../java/com/meteroid/models/UsageAtZero.java | 139 +++ .../java/com/meteroid/models/UsageCost.java | 266 +++++ .../models/UsageCostListResponse.java | 215 ++++ .../com/meteroid/models/UsageCostRow.java | 329 ++++++ .../com/meteroid/models/UsageCostUnit.java | 129 ++ .../java/com/meteroid/models/UsageEvent.java | 340 ++++++ .../models/UsageEventListResponse.java | 247 ++++ .../java/com/meteroid/models/UsageFee.java | 68 +- .../meteroid/models/UsageFeeStructure.java | 32 +- .../java/com/meteroid/models/UsageFilter.java | 239 ++++ .../com/meteroid/models/UsagePlanFee.java | 64 +- .../com/meteroid/models/UsagePricing.java | 32 +- .../com/meteroid/models/UsageResponse.java | 90 +- .../meteroid/models/VolumePlanPricing.java | 32 +- .../com/meteroid/models/VolumePricing.java | 32 +- src/main/java/com/meteroid/models/Wallet.java | 796 +++++++++++++ .../models/WalletBalanceLowEvent.java | 284 +++++ .../models/WalletBalanceLowEventData.java | 407 +++++++ .../java/com/meteroid/models/WalletCheck.java | 558 +++++++++ .../models/WalletCreditRecoveredEvent.java | 285 +++++ .../WalletCreditRecoveredEventData.java | 492 ++++++++ .../models/WalletCreditUnrecoveredEvent.java | 286 +++++ .../WalletCreditUnrecoveredEventData.java | 529 +++++++++ .../meteroid/models/WalletDebitedEvent.java | 283 +++++ .../models/WalletDebitedEventData.java | 628 ++++++++++ .../meteroid/models/WalletDepletedEvent.java | 283 +++++ .../models/WalletDepletedEventData.java | 297 +++++ .../meteroid/models/WalletFundedEvent.java | 283 +++++ .../models/WalletFundedEventData.java | 628 ++++++++++ .../meteroid/models/WalletListResponse.java | 219 ++++ .../meteroid/models/WalletRecoveredEvent.java | 283 +++++ .../models/WalletRecoveredEventData.java | 334 ++++++ .../com/meteroid/models/WebhookEndpoint.java | 6 +- .../java/com/meteroid/api/BudgetsTest.java | 22 + .../java/com/meteroid/api/ChecksTest.java | 24 + .../java/com/meteroid/api/ConnectTest.java | 4 +- .../com/meteroid/api/CreditNotesTest.java | 6 +- .../meteroid/api/CreditUnitsPricesTest.java | 52 + .../com/meteroid/api/CreditUnitsTest.java | 65 + .../com/meteroid/api/CreditsGrantsTest.java | 22 + .../java/com/meteroid/api/CreditsTest.java | 22 + .../com/meteroid/api/CreditsWalletsTest.java | 33 + .../java/com/meteroid/api/InvoicesTest.java | 8 +- src/test/java/com/meteroid/api/PlansTest.java | 14 +- .../java/com/meteroid/api/ProductsTest.java | 8 +- .../com/meteroid/api/UsageCustomerTest.java | 22 + src/test/java/com/meteroid/api/UsageTest.java | 2 +- 276 files changed, 48795 insertions(+), 646 deletions(-) create mode 100644 src/main/java/com/meteroid/api/Budgets.java create mode 100644 src/main/java/com/meteroid/api/BudgetsAsync.java create mode 100644 src/main/java/com/meteroid/api/BudgetsListAsyncPage.java create mode 100644 src/main/java/com/meteroid/api/BudgetsListOptions.java create mode 100644 src/main/java/com/meteroid/api/BudgetsListPage.java create mode 100644 src/main/java/com/meteroid/api/Checks.java create mode 100644 src/main/java/com/meteroid/api/ChecksAsync.java create mode 100644 src/main/java/com/meteroid/api/ChecksCheckEntitlementOptions.java create mode 100644 src/main/java/com/meteroid/api/CreditUnits.java create mode 100644 src/main/java/com/meteroid/api/CreditUnitsAsync.java create mode 100644 src/main/java/com/meteroid/api/CreditUnitsListOptions.java create mode 100644 src/main/java/com/meteroid/api/CreditUnitsPrices.java create mode 100644 src/main/java/com/meteroid/api/CreditUnitsPricesAsync.java create mode 100644 src/main/java/com/meteroid/api/CreditUnitsPricesListOptions.java create mode 100644 src/main/java/com/meteroid/api/Credits.java create mode 100644 src/main/java/com/meteroid/api/CreditsAsync.java create mode 100644 src/main/java/com/meteroid/api/CreditsGrants.java create mode 100644 src/main/java/com/meteroid/api/CreditsGrantsAsync.java create mode 100644 src/main/java/com/meteroid/api/CreditsGrantsListAsyncPage.java create mode 100644 src/main/java/com/meteroid/api/CreditsGrantsListOptions.java create mode 100644 src/main/java/com/meteroid/api/CreditsGrantsListPage.java create mode 100644 src/main/java/com/meteroid/api/CreditsListCustomerCreditLedgerAsyncPage.java create mode 100644 src/main/java/com/meteroid/api/CreditsListCustomerCreditLedgerOptions.java create mode 100644 src/main/java/com/meteroid/api/CreditsListCustomerCreditLedgerPage.java create mode 100644 src/main/java/com/meteroid/api/CreditsWallets.java create mode 100644 src/main/java/com/meteroid/api/CreditsWalletsAsync.java create mode 100644 src/main/java/com/meteroid/api/CreditsWalletsCheckOptions.java create mode 100644 src/main/java/com/meteroid/api/CreditsWalletsListOptions.java create mode 100644 src/main/java/com/meteroid/api/UsageCosts.java create mode 100644 src/main/java/com/meteroid/api/UsageCostsAsync.java create mode 100644 src/main/java/com/meteroid/api/UsageCostsCustomer.java create mode 100644 src/main/java/com/meteroid/api/UsageCostsCustomerAsync.java create mode 100644 src/main/java/com/meteroid/api/UsageCostsCustomerListCostsOptions.java create mode 100644 src/main/java/com/meteroid/api/UsageCostsCustomerListEventsOptions.java create mode 100644 src/main/java/com/meteroid/api/UsageCostsSubscription.java create mode 100644 src/main/java/com/meteroid/api/UsageCostsSubscriptionAsync.java create mode 100644 src/main/java/com/meteroid/api/UsageCostsSubscriptionListCostsOptions.java create mode 100644 src/main/java/com/meteroid/api/UsageCostsSubscriptionListEventsOptions.java create mode 100644 src/main/java/com/meteroid/api/UsageCustomer.java create mode 100644 src/main/java/com/meteroid/api/UsageCustomerAsync.java rename src/main/java/com/meteroid/api/{UsageRetrieveCustomerOptions.java => UsageCustomerRetrieveOptions.java} (76%) create mode 100644 src/main/java/com/meteroid/api/UsageCustomerRetrieveUnattributedOptions.java create mode 100644 src/main/java/com/meteroid/models/Actor.java create mode 100644 src/main/java/com/meteroid/models/ActorType.java create mode 100644 src/main/java/com/meteroid/models/AutoTopUp.java create mode 100644 src/main/java/com/meteroid/models/AutoTopUpCapReachedEvent.java create mode 100644 src/main/java/com/meteroid/models/AutoTopUpCapReachedEventData.java create mode 100644 src/main/java/com/meteroid/models/AutoTopUpConsentChangedEvent.java create mode 100644 src/main/java/com/meteroid/models/AutoTopUpConsentChangedEventData.java create mode 100644 src/main/java/com/meteroid/models/AutoTopUpEvent.java create mode 100644 src/main/java/com/meteroid/models/AutoTopUpEventData.java create mode 100644 src/main/java/com/meteroid/models/AutoTopUpMethod.java create mode 100644 src/main/java/com/meteroid/models/AutoTopUpStatus.java create mode 100644 src/main/java/com/meteroid/models/AutoTopUpWriteRequest.java create mode 100644 src/main/java/com/meteroid/models/Budget.java create mode 100644 src/main/java/com/meteroid/models/BudgetAuthor.java create mode 100644 src/main/java/com/meteroid/models/BudgetBehavior.java create mode 100644 src/main/java/com/meteroid/models/BudgetListResponse.java create mode 100644 src/main/java/com/meteroid/models/BudgetPeriod.java create mode 100644 src/main/java/com/meteroid/models/CouponCreditScope.java create mode 100644 src/main/java/com/meteroid/models/CreateBudgetRequest.java create mode 100644 src/main/java/com/meteroid/models/CreateConnectedAccountResponse.java create mode 100644 src/main/java/com/meteroid/models/CreateCreditGrantRequest.java create mode 100644 src/main/java/com/meteroid/models/CreateTopUpRequest.java create mode 100644 src/main/java/com/meteroid/models/CreditAppliesTo.java create mode 100644 src/main/java/com/meteroid/models/CreditCap.java create mode 100644 src/main/java/com/meteroid/models/CreditCaps.java create mode 100644 src/main/java/com/meteroid/models/CreditCost.java create mode 100644 src/main/java/com/meteroid/models/CreditCostRequest.java create mode 100644 src/main/java/com/meteroid/models/CreditDiscount.java create mode 100644 src/main/java/com/meteroid/models/CreditExhaustedRule.java create mode 100644 src/main/java/com/meteroid/models/CreditExhaustedRuleInvoiceVariant.java create mode 100644 src/main/java/com/meteroid/models/CreditExhaustedRulePauseVariant.java create mode 100644 src/main/java/com/meteroid/models/CreditExpiryUnit.java create mode 100644 src/main/java/com/meteroid/models/CreditFee.java create mode 100644 src/main/java/com/meteroid/models/CreditFeeStructure.java create mode 100644 src/main/java/com/meteroid/models/CreditGrant.java create mode 100644 src/main/java/com/meteroid/models/CreditGrantExpiredEvent.java create mode 100644 src/main/java/com/meteroid/models/CreditGrantExpiredEventData.java create mode 100644 src/main/java/com/meteroid/models/CreditGrantKind.java create mode 100644 src/main/java/com/meteroid/models/CreditGrantLapseReason.java create mode 100644 src/main/java/com/meteroid/models/CreditGrantListResponse.java create mode 100644 src/main/java/com/meteroid/models/CreditGrantSource.java create mode 100644 src/main/java/com/meteroid/models/CreditGrantStatus.java create mode 100644 src/main/java/com/meteroid/models/CreditGrantType.java create mode 100644 src/main/java/com/meteroid/models/CreditPackExpiry.java create mode 100644 src/main/java/com/meteroid/models/CreditPackRollover.java create mode 100644 src/main/java/com/meteroid/models/CreditPackUnit.java create mode 100644 src/main/java/com/meteroid/models/CreditPlanFee.java create mode 100644 src/main/java/com/meteroid/models/CreditUnit.java create mode 100644 src/main/java/com/meteroid/models/CreditUnitCreateRequest.java create mode 100644 src/main/java/com/meteroid/models/CreditUnitListResponse.java create mode 100644 src/main/java/com/meteroid/models/CreditUnitPrice.java create mode 100644 src/main/java/com/meteroid/models/CreditUnitPriceListResponse.java create mode 100644 src/main/java/com/meteroid/models/CreditUnitPriceSetRequest.java create mode 100644 src/main/java/com/meteroid/models/CreditUnitUpdateRequest.java create mode 100644 src/main/java/com/meteroid/models/EntitlementCheck.java create mode 100644 src/main/java/com/meteroid/models/EntitlementCheckFeature.java create mode 100644 src/main/java/com/meteroid/models/EntitlementCheckLimit.java create mode 100644 src/main/java/com/meteroid/models/EntitlementCheckLimitBehavior.java create mode 100644 src/main/java/com/meteroid/models/EntitlementCheckPeriod.java create mode 100644 src/main/java/com/meteroid/models/EntitlementCheckReason.java create mode 100644 src/main/java/com/meteroid/models/EntitlementOverageBehavior.java create mode 100644 src/main/java/com/meteroid/models/FeeCreditUnit.java create mode 100644 src/main/java/com/meteroid/models/InvoiceLineCreditUnit.java create mode 100644 src/main/java/com/meteroid/models/LedgerEntry.java create mode 100644 src/main/java/com/meteroid/models/LedgerEntryType.java create mode 100644 src/main/java/com/meteroid/models/LedgerListResponse.java create mode 100644 src/main/java/com/meteroid/models/ListCustomerUsageCostsGranularity.java create mode 100644 src/main/java/com/meteroid/models/ListSubscriptionUsageCostsGranularity.java create mode 100644 src/main/java/com/meteroid/models/PatchBudgetRequest.java create mode 100644 src/main/java/com/meteroid/models/PatchWalletRequest.java create mode 100644 src/main/java/com/meteroid/models/PlanFeeCreditUnit.java create mode 100644 src/main/java/com/meteroid/models/SubscriptionCredit.java create mode 100644 src/main/java/com/meteroid/models/TopUpCollection.java create mode 100644 src/main/java/com/meteroid/models/TopUpResponse.java create mode 100644 src/main/java/com/meteroid/models/TopUpStatus.java create mode 100644 src/main/java/com/meteroid/models/UnattributedMetricUsage.java create mode 100644 src/main/java/com/meteroid/models/UnattributedUsageResponse.java create mode 100644 src/main/java/com/meteroid/models/UsageAtZero.java create mode 100644 src/main/java/com/meteroid/models/UsageCost.java create mode 100644 src/main/java/com/meteroid/models/UsageCostListResponse.java create mode 100644 src/main/java/com/meteroid/models/UsageCostRow.java create mode 100644 src/main/java/com/meteroid/models/UsageCostUnit.java create mode 100644 src/main/java/com/meteroid/models/UsageEvent.java create mode 100644 src/main/java/com/meteroid/models/UsageEventListResponse.java create mode 100644 src/main/java/com/meteroid/models/UsageFilter.java create mode 100644 src/main/java/com/meteroid/models/Wallet.java create mode 100644 src/main/java/com/meteroid/models/WalletBalanceLowEvent.java create mode 100644 src/main/java/com/meteroid/models/WalletBalanceLowEventData.java create mode 100644 src/main/java/com/meteroid/models/WalletCheck.java create mode 100644 src/main/java/com/meteroid/models/WalletCreditRecoveredEvent.java create mode 100644 src/main/java/com/meteroid/models/WalletCreditRecoveredEventData.java create mode 100644 src/main/java/com/meteroid/models/WalletCreditUnrecoveredEvent.java create mode 100644 src/main/java/com/meteroid/models/WalletCreditUnrecoveredEventData.java create mode 100644 src/main/java/com/meteroid/models/WalletDebitedEvent.java create mode 100644 src/main/java/com/meteroid/models/WalletDebitedEventData.java create mode 100644 src/main/java/com/meteroid/models/WalletDepletedEvent.java create mode 100644 src/main/java/com/meteroid/models/WalletDepletedEventData.java create mode 100644 src/main/java/com/meteroid/models/WalletFundedEvent.java create mode 100644 src/main/java/com/meteroid/models/WalletFundedEventData.java create mode 100644 src/main/java/com/meteroid/models/WalletListResponse.java create mode 100644 src/main/java/com/meteroid/models/WalletRecoveredEvent.java create mode 100644 src/main/java/com/meteroid/models/WalletRecoveredEventData.java create mode 100644 src/test/java/com/meteroid/api/BudgetsTest.java create mode 100644 src/test/java/com/meteroid/api/ChecksTest.java create mode 100644 src/test/java/com/meteroid/api/CreditUnitsPricesTest.java create mode 100644 src/test/java/com/meteroid/api/CreditUnitsTest.java create mode 100644 src/test/java/com/meteroid/api/CreditsGrantsTest.java create mode 100644 src/test/java/com/meteroid/api/CreditsTest.java create mode 100644 src/test/java/com/meteroid/api/CreditsWalletsTest.java create mode 100644 src/test/java/com/meteroid/api/UsageCustomerTest.java diff --git a/api.md b/api.md index 1494c41..0074768 100644 --- a/api.md +++ b/api.md @@ -14,7 +14,7 @@ item from that page on, and `pages()` every page, fetching the next ones on dema the response body as received. The async client's pages have `nextPage()`, `forEach(...)`, `forEachPage(...)` and `toList()`, returning `CompletableFuture`s. -[Add ons](#add-ons) · [Add ons entitlements](#add-ons-entitlements) · [Batch jobs](#batch-jobs) · [Checkout sessions](#checkout-sessions) · [Connect](#connect) · [Coupons](#coupons) · [Credit notes](#credit-notes) · [Custom properties](#custom-properties) · [Customers](#customers) · [Entitlements](#entitlements) · [Events](#events) · [Features](#features) · [Invoices](#invoices) · [Metrics](#metrics) · [Oauth](#oauth) · [Oauth apps](#oauth-apps) · [Plans](#plans) · [Plans versions](#plans-versions) · [Product families](#product-families) · [Products](#products) · [Products entitlements](#products-entitlements) · [Subscriptions](#subscriptions) · [Usage](#usage) · [Webhook endpoints](#webhook-endpoints) · [Webhook endpoints endpoints](#webhook-endpoints-endpoints) +[Add ons](#add-ons) · [Add ons entitlements](#add-ons-entitlements) · [Batch jobs](#batch-jobs) · [Budgets](#budgets) · [Checkout sessions](#checkout-sessions) · [Checks](#checks) · [Connect](#connect) · [Coupons](#coupons) · [Credit notes](#credit-notes) · [Credit units](#credit-units) · [Credit units prices](#credit-units-prices) · [Credits](#credits) · [Credits grants](#credits-grants) · [Credits wallets](#credits-wallets) · [Custom properties](#custom-properties) · [Customers](#customers) · [Entitlements](#entitlements) · [Events](#events) · [Features](#features) · [Invoices](#invoices) · [Metrics](#metrics) · [Oauth](#oauth) · [Oauth apps](#oauth-apps) · [Plans](#plans) · [Plans versions](#plans-versions) · [Product families](#product-families) · [Products](#products) · [Products entitlements](#products-entitlements) · [Subscriptions](#subscriptions) · [Usage](#usage) · [Usage customer](#usage-customer) · [Usage costs](#usage-costs) · [Usage costs customer](#usage-costs-customer) · [Usage costs subscription](#usage-costs-subscription) · [Webhook endpoints](#webhook-endpoints) · [Webhook endpoints endpoints](#webhook-endpoints-endpoints) ## Add ons @@ -48,6 +48,17 @@ the response body as received. The async client's pages have `nextPage()`, `forE | `BatchJobDetailResponse client.batchJobs().retrieve(String batchJobId)` | `GET /api/v1/batch-jobs/{batch_job_id}` | [`BatchJobDetailResponse`](src/main/java/com/meteroid/models/BatchJobDetailResponse.java) | | `BatchJobsListFailuresPage client.batchJobs().listFailures(String batchJobId, [BatchJobsListFailuresOptions options])` | `GET /api/v1/batch-jobs/{batch_job_id}/failures` | [page](src/main/java/com/meteroid/api/BatchJobsListFailuresPage.java) of [`BatchJobItemFailureResponse`](src/main/java/com/meteroid/models/BatchJobItemFailureResponse.java), with the properties of [`BatchJobFailuresResponse`](src/main/java/com/meteroid/models/BatchJobFailuresResponse.java) | +## Budgets + +[`client.budgets()`](src/main/java/com/meteroid/api/Budgets.java) + +| Method | Request | Returns | +| --- | --- | --- | +| `BudgetsListPage client.budgets().list(String idOrAlias, [BudgetsListOptions options])` | `GET /api/v1/customers/{id_or_alias}/budgets` | [page](src/main/java/com/meteroid/api/BudgetsListPage.java) of [`Budget`](src/main/java/com/meteroid/models/Budget.java), with the properties of [`BudgetListResponse`](src/main/java/com/meteroid/models/BudgetListResponse.java) | +| `Budget client.budgets().create(String idOrAlias, String idempotencyKey, CreateBudgetRequest createBudgetRequest)` | `POST /api/v1/customers/{id_or_alias}/budgets` | [`Budget`](src/main/java/com/meteroid/models/Budget.java) | +| `Budget client.budgets().update(String idOrAlias, String budgetId, String idempotencyKey, PatchBudgetRequest patchBudgetRequest)` | `PATCH /api/v1/customers/{id_or_alias}/budgets/{budget_id}` | [`Budget`](src/main/java/com/meteroid/models/Budget.java) | +| `Budget client.budgets().archive(String idOrAlias, String budgetId, String idempotencyKey)` | `POST /api/v1/customers/{id_or_alias}/budgets/{budget_id}/archive` | [`Budget`](src/main/java/com/meteroid/models/Budget.java) | + ## Checkout sessions [`client.checkoutSessions()`](src/main/java/com/meteroid/api/CheckoutSessions.java) @@ -59,6 +70,14 @@ the response body as received. The async client's pages have `nextPage()`, `forE | `GetCheckoutSessionResponse client.checkoutSessions().retrieve(String id)` | `GET /api/v1/checkout-sessions/{id}` | [`GetCheckoutSessionResponse`](src/main/java/com/meteroid/models/GetCheckoutSessionResponse.java) | | `CancelCheckoutSessionResponse client.checkoutSessions().cancel(String id)` | `POST /api/v1/checkout-sessions/{id}/cancel` | [`CancelCheckoutSessionResponse`](src/main/java/com/meteroid/models/CancelCheckoutSessionResponse.java) | +## Checks + +[`client.checks()`](src/main/java/com/meteroid/api/Checks.java) + +| Method | Request | Returns | +| --- | --- | --- | +| `EntitlementCheck client.checks().checkEntitlement(String idOrAlias, String featureIdOrCode, [ChecksCheckEntitlementOptions options])` | `GET /api/v1/customers/{id_or_alias}/entitlements/{feature_id_or_code}/check` | [`EntitlementCheck`](src/main/java/com/meteroid/models/EntitlementCheck.java) | + ## Connect [`client.connect()`](src/main/java/com/meteroid/api/Connect.java) @@ -66,7 +85,7 @@ the response body as received. The async client's pages have `nextPage()`, `forE | Method | Request | Returns | | --- | --- | --- | | `ConnectedAccountsResponse client.connect().listConnectedAccounts()` | `GET /api/v1/connected-accounts` | [`ConnectedAccountsResponse`](src/main/java/com/meteroid/models/ConnectedAccountsResponse.java) | -| `ConnectedAccount client.connect().createConnectedAccount(CreateConnectedAccountRequest createConnectedAccountRequest)` | `POST /api/v1/connected-accounts` | [`ConnectedAccount`](src/main/java/com/meteroid/models/ConnectedAccount.java) | +| `CreateConnectedAccountResponse client.connect().createConnectedAccount(CreateConnectedAccountRequest createConnectedAccountRequest)` | `POST /api/v1/connected-accounts` | [`CreateConnectedAccountResponse`](src/main/java/com/meteroid/models/CreateConnectedAccountResponse.java) | | `ConnectedAccount client.connect().retrieveConnectedAccount(String id)` | `GET /api/v1/connected-accounts/{id}` | [`ConnectedAccount`](src/main/java/com/meteroid/models/ConnectedAccount.java) | | `void client.connect().disconnectAccount(String id)` | `DELETE /api/v1/connected-accounts/{id}` | nothing | | `OnboardingLinkResponse client.connect().createOnboardingLink(String id, CreateOnboardingLinkRequest createOnboardingLinkRequest)` | `POST /api/v1/connected-accounts/{id}/onboarding` | [`OnboardingLinkResponse`](src/main/java/com/meteroid/models/OnboardingLinkResponse.java) | @@ -98,6 +117,55 @@ the response body as received. The async client's pages have `nextPage()`, `forE | `byte[] client.creditNotes().download(String creditNoteId)` | `GET /api/v1/credit-notes/{credit_note_id}/download` | bytes | | `byte[] client.creditNotes().downloadXml(String creditNoteId)` | `GET /api/v1/credit-notes/{credit_note_id}/xml` | bytes | +## Credit units + +[`client.creditUnits()`](src/main/java/com/meteroid/api/CreditUnits.java) + +| Method | Request | Returns | +| --- | --- | --- | +| `CreditUnitListResponse client.creditUnits().list([CreditUnitsListOptions options])` | `GET /api/v1/credit-units` | [`CreditUnitListResponse`](src/main/java/com/meteroid/models/CreditUnitListResponse.java) | +| `CreditUnit client.creditUnits().create(CreditUnitCreateRequest creditUnitCreateRequest)` | `POST /api/v1/credit-units` | [`CreditUnit`](src/main/java/com/meteroid/models/CreditUnit.java) | +| `CreditUnit client.creditUnits().retrieve(String id)` | `GET /api/v1/credit-units/{id}` | [`CreditUnit`](src/main/java/com/meteroid/models/CreditUnit.java) | +| `CreditUnit client.creditUnits().update(String id, CreditUnitUpdateRequest creditUnitUpdateRequest)` | `PATCH /api/v1/credit-units/{id}` | [`CreditUnit`](src/main/java/com/meteroid/models/CreditUnit.java) | + +### Credit units prices + +[`client.creditUnits().prices()`](src/main/java/com/meteroid/api/CreditUnitsPrices.java) + +| Method | Request | Returns | +| --- | --- | --- | +| `CreditUnitPriceListResponse client.creditUnits().prices().list(String id, [CreditUnitsPricesListOptions options])` | `GET /api/v1/credit-units/{id}/prices` | [`CreditUnitPriceListResponse`](src/main/java/com/meteroid/models/CreditUnitPriceListResponse.java) | +| `CreditUnitPrice client.creditUnits().prices().update(String id, String currency, CreditUnitPriceSetRequest creditUnitPriceSetRequest)` | `PUT /api/v1/credit-units/{id}/prices/{currency}` | [`CreditUnitPrice`](src/main/java/com/meteroid/models/CreditUnitPrice.java) | +| `CreditUnitPrice client.creditUnits().prices().archive(String id, String currency)` | `DELETE /api/v1/credit-units/{id}/prices/{currency}` | [`CreditUnitPrice`](src/main/java/com/meteroid/models/CreditUnitPrice.java) | + +## Credits + +[`client.credits()`](src/main/java/com/meteroid/api/Credits.java) + +| Method | Request | Returns | +| --- | --- | --- | +| `CreditsListCustomerCreditLedgerPage client.credits().listCustomerCreditLedger(String idOrAlias, [CreditsListCustomerCreditLedgerOptions options])` | `GET /api/v1/customers/{id_or_alias}/credit-ledger` | [page](src/main/java/com/meteroid/api/CreditsListCustomerCreditLedgerPage.java) of [`LedgerEntry`](src/main/java/com/meteroid/models/LedgerEntry.java), with the properties of [`LedgerListResponse`](src/main/java/com/meteroid/models/LedgerListResponse.java) | +| `TopUpResponse client.credits().createCustomerTopUp(String idOrAlias, String idempotencyKey, CreateTopUpRequest createTopUpRequest)` | `POST /api/v1/customers/{id_or_alias}/top-ups` | [`TopUpResponse`](src/main/java/com/meteroid/models/TopUpResponse.java) | + +### Credits grants + +[`client.credits().grants()`](src/main/java/com/meteroid/api/CreditsGrants.java) + +| Method | Request | Returns | +| --- | --- | --- | +| `CreditsGrantsListPage client.credits().grants().list(String idOrAlias, [CreditsGrantsListOptions options])` | `GET /api/v1/customers/{id_or_alias}/credit-grants` | [page](src/main/java/com/meteroid/api/CreditsGrantsListPage.java) of [`CreditGrant`](src/main/java/com/meteroid/models/CreditGrant.java), with the properties of [`CreditGrantListResponse`](src/main/java/com/meteroid/models/CreditGrantListResponse.java) | +| `CreditGrant client.credits().grants().create(String idOrAlias, String idempotencyKey, CreateCreditGrantRequest createCreditGrantRequest)` | `POST /api/v1/customers/{id_or_alias}/credit-grants` | [`CreditGrant`](src/main/java/com/meteroid/models/CreditGrant.java) | + +### Credits wallets + +[`client.credits().wallets()`](src/main/java/com/meteroid/api/CreditsWallets.java) + +| Method | Request | Returns | +| --- | --- | --- | +| `WalletListResponse client.credits().wallets().list(String idOrAlias, [CreditsWalletsListOptions options])` | `GET /api/v1/customers/{id_or_alias}/wallets` | [`WalletListResponse`](src/main/java/com/meteroid/models/WalletListResponse.java) | +| `WalletCheck client.credits().wallets().check(String idOrAlias, [CreditsWalletsCheckOptions options])` | `GET /api/v1/customers/{id_or_alias}/wallets/check` | [`WalletCheck`](src/main/java/com/meteroid/models/WalletCheck.java) | +| `Wallet client.credits().wallets().update(String idOrAlias, String currency, String idempotencyKey, PatchWalletRequest patchWalletRequest)` | `PATCH /api/v1/customers/{id_or_alias}/wallets/{currency}` | [`Wallet`](src/main/java/com/meteroid/models/Wallet.java) | + ## Custom properties [`client.customProperties()`](src/main/java/com/meteroid/api/CustomProperties.java) @@ -284,10 +352,43 @@ the response body as received. The async client's pages have `nextPage()`, `forE | Method | Request | Returns | | --- | --- | --- | -| `UsageResponse client.usage().retrieveCustomer(String customerId, LocalDate startDate, LocalDate endDate, [UsageRetrieveCustomerOptions options])` | `GET /api/v1/usage/customer/{customer_id}` | [`UsageResponse`](src/main/java/com/meteroid/models/UsageResponse.java) | | `UsageResponse client.usage().retrieveSubscription(String subscriptionId, [UsageRetrieveSubscriptionOptions options])` | `GET /api/v1/usage/subscription/{subscription_id}` | [`UsageResponse`](src/main/java/com/meteroid/models/UsageResponse.java) | | `UsageResponse client.usage().retrieveSummary(LocalDate startDate, LocalDate endDate, [UsageRetrieveSummaryOptions options])` | `GET /api/v1/usage/summary` | [`UsageResponse`](src/main/java/com/meteroid/models/UsageResponse.java) | +### Usage customer + +[`client.usage().customer()`](src/main/java/com/meteroid/api/UsageCustomer.java) + +| Method | Request | Returns | +| --- | --- | --- | +| `UsageResponse client.usage().customer().retrieve(String customerId, LocalDate startDate, LocalDate endDate, [UsageCustomerRetrieveOptions options])` | `GET /api/v1/usage/customer/{customer_id}` | [`UsageResponse`](src/main/java/com/meteroid/models/UsageResponse.java) | +| `UnattributedUsageResponse client.usage().customer().retrieveUnattributed(String customerId, [UsageCustomerRetrieveUnattributedOptions options])` | `GET /api/v1/usage/customer/{customer_id}/unattributed` | [`UnattributedUsageResponse`](src/main/java/com/meteroid/models/UnattributedUsageResponse.java) | + +## Usage costs + +[`client.usageCosts()`](src/main/java/com/meteroid/api/UsageCosts.java) + +| Method | Request | Returns | +| --- | --- | --- | + +### Usage costs customer + +[`client.usageCosts().customer()`](src/main/java/com/meteroid/api/UsageCostsCustomer.java) + +| Method | Request | Returns | +| --- | --- | --- | +| `UsageCostListResponse client.usageCosts().customer().listCosts(String customerId, String metric, ListCustomerUsageCostsGranularity granularity, OffsetDateTime from, OffsetDateTime to, [UsageCostsCustomerListCostsOptions options])` | `GET /api/v1/usage/customer/{customer_id}/costs` | [`UsageCostListResponse`](src/main/java/com/meteroid/models/UsageCostListResponse.java) | +| `UsageEventListResponse client.usageCosts().customer().listEvents(String customerId, String metric, OffsetDateTime from, OffsetDateTime to, [UsageCostsCustomerListEventsOptions options])` | `GET /api/v1/usage/customer/{customer_id}/events` | [`UsageEventListResponse`](src/main/java/com/meteroid/models/UsageEventListResponse.java) | + +### Usage costs subscription + +[`client.usageCosts().subscription()`](src/main/java/com/meteroid/api/UsageCostsSubscription.java) + +| Method | Request | Returns | +| --- | --- | --- | +| `UsageCostListResponse client.usageCosts().subscription().listCosts(String subscriptionId, String metric, ListSubscriptionUsageCostsGranularity granularity, OffsetDateTime from, OffsetDateTime to, [UsageCostsSubscriptionListCostsOptions options])` | `GET /api/v1/usage/subscription/{subscription_id}/costs` | [`UsageCostListResponse`](src/main/java/com/meteroid/models/UsageCostListResponse.java) | +| `UsageEventListResponse client.usageCosts().subscription().listEvents(String subscriptionId, String metric, OffsetDateTime from, OffsetDateTime to, [UsageCostsSubscriptionListEventsOptions options])` | `GET /api/v1/usage/subscription/{subscription_id}/events` | [`UsageEventListResponse`](src/main/java/com/meteroid/models/UsageEventListResponse.java) | + ## Webhook endpoints [`client.webhookEndpoints()`](src/main/java/com/meteroid/api/WebhookEndpoints.java) diff --git a/src/main/java/com/meteroid/Meteroid.java b/src/main/java/com/meteroid/Meteroid.java index 02ab491..255a7f4 100644 --- a/src/main/java/com/meteroid/Meteroid.java +++ b/src/main/java/com/meteroid/Meteroid.java @@ -3,10 +3,14 @@ import com.meteroid.api.AddOns; import com.meteroid.api.BatchJobs; +import com.meteroid.api.Budgets; import com.meteroid.api.CheckoutSessions; +import com.meteroid.api.Checks; import com.meteroid.api.Connect; import com.meteroid.api.Coupons; import com.meteroid.api.CreditNotes; +import com.meteroid.api.CreditUnits; +import com.meteroid.api.Credits; import com.meteroid.api.CustomProperties; import com.meteroid.api.Customers; import com.meteroid.api.Entitlements; @@ -21,6 +25,7 @@ import com.meteroid.api.Products; import com.meteroid.api.Subscriptions; import com.meteroid.api.Usage; +import com.meteroid.api.UsageCosts; import com.meteroid.api.WebhookEndpoints; import com.meteroid.internal.MeteroidAuth; import com.meteroid.internal.MeteroidHttpClient; @@ -58,10 +63,14 @@ public final class Meteroid implements AutoCloseable { private final MeteroidAsync async; private final AddOns addOns; private final BatchJobs batchJobs; + private final Budgets budgets; private final CheckoutSessions checkoutSessions; + private final Checks checks; private final Connect connect; private final Coupons coupons; private final CreditNotes creditNotes; + private final CreditUnits creditUnits; + private final Credits credits; private final CustomProperties customProperties; private final Customers customers; private final Entitlements entitlements; @@ -76,6 +85,7 @@ public final class Meteroid implements AutoCloseable { private final Products products; private final Subscriptions subscriptions; private final Usage usage; + private final UsageCosts usageCosts; private final WebhookEndpoints webhookEndpoints; /** @@ -131,10 +141,14 @@ public Meteroid(MeteroidOptions options) { this.httpClient = new MeteroidHttpClient(parsedUrl, defaultHeaders, options, auth); this.addOns = new AddOns(httpClient); this.batchJobs = new BatchJobs(httpClient); + this.budgets = new Budgets(httpClient); this.checkoutSessions = new CheckoutSessions(httpClient); + this.checks = new Checks(httpClient); this.connect = new Connect(httpClient); this.coupons = new Coupons(httpClient); this.creditNotes = new CreditNotes(httpClient); + this.creditUnits = new CreditUnits(httpClient); + this.credits = new Credits(httpClient); this.customProperties = new CustomProperties(httpClient); this.customers = new Customers(httpClient); this.entitlements = new Entitlements(httpClient); @@ -149,6 +163,7 @@ public Meteroid(MeteroidOptions options) { this.products = new Products(httpClient); this.subscriptions = new Subscriptions(httpClient); this.usage = new Usage(httpClient); + this.usageCosts = new UsageCosts(httpClient); this.webhookEndpoints = new WebhookEndpoints(httpClient); this.withRawResponse = new WithRawResponse(); this.async = new MeteroidAsync(this); @@ -213,6 +228,15 @@ public BatchJobs batchJobs() { return batchJobs; } + /** + * The {@code budgets} operations. + * + * @return the operations + */ + public Budgets budgets() { + return budgets; + } + /** * The {@code checkout_sessions} operations. * @@ -222,6 +246,15 @@ public CheckoutSessions checkoutSessions() { return checkoutSessions; } + /** + * The {@code checks} operations. + * + * @return the operations + */ + public Checks checks() { + return checks; + } + /** * The {@code connect} operations. * @@ -249,6 +282,24 @@ public CreditNotes creditNotes() { return creditNotes; } + /** + * The {@code credit_units} operations. + * + * @return the operations + */ + public CreditUnits creditUnits() { + return creditUnits; + } + + /** + * The {@code credits} operations. + * + * @return the operations + */ + public Credits credits() { + return credits; + } + /** * The {@code custom_properties} operations. * @@ -375,6 +426,15 @@ public Usage usage() { return usage; } + /** + * The {@code usage_costs} operations. + * + * @return the operations + */ + public UsageCosts usageCosts() { + return usageCosts; + } + /** * The {@code webhook_endpoints} operations. * @@ -406,6 +466,15 @@ public BatchJobs.WithRawResponse batchJobs() { return batchJobs.withRawResponse(); } + /** + * The {@code budgets} operations. + * + * @return the operations + */ + public Budgets.WithRawResponse budgets() { + return budgets.withRawResponse(); + } + /** * The {@code checkout_sessions} operations. * @@ -415,6 +484,15 @@ public CheckoutSessions.WithRawResponse checkoutSessions() { return checkoutSessions.withRawResponse(); } + /** + * The {@code checks} operations. + * + * @return the operations + */ + public Checks.WithRawResponse checks() { + return checks.withRawResponse(); + } + /** * The {@code connect} operations. * @@ -442,6 +520,24 @@ public CreditNotes.WithRawResponse creditNotes() { return creditNotes.withRawResponse(); } + /** + * The {@code credit_units} operations. + * + * @return the operations + */ + public CreditUnits.WithRawResponse creditUnits() { + return creditUnits.withRawResponse(); + } + + /** + * The {@code credits} operations. + * + * @return the operations + */ + public Credits.WithRawResponse credits() { + return credits.withRawResponse(); + } + /** * The {@code custom_properties} operations. * @@ -568,6 +664,15 @@ public Usage.WithRawResponse usage() { return usage.withRawResponse(); } + /** + * The {@code usage_costs} operations. + * + * @return the operations + */ + public UsageCosts.WithRawResponse usageCosts() { + return usageCosts.withRawResponse(); + } + /** * The {@code webhook_endpoints} operations. * diff --git a/src/main/java/com/meteroid/MeteroidAsync.java b/src/main/java/com/meteroid/MeteroidAsync.java index 664ea14..6d22b7d 100644 --- a/src/main/java/com/meteroid/MeteroidAsync.java +++ b/src/main/java/com/meteroid/MeteroidAsync.java @@ -3,10 +3,14 @@ import com.meteroid.api.AddOnsAsync; import com.meteroid.api.BatchJobsAsync; +import com.meteroid.api.BudgetsAsync; import com.meteroid.api.CheckoutSessionsAsync; +import com.meteroid.api.ChecksAsync; import com.meteroid.api.ConnectAsync; import com.meteroid.api.CouponsAsync; import com.meteroid.api.CreditNotesAsync; +import com.meteroid.api.CreditUnitsAsync; +import com.meteroid.api.CreditsAsync; import com.meteroid.api.CustomPropertiesAsync; import com.meteroid.api.CustomersAsync; import com.meteroid.api.EntitlementsAsync; @@ -21,6 +25,7 @@ import com.meteroid.api.ProductsAsync; import com.meteroid.api.SubscriptionsAsync; import com.meteroid.api.UsageAsync; +import com.meteroid.api.UsageCostsAsync; import com.meteroid.api.WebhookEndpointsAsync; /** @@ -33,10 +38,14 @@ public final class MeteroidAsync implements AutoCloseable { private final WithRawResponse withRawResponse; private final AddOnsAsync addOns; private final BatchJobsAsync batchJobs; + private final BudgetsAsync budgets; private final CheckoutSessionsAsync checkoutSessions; + private final ChecksAsync checks; private final ConnectAsync connect; private final CouponsAsync coupons; private final CreditNotesAsync creditNotes; + private final CreditUnitsAsync creditUnits; + private final CreditsAsync credits; private final CustomPropertiesAsync customProperties; private final CustomersAsync customers; private final EntitlementsAsync entitlements; @@ -51,16 +60,21 @@ public final class MeteroidAsync implements AutoCloseable { private final ProductsAsync products; private final SubscriptionsAsync subscriptions; private final UsageAsync usage; + private final UsageCostsAsync usageCosts; private final WebhookEndpointsAsync webhookEndpoints; MeteroidAsync(Meteroid sync) { this.sync = sync; this.addOns = new AddOnsAsync(sync.addOns()); this.batchJobs = new BatchJobsAsync(sync.batchJobs()); + this.budgets = new BudgetsAsync(sync.budgets()); this.checkoutSessions = new CheckoutSessionsAsync(sync.checkoutSessions()); + this.checks = new ChecksAsync(sync.checks()); this.connect = new ConnectAsync(sync.connect()); this.coupons = new CouponsAsync(sync.coupons()); this.creditNotes = new CreditNotesAsync(sync.creditNotes()); + this.creditUnits = new CreditUnitsAsync(sync.creditUnits()); + this.credits = new CreditsAsync(sync.credits()); this.customProperties = new CustomPropertiesAsync(sync.customProperties()); this.customers = new CustomersAsync(sync.customers()); this.entitlements = new EntitlementsAsync(sync.entitlements()); @@ -75,6 +89,7 @@ public final class MeteroidAsync implements AutoCloseable { this.products = new ProductsAsync(sync.products()); this.subscriptions = new SubscriptionsAsync(sync.subscriptions()); this.usage = new UsageAsync(sync.usage()); + this.usageCosts = new UsageCostsAsync(sync.usageCosts()); this.webhookEndpoints = new WebhookEndpointsAsync(sync.webhookEndpoints()); this.withRawResponse = new WithRawResponse(); } @@ -115,6 +130,15 @@ public BatchJobsAsync batchJobs() { return batchJobs; } + /** + * The {@code budgets} operations. + * + * @return the operations + */ + public BudgetsAsync budgets() { + return budgets; + } + /** * The {@code checkout_sessions} operations. * @@ -124,6 +148,15 @@ public CheckoutSessionsAsync checkoutSessions() { return checkoutSessions; } + /** + * The {@code checks} operations. + * + * @return the operations + */ + public ChecksAsync checks() { + return checks; + } + /** * The {@code connect} operations. * @@ -151,6 +184,24 @@ public CreditNotesAsync creditNotes() { return creditNotes; } + /** + * The {@code credit_units} operations. + * + * @return the operations + */ + public CreditUnitsAsync creditUnits() { + return creditUnits; + } + + /** + * The {@code credits} operations. + * + * @return the operations + */ + public CreditsAsync credits() { + return credits; + } + /** * The {@code custom_properties} operations. * @@ -277,6 +328,15 @@ public UsageAsync usage() { return usage; } + /** + * The {@code usage_costs} operations. + * + * @return the operations + */ + public UsageCostsAsync usageCosts() { + return usageCosts; + } + /** * The {@code webhook_endpoints} operations. * @@ -314,6 +374,15 @@ public BatchJobsAsync.WithRawResponse batchJobs() { return batchJobs.withRawResponse(); } + /** + * The {@code budgets} operations. + * + * @return the operations + */ + public BudgetsAsync.WithRawResponse budgets() { + return budgets.withRawResponse(); + } + /** * The {@code checkout_sessions} operations. * @@ -323,6 +392,15 @@ public CheckoutSessionsAsync.WithRawResponse checkoutSessions() { return checkoutSessions.withRawResponse(); } + /** + * The {@code checks} operations. + * + * @return the operations + */ + public ChecksAsync.WithRawResponse checks() { + return checks.withRawResponse(); + } + /** * The {@code connect} operations. * @@ -350,6 +428,24 @@ public CreditNotesAsync.WithRawResponse creditNotes() { return creditNotes.withRawResponse(); } + /** + * The {@code credit_units} operations. + * + * @return the operations + */ + public CreditUnitsAsync.WithRawResponse creditUnits() { + return creditUnits.withRawResponse(); + } + + /** + * The {@code credits} operations. + * + * @return the operations + */ + public CreditsAsync.WithRawResponse credits() { + return credits.withRawResponse(); + } + /** * The {@code custom_properties} operations. * @@ -476,6 +572,15 @@ public UsageAsync.WithRawResponse usage() { return usage.withRawResponse(); } + /** + * The {@code usage_costs} operations. + * + * @return the operations + */ + public UsageCostsAsync.WithRawResponse usageCosts() { + return usageCosts.withRawResponse(); + } + /** * The {@code webhook_endpoints} operations. * diff --git a/src/main/java/com/meteroid/api/Budgets.java b/src/main/java/com/meteroid/api/Budgets.java new file mode 100644 index 0000000..c6600fa --- /dev/null +++ b/src/main/java/com/meteroid/api/Budgets.java @@ -0,0 +1,662 @@ +// this file is @generated +package com.meteroid.api; + +import com.meteroid.ApiResponse; +import com.meteroid.RequestOptions; +import com.meteroid.internal.MeteroidHttpClient; +import com.meteroid.internal.Utils; +import com.meteroid.models.Budget; +import com.meteroid.models.BudgetListResponse; +import com.meteroid.models.CreateBudgetRequest; +import com.meteroid.models.PatchBudgetRequest; + +import okhttp3.Headers; +import okhttp3.HttpUrl; + +import java.util.List; +import java.util.Objects; + +/** + * The {@code budgets} operations, blocking. {@link #withRawResponse()} has the same methods + * returning the status and headers along with the body. + */ +public final class Budgets { + private final MeteroidHttpClient client; + private final WithRawResponse withRawResponse; + + /** + * The operations, sending through {@code client}. + * + * @param client the HTTP client of the SDK + */ + public Budgets(MeteroidHttpClient client) { + this.client = client; + this.withRawResponse = new WithRawResponse(); + } + + /** + * The same operations, returning the status and headers along with the body. + * + * @return the operations + */ + public WithRawResponse withRawResponse() { + return withRawResponse; + } + + /** + * List budgets + * + *
A customer's budgets, oldest first, with their estimated spend in the current billing + * period. Archived ones are left out unless requested. + * + *
Beta: the request and response shapes of this endpoint may change before general + * availability. + * + * @param idOrAlias the {@code id_or_alias} path parameter + * @return the page: the response body, its items and the way to the next pages + */ + public BudgetsListPage list(final String idOrAlias) { + return list(idOrAlias, BudgetsListOptions.none(), RequestOptions.none()); + } + + /** + * List budgets + * + *
A customer's budgets, oldest first, with their estimated spend in the current billing + * period. Archived ones are left out unless requested. + * + *
Beta: the request and response shapes of this endpoint may change before general + * availability. + * + * @param idOrAlias the {@code id_or_alias} path parameter + * @param options the optional parameters + * @return the page: the response body, its items and the way to the next pages + */ + public BudgetsListPage list(final String idOrAlias, final BudgetsListOptions options) { + return list(idOrAlias, options, RequestOptions.none()); + } + + /** + * List budgets + * + *
A customer's budgets, oldest first, with their estimated spend in the current billing + * period. Archived ones are left out unless requested. + * + *
Beta: the request and response shapes of this endpoint may change before general + * availability. + * + * @param idOrAlias the {@code id_or_alias} path parameter + * @param requestOptions headers, timeout and retries of this call + * @return the page: the response body, its items and the way to the next pages + */ + public BudgetsListPage list(final String idOrAlias, final RequestOptions requestOptions) { + return list(idOrAlias, BudgetsListOptions.none(), requestOptions); + } + + /** + * List budgets + * + *
A customer's budgets, oldest first, with their estimated spend in the current billing + * period. Archived ones are left out unless requested. + * + *
Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param options the optional parameters
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the page: the response body, its items and the way to the next pages
+ */
+ public BudgetsListPage list(
+ final String idOrAlias,
+ final BudgetsListOptions options,
+ final RequestOptions requestOptions) {
+ return pageOfList(
+ exchangeList(idOrAlias, options, requestOptions).send(),
+ idOrAlias,
+ options,
+ requestOptions);
+ }
+
+ MeteroidHttpClient.Exchange Sets a spending limit for one currency the customer is billed in, with alerts at
+ * percentages of it, on the customer's whole spend or on one subscription's. A customer has one
+ * active budget per currency, and per subscription.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @param createBudgetRequest the request body
+ * @return the response body
+ */
+ public Budget create(
+ final String idOrAlias,
+ final String idempotencyKey,
+ final CreateBudgetRequest createBudgetRequest) {
+ return create(idOrAlias, idempotencyKey, createBudgetRequest, RequestOptions.none());
+ }
+
+ /**
+ * Create a budget
+ *
+ * Sets a spending limit for one currency the customer is billed in, with alerts at
+ * percentages of it, on the customer's whole spend or on one subscription's. A customer has one
+ * active budget per currency, and per subscription.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @param createBudgetRequest the request body
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the response body
+ */
+ public Budget create(
+ final String idOrAlias,
+ final String idempotencyKey,
+ final CreateBudgetRequest createBudgetRequest,
+ final RequestOptions requestOptions) {
+ return exchangeCreate(idOrAlias, idempotencyKey, createBudgetRequest, requestOptions)
+ .send();
+ }
+
+ MeteroidHttpClient.Exchange Changes the amount, thresholds or behavior. Send the Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param budgetId the {@code budget_id} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @param patchBudgetRequest the request body
+ * @return the response body
+ */
+ public Budget update(
+ final String idOrAlias,
+ final String budgetId,
+ final String idempotencyKey,
+ final PatchBudgetRequest patchBudgetRequest) {
+ return update(
+ idOrAlias, budgetId, idempotencyKey, patchBudgetRequest, RequestOptions.none());
+ }
+
+ /**
+ * Update a budget
+ *
+ * Changes the amount, thresholds or behavior. Send the Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param budgetId the {@code budget_id} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @param patchBudgetRequest the request body
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the response body
+ */
+ public Budget update(
+ final String idOrAlias,
+ final String budgetId,
+ final String idempotencyKey,
+ final PatchBudgetRequest patchBudgetRequest,
+ final RequestOptions requestOptions) {
+ return exchangeUpdate(
+ idOrAlias, budgetId, idempotencyKey, patchBudgetRequest, requestOptions)
+ .send();
+ }
+
+ MeteroidHttpClient.Exchange Stops the budget from sending alerts and, for a HARD budget, from refusing access.
+ * Archiving an archived budget returns it unchanged.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param budgetId the {@code budget_id} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @return the response body
+ */
+ public Budget archive(
+ final String idOrAlias, final String budgetId, final String idempotencyKey) {
+ return archive(idOrAlias, budgetId, idempotencyKey, RequestOptions.none());
+ }
+
+ /**
+ * Archive a budget
+ *
+ * Stops the budget from sending alerts and, for a HARD budget, from refusing access.
+ * Archiving an archived budget returns it unchanged.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param budgetId the {@code budget_id} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the response body
+ */
+ public Budget archive(
+ final String idOrAlias,
+ final String budgetId,
+ final String idempotencyKey,
+ final RequestOptions requestOptions) {
+ return exchangeArchive(idOrAlias, budgetId, idempotencyKey, requestOptions).send();
+ }
+
+ MeteroidHttpClient.Exchange A customer's budgets, oldest first, with their estimated spend in the current billing
+ * period. Archived ones are left out unless requested.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @return the status, headers and page
+ */
+ public ApiResponse A customer's budgets, oldest first, with their estimated spend in the current billing
+ * period. Archived ones are left out unless requested.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param options the optional parameters
+ * @return the status, headers and page
+ */
+ public ApiResponse A customer's budgets, oldest first, with their estimated spend in the current billing
+ * period. Archived ones are left out unless requested.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the status, headers and page
+ */
+ public ApiResponse A customer's budgets, oldest first, with their estimated spend in the current billing
+ * period. Archived ones are left out unless requested.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param options the optional parameters
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the status, headers and page
+ */
+ public ApiResponse Sets a spending limit for one currency the customer is billed in, with alerts at
+ * percentages of it, on the customer's whole spend or on one subscription's. A customer has
+ * one active budget per currency, and per subscription.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @param createBudgetRequest the request body
+ * @return the status, headers and body
+ */
+ public ApiResponse Sets a spending limit for one currency the customer is billed in, with alerts at
+ * percentages of it, on the customer's whole spend or on one subscription's. A customer has
+ * one active budget per currency, and per subscription.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @param createBudgetRequest the request body
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the status, headers and body
+ */
+ public ApiResponse Changes the amount, thresholds or behavior. Send the Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param budgetId the {@code budget_id} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @param patchBudgetRequest the request body
+ * @return the status, headers and body
+ */
+ public ApiResponse Changes the amount, thresholds or behavior. Send the Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param budgetId the {@code budget_id} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @param patchBudgetRequest the request body
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the status, headers and body
+ */
+ public ApiResponse Stops the budget from sending alerts and, for a HARD budget, from refusing access.
+ * Archiving an archived budget returns it unchanged.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param budgetId the {@code budget_id} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @return the status, headers and body
+ */
+ public ApiResponse Stops the budget from sending alerts and, for a HARD budget, from refusing access.
+ * Archiving an archived budget returns it unchanged.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param budgetId the {@code budget_id} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the status, headers and body
+ */
+ public ApiResponse A customer's budgets, oldest first, with their estimated spend in the current billing
+ * period. Archived ones are left out unless requested.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @return the page, once received
+ */
+ public CompletableFuture A customer's budgets, oldest first, with their estimated spend in the current billing
+ * period. Archived ones are left out unless requested.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param options the optional parameters
+ * @return the page, once received
+ */
+ public CompletableFuture A customer's budgets, oldest first, with their estimated spend in the current billing
+ * period. Archived ones are left out unless requested.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the page, once received
+ */
+ public CompletableFuture A customer's budgets, oldest first, with their estimated spend in the current billing
+ * period. Archived ones are left out unless requested.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param options the optional parameters
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the page, once received
+ */
+ public CompletableFuture Sets a spending limit for one currency the customer is billed in, with alerts at
+ * percentages of it, on the customer's whole spend or on one subscription's. A customer has one
+ * active budget per currency, and per subscription.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @param createBudgetRequest the request body
+ * @return the response body, once received
+ */
+ public CompletableFuture Sets a spending limit for one currency the customer is billed in, with alerts at
+ * percentages of it, on the customer's whole spend or on one subscription's. A customer has one
+ * active budget per currency, and per subscription.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @param createBudgetRequest the request body
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the response body, once received
+ */
+ public CompletableFuture Changes the amount, thresholds or behavior. Send the Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param budgetId the {@code budget_id} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @param patchBudgetRequest the request body
+ * @return the response body, once received
+ */
+ public CompletableFuture Changes the amount, thresholds or behavior. Send the Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param budgetId the {@code budget_id} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @param patchBudgetRequest the request body
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the response body, once received
+ */
+ public CompletableFuture Stops the budget from sending alerts and, for a HARD budget, from refusing access.
+ * Archiving an archived budget returns it unchanged.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param budgetId the {@code budget_id} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @return the response body, once received
+ */
+ public CompletableFuture Stops the budget from sending alerts and, for a HARD budget, from refusing access.
+ * Archiving an archived budget returns it unchanged.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param budgetId the {@code budget_id} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the response body, once received
+ */
+ public CompletableFuture A customer's budgets, oldest first, with their estimated spend in the current billing
+ * period. Archived ones are left out unless requested.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @return the status, headers and page, once received
+ */
+ public CompletableFuture A customer's budgets, oldest first, with their estimated spend in the current billing
+ * period. Archived ones are left out unless requested.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param options the optional parameters
+ * @return the status, headers and page, once received
+ */
+ public CompletableFuture A customer's budgets, oldest first, with their estimated spend in the current billing
+ * period. Archived ones are left out unless requested.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the status, headers and page, once received
+ */
+ public CompletableFuture A customer's budgets, oldest first, with their estimated spend in the current billing
+ * period. Archived ones are left out unless requested.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param options the optional parameters
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the status, headers and page, once received
+ */
+ public CompletableFuture Sets a spending limit for one currency the customer is billed in, with alerts at
+ * percentages of it, on the customer's whole spend or on one subscription's. A customer has
+ * one active budget per currency, and per subscription.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @param createBudgetRequest the request body
+ * @return the status, headers and body, once received
+ */
+ public CompletableFuture Sets a spending limit for one currency the customer is billed in, with alerts at
+ * percentages of it, on the customer's whole spend or on one subscription's. A customer has
+ * one active budget per currency, and per subscription.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @param createBudgetRequest the request body
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the status, headers and body, once received
+ */
+ public CompletableFuture Changes the amount, thresholds or behavior. Send the Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param budgetId the {@code budget_id} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @param patchBudgetRequest the request body
+ * @return the status, headers and body, once received
+ */
+ public CompletableFuture Changes the amount, thresholds or behavior. Send the Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param budgetId the {@code budget_id} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @param patchBudgetRequest the request body
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the status, headers and body, once received
+ */
+ public CompletableFuture Stops the budget from sending alerts and, for a HARD budget, from refusing access.
+ * Archiving an archived budget returns it unchanged.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param budgetId the {@code budget_id} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @return the status, headers and body, once received
+ */
+ public CompletableFuture Stops the budget from sending alerts and, for a HARD budget, from refusing access.
+ * Archiving an archived budget returns it unchanged.
+ *
+ * Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param budgetId the {@code budget_id} path parameter
+ * @param idempotencyKey the {@code Idempotency-Key} required parameter
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the status, headers and body, once received
+ */
+ public CompletableFuture Iterating it yields every item from this page on, fetching the next pages as the iteration
+ * goes.
+ */
+public final class BudgetsListPage extends Page Whether the customer may consume The answer reflects usage up to Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param featureIdOrCode the {@code feature_id_or_code} path parameter
+ * @return the response body
+ */
+ public EntitlementCheck checkEntitlement(final String idOrAlias, final String featureIdOrCode) {
+ return checkEntitlement(
+ idOrAlias,
+ featureIdOrCode,
+ ChecksCheckEntitlementOptions.none(),
+ RequestOptions.none());
+ }
+
+ /**
+ * Check customer entitlement
+ *
+ * Whether the customer may consume The answer reflects usage up to Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param featureIdOrCode the {@code feature_id_or_code} path parameter
+ * @param options the optional parameters
+ * @return the response body
+ */
+ public EntitlementCheck checkEntitlement(
+ final String idOrAlias,
+ final String featureIdOrCode,
+ final ChecksCheckEntitlementOptions options) {
+ return checkEntitlement(idOrAlias, featureIdOrCode, options, RequestOptions.none());
+ }
+
+ /**
+ * Check customer entitlement
+ *
+ * Whether the customer may consume The answer reflects usage up to Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param featureIdOrCode the {@code feature_id_or_code} path parameter
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the response body
+ */
+ public EntitlementCheck checkEntitlement(
+ final String idOrAlias,
+ final String featureIdOrCode,
+ final RequestOptions requestOptions) {
+ return checkEntitlement(
+ idOrAlias, featureIdOrCode, ChecksCheckEntitlementOptions.none(), requestOptions);
+ }
+
+ /**
+ * Check customer entitlement
+ *
+ * Whether the customer may consume The answer reflects usage up to Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param featureIdOrCode the {@code feature_id_or_code} path parameter
+ * @param options the optional parameters
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the response body
+ */
+ public EntitlementCheck checkEntitlement(
+ final String idOrAlias,
+ final String featureIdOrCode,
+ final ChecksCheckEntitlementOptions options,
+ final RequestOptions requestOptions) {
+ return exchangeCheckEntitlement(idOrAlias, featureIdOrCode, options, requestOptions).send();
+ }
+
+ MeteroidHttpClient.Exchange Whether the customer may consume The answer reflects usage up to Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param featureIdOrCode the {@code feature_id_or_code} path parameter
+ * @return the status, headers and body
+ */
+ public ApiResponse Whether the customer may consume The answer reflects usage up to Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param featureIdOrCode the {@code feature_id_or_code} path parameter
+ * @param options the optional parameters
+ * @return the status, headers and body
+ */
+ public ApiResponse Whether the customer may consume The answer reflects usage up to Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param featureIdOrCode the {@code feature_id_or_code} path parameter
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the status, headers and body
+ */
+ public ApiResponse Whether the customer may consume The answer reflects usage up to Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param featureIdOrCode the {@code feature_id_or_code} path parameter
+ * @param options the optional parameters
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the status, headers and body
+ */
+ public ApiResponse Whether the customer may consume The answer reflects usage up to Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param featureIdOrCode the {@code feature_id_or_code} path parameter
+ * @return the response body, once received
+ */
+ public CompletableFuture Whether the customer may consume The answer reflects usage up to Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param featureIdOrCode the {@code feature_id_or_code} path parameter
+ * @param options the optional parameters
+ * @return the response body, once received
+ */
+ public CompletableFuture Whether the customer may consume The answer reflects usage up to Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param featureIdOrCode the {@code feature_id_or_code} path parameter
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the response body, once received
+ */
+ public CompletableFuture Whether the customer may consume The answer reflects usage up to Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param featureIdOrCode the {@code feature_id_or_code} path parameter
+ * @param options the optional parameters
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the response body, once received
+ */
+ public CompletableFuture Whether the customer may consume The answer reflects usage up to Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param featureIdOrCode the {@code feature_id_or_code} path parameter
+ * @return the status, headers and body, once received
+ */
+ public CompletableFuture Whether the customer may consume The answer reflects usage up to Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param featureIdOrCode the {@code feature_id_or_code} path parameter
+ * @param options the optional parameters
+ * @return the status, headers and body, once received
+ */
+ public CompletableFuture Whether the customer may consume The answer reflects usage up to Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param featureIdOrCode the {@code feature_id_or_code} path parameter
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the status, headers and body, once received
+ */
+ public CompletableFuture Whether the customer may consume The answer reflects usage up to Beta: the request and response shapes of this endpoint may change before general
+ * availability.
+ *
+ * @param idOrAlias the {@code id_or_alias} path parameter
+ * @param featureIdOrCode the {@code feature_id_or_code} path parameter
+ * @param options the optional parameters
+ * @param requestOptions headers, timeout and retries of this call
+ * @return the status, headers and body, once received
+ */
+ public CompletableFutureversion you read as
+ * expected_version; a newer stored version, for instance after the customer edited
+ * it, is refused with 409.
+ *
+ * version you read as
+ * expected_version; a newer stored version, for instance after the customer edited
+ * it, is refused with 409.
+ *
+ * version you read as
+ * expected_version; a newer stored version, for instance after the customer
+ * edited it, is refused with 409.
+ *
+ * version you read as
+ * expected_version; a newer stored version, for instance after the customer
+ * edited it, is refused with 409.
+ *
+ * version you read as
+ * expected_version; a newer stored version, for instance after the customer edited
+ * it, is refused with 409.
+ *
+ * version you read as
+ * expected_version; a newer stored version, for instance after the customer edited
+ * it, is refused with 409.
+ *
+ * version you read as
+ * expected_version; a newer stored version, for instance after the customer
+ * edited it, is refused with 409.
+ *
+ * version you read as
+ * expected_version; a newer stored version, for instance after the customer
+ * edited it, is refused with 409.
+ *
+ * requested more of a feature right now, given
+ * their entitlement, the hard budgets that count the feature's usage, and their prepaid credit.
+ * Boolean features answer from their enabled state; config features grant access and return
+ * their value. An ALLOW limit never refuses: in_overage
+ * tells when the requested units go beyond it. Sliding windows send no threshold webhooks. Pass
+ * the group as group[<property>]=<value>: it is required when the
+ * entitlement is grouped. Pass subscription_id when the usage belongs to one
+ * subscription, so that a hard budget on another subscription does not refuse it.
+ *
+ * as_of: typically less than a minute old, and
+ * less than 10 seconds old once near_limit is true. A hard limit can therefore be
+ * exceeded by the usage of those few seconds. While near_limit is true, check
+ * before every request with its actual requested and do not cache the answer;
+ * retry_after_ms says when to check again. Use the check to gate access, not to
+ * bill.
+ *
+ * requested more of a feature right now, given
+ * their entitlement, the hard budgets that count the feature's usage, and their prepaid credit.
+ * Boolean features answer from their enabled state; config features grant access and return
+ * their value. An ALLOW limit never refuses: in_overage
+ * tells when the requested units go beyond it. Sliding windows send no threshold webhooks. Pass
+ * the group as group[<property>]=<value>: it is required when the
+ * entitlement is grouped. Pass subscription_id when the usage belongs to one
+ * subscription, so that a hard budget on another subscription does not refuse it.
+ *
+ * as_of: typically less than a minute old, and
+ * less than 10 seconds old once near_limit is true. A hard limit can therefore be
+ * exceeded by the usage of those few seconds. While near_limit is true, check
+ * before every request with its actual requested and do not cache the answer;
+ * retry_after_ms says when to check again. Use the check to gate access, not to
+ * bill.
+ *
+ * requested more of a feature right now, given
+ * their entitlement, the hard budgets that count the feature's usage, and their prepaid credit.
+ * Boolean features answer from their enabled state; config features grant access and return
+ * their value. An ALLOW limit never refuses: in_overage
+ * tells when the requested units go beyond it. Sliding windows send no threshold webhooks. Pass
+ * the group as group[<property>]=<value>: it is required when the
+ * entitlement is grouped. Pass subscription_id when the usage belongs to one
+ * subscription, so that a hard budget on another subscription does not refuse it.
+ *
+ * as_of: typically less than a minute old, and
+ * less than 10 seconds old once near_limit is true. A hard limit can therefore be
+ * exceeded by the usage of those few seconds. While near_limit is true, check
+ * before every request with its actual requested and do not cache the answer;
+ * retry_after_ms says when to check again. Use the check to gate access, not to
+ * bill.
+ *
+ * requested more of a feature right now, given
+ * their entitlement, the hard budgets that count the feature's usage, and their prepaid credit.
+ * Boolean features answer from their enabled state; config features grant access and return
+ * their value. An ALLOW limit never refuses: in_overage
+ * tells when the requested units go beyond it. Sliding windows send no threshold webhooks. Pass
+ * the group as group[<property>]=<value>: it is required when the
+ * entitlement is grouped. Pass subscription_id when the usage belongs to one
+ * subscription, so that a hard budget on another subscription does not refuse it.
+ *
+ * as_of: typically less than a minute old, and
+ * less than 10 seconds old once near_limit is true. A hard limit can therefore be
+ * exceeded by the usage of those few seconds. While near_limit is true, check
+ * before every request with its actual requested and do not cache the answer;
+ * retry_after_ms says when to check again. Use the check to gate access, not to
+ * bill.
+ *
+ * requested more of a feature right now,
+ * given their entitlement, the hard budgets that count the feature's usage, and their
+ * prepaid credit. Boolean features answer from their enabled state; config features grant
+ * access and return their value. An ALLOW limit never refuses:
+ * in_overage tells when the requested units go beyond it. Sliding windows send
+ * no threshold webhooks. Pass the group as group[<property>]=<value>
+ * : it is required when the entitlement is grouped. Pass subscription_id
+ * when the usage belongs to one subscription, so that a hard budget on another
+ * subscription does not refuse it.
+ *
+ * as_of: typically less than a minute old,
+ * and less than 10 seconds old once near_limit is true. A hard limit can
+ * therefore be exceeded by the usage of those few seconds. While near_limit is
+ * true, check before every request with its actual requested and do not cache
+ * the answer; retry_after_ms says when to check again. Use the check to gate
+ * access, not to bill.
+ *
+ * requested more of a feature right now,
+ * given their entitlement, the hard budgets that count the feature's usage, and their
+ * prepaid credit. Boolean features answer from their enabled state; config features grant
+ * access and return their value. An ALLOW limit never refuses:
+ * in_overage tells when the requested units go beyond it. Sliding windows send
+ * no threshold webhooks. Pass the group as group[<property>]=<value>
+ * : it is required when the entitlement is grouped. Pass subscription_id
+ * when the usage belongs to one subscription, so that a hard budget on another
+ * subscription does not refuse it.
+ *
+ * as_of: typically less than a minute old,
+ * and less than 10 seconds old once near_limit is true. A hard limit can
+ * therefore be exceeded by the usage of those few seconds. While near_limit is
+ * true, check before every request with its actual requested and do not cache
+ * the answer; retry_after_ms says when to check again. Use the check to gate
+ * access, not to bill.
+ *
+ * requested more of a feature right now,
+ * given their entitlement, the hard budgets that count the feature's usage, and their
+ * prepaid credit. Boolean features answer from their enabled state; config features grant
+ * access and return their value. An ALLOW limit never refuses:
+ * in_overage tells when the requested units go beyond it. Sliding windows send
+ * no threshold webhooks. Pass the group as group[<property>]=<value>
+ * : it is required when the entitlement is grouped. Pass subscription_id
+ * when the usage belongs to one subscription, so that a hard budget on another
+ * subscription does not refuse it.
+ *
+ * as_of: typically less than a minute old,
+ * and less than 10 seconds old once near_limit is true. A hard limit can
+ * therefore be exceeded by the usage of those few seconds. While near_limit is
+ * true, check before every request with its actual requested and do not cache
+ * the answer; retry_after_ms says when to check again. Use the check to gate
+ * access, not to bill.
+ *
+ * requested more of a feature right now,
+ * given their entitlement, the hard budgets that count the feature's usage, and their
+ * prepaid credit. Boolean features answer from their enabled state; config features grant
+ * access and return their value. An ALLOW limit never refuses:
+ * in_overage tells when the requested units go beyond it. Sliding windows send
+ * no threshold webhooks. Pass the group as group[<property>]=<value>
+ * : it is required when the entitlement is grouped. Pass subscription_id
+ * when the usage belongs to one subscription, so that a hard budget on another
+ * subscription does not refuse it.
+ *
+ * as_of: typically less than a minute old,
+ * and less than 10 seconds old once near_limit is true. A hard limit can
+ * therefore be exceeded by the usage of those few seconds. While near_limit is
+ * true, check before every request with its actual requested and do not cache
+ * the answer; retry_after_ms says when to check again. Use the check to gate
+ * access, not to bill.
+ *
+ * requested more of a feature right now, given
+ * their entitlement, the hard budgets that count the feature's usage, and their prepaid credit.
+ * Boolean features answer from their enabled state; config features grant access and return
+ * their value. An ALLOW limit never refuses: in_overage
+ * tells when the requested units go beyond it. Sliding windows send no threshold webhooks. Pass
+ * the group as group[<property>]=<value>: it is required when the
+ * entitlement is grouped. Pass subscription_id when the usage belongs to one
+ * subscription, so that a hard budget on another subscription does not refuse it.
+ *
+ * as_of: typically less than a minute old, and
+ * less than 10 seconds old once near_limit is true. A hard limit can therefore be
+ * exceeded by the usage of those few seconds. While near_limit is true, check
+ * before every request with its actual requested and do not cache the answer;
+ * retry_after_ms says when to check again. Use the check to gate access, not to
+ * bill.
+ *
+ * requested more of a feature right now, given
+ * their entitlement, the hard budgets that count the feature's usage, and their prepaid credit.
+ * Boolean features answer from their enabled state; config features grant access and return
+ * their value. An ALLOW limit never refuses: in_overage
+ * tells when the requested units go beyond it. Sliding windows send no threshold webhooks. Pass
+ * the group as group[<property>]=<value>: it is required when the
+ * entitlement is grouped. Pass subscription_id when the usage belongs to one
+ * subscription, so that a hard budget on another subscription does not refuse it.
+ *
+ * as_of: typically less than a minute old, and
+ * less than 10 seconds old once near_limit is true. A hard limit can therefore be
+ * exceeded by the usage of those few seconds. While near_limit is true, check
+ * before every request with its actual requested and do not cache the answer;
+ * retry_after_ms says when to check again. Use the check to gate access, not to
+ * bill.
+ *
+ * requested more of a feature right now, given
+ * their entitlement, the hard budgets that count the feature's usage, and their prepaid credit.
+ * Boolean features answer from their enabled state; config features grant access and return
+ * their value. An ALLOW limit never refuses: in_overage
+ * tells when the requested units go beyond it. Sliding windows send no threshold webhooks. Pass
+ * the group as group[<property>]=<value>: it is required when the
+ * entitlement is grouped. Pass subscription_id when the usage belongs to one
+ * subscription, so that a hard budget on another subscription does not refuse it.
+ *
+ * as_of: typically less than a minute old, and
+ * less than 10 seconds old once near_limit is true. A hard limit can therefore be
+ * exceeded by the usage of those few seconds. While near_limit is true, check
+ * before every request with its actual requested and do not cache the answer;
+ * retry_after_ms says when to check again. Use the check to gate access, not to
+ * bill.
+ *
+ * requested more of a feature right now, given
+ * their entitlement, the hard budgets that count the feature's usage, and their prepaid credit.
+ * Boolean features answer from their enabled state; config features grant access and return
+ * their value. An ALLOW limit never refuses: in_overage
+ * tells when the requested units go beyond it. Sliding windows send no threshold webhooks. Pass
+ * the group as group[<property>]=<value>: it is required when the
+ * entitlement is grouped. Pass subscription_id when the usage belongs to one
+ * subscription, so that a hard budget on another subscription does not refuse it.
+ *
+ * as_of: typically less than a minute old, and
+ * less than 10 seconds old once near_limit is true. A hard limit can therefore be
+ * exceeded by the usage of those few seconds. While near_limit is true, check
+ * before every request with its actual requested and do not cache the answer;
+ * retry_after_ms says when to check again. Use the check to gate access, not to
+ * bill.
+ *
+ * requested more of a feature right now,
+ * given their entitlement, the hard budgets that count the feature's usage, and their
+ * prepaid credit. Boolean features answer from their enabled state; config features grant
+ * access and return their value. An ALLOW limit never refuses:
+ * in_overage tells when the requested units go beyond it. Sliding windows send
+ * no threshold webhooks. Pass the group as group[<property>]=<value>
+ * : it is required when the entitlement is grouped. Pass subscription_id
+ * when the usage belongs to one subscription, so that a hard budget on another
+ * subscription does not refuse it.
+ *
+ * as_of: typically less than a minute old,
+ * and less than 10 seconds old once near_limit is true. A hard limit can
+ * therefore be exceeded by the usage of those few seconds. While near_limit is
+ * true, check before every request with its actual requested and do not cache
+ * the answer; retry_after_ms says when to check again. Use the check to gate
+ * access, not to bill.
+ *
+ * requested more of a feature right now,
+ * given their entitlement, the hard budgets that count the feature's usage, and their
+ * prepaid credit. Boolean features answer from their enabled state; config features grant
+ * access and return their value. An ALLOW limit never refuses:
+ * in_overage tells when the requested units go beyond it. Sliding windows send
+ * no threshold webhooks. Pass the group as group[<property>]=<value>
+ * : it is required when the entitlement is grouped. Pass subscription_id
+ * when the usage belongs to one subscription, so that a hard budget on another
+ * subscription does not refuse it.
+ *
+ * as_of: typically less than a minute old,
+ * and less than 10 seconds old once near_limit is true. A hard limit can
+ * therefore be exceeded by the usage of those few seconds. While near_limit is
+ * true, check before every request with its actual requested and do not cache
+ * the answer; retry_after_ms says when to check again. Use the check to gate
+ * access, not to bill.
+ *
+ * requested more of a feature right now,
+ * given their entitlement, the hard budgets that count the feature's usage, and their
+ * prepaid credit. Boolean features answer from their enabled state; config features grant
+ * access and return their value. An ALLOW limit never refuses:
+ * in_overage tells when the requested units go beyond it. Sliding windows send
+ * no threshold webhooks. Pass the group as group[<property>]=<value>
+ * : it is required when the entitlement is grouped. Pass subscription_id
+ * when the usage belongs to one subscription, so that a hard budget on another
+ * subscription does not refuse it.
+ *
+ * as_of: typically less than a minute old,
+ * and less than 10 seconds old once near_limit is true. A hard limit can
+ * therefore be exceeded by the usage of those few seconds. While near_limit is
+ * true, check before every request with its actual requested and do not cache
+ * the answer; retry_after_ms says when to check again. Use the check to gate
+ * access, not to bill.
+ *
+ * requested more of a feature right now,
+ * given their entitlement, the hard budgets that count the feature's usage, and their
+ * prepaid credit. Boolean features answer from their enabled state; config features grant
+ * access and return their value. An ALLOW limit never refuses:
+ * in_overage tells when the requested units go beyond it. Sliding windows send
+ * no threshold webhooks. Pass the group as group[<property>]=<value>
+ * : it is required when the entitlement is grouped. Pass subscription_id
+ * when the usage belongs to one subscription, so that a hard budget on another
+ * subscription does not refuse it.
+ *
+ * as_of: typically less than a minute old,
+ * and less than 10 seconds old once near_limit is true. A hard limit can
+ * therefore be exceeded by the usage of those few seconds. While near_limit is
+ * true, check before every request with its actual requested and do not cache
+ * the answer; retry_after_ms says when to check again. Use the check to gate
+ * access, not to bill.
+ *
+ * sub_…) the usage belongs to: only its own budgets and the
+ * customer-wide ones apply. Without it, a budget on one subscription refuses only once every
+ * subscription charging the feature's metric is refused by its own budget.
+ *
+ * @return the value, empty when unset
+ */
+ public Optionalgroup[<property>]=<value>: required when the
+ * entitlement is grouped
+ *
+ * @return the value, empty when unset
+ */
+ public Optional