@openmeter/sdk 1.0.0-beta.205 → 1.0.0-beta.207

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,7 +23,7 @@ export interface paths {
23
23
  patch?: never;
24
24
  trace?: never;
25
25
  };
26
- '/api/v1/addons/{addonIdOrKey}': {
26
+ '/api/v1/addons/{addonId}': {
27
27
  parameters: {
28
28
  query?: never;
29
29
  header?: never;
@@ -35,22 +35,6 @@ export interface paths {
35
35
  * @description Get add-on by id or key. The latest published version is returned if latter is used.
36
36
  */
37
37
  get: operations['getAddon'];
38
- put?: never;
39
- post?: never;
40
- delete?: never;
41
- options?: never;
42
- head?: never;
43
- patch?: never;
44
- trace?: never;
45
- };
46
- '/api/v1/addons/{addonId}': {
47
- parameters: {
48
- query?: never;
49
- header?: never;
50
- path?: never;
51
- cookie?: never;
52
- };
53
- get?: never;
54
38
  /**
55
39
  * Update add-on
56
40
  * @description Update add-on by id.
@@ -601,6 +585,26 @@ export interface paths {
601
585
  patch?: never;
602
586
  trace?: never;
603
587
  };
588
+ '/api/v1/customers/{customerIdOrKey}/access': {
589
+ parameters: {
590
+ query?: never;
591
+ header?: never;
592
+ path?: never;
593
+ cookie?: never;
594
+ };
595
+ /**
596
+ * Get customer access
597
+ * @description Get the overall access of a customer.
598
+ */
599
+ get: operations['getCustomerAccess'];
600
+ put?: never;
601
+ post?: never;
602
+ delete?: never;
603
+ options?: never;
604
+ head?: never;
605
+ patch?: never;
606
+ trace?: never;
607
+ };
604
608
  '/api/v1/customers/{customerIdOrKey}/apps': {
605
609
  parameters: {
606
610
  query?: never;
@@ -2256,43 +2260,6 @@ export interface components {
2256
2260
  * Expand settings govern if this includes the whole app object or just the ID references. */
2257
2261
  readonly apps: components['schemas']['BillingProfileAppsOrReference'];
2258
2262
  };
2259
- /** @description InvoiceLineCharge represents an amount added to the line, and will be applied before taxes. */
2260
- BillingLineCharge: {
2261
- /**
2262
- * Creation Time
2263
- * Format: date-time
2264
- * @description Timestamp of when the resource was created.
2265
- * @example 2024-01-01T01:01:01.001Z
2266
- */
2267
- readonly createdAt: Date;
2268
- /**
2269
- * Last Update Time
2270
- * Format: date-time
2271
- * @description Timestamp of when the resource was last updated.
2272
- * @example 2024-01-01T01:01:01.001Z
2273
- */
2274
- readonly updatedAt: Date;
2275
- /**
2276
- * Deletion Time
2277
- * Format: date-time
2278
- * @description Timestamp of when the resource was permanently deleted.
2279
- * @example 2024-01-01T01:01:01.001Z
2280
- */
2281
- readonly deletedAt?: Date;
2282
- /**
2283
- * @description ID of the charge or discount.
2284
- * @example 01G65Z755AFWAKHE12NY0CQ9FH
2285
- */
2286
- readonly id: string;
2287
- /** @description Percentage if fixed amount not applied */
2288
- percent?: components['schemas']['Percentage'];
2289
- /** @description Fixed discount amount to apply (calculated if percent present). */
2290
- amount: components['schemas']['Numeric'];
2291
- /** @description Reason code. */
2292
- code?: string;
2293
- /** @description Text description as to why the discount was applied. */
2294
- description?: string;
2295
- };
2296
2263
  /** @description Party represents a person or business entity. */
2297
2264
  BillingParty: {
2298
2265
  /** @description Unique identifier for the party (if available) */
@@ -3129,6 +3096,14 @@ export interface components {
3129
3096
  */
3130
3097
  readonly currentSubscriptionId?: string;
3131
3098
  };
3099
+ /** @description CustomerAccess describes what features the customer has access to. */
3100
+ CustomerAccess: {
3101
+ /** @description Map of entitlements the customer has access to.
3102
+ * The key is the feature key, the value is the entitlement value + the entitlement ID. */
3103
+ readonly entitlements: {
3104
+ [key: string]: components['schemas']['EntitlementValue'];
3105
+ };
3106
+ };
3132
3107
  /** @description CustomerAppData
3133
3108
  * Stores the app specific data for the customer.
3134
3109
  * One of: stripe, sandbox */
@@ -3336,8 +3311,8 @@ export interface components {
3336
3311
  */
3337
3312
  type: 'dynamic';
3338
3313
  /**
3339
- * The rate to apply to the base price to get the dynamic price
3340
- * @description The rate to apply to the base price to get the dynamic price.
3314
+ * The multiplier to apply to the base price to get the dynamic price
3315
+ * @description The multiplier to apply to the base price to get the dynamic price.
3341
3316
  *
3342
3317
  * Examples:
3343
3318
  * - 0.0: the price is zero
@@ -3346,7 +3321,7 @@ export interface components {
3346
3321
  * - 1.5: the price is 150% of the base price
3347
3322
  * @default 1
3348
3323
  */
3349
- markupRate?: components['schemas']['Numeric'];
3324
+ multiplier?: components['schemas']['Numeric'];
3350
3325
  /**
3351
3326
  * Minimum amount
3352
3327
  * @description The customer is committed to spend at least the amount.
@@ -4688,8 +4663,6 @@ export interface components {
4688
4663
  workflow: components['schemas']['InvoiceWorkflowSettings'];
4689
4664
  /** @description List of invoice lines representing each of the items sold to the customer. */
4690
4665
  lines?: components['schemas']['InvoiceLine'][];
4691
- /** @description Discounts or allowances applied to the complete invoice. */
4692
- discounts?: components['schemas']['Discount'][];
4693
4666
  /** @description Information on when, how, and to whom the invoice should be paid. */
4694
4667
  readonly payment?: components['schemas']['InvoicePaymentTerms'];
4695
4668
  /** @description Validation issues reported by the invoice workflow. */
@@ -4733,6 +4706,11 @@ export interface components {
4733
4706
  /** @description Invoice a gathering invoice */
4734
4707
  readonly invoice?: components['schemas']['InvoiceAvailableActionInvoiceDetails'];
4735
4708
  };
4709
+ /**
4710
+ * @description Reason code.
4711
+ * @enum {string}
4712
+ */
4713
+ InvoiceDiscountReason: 'maximum_spend' | 'ratecard_discount';
4736
4714
  /** @description InvoiceDocumentRef is used to describe a reference to an existing document (invoice). */
4737
4715
  InvoiceDocumentRef: components['schemas']['CreditNoteOriginalInvoiceRef'];
4738
4716
  /**
@@ -4806,18 +4784,16 @@ export interface components {
4806
4784
  * New discounts can be added via the invoice's discounts API, to facilitate
4807
4785
  * discounts that are affecting multiple lines. */
4808
4786
  readonly discounts?: components['schemas']['InvoiceLineDiscount'][];
4809
- /** @description Charges applied to this line. (like minimum spend)
4810
- *
4811
- * New charges can be added via the invoice's charges API, to facilitate
4812
- * charges that are affecting multiple lines. */
4813
- readonly charges?: components['schemas']['BillingLineCharge'][];
4814
4787
  /** @description The invoice this item belongs to. */
4815
4788
  invoice?: components['schemas']['InvoiceReference'];
4816
4789
  /** @description The currency of this line. */
4817
4790
  currency: components['schemas']['CurrencyCode'];
4818
4791
  /** @description Taxes applied to the invoice totals. */
4819
4792
  readonly taxes?: components['schemas']['InvoiceLineTaxItem'][];
4820
- /** @description Tax config specify the tax configuration for this line. */
4793
+ /**
4794
+ * @deprecated
4795
+ * @description Tax config specify the tax configuration for this line.
4796
+ */
4821
4797
  taxConfig?: components['schemas']['TaxConfig'];
4822
4798
  /** @description The lines detailing the item or service sold. */
4823
4799
  readonly children?: components['schemas']['InvoiceLine'][];
@@ -4836,21 +4812,30 @@ export interface components {
4836
4812
  /** @description External IDs of the invoice in other apps such as Stripe. */
4837
4813
  readonly externalIds?: components['schemas']['InvoiceLineAppExternalIds'];
4838
4814
  /** @description Subscription are the references to the subscritpions that this line is related to. */
4839
- readonly subscriptions?: components['schemas']['InvoiceLineSubscriptionReference'];
4815
+ readonly subscription?: components['schemas']['InvoiceLineSubscriptionReference'];
4840
4816
  /**
4841
4817
  * @description Type of the line. (enum property replaced by openapi-typescript)
4842
4818
  * @enum {string}
4843
4819
  */
4844
4820
  type: 'flat_fee';
4845
- /** @description Price of the item being sold. */
4846
- perUnitAmount: components['schemas']['Numeric'];
4847
4821
  /**
4822
+ * @deprecated
4823
+ * @description Price of the item being sold.
4824
+ */
4825
+ perUnitAmount?: components['schemas']['Numeric'];
4826
+ /**
4827
+ * @deprecated
4848
4828
  * @description Payment term of the line.
4849
4829
  * @default in_advance
4850
4830
  */
4851
4831
  paymentTerm?: components['schemas']['PricePaymentTerm'];
4852
- /** @description Quantity of the item being sold. */
4853
- quantity: components['schemas']['Numeric'];
4832
+ /**
4833
+ * @deprecated
4834
+ * @description Quantity of the item being sold.
4835
+ */
4836
+ quantity?: components['schemas']['Numeric'];
4837
+ /** @description The rate card that is used for this line. */
4838
+ rateCard?: components['schemas']['InvoiceFlatFeeRateCard'];
4854
4839
  /**
4855
4840
  * @description Category of the flat fee.
4856
4841
  * @default regular
@@ -4876,7 +4861,10 @@ export interface components {
4876
4861
  * @description Additional metadata for the resource.
4877
4862
  */
4878
4863
  metadata?: components['schemas']['Metadata'] | null;
4879
- /** @description Tax config specify the tax configuration for this line. */
4864
+ /**
4865
+ * @deprecated
4866
+ * @description Tax config specify the tax configuration for this line.
4867
+ */
4880
4868
  taxConfig?: components['schemas']['TaxConfig'];
4881
4869
  /** @description Period of the line item applies to for revenue recognition pruposes.
4882
4870
  *
@@ -4893,15 +4881,24 @@ export interface components {
4893
4881
  * @enum {string}
4894
4882
  */
4895
4883
  type: 'flat_fee';
4896
- /** @description Price of the item being sold. */
4897
- perUnitAmount: components['schemas']['Numeric'];
4898
4884
  /**
4885
+ * @deprecated
4886
+ * @description Price of the item being sold.
4887
+ */
4888
+ perUnitAmount?: components['schemas']['Numeric'];
4889
+ /**
4890
+ * @deprecated
4899
4891
  * @description Payment term of the line.
4900
4892
  * @default in_advance
4901
4893
  */
4902
4894
  paymentTerm?: components['schemas']['PricePaymentTerm'];
4903
- /** @description Quantity of the item being sold. */
4904
- quantity: components['schemas']['Numeric'];
4895
+ /**
4896
+ * @deprecated
4897
+ * @description Quantity of the item being sold.
4898
+ */
4899
+ quantity?: components['schemas']['Numeric'];
4900
+ /** @description The rate card that is used for this line. */
4901
+ rateCard?: components['schemas']['InvoiceFlatFeeRateCard'];
4905
4902
  /**
4906
4903
  * @description Category of the flat fee.
4907
4904
  * @default regular
@@ -4932,7 +4929,10 @@ export interface components {
4932
4929
  metadata?: components['schemas']['Metadata'] | null;
4933
4930
  /** @description The currency of this line. */
4934
4931
  currency: components['schemas']['CurrencyCode'];
4935
- /** @description Tax config specify the tax configuration for this line. */
4932
+ /**
4933
+ * @deprecated
4934
+ * @description Tax config specify the tax configuration for this line.
4935
+ */
4936
4936
  taxConfig?: components['schemas']['TaxConfig'];
4937
4937
  /** @description Period of the line item applies to for revenue recognition pruposes.
4938
4938
  *
@@ -4949,15 +4949,24 @@ export interface components {
4949
4949
  * @enum {string}
4950
4950
  */
4951
4951
  type: 'flat_fee';
4952
- /** @description Price of the item being sold. */
4953
- perUnitAmount: components['schemas']['Numeric'];
4954
4952
  /**
4953
+ * @deprecated
4954
+ * @description Price of the item being sold.
4955
+ */
4956
+ perUnitAmount?: components['schemas']['Numeric'];
4957
+ /**
4958
+ * @deprecated
4955
4959
  * @description Payment term of the line.
4956
4960
  * @default in_advance
4957
4961
  */
4958
4962
  paymentTerm?: components['schemas']['PricePaymentTerm'];
4959
- /** @description Quantity of the item being sold. */
4960
- quantity: components['schemas']['Numeric'];
4963
+ /**
4964
+ * @deprecated
4965
+ * @description Quantity of the item being sold.
4966
+ */
4967
+ quantity?: components['schemas']['Numeric'];
4968
+ /** @description The rate card that is used for this line. */
4969
+ rateCard?: components['schemas']['InvoiceFlatFeeRateCard'];
4961
4970
  /**
4962
4971
  * @description Category of the flat fee.
4963
4972
  * @default regular
@@ -4969,6 +4978,36 @@ export interface components {
4969
4978
  */
4970
4979
  customerId: string;
4971
4980
  };
4981
+ /** @description InvoiceFlatFeeRateCard represents the rate card (intent) for a flat fee line. */
4982
+ InvoiceFlatFeeRateCard: {
4983
+ /**
4984
+ * Tax config
4985
+ * @description The tax config of the rate card.
4986
+ * When undefined, the tax config of the feature or the default tax config of the plan is used.
4987
+ */
4988
+ taxConfig?: components['schemas']['TaxConfig'];
4989
+ /**
4990
+ * Price
4991
+ * @description The price of the rate card.
4992
+ * When null, the feature or service is free.
4993
+ * @example {
4994
+ * "type": "flat",
4995
+ * "amount": "100",
4996
+ * "paymentTerm": "in_arrears"
4997
+ * }
4998
+ */
4999
+ price: components['schemas']['FlatPriceWithPaymentTerm'] | null;
5000
+ /**
5001
+ * Discounts
5002
+ * @description The discount of the rate card. For flat fee rate cards only percentage discounts are supported.
5003
+ * Only available when price is set.
5004
+ */
5005
+ discounts?: components['schemas']['DiscountPercentage'][];
5006
+ /** @description Quantity of the item being sold.
5007
+ *
5008
+ * Default: 1 */
5009
+ quantity?: components['schemas']['Numeric'];
5010
+ };
4972
5011
  /**
4973
5012
  * InvoiceGenericDocumentRef is used to describe an existing document or a specific part of it's contents.
4974
5013
  * @description Omitted fields:
@@ -4993,8 +5032,10 @@ export interface components {
4993
5032
  /** @description The external ID of the invoice in the tax app if available. */
4994
5033
  readonly tax?: string;
4995
5034
  };
4996
- /** @description InvoiceLineDiscount represents an amount deducted from the line, and will be applied before taxes. */
4997
- InvoiceLineDiscount: {
5035
+ /** @description InvoiceLineDiscount represents the actual discount applied to the invoice line. */
5036
+ InvoiceLineDiscount: components['schemas']['InvoiceLineDiscountAmount'] | components['schemas']['InvoiceLineDiscountUsage'];
5037
+ /** @description InvoiceLineDiscountAmount represents an amount deducted from the line, and will be applied before taxes. */
5038
+ InvoiceLineDiscountAmount: {
4998
5039
  /**
4999
5040
  * Creation Time
5000
5041
  * Format: date-time
@@ -5021,16 +5062,80 @@ export interface components {
5021
5062
  * @example 01G65Z755AFWAKHE12NY0CQ9FH
5022
5063
  */
5023
5064
  readonly id: string;
5024
- /** @description Percentage if fixed amount not applied */
5025
- percent?: components['schemas']['Percentage'];
5026
- /** @description Fixed discount amount to apply (calculated if percent present). */
5027
- amount: components['schemas']['Numeric'];
5028
5065
  /** @description Reason code. */
5029
- code?: string;
5066
+ readonly reason: components['schemas']['InvoiceDiscountReason'];
5030
5067
  /** @description Text description as to why the discount was applied. */
5031
- description?: string;
5068
+ readonly description?: string;
5032
5069
  /** @description External IDs of the invoice in other apps such as Stripe. */
5033
5070
  readonly externalIds?: components['schemas']['InvoiceLineAppExternalIds'];
5071
+ /** @description The discount from the rate card this discount is based on. */
5072
+ readonly rateCardDiscount?: components['schemas']['Discount'];
5073
+ /**
5074
+ * Amount in the currency of the invoice
5075
+ * @description Fixed discount amount to apply (calculated if percent present).
5076
+ */
5077
+ readonly amount: components['schemas']['Numeric'];
5078
+ /**
5079
+ * @description The type of the discount. (enum property replaced by openapi-typescript)
5080
+ * @enum {string}
5081
+ */
5082
+ type: 'amount';
5083
+ };
5084
+ /** @description InvoiceLineDiscountUsage represents an usage-based discount applied to the line.
5085
+ *
5086
+ * The deduction is done before the pricing algorithm is applied. */
5087
+ InvoiceLineDiscountUsage: {
5088
+ /**
5089
+ * Creation Time
5090
+ * Format: date-time
5091
+ * @description Timestamp of when the resource was created.
5092
+ * @example 2024-01-01T01:01:01.001Z
5093
+ */
5094
+ readonly createdAt: Date;
5095
+ /**
5096
+ * Last Update Time
5097
+ * Format: date-time
5098
+ * @description Timestamp of when the resource was last updated.
5099
+ * @example 2024-01-01T01:01:01.001Z
5100
+ */
5101
+ readonly updatedAt: Date;
5102
+ /**
5103
+ * Deletion Time
5104
+ * Format: date-time
5105
+ * @description Timestamp of when the resource was permanently deleted.
5106
+ * @example 2024-01-01T01:01:01.001Z
5107
+ */
5108
+ readonly deletedAt?: Date;
5109
+ /**
5110
+ * @description ID of the charge or discount.
5111
+ * @example 01G65Z755AFWAKHE12NY0CQ9FH
5112
+ */
5113
+ readonly id: string;
5114
+ /** @description Reason code. */
5115
+ readonly reason: components['schemas']['InvoiceDiscountReason'];
5116
+ /** @description Text description as to why the discount was applied. */
5117
+ readonly description?: string;
5118
+ /** @description External IDs of the invoice in other apps such as Stripe. */
5119
+ readonly externalIds?: components['schemas']['InvoiceLineAppExternalIds'];
5120
+ /** @description The discount from the rate card this discount is based on. */
5121
+ readonly rateCardDiscount?: components['schemas']['Discount'];
5122
+ /**
5123
+ * Usage quantity in the unit of the underlying meter
5124
+ * @description The usage to apply.
5125
+ */
5126
+ readonly quantity: components['schemas']['Numeric'];
5127
+ /**
5128
+ * Usage quantity in the unit of the underlying meter
5129
+ * @description The usage discount already applied to the previous split lines.
5130
+ *
5131
+ * Only set if progressive billing is enabled and the line is a split line.
5132
+ */
5133
+ readonly preLinePeriodQuantity?: components['schemas']['Numeric'];
5134
+ /**
5135
+ * @description The type of the discount. (enum property replaced by openapi-typescript)
5136
+ * @enum {string}
5137
+ */
5138
+ type: 'usage';
5034
5139
  };
5035
5140
  /**
5036
5141
  * @description InvoiceLineManagedBy specifies who manages the line.
@@ -5044,7 +5149,7 @@ export interface components {
5044
5149
  * @enum {string}
5045
5150
  */
5046
5151
  InvoiceLineStatus: 'valid' | 'detail' | 'split';
5047
- /** @description InvoiceLineSubscriptionReference contains the references to the subscriptions that this line is related to. */
5152
+ /** @description InvoiceLineSubscriptionReference contains the references to the subscription that this line is related to. */
5048
5153
  InvoiceLineSubscriptionReference: {
5049
5154
  /** @description The subscription. */
5050
5155
  readonly subscription: components['schemas']['IDResource'];
@@ -5205,7 +5310,10 @@ export interface components {
5205
5310
  * @description Additional metadata for the resource.
5206
5311
  */
5207
5312
  metadata?: components['schemas']['Metadata'] | null;
5208
- /** @description Tax config specify the tax configuration for this line. */
5313
+ /**
5314
+ * @deprecated
5315
+ * @description Tax config specify the tax configuration for this line.
5316
+ */
5209
5317
  taxConfig?: components['schemas']['TaxConfig'];
5210
5318
  /** @description Period of the line item applies to for revenue recognition pruposes.
5211
5319
  *
@@ -5222,15 +5330,24 @@ export interface components {
5222
5330
  * @enum {string}
5223
5331
  */
5224
5332
  type: 'flat_fee';
5225
- /** @description Price of the item being sold. */
5226
- perUnitAmount: components['schemas']['Numeric'];
5227
5333
  /**
5334
+ * @deprecated
5335
+ * @description Price of the item being sold.
5336
+ */
5337
+ perUnitAmount?: components['schemas']['Numeric'];
5338
+ /**
5339
+ * @deprecated
5228
5340
  * @description Payment term of the line.
5229
5341
  * @default in_advance
5230
5342
  */
5231
5343
  paymentTerm?: components['schemas']['PricePaymentTerm'];
5232
- /** @description Quantity of the item being sold. */
5233
- quantity: components['schemas']['Numeric'];
5344
+ /**
5345
+ * @deprecated
5346
+ * @description Quantity of the item being sold.
5347
+ */
5348
+ quantity?: components['schemas']['Numeric'];
5349
+ /** @description The rate card that is used for this line. */
5350
+ rateCard?: components['schemas']['InvoiceFlatFeeRateCard'];
5234
5351
  /**
5235
5352
  * @description Category of the flat fee.
5236
5353
  * @default regular
@@ -5274,7 +5391,10 @@ export interface components {
5274
5391
  * @description Additional metadata for the resource.
5275
5392
  */
5276
5393
  metadata?: components['schemas']['Metadata'] | null;
5277
- /** @description Tax config specify the tax configuration for this line. */
5394
+ /**
5395
+ * @deprecated
5396
+ * @description Tax config specify the tax configuration for this line.
5397
+ */
5278
5398
  taxConfig?: components['schemas']['TaxConfig'];
5279
5399
  /** @description Period of the line item applies to for revenue recognition pruposes.
5280
5400
  *
@@ -5291,10 +5411,20 @@ export interface components {
5291
5411
  * @enum {string}
5292
5412
  */
5293
5413
  type: 'usage_based';
5294
- /** @description Price of the usage-based item being sold. */
5295
- price: components['schemas']['RateCardUsageBasedPrice'];
5296
- /** @description The feature that the usage is based on. */
5297
- featureKey: string;
5414
+ /**
5415
+ * @deprecated
5416
+ * @description Price of the usage-based item being sold.
5417
+ */
5418
+ price?: components['schemas']['RateCardUsageBasedPrice'];
5419
+ /**
5420
+ * @deprecated
5421
+ * @description The feature that the usage is based on.
5422
+ */
5423
+ featureKey?: string;
5424
+ /** @description The rate card that is used for this line.
5425
+ *
5426
+ * The rate card captures the intent of the price and discounts for the usage-based item. */
5427
+ rateCard?: components['schemas']['InvoiceUsageBasedRateCard'];
5298
5428
  /** @description The quantity of the item being sold. */
5299
5429
  quantity: components['schemas']['Numeric'];
5300
5430
  /** @description The quantity of the item used before this line's period, if the line is billed progressively. */
@@ -5405,18 +5535,16 @@ export interface components {
5405
5535
  * New discounts can be added via the invoice's discounts API, to facilitate
5406
5536
  * discounts that are affecting multiple lines. */
5407
5537
  readonly discounts?: components['schemas']['InvoiceLineDiscount'][];
5408
- /** @description Charges applied to this line. (like minimum spend)
5409
- *
5410
- * New charges can be added via the invoice's charges API, to facilitate
5411
- * charges that are affecting multiple lines. */
5412
- readonly charges?: components['schemas']['BillingLineCharge'][];
5413
5538
  /** @description The invoice this item belongs to. */
5414
5539
  invoice?: components['schemas']['InvoiceReference'];
5415
5540
  /** @description The currency of this line. */
5416
5541
  currency: components['schemas']['CurrencyCode'];
5417
5542
  /** @description Taxes applied to the invoice totals. */
5418
5543
  readonly taxes?: components['schemas']['InvoiceLineTaxItem'][];
5419
- /** @description Tax config specify the tax configuration for this line. */
5544
+ /**
5545
+ * @deprecated
5546
+ * @description Tax config specify the tax configuration for this line.
5547
+ */
5420
5548
  taxConfig?: components['schemas']['TaxConfig'];
5421
5549
  /** @description The lines detailing the item or service sold. */
5422
5550
  readonly children?: components['schemas']['InvoiceLine'][];
@@ -5435,16 +5563,26 @@ export interface components {
5435
5563
  /** @description External IDs of the invoice in other apps such as Stripe. */
5436
5564
  readonly externalIds?: components['schemas']['InvoiceLineAppExternalIds'];
5437
5565
  /** @description Subscription are the references to the subscritpions that this line is related to. */
5438
- readonly subscriptions?: components['schemas']['InvoiceLineSubscriptionReference'];
5566
+ readonly subscription?: components['schemas']['InvoiceLineSubscriptionReference'];
5439
5567
  /**
5440
5568
  * @description Type of the line. (enum property replaced by openapi-typescript)
5441
5569
  * @enum {string}
5442
5570
  */
5443
5571
  type: 'usage_based';
5444
- /** @description Price of the usage-based item being sold. */
5445
- price: components['schemas']['RateCardUsageBasedPrice'];
5446
- /** @description The feature that the usage is based on. */
5447
- featureKey: string;
5572
+ /**
5573
+ * @deprecated
5574
+ * @description Price of the usage-based item being sold.
5575
+ */
5576
+ price?: components['schemas']['RateCardUsageBasedPrice'];
5577
+ /**
5578
+ * @deprecated
5579
+ * @description The feature that the usage is based on.
5580
+ */
5581
+ featureKey?: string;
5582
+ /** @description The rate card that is used for this line.
5583
+ *
5584
+ * The rate card captures the intent of the price and discounts for the usage-based item. */
5585
+ rateCard?: components['schemas']['InvoiceUsageBasedRateCard'];
5448
5586
  /** @description The quantity of the item being sold. */
5449
5587
  readonly quantity?: components['schemas']['Numeric'];
5450
5588
  /** @description The quantity of the item used in before this line's period.
@@ -5471,7 +5609,10 @@ export interface components {
5471
5609
  * @description Additional metadata for the resource.
5472
5610
  */
5473
5611
  metadata?: components['schemas']['Metadata'] | null;
5474
- /** @description Tax config specify the tax configuration for this line. */
5612
+ /**
5613
+ * @deprecated
5614
+ * @description Tax config specify the tax configuration for this line.
5615
+ */
5475
5616
  taxConfig?: components['schemas']['TaxConfig'];
5476
5617
  /** @description Period of the line item applies to for revenue recognition pruposes.
5477
5618
  *
@@ -5488,10 +5629,20 @@ export interface components {
5488
5629
  * @enum {string}
5489
5630
  */
5490
5631
  type: 'usage_based';
5491
- /** @description Price of the usage-based item being sold. */
5492
- price: components['schemas']['RateCardUsageBasedPrice'];
5493
- /** @description The feature that the usage is based on. */
5494
- featureKey: string;
5632
+ /**
5633
+ * @deprecated
5634
+ * @description Price of the usage-based item being sold.
5635
+ */
5636
+ price?: components['schemas']['RateCardUsageBasedPrice'];
5637
+ /**
5638
+ * @deprecated
5639
+ * @description The feature that the usage is based on.
5640
+ */
5641
+ featureKey?: string;
5642
+ /** @description The rate card that is used for this line.
5643
+ *
5644
+ * The rate card captures the intent of the price and discounts for the usage-based item. */
5645
+ rateCard?: components['schemas']['InvoiceUsageBasedRateCard'];
5495
5646
  /**
5496
5647
  * @description The ID of the line.
5497
5648
  * @example 01G65Z755AFWAKHE12NY0CQ9FH
@@ -5517,7 +5668,10 @@ export interface components {
5517
5668
  metadata?: components['schemas']['Metadata'] | null;
5518
5669
  /** @description The currency of this line. */
5519
5670
  currency: components['schemas']['CurrencyCode'];
5520
- /** @description Tax config specify the tax configuration for this line. */
5671
+ /**
5672
+ * @deprecated
5673
+ * @description Tax config specify the tax configuration for this line.
5674
+ */
5521
5675
  taxConfig?: components['schemas']['TaxConfig'];
5522
5676
  /** @description Period of the line item applies to for revenue recognition pruposes.
5523
5677
  *
@@ -5534,16 +5688,50 @@ export interface components {
5534
5688
  * @enum {string}
5535
5689
  */
5536
5690
  type: 'usage_based';
5537
- /** @description Price of the usage-based item being sold. */
5538
- price: components['schemas']['RateCardUsageBasedPrice'];
5539
- /** @description The feature that the usage is based on. */
5540
- featureKey: string;
5691
+ /**
5692
+ * @deprecated
5693
+ * @description Price of the usage-based item being sold.
5694
+ */
5695
+ price?: components['schemas']['RateCardUsageBasedPrice'];
5696
+ /**
5697
+ * @deprecated
5698
+ * @description The feature that the usage is based on.
5699
+ */
5700
+ featureKey?: string;
5701
+ /** @description The rate card that is used for this line.
5702
+ *
5703
+ * The rate card captures the intent of the price and discounts for the usage-based item. */
5704
+ rateCard?: components['schemas']['InvoiceUsageBasedRateCard'];
5541
5705
  /**
5542
5706
  * @description The customer this line item belongs to.
5543
5707
  * @example 01G65Z755AFWAKHE12NY0CQ9FH
5544
5708
  */
5545
5709
  customerId: string;
5546
5710
  };
5711
+ /** @description InvoiceUsageBasedRateCard represents the rate card (intent) for an usage-based line. */
5712
+ InvoiceUsageBasedRateCard: {
5713
+ /**
5714
+ * Feature key
5715
+ * @description The feature the customer is entitled to use.
5716
+ */
5717
+ featureKey?: string;
5718
+ /**
5719
+ * Tax config
5720
+ * @description The tax config of the rate card.
5721
+ * When undefined, the tax config of the feature or the default tax config of the plan is used.
5722
+ */
5723
+ taxConfig?: components['schemas']['TaxConfig'];
5724
+ /** @description The price of the rate card.
5725
+ * When null, the feature or service is free. */
5726
+ price: components['schemas']['RateCardUsageBasedPrice'] | null;
5727
+ /**
5728
+ * Discounts
5729
+ * @description The discounts of the rate card.
5730
+ *
5731
+ * Flat fee rate cards only support percentage discounts.
5732
+ */
5733
+ discounts?: components['schemas']['Discount'][];
5734
+ };
5547
5735
  /** @description InvoiceWorkflowInvoicingSettingsReplaceUpdate represents the update model for the invoicing settings of an invoice workflow. */
5548
5736
  InvoiceWorkflowInvoicingSettingsReplaceUpdate: {
5549
5737
  /**
@@ -8533,7 +8721,6 @@ export type AppType = components['schemas']['AppType'];
8533
8721
  export type BadRequestProblemResponse = components['schemas']['BadRequestProblemResponse'];
8534
8722
  export type BalanceHistoryWindow = components['schemas']['BalanceHistoryWindow'];
8535
8723
  export type BillingCustomerProfile = components['schemas']['BillingCustomerProfile'];
8536
- export type BillingLineCharge = components['schemas']['BillingLineCharge'];
8537
8724
  export type BillingParty = components['schemas']['BillingParty'];
8538
8725
  export type BillingPartyReplaceUpdate = components['schemas']['BillingPartyReplaceUpdate'];
8539
8726
  export type BillingPartyTaxIdentity = components['schemas']['BillingPartyTaxIdentity'];
@@ -8588,6 +8775,7 @@ export type CustomPlanInput = components['schemas']['CustomPlanInput'];
8588
8775
  export type CustomSubscriptionChange = components['schemas']['CustomSubscriptionChange'];
8589
8776
  export type CustomSubscriptionCreate = components['schemas']['CustomSubscriptionCreate'];
8590
8777
  export type Customer = components['schemas']['Customer'];
8778
+ export type CustomerAccess = components['schemas']['CustomerAccess'];
8591
8779
  export type CustomerAppData = components['schemas']['CustomerAppData'];
8592
8780
  export type CustomerAppDataPaginatedResponse = components['schemas']['CustomerAppDataPaginatedResponse'];
8593
8781
  export type CustomerCreate = components['schemas']['CustomerCreate'];
@@ -8650,6 +8838,7 @@ export type InvoiceAppExternalIds = components['schemas']['InvoiceAppExternalIds
8650
8838
  export type InvoiceAvailableActionDetails = components['schemas']['InvoiceAvailableActionDetails'];
8651
8839
  export type InvoiceAvailableActionInvoiceDetails = components['schemas']['InvoiceAvailableActionInvoiceDetails'];
8652
8840
  export type InvoiceAvailableActions = components['schemas']['InvoiceAvailableActions'];
8841
+ export type InvoiceDiscountReason = components['schemas']['InvoiceDiscountReason'];
8653
8842
  export type InvoiceDocumentRef = components['schemas']['InvoiceDocumentRef'];
8654
8843
  export type InvoiceDocumentRefType = components['schemas']['InvoiceDocumentRefType'];
8655
8844
  export type InvoiceExpand = components['schemas']['InvoiceExpand'];
@@ -8657,10 +8846,13 @@ export type InvoiceFlatFeeCategory = components['schemas']['InvoiceFlatFeeCatego
8657
8846
  export type InvoiceFlatFeeLine = components['schemas']['InvoiceFlatFeeLine'];
8658
8847
  export type InvoiceFlatFeeLineReplaceUpdate = components['schemas']['InvoiceFlatFeeLineReplaceUpdate'];
8659
8848
  export type InvoiceFlatFeePendingLineCreate = components['schemas']['InvoiceFlatFeePendingLineCreate'];
8849
+ export type InvoiceFlatFeeRateCard = components['schemas']['InvoiceFlatFeeRateCard'];
8660
8850
  export type InvoiceGenericDocumentRef = components['schemas']['InvoiceGenericDocumentRef'];
8661
8851
  export type InvoiceLine = components['schemas']['InvoiceLine'];
8662
8852
  export type InvoiceLineAppExternalIds = components['schemas']['InvoiceLineAppExternalIds'];
8663
8853
  export type InvoiceLineDiscount = components['schemas']['InvoiceLineDiscount'];
8854
+ export type InvoiceLineDiscountAmount = components['schemas']['InvoiceLineDiscountAmount'];
8855
+ export type InvoiceLineDiscountUsage = components['schemas']['InvoiceLineDiscountUsage'];
8664
8856
  export type InvoiceLineManagedBy = components['schemas']['InvoiceLineManagedBy'];
8665
8857
  export type InvoiceLineReplaceUpdate = components['schemas']['InvoiceLineReplaceUpdate'];
8666
8858
  export type InvoiceLineStatus = components['schemas']['InvoiceLineStatus'];
@@ -8687,6 +8879,7 @@ export type InvoiceType = components['schemas']['InvoiceType'];
8687
8879
  export type InvoiceUsageBasedLine = components['schemas']['InvoiceUsageBasedLine'];
8688
8880
  export type InvoiceUsageBasedLineReplaceUpdate = components['schemas']['InvoiceUsageBasedLineReplaceUpdate'];
8689
8881
  export type InvoiceUsageBasedPendingLineCreate = components['schemas']['InvoiceUsageBasedPendingLineCreate'];
8882
+ export type InvoiceUsageBasedRateCard = components['schemas']['InvoiceUsageBasedRateCard'];
8690
8883
  export type InvoiceWorkflowInvoicingSettingsReplaceUpdate = components['schemas']['InvoiceWorkflowInvoicingSettingsReplaceUpdate'];
8691
8884
  export type InvoiceWorkflowReplaceUpdate = components['schemas']['InvoiceWorkflowReplaceUpdate'];
8692
8885
  export type InvoiceWorkflowSettings = components['schemas']['InvoiceWorkflowSettings'];
@@ -9109,7 +9302,7 @@ export interface operations {
9109
9302
  };
9110
9303
  header?: never;
9111
9304
  path: {
9112
- addonIdOrKey: string;
9305
+ addonId: string;
9113
9306
  };
9114
9307
  cookie?: never;
9115
9308
  };
@@ -12625,6 +12818,100 @@ export interface operations {
12625
12818
  };
12626
12819
  };
12627
12820
  };
12821
+ getCustomerAccess: {
12822
+ parameters: {
12823
+ query?: never;
12824
+ header?: never;
12825
+ path: {
12826
+ customerIdOrKey: string;
12827
+ };
12828
+ cookie?: never;
12829
+ };
12830
+ requestBody?: never;
12831
+ responses: {
12832
+ /** @description The request has succeeded. */
12833
+ 200: {
12834
+ headers: {
12835
+ [name: string]: unknown;
12836
+ };
12837
+ content: {
12838
+ 'application/json': components['schemas']['CustomerAccess'];
12839
+ };
12840
+ };
12841
+ /** @description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). */
12842
+ 400: {
12843
+ headers: {
12844
+ [name: string]: unknown;
12845
+ };
12846
+ content: {
12847
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
12848
+ };
12849
+ };
12850
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
12851
+ 401: {
12852
+ headers: {
12853
+ [name: string]: unknown;
12854
+ };
12855
+ content: {
12856
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
12857
+ };
12858
+ };
12859
+ /** @description The server understood the request but refuses to authorize it. */
12860
+ 403: {
12861
+ headers: {
12862
+ [name: string]: unknown;
12863
+ };
12864
+ content: {
12865
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
12866
+ };
12867
+ };
12868
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
12869
+ 404: {
12870
+ headers: {
12871
+ [name: string]: unknown;
12872
+ };
12873
+ content: {
12874
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
12875
+ };
12876
+ };
12877
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
12878
+ 412: {
12879
+ headers: {
12880
+ [name: string]: unknown;
12881
+ };
12882
+ content: {
12883
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
12884
+ };
12885
+ };
12886
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
12887
+ 500: {
12888
+ headers: {
12889
+ [name: string]: unknown;
12890
+ };
12891
+ content: {
12892
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
12893
+ };
12894
+ };
12895
+ /** @description The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. */
12896
+ 503: {
12897
+ headers: {
12898
+ [name: string]: unknown;
12899
+ };
12900
+ content: {
12901
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
12902
+ };
12903
+ };
12904
+ /** @description An unexpected error response. */
12905
+ default: {
12906
+ headers: {
12907
+ [name: string]: unknown;
12908
+ };
12909
+ content: {
12910
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
12911
+ };
12912
+ };
12913
+ };
12914
+ };
12628
12915
  listCustomerAppData: {
12629
12916
  parameters: {
12630
12917
  query?: {