@openmeter/sdk 1.0.0-beta.213 → 1.0.0-beta.215

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.
Files changed (69) hide show
  1. package/dist/cjs/src/client/addons.cjs +105 -0
  2. package/dist/cjs/src/client/addons.d.cts +152 -0
  3. package/dist/cjs/src/client/addons.js.map +1 -0
  4. package/dist/cjs/src/client/billing.cjs +11 -3
  5. package/dist/cjs/src/client/billing.d.cts +32 -59
  6. package/dist/cjs/src/client/billing.js.map +1 -1
  7. package/dist/cjs/src/client/customers.cjs +17 -0
  8. package/dist/cjs/src/client/customers.d.cts +11 -0
  9. package/dist/cjs/src/client/customers.js.map +1 -1
  10. package/dist/cjs/src/client/events.cjs +19 -7
  11. package/dist/cjs/src/client/events.d.cts +15 -4
  12. package/dist/cjs/src/client/events.js.map +1 -1
  13. package/dist/cjs/src/client/index.cjs +6 -0
  14. package/dist/cjs/src/client/index.d.cts +4 -0
  15. package/dist/cjs/src/client/index.js.map +1 -1
  16. package/dist/cjs/src/client/notifications.d.cts +214 -36
  17. package/dist/cjs/src/client/plans.cjs +127 -50
  18. package/dist/cjs/src/client/plans.d.cts +129 -24
  19. package/dist/cjs/src/client/plans.js.map +1 -1
  20. package/dist/cjs/src/client/schemas.d.cts +1704 -1051
  21. package/dist/cjs/src/client/subscription-addons.cjs +70 -0
  22. package/dist/cjs/src/client/subscription-addons.d.cts +123 -0
  23. package/dist/cjs/src/client/subscription-addons.js.map +1 -0
  24. package/dist/cjs/src/client/subscriptions.cjs +16 -0
  25. package/dist/cjs/src/client/subscriptions.d.cts +23 -0
  26. package/dist/cjs/src/client/subscriptions.js.map +1 -1
  27. package/dist/cjs/src/portal/index.cjs +35 -6
  28. package/dist/cjs/src/portal/index.js.map +1 -1
  29. package/dist/cjs/src/zod/index.cjs +2929 -2975
  30. package/dist/cjs/src/zod/index.d.cts +2193 -3789
  31. package/dist/cjs/src/zod/index.js.map +1 -1
  32. package/dist/cjs/tsconfig.8e260acb.tsbuildinfo +1 -0
  33. package/dist/cjs/tsconfig.a3b81684.tsbuildinfo +1 -0
  34. package/dist/src/client/addons.d.ts +152 -0
  35. package/dist/src/client/addons.js +101 -0
  36. package/dist/src/client/addons.js.map +1 -0
  37. package/dist/src/client/billing.d.ts +32 -59
  38. package/dist/src/client/billing.js +11 -3
  39. package/dist/src/client/billing.js.map +1 -1
  40. package/dist/src/client/customers.d.ts +11 -0
  41. package/dist/src/client/customers.js +17 -0
  42. package/dist/src/client/customers.js.map +1 -1
  43. package/dist/src/client/events.d.ts +15 -4
  44. package/dist/src/client/events.js +19 -7
  45. package/dist/src/client/events.js.map +1 -1
  46. package/dist/src/client/index.d.ts +4 -0
  47. package/dist/src/client/index.js +6 -0
  48. package/dist/src/client/index.js.map +1 -1
  49. package/dist/src/client/notifications.d.ts +214 -36
  50. package/dist/src/client/plans.d.ts +129 -24
  51. package/dist/src/client/plans.js +124 -48
  52. package/dist/src/client/plans.js.map +1 -1
  53. package/dist/src/client/schemas.d.ts +1704 -1051
  54. package/dist/src/client/subscription-addons.d.ts +123 -0
  55. package/dist/src/client/subscription-addons.js +66 -0
  56. package/dist/src/client/subscription-addons.js.map +1 -0
  57. package/dist/src/client/subscriptions.d.ts +23 -0
  58. package/dist/src/client/subscriptions.js +16 -0
  59. package/dist/src/client/subscriptions.js.map +1 -1
  60. package/dist/src/portal/index.js +1 -2
  61. package/dist/src/portal/index.js.map +1 -1
  62. package/dist/src/zod/index.d.ts +2193 -3789
  63. package/dist/src/zod/index.js +2908 -2954
  64. package/dist/src/zod/index.js.map +1 -1
  65. package/dist/tsconfig.tsbuildinfo +1 -1
  66. package/orval.config.ts +11 -4
  67. package/package.json +17 -17
  68. package/dist/cjs/tsconfig.2452f99b.tsbuildinfo +0 -1
  69. package/dist/cjs/tsconfig.4cad059c.tsbuildinfo +0 -1
@@ -242,7 +242,13 @@ export interface paths {
242
242
  };
243
243
  /**
244
244
  * List customer overrides
245
- * @description List customer overrides
245
+ * @description List customer overrides using the specified filters.
246
+ *
247
+ * The response will include the customer override values and the merged billing profile values.
248
+ *
249
+ * If the includeAllCustomers is set to true, the list contains all customers. This mode is
250
+ * useful for getting the current effective billing workflow settings for all users regardless
251
+ * if they have customer orverrides or not.
246
252
  */
247
253
  get: operations['listBillingProfileCustomerOverrides'];
248
254
  put?: never;
@@ -263,17 +269,29 @@ export interface paths {
263
269
  /**
264
270
  * Get a customer override
265
271
  * @description Get a customer override by customer id.
272
+ *
273
+ * The response will include the customer override values and the merged billing profile values.
274
+ *
275
+ * If the customer override is not found, the default billing profile's values are returned. This behavior
276
+ * allows for getting a merged profile regardless of the customer override existence.
266
277
  */
267
278
  get: operations['getBillingProfileCustomerOverride'];
268
279
  /**
269
280
  * Create a new or update a customer override
270
- * @description Create a new or update an existing customer override.
281
+ * @description The customer override can be used to pin a given customer to a billing profile
282
+ * different from the default one.
283
+ *
284
+ * This can be used to test the effect of different billing profiles before making them
285
+ * the default ones or have different workflow settings for example for enterprise customers.
271
286
  */
272
287
  put: operations['upsertBillingProfileCustomerOverride'];
273
288
  post?: never;
274
289
  /**
275
290
  * Delete a customer override
276
291
  * @description Delete a customer override by customer id.
292
+ *
293
+ * This will remove the customer override and the customer will be subject to the default
294
+ * billing profile's settings again.
277
295
  */
278
296
  delete: operations['deleteBillingProfileCustomerOverride'];
279
297
  options?: never;
@@ -281,6 +299,33 @@ export interface paths {
281
299
  patch?: never;
282
300
  trace?: never;
283
301
  };
302
+ '/api/v1/billing/customers/{customerId}/invoices/pending-lines': {
303
+ parameters: {
304
+ query?: never;
305
+ header?: never;
306
+ path?: never;
307
+ cookie?: never;
308
+ };
309
+ get?: never;
310
+ put?: never;
311
+ /**
312
+ * Create pending line items
313
+ * @description Create a new pending line item (charge).
314
+ *
315
+ * This call is used to create a new pending line item for the customer if required a new
316
+ * gathering invoice will be created.
317
+ *
318
+ * A new invoice will be created if:
319
+ * - there is no invoice in gathering state
320
+ * - the currency of the line item doesn't match the currency of any invoices in gathering state
321
+ */
322
+ post: operations['createPendingInvoiceLine'];
323
+ delete?: never;
324
+ options?: never;
325
+ head?: never;
326
+ patch?: never;
327
+ trace?: never;
328
+ };
284
329
  '/api/v1/billing/customers/{customerId}/invoices/simulate': {
285
330
  parameters: {
286
331
  query?: never;
@@ -314,7 +359,12 @@ export interface paths {
314
359
  };
315
360
  /**
316
361
  * List invoices
317
- * @description List invoices for a specific customer
362
+ * @description List invoices based on the specified filters.
363
+ *
364
+ * The expand option can be used to include additional information (besides the invoice header and totals)
365
+ * in the response. For example by adding the expand=lines option the invoice lines will be included in the response.
366
+ *
367
+ * Gathering invoices will always show the current usage calculated on the fly.
318
368
  */
319
369
  get: operations['listInvoices'];
320
370
  put?: never;
@@ -353,33 +403,6 @@ export interface paths {
353
403
  patch?: never;
354
404
  trace?: never;
355
405
  };
356
- '/api/v1/billing/invoices/lines': {
357
- parameters: {
358
- query?: never;
359
- header?: never;
360
- path?: never;
361
- cookie?: never;
362
- };
363
- get?: never;
364
- put?: never;
365
- /**
366
- * Create pending line items
367
- * @description Create a new pending line item (charge).
368
- *
369
- * This call is used to create a new pending line item for the customer if required a new
370
- * gathering invoice will be created.
371
- *
372
- * A new invoice will be created if:
373
- * - there is no invoice in gathering state
374
- * - the currency of the line item doesn't match the currency of any invoices in gathering state
375
- */
376
- post: operations['createPendingInvoiceLine'];
377
- delete?: never;
378
- options?: never;
379
- head?: never;
380
- patch?: never;
381
- trace?: never;
382
- };
383
406
  '/api/v1/billing/invoices/{invoiceId}': {
384
407
  parameters: {
385
408
  query?: never;
@@ -390,6 +413,8 @@ export interface paths {
390
413
  /**
391
414
  * Get an invoice
392
415
  * @description Get an invoice by ID.
416
+ *
417
+ * Gathering invoices will always show the current usage calculated on the fly.
393
418
  */
394
419
  get: operations['getInvoice'];
395
420
  /**
@@ -405,6 +430,8 @@ export interface paths {
405
430
  * @description Delete an invoice
406
431
  *
407
432
  * Only invoices that are in the draft (or earlier) status can be deleted.
433
+ *
434
+ * Invoices that are post finalization can only be voided.
408
435
  */
409
436
  delete: operations['deleteInvoice'];
410
437
  options?: never;
@@ -484,6 +511,31 @@ export interface paths {
484
511
  patch?: never;
485
512
  trace?: never;
486
513
  };
514
+ '/api/v1/billing/invoices/{invoiceId}/snapshot-quantities': {
515
+ parameters: {
516
+ query?: never;
517
+ header?: never;
518
+ path?: never;
519
+ cookie?: never;
520
+ };
521
+ get?: never;
522
+ put?: never;
523
+ /**
524
+ * Snapshot quantities for usage based line items
525
+ * @description Snapshot quantities for usage based line items.
526
+ *
527
+ * This call will snapshot the quantities for all usage based line items in the invoice.
528
+ *
529
+ * This call is only valid in `draft.waiting_for_collection` status, where the collection period
530
+ * can be skipped using this action.
531
+ */
532
+ post: operations['snapshotQuantitiesInvoiceAction'];
533
+ delete?: never;
534
+ options?: never;
535
+ head?: never;
536
+ patch?: never;
537
+ trace?: never;
538
+ };
487
539
  '/api/v1/billing/invoices/{invoiceId}/taxes/recalculate': {
488
540
  parameters: {
489
541
  query?: never;
@@ -539,7 +591,11 @@ export interface paths {
539
591
  };
540
592
  /**
541
593
  * List billing profiles
542
- * @description List all billing profiles
594
+ * @description List all billing profiles matching the specified filters.
595
+ *
596
+ * The expand option can be used to include additional information (besides the billing profile)
597
+ * in the response. For example by adding the expand=apps option the apps used by the billing profile
598
+ * will be included in the response.
543
599
  */
544
600
  get: operations['listBillingProfiles'];
545
601
  put?: never;
@@ -566,18 +622,30 @@ export interface paths {
566
622
  };
567
623
  /**
568
624
  * Get a billing profile
569
- * @description Get a billing profile by ID
625
+ * @description Get a billing profile by id.
626
+ *
627
+ * The expand option can be used to include additional information (besides the billing profile)
628
+ * in the response. For example by adding the expand=apps option the apps used by the billing profile
629
+ * will be included in the response.
570
630
  */
571
631
  get: operations['getBillingProfile'];
572
632
  /**
573
633
  * Update a billing profile
574
- * @description Update a billing profile
634
+ * @description Update a billing profile by id.
635
+ *
636
+ * The apps field cannot be updated directly, if an app change is desired a new
637
+ * profile should be created.
575
638
  */
576
639
  put: operations['updateBillingProfile'];
577
640
  post?: never;
578
641
  /**
579
642
  * Delete a billing profile
580
- * @description Delete a billing profile
643
+ * @description Delete a billing profile by id.
644
+ *
645
+ * Only such billing profiles can be deleted that are:
646
+ * - not the default one
647
+ * - not pinned to any customer using customer overrides
648
+ * - only have finalized invoices
581
649
  */
582
650
  delete: operations['deleteBillingProfile'];
583
651
  options?: never;
@@ -709,7 +777,7 @@ export interface paths {
709
777
  cookie?: never;
710
778
  };
711
779
  /**
712
- * Get entitlement value
780
+ * Get customer entitlement value
713
781
  * @description Checks customer access to a given feature (by key). All entitlement types share the hasAccess property in their value response, but multiple other properties are returned based on the entitlement type.
714
782
  */
715
783
  get: operations['getCustomerEntitlementValue'];
@@ -1155,7 +1223,8 @@ export interface paths {
1155
1223
  */
1156
1224
  get: operations['queryMeter'];
1157
1225
  put?: never;
1158
- post?: never;
1226
+ /** Query meter */
1227
+ post: operations['queryMeterPost'];
1159
1228
  delete?: never;
1160
1229
  options?: never;
1161
1230
  head?: never;
@@ -1350,26 +1419,6 @@ export interface paths {
1350
1419
  patch?: never;
1351
1420
  trace?: never;
1352
1421
  };
1353
- '/api/v1/notification/webhook/svix': {
1354
- parameters: {
1355
- query?: never;
1356
- header?: never;
1357
- path?: never;
1358
- cookie?: never;
1359
- };
1360
- get?: never;
1361
- put?: never;
1362
- /**
1363
- * Receive Svix operational events
1364
- * @description Callback endpoint used by Svix to notify about operational events.
1365
- */
1366
- post: operations['receiveSvixOperationalEvent'];
1367
- delete?: never;
1368
- options?: never;
1369
- head?: never;
1370
- patch?: never;
1371
- trace?: never;
1372
- };
1373
1422
  '/api/v1/plans': {
1374
1423
  parameters: {
1375
1424
  query?: never;
@@ -1683,13 +1732,13 @@ export interface paths {
1683
1732
  cookie?: never;
1684
1733
  };
1685
1734
  /**
1686
- * List entitlements
1735
+ * List subject entitlements
1687
1736
  * @description List all entitlements for a subject. For checking entitlement access, use the /value endpoint instead.
1688
1737
  */
1689
1738
  get: operations['listSubjectEntitlements'];
1690
1739
  put?: never;
1691
1740
  /**
1692
- * Create an entitlement
1741
+ * Create a subject entitlement
1693
1742
  * @description OpenMeter has three types of entitlements: metered, boolean, and static. The type property determines the type of entitlement. The underlying feature has to be compatible with the entitlement type specified in the request (e.g., a metered entitlement needs a feature associated with a meter).
1694
1743
  *
1695
1744
  * - Boolean entitlements define static feature access, e.g. "Can use SSO authentication".
@@ -1715,13 +1764,13 @@ export interface paths {
1715
1764
  cookie?: never;
1716
1765
  };
1717
1766
  /**
1718
- * List entitlement grants
1767
+ * List subject entitlement grants
1719
1768
  * @description List all grants issued for an entitlement. The entitlement can be defined either by its id or featureKey.
1720
1769
  */
1721
1770
  get: operations['listEntitlementGrants'];
1722
1771
  put?: never;
1723
1772
  /**
1724
- * Create grant
1773
+ * Create subject entitlement grant
1725
1774
  * @description Grants define a behavior of granting usage for a metered entitlement. They can have complicated recurrence and rollover rules, thanks to which you can define a wide range of access patterns with a single grant, in most cases you don't have to periodically create new grants. You can only issue grants for active metered entitlements.
1726
1775
  *
1727
1776
  * A grant defines a given amount of usage that can be consumed for the entitlement. The grant is in effect between its effective date and its expiration date. Specifying both is mandatory for new grants.
@@ -1750,7 +1799,7 @@ export interface paths {
1750
1799
  };
1751
1800
  get?: never;
1752
1801
  /**
1753
- * Override entitlement
1802
+ * Override subject entitlement
1754
1803
  * @description Overriding an entitlement creates a new entitlement from the provided inputs and soft deletes the previous entitlement for the provided subject-feature pair. If the previous entitlement is already deleted or otherwise doesnt exist, the override will fail.
1755
1804
  *
1756
1805
  * This endpoint is useful for upgrades, downgrades, or other changes to entitlements that require a new entitlement to be created with zero downtime.
@@ -1771,7 +1820,7 @@ export interface paths {
1771
1820
  cookie?: never;
1772
1821
  };
1773
1822
  /**
1774
- * Get entitlement value
1823
+ * Get subject entitlement value
1775
1824
  * @description This endpoint should be used for access checks and enforcement. All entitlement types share the hasAccess property in their value response, but multiple other properties are returned based on the entitlement type.
1776
1825
  *
1777
1826
  * For convenience reasons, /value works with both entitlementId and featureKey.
@@ -1793,14 +1842,14 @@ export interface paths {
1793
1842
  cookie?: never;
1794
1843
  };
1795
1844
  /**
1796
- * Get entitlement
1845
+ * Get subject entitlement
1797
1846
  * @description Get entitlement by id. For checking entitlement access, use the /value endpoint instead.
1798
1847
  */
1799
1848
  get: operations['getEntitlement'];
1800
1849
  put?: never;
1801
1850
  post?: never;
1802
1851
  /**
1803
- * Delete entitlement
1852
+ * Delete subject entitlement
1804
1853
  * @description Deleting an entitlement revokes access to the associated feature. As a single subject can only have one entitlement per featureKey, when "migrating" features you have to delete the old entitlements as well.
1805
1854
  * As access and status checks can be historical queries, deleting an entitlement populates the deletedAt timestamp. When queried for a time before that, the entitlement is still considered active, you cannot have retroactive changes to access, which is important for, among other things, auditing.
1806
1855
  */
@@ -1818,7 +1867,7 @@ export interface paths {
1818
1867
  cookie?: never;
1819
1868
  };
1820
1869
  /**
1821
- * Get entitlement history
1870
+ * Get subject entitlement history
1822
1871
  * @description Returns historical balance and usage data for the entitlement. The queried history can span accross multiple reset events.
1823
1872
  *
1824
1873
  * BurndownHistory returns a continous history of segments, where the segments are seperated by events that changed either the grant burndown priority or the usage period.
@@ -1844,7 +1893,7 @@ export interface paths {
1844
1893
  get?: never;
1845
1894
  put?: never;
1846
1895
  /**
1847
- * Reset entitlement
1896
+ * Reset subject entitlement
1848
1897
  * @description Reset marks the start of a new usage period for the entitlement and initiates grant rollover. At the start of a period usage is zerod out and grants are rolled over based on their rollover settings. It would typically be synced with the subjects billing period to enforce usage based on their subscription.
1849
1898
  *
1850
1899
  * Usage is automatically reset for metered entitlements based on their usage period, but this endpoint allows to manually reset it at any time. When doing so the period anchor of the entitlement can be changed if needed.
@@ -2175,6 +2224,11 @@ export interface components {
2175
2224
  * @description The rate cards of the add-on.
2176
2225
  */
2177
2226
  rateCards: components['schemas']['RateCard'][];
2227
+ /**
2228
+ * Validation errors
2229
+ * @description List of validation errors.
2230
+ */
2231
+ readonly validationErrors: components['schemas']['ValidationError'][] | null;
2178
2232
  };
2179
2233
  /** @description Resource create operation model. */
2180
2234
  AddonCreate: {
@@ -2296,10 +2350,16 @@ export interface components {
2296
2350
  /** @description Phone number. */
2297
2351
  phoneNumber?: string;
2298
2352
  };
2299
- /** @description Alignment configuration for a plan or subscription. */
2353
+ /**
2354
+ * @deprecated
2355
+ * @description Alignment configuration for a plan or subscription.
2356
+ */
2300
2357
  Alignment: {
2301
- /** @description Whether all Billable items and RateCards must align.
2302
- * Alignment means the Price's BillingCadence must align for both duration and anchor time. */
2358
+ /**
2359
+ * @deprecated
2360
+ * @description Whether all Billable items and RateCards must align.
2361
+ * Alignment means the Price's BillingCadence must align for both duration and anchor time.
2362
+ */
2303
2363
  billablesMustAlign?: boolean;
2304
2364
  };
2305
2365
  /**
@@ -2566,11 +2626,20 @@ export interface components {
2566
2626
  };
2567
2627
  /** @description BillingProfileAppsCreate represents the input for creating a billing profile's apps */
2568
2628
  BillingProfileAppsCreate: {
2569
- /** @description The tax app used for this workflow */
2629
+ /**
2630
+ * @description The tax app used for this workflow
2631
+ * @example 01G65Z755AFWAKHE12NY0CQ9FH
2632
+ */
2570
2633
  tax: string;
2571
- /** @description The invoicing app used for this workflow */
2634
+ /**
2635
+ * @description The invoicing app used for this workflow
2636
+ * @example 01G65Z755AFWAKHE12NY0CQ9FH
2637
+ */
2572
2638
  invoicing: string;
2573
- /** @description The payment app used for this workflow */
2639
+ /**
2640
+ * @description The payment app used for this workflow
2641
+ * @example 01G65Z755AFWAKHE12NY0CQ9FH
2642
+ */
2574
2643
  payment: string;
2575
2644
  };
2576
2645
  /** @description ProfileAppsOrReference represents the union of ProfileApps and ProfileAppReferences
@@ -2757,6 +2826,8 @@ export interface components {
2757
2826
  invoicing?: components['schemas']['BillingWorkflowInvoicingSettings'];
2758
2827
  /** @description The payment settings for this workflow */
2759
2828
  payment?: components['schemas']['BillingWorkflowPaymentSettings'];
2829
+ /** @description The tax settings for this workflow */
2830
+ tax?: components['schemas']['BillingWorkflowTaxSettings'];
2760
2831
  };
2761
2832
  /** @description The alignment for collecting the pending line items into an invoice.
2762
2833
  *
@@ -2787,7 +2858,7 @@ export interface components {
2787
2858
  * alignment.
2788
2859
  *
2789
2860
  * This is useful, in case of multiple subscriptions having slightly different billing periods.
2790
- * @default PT2H
2861
+ * @default PT1H
2791
2862
  * @example P1D
2792
2863
  */
2793
2864
  interval?: string;
@@ -2800,6 +2871,8 @@ export interface components {
2800
2871
  invoicing?: components['schemas']['BillingWorkflowInvoicingSettings'];
2801
2872
  /** @description The payment settings for this workflow */
2802
2873
  payment?: components['schemas']['BillingWorkflowPaymentSettings'];
2874
+ /** @description The tax settings for this workflow */
2875
+ tax?: components['schemas']['BillingWorkflowTaxSettings'];
2803
2876
  };
2804
2877
  /**
2805
2878
  * Workflow invoice settings
@@ -2821,8 +2894,9 @@ export interface components {
2821
2894
  /**
2822
2895
  * Format: ISO8601
2823
2896
  * @description The period after which the invoice is due.
2824
- * @default P1W
2825
- * @example P1D
2897
+ * With some payment solutions it's only applicable for manual collection method.
2898
+ * @default P30D
2899
+ * @example P30D
2826
2900
  */
2827
2901
  dueAfter?: string;
2828
2902
  /**
@@ -2844,6 +2918,26 @@ export interface components {
2844
2918
  */
2845
2919
  collectionMethod?: components['schemas']['CollectionMethod'];
2846
2920
  };
2921
+ /**
2922
+ * Workflow tax settings
2923
+ * @description BillingWorkflowTaxSettings represents the tax settings for a billing workflow
2924
+ */
2925
+ BillingWorkflowTaxSettings: {
2926
+ /**
2927
+ * @description Enable automatic tax calculation when tax is supported by the app.
2928
+ * For example, with Stripe Invoicing when enabled, tax is calculated via Stripe Tax.
2929
+ * @default true
2930
+ */
2931
+ enabled?: boolean;
2932
+ /**
2933
+ * @description Enforce tax calculation when tax is supported by the app.
2934
+ * When enabled, OpenMeter will not allow to create an invoice without tax calculation.
2935
+ * Enforcement is different per apps, for example, Stripe app requires customer
2936
+ * to have a tax location when starting a paid subscription.
2937
+ * @default false
2938
+ */
2939
+ enforced?: boolean;
2940
+ };
2847
2941
  /** @description Stripe CheckoutSession.custom_text */
2848
2942
  CheckoutSessionCustomTextAfterSubmitParams: {
2849
2943
  /** @description Custom text that should be displayed after the payment confirmation button. */
@@ -3114,7 +3208,7 @@ export interface components {
3114
3208
  * @description Type of the invoice.
3115
3209
  * @enum {string}
3116
3210
  */
3117
- type: 'credit_node_original_invoice';
3211
+ type: 'credit_note_original_invoice';
3118
3212
  /**
3119
3213
  * Format: date-time
3120
3214
  * @description IssueAt reflects the time the document was issued.
@@ -3200,9 +3294,6 @@ export interface components {
3200
3294
  readonly listing: components['schemas']['MarketplaceListing'];
3201
3295
  /** @description Status of the app connection. */
3202
3296
  readonly status: components['schemas']['AppStatus'];
3203
- /** @description Default for the app type
3204
- * Only one app of each type can be default. */
3205
- default: boolean;
3206
3297
  /**
3207
3298
  * @description The app's type is CustomInvoicing. (enum property replaced by openapi-typescript)
3208
3299
  * @enum {string}
@@ -3234,9 +3325,6 @@ export interface components {
3234
3325
  * @description Additional metadata for the resource.
3235
3326
  */
3236
3327
  metadata?: components['schemas']['Metadata'] | null;
3237
- /** @description Default for the app type
3238
- * Only one app of each type can be default. */
3239
- default: boolean;
3240
3328
  /**
3241
3329
  * @description The app's type is CustomInvoicing. (enum property replaced by openapi-typescript)
3242
3330
  * @enum {string}
@@ -3386,6 +3474,24 @@ export interface components {
3386
3474
  * @default USD
3387
3475
  */
3388
3476
  currency: components['schemas']['CurrencyCode'];
3477
+ /**
3478
+ * Billing cadence
3479
+ * Format: duration
3480
+ * @description The default billing cadence for subscriptions using this plan.
3481
+ * Defines how often customers are billed using ISO8601 duration format.
3482
+ * Examples: "P1M" (monthly), "P3M" (quarterly), "P1Y" (annually).
3483
+ * @example P1M
3484
+ */
3485
+ billingCadence: string;
3486
+ /**
3487
+ * Pro-rating configuration
3488
+ * @description Default pro-rating configuration for subscriptions using this plan.
3489
+ * @default {
3490
+ * "enabled": true,
3491
+ * "mode": "prorate_prices"
3492
+ * }
3493
+ */
3494
+ proRatingConfig?: components['schemas']['ProRatingConfig'];
3389
3495
  /**
3390
3496
  * Plan phases
3391
3497
  * @description The plan phase or pricing ramp allows changing a plan's rate cards over time as a subscription progresses.
@@ -3398,6 +3504,12 @@ export interface components {
3398
3504
  /** @description Timing configuration for the change, when the change should take effect.
3399
3505
  * For changing a subscription, the accepted values depend on the subscription configuration. */
3400
3506
  timing: components['schemas']['SubscriptionTiming'];
3507
+ /**
3508
+ * Format: date-time
3509
+ * @description The billing anchor of the subscription. The provided date will be normalized according to the billing cadence to the nearest recurrence before start time. If not provided, the previous subscription billing anchor will be used.
3510
+ * @example 2023-01-01T01:01:01.001Z
3511
+ */
3512
+ billingAnchor?: Date;
3401
3513
  /** @description The custom plan description which defines the Subscription. */
3402
3514
  customPlan: components['schemas']['CustomPlanInput'];
3403
3515
  };
@@ -3418,6 +3530,12 @@ export interface components {
3418
3530
  customerId?: string;
3419
3531
  /** @description The key of the customer. Provide either the key or ID. */
3420
3532
  customerKey?: string;
3533
+ /**
3534
+ * Format: date-time
3535
+ * @description The billing anchor of the subscription. The provided date will be normalized according to the billing cadence to the nearest recurrence before start time. If not provided, the subscription start time will be used.
3536
+ * @example 2023-01-01T01:01:01.001Z
3537
+ */
3538
+ billingAnchor?: Date;
3421
3539
  };
3422
3540
  /**
3423
3541
  * @description A customer object.
@@ -5123,6 +5241,18 @@ export interface components {
5123
5241
  * @example 2023-01-01T01:01:01.001Z
5124
5242
  */
5125
5243
  draftUntil?: Date;
5244
+ /**
5245
+ * Format: date-time
5246
+ * @description The time when the quantity snapshots on the invoice lines were taken.
5247
+ * @example 2023-01-01T01:01:01.001Z
5248
+ */
5249
+ readonly quantitySnapshotedAt?: Date;
5250
+ /**
5251
+ * Format: date-time
5252
+ * @description The time when the invoice will be/has been collected.
5253
+ * @example 2023-01-01T01:01:01.001Z
5254
+ */
5255
+ readonly collectionAt?: Date;
5126
5256
  /**
5127
5257
  * Format: date-time
5128
5258
  * @description Due time of the fulfillment of the invoice (if available).
@@ -5190,31 +5320,15 @@ export interface components {
5190
5320
  readonly delete?: components['schemas']['InvoiceAvailableActionDetails'];
5191
5321
  /** @description Retry an invoice issuing step that failed. */
5192
5322
  readonly retry?: components['schemas']['InvoiceAvailableActionDetails'];
5323
+ /** @description Snapshot quantities for usage based line items. */
5324
+ readonly snapshotQuantities?: components['schemas']['InvoiceAvailableActionDetails'];
5193
5325
  /** @description Void an already issued invoice. */
5194
5326
  readonly void?: components['schemas']['InvoiceAvailableActionDetails'];
5195
5327
  /** @description Invoice a gathering invoice */
5196
5328
  readonly invoice?: components['schemas']['InvoiceAvailableActionInvoiceDetails'];
5197
5329
  };
5198
- /** @description InvoiceDocumentRef is used to describe a reference to an existing document (invoice). */
5199
- InvoiceDocumentRef: components['schemas']['CreditNoteOriginalInvoiceRef'];
5200
- /**
5201
- * @description InvoiceDocumentRefType defines the type of document that is being referenced.
5202
- * @enum {string}
5203
- */
5204
- InvoiceDocumentRefType: 'credit_node_original_invoice';
5205
- /**
5206
- * @description InvoiceExpand specifies the parts of the invoice to expand in the list output.
5207
- * @enum {string}
5208
- */
5209
- InvoiceExpand: 'lines' | 'preceding' | 'workflow.apps';
5210
- /**
5211
- * @description InvoiceFlatFeeCategory determines if the flat fee is a regular fee due to use due to a
5212
- * commitment.
5213
- * @enum {string}
5214
- */
5215
- InvoiceFlatFeeCategory: 'regular' | 'commitment';
5216
- /** @description InvoiceFlatFeeLine represents a line item that is sold to the customer as a manually added fee. */
5217
- InvoiceFlatFeeLine: {
5330
+ /** @description InvoiceDetailedLine represents a line item that is sold to the customer as a manually added fee. */
5331
+ InvoiceDetailedLine: {
5218
5332
  /**
5219
5333
  * Display name
5220
5334
  * @description Human-readable name for the resource. Between 1 and 256 characters.
@@ -5279,8 +5393,6 @@ export interface components {
5279
5393
  * @description Tax config specify the tax configuration for this line.
5280
5394
  */
5281
5395
  taxConfig?: components['schemas']['TaxConfig'];
5282
- /** @description The lines detailing the item or service sold. */
5283
- readonly children?: components['schemas']['InvoiceLine'][];
5284
5396
  /** @description Totals for this line. */
5285
5397
  readonly totals: components['schemas']['InvoiceTotals'];
5286
5398
  /** @description Period of the line item applies to for revenue recognition pruposes.
@@ -5298,10 +5410,11 @@ export interface components {
5298
5410
  /** @description Subscription are the references to the subscritpions that this line is related to. */
5299
5411
  readonly subscription?: components['schemas']['InvoiceLineSubscriptionReference'];
5300
5412
  /**
5301
- * @description Type of the line. (enum property replaced by openapi-typescript)
5413
+ * @deprecated
5414
+ * @description Type of the line.
5302
5415
  * @enum {string}
5303
5416
  */
5304
- type: 'flat_fee';
5417
+ readonly type: 'flat_fee';
5305
5418
  /**
5306
5419
  * @deprecated
5307
5420
  * @description Price of the item being sold.
@@ -5319,17 +5432,74 @@ export interface components {
5319
5432
  */
5320
5433
  quantity?: components['schemas']['Numeric'];
5321
5434
  /** @description The rate card that is used for this line. */
5322
- rateCard?: components['schemas']['InvoiceFlatFeeRateCard'];
5435
+ rateCard?: components['schemas']['InvoiceDetailedLineRateCard'];
5323
5436
  /**
5324
5437
  * @description Category of the flat fee.
5325
5438
  * @default regular
5326
5439
  */
5327
- category?: components['schemas']['InvoiceFlatFeeCategory'];
5440
+ readonly category?: components['schemas']['InvoiceDetailedLineCostCategory'];
5328
5441
  };
5329
- /** @description InvoiceFlatFeeLineReplaceUpdate represents the update model for a flat fee invoice line.
5330
- *
5331
- * This type makes ID optional to allow for creating new lines as part of the update. */
5332
- InvoiceFlatFeeLineReplaceUpdate: {
5442
+ /**
5443
+ * @description InvoiceDetailedLineCostCategory determines if the flat fee is a regular fee due to use due to a
5444
+ * commitment.
5445
+ * @enum {string}
5446
+ */
5447
+ InvoiceDetailedLineCostCategory: 'regular' | 'commitment';
5448
+ /** @description InvoiceDetailedLineRateCard represents the rate card (intent) for a flat fee line. */
5449
+ InvoiceDetailedLineRateCard: {
5450
+ /**
5451
+ * Tax config
5452
+ * @description The tax config of the rate card.
5453
+ * When undefined, the tax config of the feature or the default tax config of the plan is used.
5454
+ */
5455
+ taxConfig?: components['schemas']['TaxConfig'];
5456
+ /**
5457
+ * Price
5458
+ * @description The price of the rate card.
5459
+ * When null, the feature or service is free.
5460
+ * @example {
5461
+ * "type": "flat",
5462
+ * "amount": "100",
5463
+ * "paymentTerm": "in_arrears"
5464
+ * }
5465
+ */
5466
+ price: components['schemas']['FlatPriceWithPaymentTerm'] | null;
5467
+ /** @description Quantity of the item being sold.
5468
+ *
5469
+ * Default: 1 */
5470
+ quantity?: components['schemas']['Numeric'];
5471
+ /** @description The discounts that are applied to the line. */
5472
+ discounts?: components['schemas']['BillingDiscounts'];
5473
+ };
5474
+ /** @description InvoiceDocumentRef is used to describe a reference to an existing document (invoice). */
5475
+ InvoiceDocumentRef: components['schemas']['CreditNoteOriginalInvoiceRef'];
5476
+ /**
5477
+ * @description InvoiceDocumentRefType defines the type of document that is being referenced.
5478
+ * @enum {string}
5479
+ */
5480
+ InvoiceDocumentRefType: 'credit_note_original_invoice';
5481
+ /**
5482
+ * @description InvoiceExpand specifies the parts of the invoice to expand in the list output.
5483
+ * @enum {string}
5484
+ */
5485
+ InvoiceExpand: 'lines' | 'preceding' | 'workflow.apps';
5486
+ /**
5487
+ * InvoiceGenericDocumentRef is used to describe an existing document or a specific part of it's contents.
5488
+ * @description Omitted fields:
5489
+ * period: Tax period in which the referred document had an effect required by some tax regimes and formats.
5490
+ * stamps: Seals of approval from other organisations that may need to be listed.
5491
+ * ext: Extensions for additional codes that may be required.
5492
+ */
5493
+ InvoiceGenericDocumentRef: {
5494
+ /** @description Type of the document referenced. */
5495
+ readonly type: components['schemas']['InvoiceDocumentRefType'];
5496
+ /** @description Human readable description on why this reference is here or needs to be used. */
5497
+ readonly reason?: string;
5498
+ /** @description Additional details about the document. */
5499
+ readonly description?: string;
5500
+ };
5501
+ /** @description InvoiceUsageBasedLine represents a line item that is sold to the customer based on usage. */
5502
+ InvoiceLine: {
5333
5503
  /**
5334
5504
  * Display name
5335
5505
  * @description Human-readable name for the resource. Between 1 and 256 characters.
@@ -5346,78 +5516,56 @@ export interface components {
5346
5516
  */
5347
5517
  metadata?: components['schemas']['Metadata'] | null;
5348
5518
  /**
5349
- * @deprecated
5350
- * @description Tax config specify the tax configuration for this line.
5519
+ * Creation Time
5520
+ * Format: date-time
5521
+ * @description Timestamp of when the resource was created.
5522
+ * @example 2024-01-01T01:01:01.001Z
5351
5523
  */
5352
- taxConfig?: components['schemas']['TaxConfig'];
5353
- /** @description Period of the line item applies to for revenue recognition pruposes.
5354
- *
5355
- * Billing always treats periods as start being inclusive and end being exclusive. */
5356
- period: components['schemas']['Period'];
5524
+ readonly createdAt: Date;
5357
5525
  /**
5526
+ * Last Update Time
5358
5527
  * Format: date-time
5359
- * @description The time this line item should be invoiced.
5360
- * @example 2023-01-01T01:01:01.001Z
5528
+ * @description Timestamp of when the resource was last updated.
5529
+ * @example 2024-01-01T01:01:01.001Z
5361
5530
  */
5362
- invoiceAt: Date;
5531
+ readonly updatedAt: Date;
5363
5532
  /**
5364
- * @description Type of the line. (enum property replaced by openapi-typescript)
5365
- * @enum {string}
5366
- */
5367
- type: 'flat_fee';
5368
- /**
5369
- * @deprecated
5370
- * @description Price of the item being sold.
5371
- */
5372
- perUnitAmount?: components['schemas']['Numeric'];
5373
- /**
5374
- * @deprecated
5375
- * @description Payment term of the line.
5376
- * @default in_advance
5377
- */
5378
- paymentTerm?: components['schemas']['PricePaymentTerm'];
5379
- /**
5380
- * @deprecated
5381
- * @description Quantity of the item being sold.
5382
- */
5383
- quantity?: components['schemas']['Numeric'];
5384
- /** @description The rate card that is used for this line. */
5385
- rateCard?: components['schemas']['InvoiceFlatFeeRateCard'];
5386
- /**
5387
- * @description Category of the flat fee.
5388
- * @default regular
5533
+ * Deletion Time
5534
+ * Format: date-time
5535
+ * @description Timestamp of when the resource was permanently deleted.
5536
+ * @example 2024-01-01T01:01:01.001Z
5389
5537
  */
5390
- category?: components['schemas']['InvoiceFlatFeeCategory'];
5538
+ readonly deletedAt?: Date;
5391
5539
  /**
5392
- * @description The ID of the line.
5540
+ * @description ID of the line.
5393
5541
  * @example 01G65Z755AFWAKHE12NY0CQ9FH
5394
5542
  */
5395
- id?: string;
5396
- };
5397
- /** @description InvoiceFlatFeePendingLineCreate represents the create model for an invoice line that is sold to the customer as a manually added fee. */
5398
- InvoiceFlatFeePendingLineCreate: {
5399
- /**
5400
- * Display name
5401
- * @description Human-readable name for the resource. Between 1 and 256 characters.
5402
- */
5403
- name: string;
5404
- /**
5405
- * Description
5406
- * @description Optional description of the resource. Maximum 1024 characters.
5407
- */
5408
- description?: string;
5409
- /**
5410
- * Metadata
5411
- * @description Additional metadata for the resource.
5412
- */
5413
- metadata?: components['schemas']['Metadata'] | null;
5543
+ id: string;
5544
+ /** @description managedBy specifies if the line is manually added via the api or managed by OpenMeter. */
5545
+ readonly managedBy: components['schemas']['InvoiceLineManagedBy'];
5546
+ /** @description Status of the line.
5547
+ *
5548
+ * External calls always create valid lines, other line types are managed by the
5549
+ * billing engine of OpenMeter. */
5550
+ readonly status: components['schemas']['InvoiceLineStatus'];
5551
+ /** @description Discounts detailes applied to this line.
5552
+ *
5553
+ * New discounts can be added via the invoice's discounts API, to facilitate
5554
+ * discounts that are affecting multiple lines. */
5555
+ readonly discounts?: components['schemas']['InvoiceLineDiscounts'];
5556
+ /** @description The invoice this item belongs to. */
5557
+ invoice?: components['schemas']['InvoiceReference'];
5414
5558
  /** @description The currency of this line. */
5415
5559
  currency: components['schemas']['CurrencyCode'];
5560
+ /** @description Taxes applied to the invoice totals. */
5561
+ readonly taxes?: components['schemas']['InvoiceLineTaxItem'][];
5416
5562
  /**
5417
5563
  * @deprecated
5418
5564
  * @description Tax config specify the tax configuration for this line.
5419
5565
  */
5420
5566
  taxConfig?: components['schemas']['TaxConfig'];
5567
+ /** @description Totals for this line. */
5568
+ readonly totals: components['schemas']['InvoiceTotals'];
5421
5569
  /** @description Period of the line item applies to for revenue recognition pruposes.
5422
5570
  *
5423
5571
  * Billing always treats periods as start being inclusive and end being exclusive. */
@@ -5428,83 +5576,49 @@ export interface components {
5428
5576
  * @example 2023-01-01T01:01:01.001Z
5429
5577
  */
5430
5578
  invoiceAt: Date;
5431
- /**
5432
- * @description Type of the line. (enum property replaced by openapi-typescript)
5433
- * @enum {string}
5434
- */
5435
- type: 'flat_fee';
5579
+ /** @description External IDs of the invoice in other apps such as Stripe. */
5580
+ readonly externalIds?: components['schemas']['InvoiceLineAppExternalIds'];
5581
+ /** @description Subscription are the references to the subscritpions that this line is related to. */
5582
+ readonly subscription?: components['schemas']['InvoiceLineSubscriptionReference'];
5436
5583
  /**
5437
5584
  * @deprecated
5438
- * @description Price of the item being sold.
5585
+ * @description Type of the line.
5586
+ * @enum {string}
5439
5587
  */
5440
- perUnitAmount?: components['schemas']['Numeric'];
5588
+ readonly type: 'usage_based';
5441
5589
  /**
5442
5590
  * @deprecated
5443
- * @description Payment term of the line.
5444
- * @default in_advance
5591
+ * @description Price of the usage-based item being sold.
5445
5592
  */
5446
- paymentTerm?: components['schemas']['PricePaymentTerm'];
5593
+ price?: components['schemas']['RateCardUsageBasedPrice'];
5447
5594
  /**
5448
5595
  * @deprecated
5449
- * @description Quantity of the item being sold.
5450
- */
5451
- quantity?: components['schemas']['Numeric'];
5452
- /** @description The rate card that is used for this line. */
5453
- rateCard?: components['schemas']['InvoiceFlatFeeRateCard'];
5454
- /**
5455
- * @description Category of the flat fee.
5456
- * @default regular
5457
- */
5458
- category?: components['schemas']['InvoiceFlatFeeCategory'];
5459
- /**
5460
- * @description The customer this line item belongs to.
5461
- * @example 01G65Z755AFWAKHE12NY0CQ9FH
5462
- */
5463
- customerId: string;
5464
- };
5465
- /** @description InvoiceFlatFeeRateCard represents the rate card (intent) for a flat fee line. */
5466
- InvoiceFlatFeeRateCard: {
5467
- /**
5468
- * Tax config
5469
- * @description The tax config of the rate card.
5470
- * When undefined, the tax config of the feature or the default tax config of the plan is used.
5471
- */
5472
- taxConfig?: components['schemas']['TaxConfig'];
5473
- /**
5474
- * Price
5475
- * @description The price of the rate card.
5476
- * When null, the feature or service is free.
5477
- * @example {
5478
- * "type": "flat",
5479
- * "amount": "100",
5480
- * "paymentTerm": "in_arrears"
5481
- * }
5596
+ * @description The feature that the usage is based on.
5482
5597
  */
5483
- price: components['schemas']['FlatPriceWithPaymentTerm'] | null;
5484
- /** @description Quantity of the item being sold.
5598
+ featureKey?: string;
5599
+ /** @description The lines detailing the item or service sold. */
5600
+ readonly children?: components['schemas']['InvoiceDetailedLine'][];
5601
+ /** @description The rate card that is used for this line.
5485
5602
  *
5486
- * Default: 1 */
5487
- quantity?: components['schemas']['Numeric'];
5488
- /** @description The discounts that are applied to the line. */
5489
- discounts?: components['schemas']['BillingDiscounts'];
5490
- };
5491
- /**
5492
- * InvoiceGenericDocumentRef is used to describe an existing document or a specific part of it's contents.
5493
- * @description Omitted fields:
5494
- * period: Tax period in which the referred document had an effect required by some tax regimes and formats.
5495
- * stamps: Seals of approval from other organisations that may need to be listed.
5496
- * ext: Extensions for additional codes that may be required.
5497
- */
5498
- InvoiceGenericDocumentRef: {
5499
- /** @description Type of the document referenced. */
5500
- readonly type: components['schemas']['InvoiceDocumentRefType'];
5501
- /** @description Human readable description on why this reference is here or needs to be used. */
5502
- readonly reason?: string;
5503
- /** @description Additional details about the document. */
5504
- readonly description?: string;
5603
+ * The rate card captures the intent of the price and discounts for the usage-based item. */
5604
+ rateCard?: components['schemas']['InvoiceUsageBasedRateCard'];
5605
+ /** @description The quantity of the item being sold.
5606
+ *
5607
+ * Any usage discounts applied previously are deducted from this quantity. */
5608
+ readonly quantity?: components['schemas']['Numeric'];
5609
+ /** @description The quantity of the item that has been metered for the period before any discounts were applied. */
5610
+ readonly meteredQuantity?: components['schemas']['Numeric'];
5611
+ /** @description The quantity of the item used before this line's period.
5612
+ *
5613
+ * It is non-zero in case of progressive billing, when this shows how much of the usage was already billed.
5614
+ *
5615
+ * Any usage discounts applied previously are deducted from this quantity. */
5616
+ readonly preLinePeriodQuantity?: components['schemas']['Numeric'];
5617
+ /** @description The metered quantity of the item used in before this line's period without any discounts applied.
5618
+ *
5619
+ * It is non-zero in case of progressive billing, when this shows how much of the usage was already billed. */
5620
+ readonly meteredPreLinePeriodQuantity?: components['schemas']['Numeric'];
5505
5621
  };
5506
- /** @description BillingInvoiceLine represents a line item that is sold to the customer based on a specific (unit) price. */
5507
- InvoiceLine: components['schemas']['InvoiceUsageBasedLine'] | components['schemas']['InvoiceFlatFeeLine'];
5508
5622
  /** @description InvoiceLineAmountDiscount represents an amount deducted from the line, and will be applied before taxes. */
5509
5623
  InvoiceLineAmountDiscount: {
5510
5624
  /**
@@ -5568,8 +5682,60 @@ export interface components {
5568
5682
  * @enum {string}
5569
5683
  */
5570
5684
  InvoiceLineManagedBy: 'subscription' | 'system' | 'manual';
5571
- /** @description InvoiceLineReplaceUpdate represents the update model for an invoice line. */
5572
- InvoiceLineReplaceUpdate: components['schemas']['InvoiceUsageBasedLineReplaceUpdate'] | components['schemas']['InvoiceFlatFeeLineReplaceUpdate'];
5685
+ /** @description InvoiceLineReplaceUpdate represents the update model for an UBP invoice line.
5686
+ *
5687
+ * This type makes ID optional to allow for creating new lines as part of the update. */
5688
+ InvoiceLineReplaceUpdate: {
5689
+ /**
5690
+ * Display name
5691
+ * @description Human-readable name for the resource. Between 1 and 256 characters.
5692
+ */
5693
+ name: string;
5694
+ /**
5695
+ * Description
5696
+ * @description Optional description of the resource. Maximum 1024 characters.
5697
+ */
5698
+ description?: string;
5699
+ /**
5700
+ * Metadata
5701
+ * @description Additional metadata for the resource.
5702
+ */
5703
+ metadata?: components['schemas']['Metadata'] | null;
5704
+ /**
5705
+ * @deprecated
5706
+ * @description Tax config specify the tax configuration for this line.
5707
+ */
5708
+ taxConfig?: components['schemas']['TaxConfig'];
5709
+ /** @description Period of the line item applies to for revenue recognition pruposes.
5710
+ *
5711
+ * Billing always treats periods as start being inclusive and end being exclusive. */
5712
+ period: components['schemas']['Period'];
5713
+ /**
5714
+ * Format: date-time
5715
+ * @description The time this line item should be invoiced.
5716
+ * @example 2023-01-01T01:01:01.001Z
5717
+ */
5718
+ invoiceAt: Date;
5719
+ /**
5720
+ * @deprecated
5721
+ * @description Price of the usage-based item being sold.
5722
+ */
5723
+ price?: components['schemas']['RateCardUsageBasedPrice'];
5724
+ /**
5725
+ * @deprecated
5726
+ * @description The feature that the usage is based on.
5727
+ */
5728
+ featureKey?: string;
5729
+ /** @description The rate card that is used for this line.
5730
+ *
5731
+ * The rate card captures the intent of the price and discounts for the usage-based item. */
5732
+ rateCard?: components['schemas']['InvoiceUsageBasedRateCard'];
5733
+ /**
5734
+ * @description The ID of the line.
5735
+ * @example 01G65Z755AFWAKHE12NY0CQ9FH
5736
+ */
5737
+ id?: string;
5738
+ };
5573
5739
  /**
5574
5740
  * @description Line status specifies the status of the line.
5575
5741
  * @enum {string}
@@ -5668,7 +5834,7 @@ export interface components {
5668
5834
  * @description InvoiceOrderBy specifies the ordering options for invoice listing.
5669
5835
  * @enum {string}
5670
5836
  */
5671
- InvoiceOrderBy: 'customer.name' | 'issuedAt' | 'status' | 'createdAt' | 'updatedAt';
5837
+ InvoiceOrderBy: 'customer.name' | 'issuedAt' | 'status' | 'createdAt' | 'updatedAt' | 'periodStart';
5672
5838
  /** @description Paginated response */
5673
5839
  InvoicePaginatedResponse: {
5674
5840
  /**
@@ -5694,8 +5860,69 @@ export interface components {
5694
5860
  /** @description The terms of payment for the invoice. */
5695
5861
  terms?: components['schemas']['PaymentTerms'];
5696
5862
  };
5697
- /** @description InvoiceLineCreate represents the create model for an invoice line. */
5698
- InvoicePendingLineCreate: components['schemas']['InvoiceUsageBasedPendingLineCreate'] | components['schemas']['InvoiceFlatFeePendingLineCreate'];
5863
+ /** @description InvoicePendingLineCreate represents the create model for an invoice line that is sold to the customer based on usage. */
5864
+ InvoicePendingLineCreate: {
5865
+ /**
5866
+ * Display name
5867
+ * @description Human-readable name for the resource. Between 1 and 256 characters.
5868
+ */
5869
+ name: string;
5870
+ /**
5871
+ * Description
5872
+ * @description Optional description of the resource. Maximum 1024 characters.
5873
+ */
5874
+ description?: string;
5875
+ /**
5876
+ * Metadata
5877
+ * @description Additional metadata for the resource.
5878
+ */
5879
+ metadata?: components['schemas']['Metadata'] | null;
5880
+ /**
5881
+ * @deprecated
5882
+ * @description Tax config specify the tax configuration for this line.
5883
+ */
5884
+ taxConfig?: components['schemas']['TaxConfig'];
5885
+ /** @description Period of the line item applies to for revenue recognition pruposes.
5886
+ *
5887
+ * Billing always treats periods as start being inclusive and end being exclusive. */
5888
+ period: components['schemas']['Period'];
5889
+ /**
5890
+ * Format: date-time
5891
+ * @description The time this line item should be invoiced.
5892
+ * @example 2023-01-01T01:01:01.001Z
5893
+ */
5894
+ invoiceAt: Date;
5895
+ /**
5896
+ * @deprecated
5897
+ * @description Price of the usage-based item being sold.
5898
+ */
5899
+ price?: components['schemas']['RateCardUsageBasedPrice'];
5900
+ /**
5901
+ * @deprecated
5902
+ * @description The feature that the usage is based on.
5903
+ */
5904
+ featureKey?: string;
5905
+ /** @description The rate card that is used for this line.
5906
+ *
5907
+ * The rate card captures the intent of the price and discounts for the usage-based item. */
5908
+ rateCard?: components['schemas']['InvoiceUsageBasedRateCard'];
5909
+ };
5910
+ /** @description InvoicePendingLineCreate represents the create model for a pending invoice line. */
5911
+ InvoicePendingLineCreateInput: {
5912
+ /** @description The currency of the lines to be created. */
5913
+ currency: components['schemas']['CurrencyCode'];
5914
+ /** @description The lines to be created. */
5915
+ lines: components['schemas']['InvoicePendingLineCreate'][];
5916
+ };
5917
+ /** @description InvoicePendingLineCreateResponse represents the response from the create pending line endpoint. */
5918
+ InvoicePendingLineCreateResponse: {
5919
+ /** @description The lines that were created. */
5920
+ readonly lines: components['schemas']['InvoiceLine'][];
5921
+ /** @description The invoice containing the created lines. */
5922
+ readonly invoice: components['schemas']['Invoice'];
5923
+ /** @description Whether the invoice was newly created. */
5924
+ readonly isInvoiceNew: boolean;
5925
+ };
5699
5926
  /** @description InvoicePendingLinesActionFiltersInput specifies which lines to include in the invoice. */
5700
5927
  InvoicePendingLinesActionFiltersInput: {
5701
5928
  /** @description The pending line items to include in the invoice, if not provided:
@@ -5726,6 +5953,11 @@ export interface components {
5726
5953
  * @example 01G65Z755AFWAKHE12NY0CQ9FH
5727
5954
  */
5728
5955
  customerId: string;
5956
+ /** @description Override the progressive billing setting of the customer.
5957
+ *
5958
+ * Can be used to disable/enable progressive billing in case the business logic
5959
+ * requires it, if not provided the billing profile's progressive billing setting will be used. */
5960
+ progressiveBillingOverride?: boolean;
5729
5961
  };
5730
5962
  /** @description Reference to an invoice. */
5731
5963
  InvoiceReference: {
@@ -5749,16 +5981,6 @@ export interface components {
5749
5981
  * @description Additional metadata for the resource.
5750
5982
  */
5751
5983
  metadata?: components['schemas']['Metadata'] | null;
5752
- /**
5753
- * Format: date-time
5754
- * @description The time until the invoice is in draft status.
5755
- *
5756
- * On draft invoice creation it is calculated from the workflow settings.
5757
- *
5758
- * If manual approval is required, the draftUntil time is set.
5759
- * @example 2023-01-01T01:01:01.001Z
5760
- */
5761
- draftUntil?: Date;
5762
5984
  /** @description The supplier of the lines included in the invoice. */
5763
5985
  supplier: components['schemas']['BillingPartyReplaceUpdate'];
5764
5986
  /** @description The customer the invoice is sent to. */
@@ -5768,74 +5990,6 @@ export interface components {
5768
5990
  /** @description The workflow settings for the invoice. */
5769
5991
  workflow: components['schemas']['InvoiceWorkflowReplaceUpdate'];
5770
5992
  };
5771
- /** @description InvoiceSimulationFlatFeeLine represents a flat fee line item that can be input to the simulation endpoint. */
5772
- InvoiceSimulationFlatFeeLine: {
5773
- /**
5774
- * Display name
5775
- * @description Human-readable name for the resource. Between 1 and 256 characters.
5776
- */
5777
- name: string;
5778
- /**
5779
- * Description
5780
- * @description Optional description of the resource. Maximum 1024 characters.
5781
- */
5782
- description?: string;
5783
- /**
5784
- * Metadata
5785
- * @description Additional metadata for the resource.
5786
- */
5787
- metadata?: components['schemas']['Metadata'] | null;
5788
- /**
5789
- * @deprecated
5790
- * @description Tax config specify the tax configuration for this line.
5791
- */
5792
- taxConfig?: components['schemas']['TaxConfig'];
5793
- /** @description Period of the line item applies to for revenue recognition pruposes.
5794
- *
5795
- * Billing always treats periods as start being inclusive and end being exclusive. */
5796
- period: components['schemas']['Period'];
5797
- /**
5798
- * Format: date-time
5799
- * @description The time this line item should be invoiced.
5800
- * @example 2023-01-01T01:01:01.001Z
5801
- */
5802
- invoiceAt: Date;
5803
- /**
5804
- * @description Type of the line. (enum property replaced by openapi-typescript)
5805
- * @enum {string}
5806
- */
5807
- type: 'flat_fee';
5808
- /**
5809
- * @deprecated
5810
- * @description Price of the item being sold.
5811
- */
5812
- perUnitAmount?: components['schemas']['Numeric'];
5813
- /**
5814
- * @deprecated
5815
- * @description Payment term of the line.
5816
- * @default in_advance
5817
- */
5818
- paymentTerm?: components['schemas']['PricePaymentTerm'];
5819
- /**
5820
- * @deprecated
5821
- * @description Quantity of the item being sold.
5822
- */
5823
- quantity?: components['schemas']['Numeric'];
5824
- /** @description The rate card that is used for this line. */
5825
- rateCard?: components['schemas']['InvoiceFlatFeeRateCard'];
5826
- /**
5827
- * @description Category of the flat fee.
5828
- * @default regular
5829
- */
5830
- category?: components['schemas']['InvoiceFlatFeeCategory'];
5831
- /**
5832
- * @description ID of the line. If not specified it will be auto-generated.
5833
- *
5834
- * When discounts are specified, this must be provided, so that the discount can reference it.
5835
- * @example 01G65Z755AFWAKHE12NY0CQ9FH
5836
- */
5837
- id?: string;
5838
- };
5839
5993
  /** @description InvoiceSimulationInput is the input for simulating an invoice. */
5840
5994
  InvoiceSimulationInput: {
5841
5995
  /** @description The number of the invoice. */
@@ -5847,10 +6001,8 @@ export interface components {
5847
6001
  /** @description Lines to be included in the generated invoice. */
5848
6002
  lines: components['schemas']['InvoiceSimulationLine'][];
5849
6003
  };
5850
- /** @description InvoiceSimulationInput represents a line item that can be input to the simulation endpoint. */
5851
- InvoiceSimulationLine: components['schemas']['InvoiceSimulationUsageBasedLine'] | components['schemas']['InvoiceSimulationFlatFeeLine'];
5852
- /** @description InvoiceSimulationUsageBasedLine represents a usage-based line item that can be input to the simulation endpoint. */
5853
- InvoiceSimulationUsageBasedLine: {
6004
+ /** @description InvoiceSimulationLine represents a usage-based line item that can be input to the simulation endpoint. */
6005
+ InvoiceSimulationLine: {
5854
6006
  /**
5855
6007
  * Display name
5856
6008
  * @description Human-readable name for the resource. Between 1 and 256 characters.
@@ -5881,11 +6033,6 @@ export interface components {
5881
6033
  * @example 2023-01-01T01:01:01.001Z
5882
6034
  */
5883
6035
  invoiceAt: Date;
5884
- /**
5885
- * @description Type of the line. (enum property replaced by openapi-typescript)
5886
- * @enum {string}
5887
- */
5888
- type: 'usage_based';
5889
6036
  /**
5890
6037
  * @deprecated
5891
6038
  * @description Price of the usage-based item being sold.
@@ -5955,335 +6102,111 @@ export interface components {
5955
6102
  * @enum {string}
5956
6103
  */
5957
6104
  InvoiceType: 'standard' | 'credit_note';
5958
- /** @description InvoiceUsageBasedLine represents a line item that is sold to the customer based on usage. */
5959
- InvoiceUsageBasedLine: {
5960
- /**
5961
- * Display name
5962
- * @description Human-readable name for the resource. Between 1 and 256 characters.
5963
- */
5964
- name: string;
6105
+ /** @description InvoiceUsageBasedRateCard represents the rate card (intent) for an usage-based line. */
6106
+ InvoiceUsageBasedRateCard: {
5965
6107
  /**
5966
- * Description
5967
- * @description Optional description of the resource. Maximum 1024 characters.
6108
+ * Feature key
6109
+ * @description The feature the customer is entitled to use.
5968
6110
  */
5969
- description?: string;
6111
+ featureKey?: string;
5970
6112
  /**
5971
- * Metadata
5972
- * @description Additional metadata for the resource.
6113
+ * Tax config
6114
+ * @description The tax config of the rate card.
6115
+ * When undefined, the tax config of the feature or the default tax config of the plan is used.
5973
6116
  */
5974
- metadata?: components['schemas']['Metadata'] | null;
6117
+ taxConfig?: components['schemas']['TaxConfig'];
6118
+ /** @description The price of the rate card.
6119
+ * When null, the feature or service is free. */
6120
+ price: components['schemas']['RateCardUsageBasedPrice'] | null;
6121
+ /** @description The discounts that are applied to the line. */
6122
+ discounts?: components['schemas']['BillingDiscounts'];
6123
+ };
6124
+ /** @description InvoiceWorkflowInvoicingSettingsReplaceUpdate represents the update model for the invoicing settings of an invoice workflow. */
6125
+ InvoiceWorkflowInvoicingSettingsReplaceUpdate: {
5975
6126
  /**
5976
- * Creation Time
5977
- * Format: date-time
5978
- * @description Timestamp of when the resource was created.
5979
- * @example 2024-01-01T01:01:01.001Z
6127
+ * @description Whether to automatically issue the invoice after the draftPeriod has passed.
6128
+ * @default true
5980
6129
  */
5981
- readonly createdAt: Date;
6130
+ autoAdvance?: boolean;
5982
6131
  /**
5983
- * Last Update Time
5984
- * Format: date-time
5985
- * @description Timestamp of when the resource was last updated.
5986
- * @example 2024-01-01T01:01:01.001Z
6132
+ * Format: ISO8601
6133
+ * @description The period for the invoice to be kept in draft status for manual reviews.
6134
+ * @default P0D
6135
+ * @example P1D
5987
6136
  */
5988
- readonly updatedAt: Date;
6137
+ draftPeriod?: string;
5989
6138
  /**
5990
- * Deletion Time
5991
- * Format: date-time
5992
- * @description Timestamp of when the resource was permanently deleted.
5993
- * @example 2024-01-01T01:01:01.001Z
6139
+ * Format: ISO8601
6140
+ * @description The period after which the invoice is due.
6141
+ * With some payment solutions it's only applicable for manual collection method.
6142
+ * @default P30D
6143
+ * @example P30D
5994
6144
  */
5995
- readonly deletedAt?: Date;
6145
+ dueAfter?: string;
6146
+ /** @description Default tax configuration to apply to the invoices. */
6147
+ defaultTaxConfig?: components['schemas']['TaxConfig'];
6148
+ };
6149
+ /** @description InvoiceWorkflowReplaceUpdate represents the update model for an invoice workflow.
6150
+ *
6151
+ * Fields that are immutable a re removed from the model. This is based on InvoiceWorkflowSettings. */
6152
+ InvoiceWorkflowReplaceUpdate: {
6153
+ /** @description The workflow used for this invoice. */
6154
+ workflow: components['schemas']['InvoiceWorkflowSettingsReplaceUpdate'];
6155
+ };
6156
+ /** @description InvoiceWorkflowSettings represents the workflow settings used by the invoice.
6157
+ *
6158
+ * This is a clone of the billing profile's workflow settings at the time of invoice creation
6159
+ * with customer overrides considered. */
6160
+ InvoiceWorkflowSettings: {
6161
+ /** @description The apps that will be used to orchestrate the invoice's workflow. */
6162
+ readonly apps?: components['schemas']['BillingProfileAppsOrReference'];
5996
6163
  /**
5997
- * @description ID of the line.
5998
- * @example 01G65Z755AFWAKHE12NY0CQ9FH
5999
- */
6000
- id: string;
6001
- /** @description managedBy specifies if the line is manually added via the api or managed by OpenMeter. */
6002
- readonly managedBy: components['schemas']['InvoiceLineManagedBy'];
6003
- /** @description Status of the line.
6004
- *
6005
- * External calls always create valid lines, other line types are managed by the
6006
- * billing engine of OpenMeter. */
6007
- readonly status: components['schemas']['InvoiceLineStatus'];
6008
- /** @description Discounts detailes applied to this line.
6164
+ * @description sourceBillingProfileID is the billing profile on which the workflow was based on.
6009
6165
  *
6010
- * New discounts can be added via the invoice's discounts API, to facilitate
6011
- * discounts that are affecting multiple lines. */
6012
- readonly discounts?: components['schemas']['InvoiceLineDiscounts'];
6013
- /** @description The invoice this item belongs to. */
6014
- invoice?: components['schemas']['InvoiceReference'];
6015
- /** @description The currency of this line. */
6016
- currency: components['schemas']['CurrencyCode'];
6017
- /** @description Taxes applied to the invoice totals. */
6018
- readonly taxes?: components['schemas']['InvoiceLineTaxItem'][];
6019
- /**
6020
- * @deprecated
6021
- * @description Tax config specify the tax configuration for this line.
6166
+ * The profile is snapshotted on invoice creation, after which it can be altered independently
6167
+ * of the profile itself.
6168
+ * @example 01G65Z755AFWAKHE12NY0CQ9FH
6022
6169
  */
6023
- taxConfig?: components['schemas']['TaxConfig'];
6024
- /** @description The lines detailing the item or service sold. */
6025
- readonly children?: components['schemas']['InvoiceLine'][];
6026
- /** @description Totals for this line. */
6027
- readonly totals: components['schemas']['InvoiceTotals'];
6028
- /** @description Period of the line item applies to for revenue recognition pruposes.
6170
+ readonly sourceBillingProfileId: string;
6171
+ /** @description The workflow details used by this invoice. */
6172
+ workflow: components['schemas']['BillingWorkflow'];
6173
+ };
6174
+ /** @description Mutable workflow settings for an invoice.
6175
+ *
6176
+ * Other fields on the invoice's workflow are not mutable, they serve as a history of the invoice's workflow
6177
+ * at creation time. */
6178
+ InvoiceWorkflowSettingsReplaceUpdate: {
6179
+ /** @description The invoicing settings for this workflow */
6180
+ invoicing: components['schemas']['InvoiceWorkflowInvoicingSettingsReplaceUpdate'];
6181
+ /** @description The payment settings for this workflow */
6182
+ payment: components['schemas']['BillingWorkflowPaymentSettings'];
6183
+ };
6184
+ /** @description List entitlements result */
6185
+ ListEntitlementsResult: components['schemas']['Entitlement'][] | components['schemas']['EntitlementPaginatedResponse'];
6186
+ /** @description List features result */
6187
+ ListFeaturesResult: components['schemas']['Feature'][] | components['schemas']['FeaturePaginatedResponse'];
6188
+ /** @description Marketplace install request payload. */
6189
+ MarketplaceInstallRequestPayload: {
6190
+ /** @description Name of the application to install.
6029
6191
  *
6030
- * Billing always treats periods as start being inclusive and end being exclusive. */
6031
- period: components['schemas']['Period'];
6032
- /**
6033
- * Format: date-time
6034
- * @description The time this line item should be invoiced.
6035
- * @example 2023-01-01T01:01:01.001Z
6036
- */
6037
- invoiceAt: Date;
6038
- /** @description External IDs of the invoice in other apps such as Stripe. */
6039
- readonly externalIds?: components['schemas']['InvoiceLineAppExternalIds'];
6040
- /** @description Subscription are the references to the subscritpions that this line is related to. */
6041
- readonly subscription?: components['schemas']['InvoiceLineSubscriptionReference'];
6042
- /**
6043
- * @description Type of the line. (enum property replaced by openapi-typescript)
6044
- * @enum {string}
6045
- */
6046
- type: 'usage_based';
6047
- /**
6048
- * @deprecated
6049
- * @description Price of the usage-based item being sold.
6050
- */
6051
- price?: components['schemas']['RateCardUsageBasedPrice'];
6192
+ * If name is not provided defaults to the marketplace listing's name. */
6193
+ name?: string;
6052
6194
  /**
6053
- * @deprecated
6054
- * @description The feature that the usage is based on.
6195
+ * @description If true, a billing profile will be created for the app.
6196
+ * The Stripe app will be also set as the default billing profile if the current default is a Sandbox app.
6197
+ * @default true
6055
6198
  */
6056
- featureKey?: string;
6057
- /** @description The rate card that is used for this line.
6058
- *
6059
- * The rate card captures the intent of the price and discounts for the usage-based item. */
6060
- rateCard?: components['schemas']['InvoiceUsageBasedRateCard'];
6061
- /** @description The quantity of the item being sold.
6062
- *
6063
- * Any usage discounts applied previously are deducted from this quantity. */
6064
- readonly quantity?: components['schemas']['Numeric'];
6065
- /** @description The quantity of the item that has been metered for the period before any discounts were applied. */
6066
- readonly meteredQuantity?: components['schemas']['Numeric'];
6067
- /** @description The quantity of the item used before this line's period.
6068
- *
6069
- * It is non-zero in case of progressive billing, when this shows how much of the usage was already billed.
6070
- *
6071
- * Any usage discounts applied previously are deducted from this quantity. */
6072
- readonly preLinePeriodQuantity?: components['schemas']['Numeric'];
6073
- /** @description The metered quantity of the item used in before this line's period without any discounts applied.
6074
- *
6075
- * It is non-zero in case of progressive billing, when this shows how much of the usage was already billed. */
6076
- readonly meteredPreLinePeriodQuantity?: components['schemas']['Numeric'];
6199
+ createBillingProfile?: boolean;
6200
+ };
6201
+ /** @description Marketplace install response. */
6202
+ MarketplaceInstallResponse: {
6203
+ app: components['schemas']['App'];
6204
+ /** @description Default for capabilities */
6205
+ defaultForCapabilityTypes: components['schemas']['AppCapabilityType'][];
6077
6206
  };
6078
- /** @description InvoiceUpdateUsageBasedLineReplaceUpdate represents the update model for an UBP invoice line.
6079
- *
6080
- * This type makes ID optional to allow for creating new lines as part of the update. */
6081
- InvoiceUsageBasedLineReplaceUpdate: {
6082
- /**
6083
- * Display name
6084
- * @description Human-readable name for the resource. Between 1 and 256 characters.
6085
- */
6086
- name: string;
6087
- /**
6088
- * Description
6089
- * @description Optional description of the resource. Maximum 1024 characters.
6090
- */
6091
- description?: string;
6092
- /**
6093
- * Metadata
6094
- * @description Additional metadata for the resource.
6095
- */
6096
- metadata?: components['schemas']['Metadata'] | null;
6097
- /**
6098
- * @deprecated
6099
- * @description Tax config specify the tax configuration for this line.
6100
- */
6101
- taxConfig?: components['schemas']['TaxConfig'];
6102
- /** @description Period of the line item applies to for revenue recognition pruposes.
6103
- *
6104
- * Billing always treats periods as start being inclusive and end being exclusive. */
6105
- period: components['schemas']['Period'];
6106
- /**
6107
- * Format: date-time
6108
- * @description The time this line item should be invoiced.
6109
- * @example 2023-01-01T01:01:01.001Z
6110
- */
6111
- invoiceAt: Date;
6112
- /**
6113
- * @description Type of the line. (enum property replaced by openapi-typescript)
6114
- * @enum {string}
6115
- */
6116
- type: 'usage_based';
6117
- /**
6118
- * @deprecated
6119
- * @description Price of the usage-based item being sold.
6120
- */
6121
- price?: components['schemas']['RateCardUsageBasedPrice'];
6122
- /**
6123
- * @deprecated
6124
- * @description The feature that the usage is based on.
6125
- */
6126
- featureKey?: string;
6127
- /** @description The rate card that is used for this line.
6128
- *
6129
- * The rate card captures the intent of the price and discounts for the usage-based item. */
6130
- rateCard?: components['schemas']['InvoiceUsageBasedRateCard'];
6131
- /**
6132
- * @description The ID of the line.
6133
- * @example 01G65Z755AFWAKHE12NY0CQ9FH
6134
- */
6135
- id?: string;
6136
- };
6137
- /** @description InvoiceUsageBasedLineCreateWithCustomer represents the create model for an invoice line that is sold to the customer based on usage. */
6138
- InvoiceUsageBasedPendingLineCreate: {
6139
- /**
6140
- * Display name
6141
- * @description Human-readable name for the resource. Between 1 and 256 characters.
6142
- */
6143
- name: string;
6144
- /**
6145
- * Description
6146
- * @description Optional description of the resource. Maximum 1024 characters.
6147
- */
6148
- description?: string;
6149
- /**
6150
- * Metadata
6151
- * @description Additional metadata for the resource.
6152
- */
6153
- metadata?: components['schemas']['Metadata'] | null;
6154
- /** @description The currency of this line. */
6155
- currency: components['schemas']['CurrencyCode'];
6156
- /**
6157
- * @deprecated
6158
- * @description Tax config specify the tax configuration for this line.
6159
- */
6160
- taxConfig?: components['schemas']['TaxConfig'];
6161
- /** @description Period of the line item applies to for revenue recognition pruposes.
6162
- *
6163
- * Billing always treats periods as start being inclusive and end being exclusive. */
6164
- period: components['schemas']['Period'];
6165
- /**
6166
- * Format: date-time
6167
- * @description The time this line item should be invoiced.
6168
- * @example 2023-01-01T01:01:01.001Z
6169
- */
6170
- invoiceAt: Date;
6171
- /**
6172
- * @description Type of the line. (enum property replaced by openapi-typescript)
6173
- * @enum {string}
6174
- */
6175
- type: 'usage_based';
6176
- /**
6177
- * @deprecated
6178
- * @description Price of the usage-based item being sold.
6179
- */
6180
- price?: components['schemas']['RateCardUsageBasedPrice'];
6181
- /**
6182
- * @deprecated
6183
- * @description The feature that the usage is based on.
6184
- */
6185
- featureKey?: string;
6186
- /** @description The rate card that is used for this line.
6187
- *
6188
- * The rate card captures the intent of the price and discounts for the usage-based item. */
6189
- rateCard?: components['schemas']['InvoiceUsageBasedRateCard'];
6190
- /**
6191
- * @description The customer this line item belongs to.
6192
- * @example 01G65Z755AFWAKHE12NY0CQ9FH
6193
- */
6194
- customerId: string;
6195
- };
6196
- /** @description InvoiceUsageBasedRateCard represents the rate card (intent) for an usage-based line. */
6197
- InvoiceUsageBasedRateCard: {
6198
- /**
6199
- * Feature key
6200
- * @description The feature the customer is entitled to use.
6201
- */
6202
- featureKey?: string;
6203
- /**
6204
- * Tax config
6205
- * @description The tax config of the rate card.
6206
- * When undefined, the tax config of the feature or the default tax config of the plan is used.
6207
- */
6208
- taxConfig?: components['schemas']['TaxConfig'];
6209
- /** @description The price of the rate card.
6210
- * When null, the feature or service is free. */
6211
- price: components['schemas']['RateCardUsageBasedPrice'] | null;
6212
- /** @description The discounts that are applied to the line. */
6213
- discounts?: components['schemas']['BillingDiscounts'];
6214
- };
6215
- /** @description InvoiceWorkflowInvoicingSettingsReplaceUpdate represents the update model for the invoicing settings of an invoice workflow. */
6216
- InvoiceWorkflowInvoicingSettingsReplaceUpdate: {
6217
- /**
6218
- * @description Whether to automatically issue the invoice after the draftPeriod has passed.
6219
- * @default true
6220
- */
6221
- autoAdvance?: boolean;
6222
- /**
6223
- * Format: ISO8601
6224
- * @description The period for the invoice to be kept in draft status for manual reviews.
6225
- * @default P0D
6226
- * @example P1D
6227
- */
6228
- draftPeriod?: string;
6229
- /**
6230
- * Format: ISO8601
6231
- * @description The period after which the invoice is due.
6232
- * @default P1W
6233
- * @example P1D
6234
- */
6235
- dueAfter?: string;
6236
- /** @description Default tax configuration to apply to the invoices. */
6237
- defaultTaxConfig?: components['schemas']['TaxConfig'];
6238
- };
6239
- /** @description InvoiceWorkflowReplaceUpdate represents the update model for an invoice workflow.
6240
- *
6241
- * Fields that are immutable a re removed from the model. This is based on InvoiceWorkflowSettings. */
6242
- InvoiceWorkflowReplaceUpdate: {
6243
- /** @description The workflow used for this invoice. */
6244
- workflow: components['schemas']['InvoiceWorkflowSettingsReplaceUpdate'];
6245
- };
6246
- /** @description InvoiceWorkflowSettings represents the workflow settings used by the invoice.
6247
- *
6248
- * This is a clone of the billing profile's workflow settings at the time of invoice creation
6249
- * with customer overrides considered. */
6250
- InvoiceWorkflowSettings: {
6251
- /** @description The apps that will be used to orchestrate the invoice's workflow. */
6252
- readonly apps?: components['schemas']['BillingProfileAppsOrReference'];
6253
- /**
6254
- * @description sourceBillingProfileID is the billing profile on which the workflow was based on.
6255
- *
6256
- * The profile is snapshotted on invoice creation, after which it can be altered independently
6257
- * of the profile itself.
6258
- * @example 01G65Z755AFWAKHE12NY0CQ9FH
6259
- */
6260
- readonly sourceBillingProfileId: string;
6261
- /** @description The workflow details used by this invoice. */
6262
- workflow: components['schemas']['BillingWorkflow'];
6263
- };
6264
- /** @description Mutable workflow settings for an invoice.
6265
- *
6266
- * Other fields on the invoice's workflow are not mutable, they serve as a history of the invoice's workflow
6267
- * at creation time. */
6268
- InvoiceWorkflowSettingsReplaceUpdate: {
6269
- /** @description The invoicing settings for this workflow */
6270
- invoicing: components['schemas']['InvoiceWorkflowInvoicingSettingsReplaceUpdate'];
6271
- /** @description The payment settings for this workflow */
6272
- payment: components['schemas']['BillingWorkflowPaymentSettings'];
6273
- };
6274
- /** @description List entitlements result */
6275
- ListEntitlementsResult: components['schemas']['Entitlement'][] | components['schemas']['EntitlementPaginatedResponse'];
6276
- /** @description List features result */
6277
- ListFeaturesResult: components['schemas']['Feature'][] | components['schemas']['FeaturePaginatedResponse'];
6278
- /** @description Marketplace install response. */
6279
- MarketplaceInstallResponse: {
6280
- app: components['schemas']['App'];
6281
- /** @description Default for capabilities */
6282
- defaultForCapabilityTypes: components['schemas']['AppCapabilityType'][];
6283
- };
6284
- /**
6285
- * @description A marketplace listing.
6286
- * Represent an available app in the app marketplace that can be installed to the organization.
6207
+ /**
6208
+ * @description A marketplace listing.
6209
+ * Represent an available app in the app marketplace that can be installed to the organization.
6287
6210
  *
6288
6211
  * Marketplace apps only exist in config so they don't extend the Resource model.
6289
6212
  * @example {
@@ -6484,7 +6407,7 @@ export interface components {
6484
6407
  * @description The aggregation type to use for the meter.
6485
6408
  * @enum {string}
6486
6409
  */
6487
- MeterAggregation: 'SUM' | 'COUNT' | 'UNIQUE_COUNT' | 'AVG' | 'MIN' | 'MAX';
6410
+ MeterAggregation: 'SUM' | 'COUNT' | 'UNIQUE_COUNT' | 'AVG' | 'MIN' | 'MAX' | 'LATEST';
6488
6411
  /**
6489
6412
  * @description A meter create model.
6490
6413
  * @example {
@@ -6567,6 +6490,75 @@ export interface components {
6567
6490
  * @enum {string}
6568
6491
  */
6569
6492
  MeterOrderBy: 'key' | 'name' | 'aggregation' | 'createdAt' | 'updatedAt';
6493
+ /** @description A meter query request. */
6494
+ MeterQueryRequest: {
6495
+ /**
6496
+ * @description Client ID
6497
+ * Useful to track progress of a query.
6498
+ * @example f74e58ed-94ce-4041-ae06-cf45420451a3
6499
+ */
6500
+ clientId?: string;
6501
+ /**
6502
+ * Format: date-time
6503
+ * @description Start date-time in RFC 3339 format.
6504
+ *
6505
+ * Inclusive.
6506
+ * @example 2023-01-01T01:01:01.001Z
6507
+ */
6508
+ from?: Date;
6509
+ /**
6510
+ * Format: date-time
6511
+ * @description End date-time in RFC 3339 format.
6512
+ *
6513
+ * Inclusive.
6514
+ * @example 2023-01-01T01:01:01.001Z
6515
+ */
6516
+ to?: Date;
6517
+ /**
6518
+ * @description If not specified, a single usage aggregate will be returned for the entirety of the specified period for each subject and group.
6519
+ * @example DAY
6520
+ */
6521
+ windowSize?: components['schemas']['WindowSize'];
6522
+ /**
6523
+ * @description The value is the name of the time zone as defined in the IANA Time Zone Database (http://www.iana.org/time-zones).
6524
+ * If not specified, the UTC timezone will be used.
6525
+ * @default UTC
6526
+ * @example UTC
6527
+ */
6528
+ windowTimeZone?: string;
6529
+ /**
6530
+ * @description Filtering by multiple subjects.
6531
+ * @example [
6532
+ * "customer-1",
6533
+ * "customer-2"
6534
+ * ]
6535
+ */
6536
+ subject?: string[];
6537
+ /**
6538
+ * @description Simple filter for group bys with exact match.
6539
+ * @example {
6540
+ * "model": [
6541
+ * "gpt-4-turbo",
6542
+ * "gpt-4o"
6543
+ * ],
6544
+ * "type": [
6545
+ * "prompt"
6546
+ * ]
6547
+ * }
6548
+ */
6549
+ filterGroupBy?: {
6550
+ [key: string]: string[];
6551
+ };
6552
+ /**
6553
+ * @description If not specified a single aggregate will be returned for each subject and time window.
6554
+ * `subject` is a reserved group by value.
6555
+ * @example [
6556
+ * "model",
6557
+ * "type"
6558
+ * ]
6559
+ */
6560
+ groupBy?: string[];
6561
+ };
6570
6562
  /**
6571
6563
  * @description The result of a meter query.
6572
6564
  * @example {
@@ -6891,114 +6883,492 @@ export interface components {
6891
6883
  */
6892
6884
  readonly annotations?: components['schemas']['Annotations'];
6893
6885
  };
6894
- /** @description Payload for notification event with `entitlements.balance.threshold` type. */
6895
- NotificationEventBalanceThresholdPayload: {
6886
+ /** @description Payload for notification event with `entitlements.balance.threshold` type. */
6887
+ NotificationEventBalanceThresholdPayload: {
6888
+ /**
6889
+ * Notification Event Identifier
6890
+ * @description A unique identifier for the notification event the payload belongs to.
6891
+ * @example 01J2KNP1YTXQRXHTDJ4KPR7PZ0
6892
+ */
6893
+ readonly id: string;
6894
+ /**
6895
+ * @description Type of the notification event. (enum property replaced by openapi-typescript)
6896
+ * @enum {string}
6897
+ */
6898
+ type: 'entitlements.balance.threshold';
6899
+ /**
6900
+ * Creation Time
6901
+ * Format: date-time
6902
+ * @description Timestamp when the notification event was created in RFC 3339 format.
6903
+ * @example 2023-01-01T01:01:01.001Z
6904
+ */
6905
+ readonly timestamp: Date;
6906
+ /**
6907
+ * Payload Data
6908
+ * @description The data of the payload.
6909
+ */
6910
+ readonly data: components['schemas']['NotificationEventBalanceThresholdPayloadData'];
6911
+ };
6912
+ /** @description Data of the payload for notification event with `entitlements.balance.threshold` type. */
6913
+ NotificationEventBalanceThresholdPayloadData: {
6914
+ /** Entitlement */
6915
+ readonly entitlement: components['schemas']['EntitlementMetered'];
6916
+ /** Feature */
6917
+ readonly feature: components['schemas']['Feature'];
6918
+ /** Subject */
6919
+ readonly subject: components['schemas']['Subject'];
6920
+ /** Entitlement Value */
6921
+ readonly value: components['schemas']['EntitlementValue'];
6922
+ /** Threshold */
6923
+ readonly threshold: components['schemas']['NotificationRuleBalanceThresholdValue'];
6924
+ };
6925
+ /** @description The delivery status of the notification event. */
6926
+ NotificationEventDeliveryStatus: {
6927
+ /**
6928
+ * @description Delivery state of the notification event to the channel.
6929
+ * @example SUCCESS
6930
+ */
6931
+ readonly state: components['schemas']['NotificationEventDeliveryStatusState'];
6932
+ /**
6933
+ * State Reason
6934
+ * @description The reason of the last deliverry state update.
6935
+ * @example Failed to dispatch event due to provider error.
6936
+ */
6937
+ readonly reason: string;
6938
+ /**
6939
+ * Last Update Time
6940
+ * Format: date-time
6941
+ * @description Timestamp of when the status was last updated in RFC 3339 format.
6942
+ * @example 2023-01-01T01:01:01.001Z
6943
+ */
6944
+ readonly updatedAt: Date;
6945
+ /**
6946
+ * Notification Channel
6947
+ * @description Notification channel the delivery sattus associated with.
6948
+ */
6949
+ readonly channel: components['schemas']['NotificationChannelMeta'];
6950
+ };
6951
+ /**
6952
+ * Delivery State
6953
+ * @description The delivery state of the notification event to the channel.
6954
+ * @enum {string}
6955
+ */
6956
+ NotificationEventDeliveryStatusState: 'SUCCESS' | 'FAILED' | 'SENDING' | 'PENDING';
6957
+ /** @description Base data for any payload with entitlement entitlement value. */
6958
+ NotificationEventEntitlementValuePayloadBase: {
6959
+ /** Entitlement */
6960
+ readonly entitlement: components['schemas']['EntitlementMetered'];
6961
+ /** Feature */
6962
+ readonly feature: components['schemas']['Feature'];
6963
+ /** Subject */
6964
+ readonly subject: components['schemas']['Subject'];
6965
+ /** Entitlement Value */
6966
+ readonly value: components['schemas']['EntitlementValue'];
6967
+ };
6968
+ /** @description Payload for notification event with `invoice.created` type. */
6969
+ NotificationEventInvoiceCreatedPayload: {
6970
+ /**
6971
+ * Notification Event Identifier
6972
+ * @description A unique identifier for the notification event the payload belongs to.
6973
+ * @example 01J2KNP1YTXQRXHTDJ4KPR7PZ0
6974
+ */
6975
+ readonly id: string;
6976
+ /**
6977
+ * @description Type of the notification event. (enum property replaced by openapi-typescript)
6978
+ * @enum {string}
6979
+ */
6980
+ type: 'invoice.created';
6981
+ /**
6982
+ * Creation Time
6983
+ * Format: date-time
6984
+ * @description Timestamp when the notification event was created in RFC 3339 format.
6985
+ * @example 2023-01-01T01:01:01.001Z
6986
+ */
6987
+ readonly timestamp: Date;
6988
+ /**
6989
+ * Payload Data
6990
+ * @description The data of the payload.
6991
+ */
6992
+ readonly data: components['schemas']['Invoice'];
6993
+ };
6994
+ /** @description Payload for notification event with `invoice.updated` type. */
6995
+ NotificationEventInvoiceUpdatedPayload: {
6996
+ /**
6997
+ * Notification Event Identifier
6998
+ * @description A unique identifier for the notification event the payload belongs to.
6999
+ * @example 01J2KNP1YTXQRXHTDJ4KPR7PZ0
7000
+ */
7001
+ readonly id: string;
7002
+ /**
7003
+ * @description Type of the notification event. (enum property replaced by openapi-typescript)
7004
+ * @enum {string}
7005
+ */
7006
+ type: 'invoice.updated';
7007
+ /**
7008
+ * Creation Time
7009
+ * Format: date-time
7010
+ * @description Timestamp when the notification event was created in RFC 3339 format.
7011
+ * @example 2023-01-01T01:01:01.001Z
7012
+ */
7013
+ readonly timestamp: Date;
7014
+ /**
7015
+ * Payload Data
7016
+ * @description The data of the payload.
7017
+ */
7018
+ readonly data: components['schemas']['Invoice'];
7019
+ };
7020
+ /**
7021
+ * @description Order by options for notification channels.
7022
+ * @enum {string}
7023
+ */
7024
+ NotificationEventOrderBy: 'id' | 'createdAt';
7025
+ /** @description Paginated response */
7026
+ NotificationEventPaginatedResponse: {
7027
+ /**
7028
+ * @description The total number of items.
7029
+ * @example 500
7030
+ */
7031
+ totalCount: number;
7032
+ /**
7033
+ * @description The page index.
7034
+ * @example 1
7035
+ */
7036
+ page: number;
7037
+ /**
7038
+ * @description The maximum number of items per page.
7039
+ * @example 100
7040
+ */
7041
+ pageSize: number;
7042
+ /** @description The items in the current page. */
7043
+ items: components['schemas']['NotificationEvent'][];
7044
+ };
7045
+ /** @description The delivery status of the notification event. */
7046
+ NotificationEventPayload: components['schemas']['NotificationEventResetPayload'] | components['schemas']['NotificationEventBalanceThresholdPayload'] | components['schemas']['NotificationEventInvoiceCreatedPayload'] | components['schemas']['NotificationEventInvoiceUpdatedPayload'];
7047
+ /** @description Payload for notification event with `entitlements.reset` type. */
7048
+ NotificationEventResetPayload: {
7049
+ /**
7050
+ * Notification Event Identifier
7051
+ * @description A unique identifier for the notification event the payload belongs to.
7052
+ * @example 01J2KNP1YTXQRXHTDJ4KPR7PZ0
7053
+ */
7054
+ readonly id: string;
7055
+ /**
7056
+ * @description Type of the notification event. (enum property replaced by openapi-typescript)
7057
+ * @enum {string}
7058
+ */
7059
+ type: 'entitlements.reset';
7060
+ /**
7061
+ * Creation Time
7062
+ * Format: date-time
7063
+ * @description Timestamp when the notification event was created in RFC 3339 format.
7064
+ * @example 2023-01-01T01:01:01.001Z
7065
+ */
7066
+ readonly timestamp: Date;
7067
+ /**
7068
+ * Payload Data
7069
+ * @description The data of the payload.
7070
+ */
7071
+ readonly data: components['schemas']['NotificationEventEntitlementValuePayloadBase'];
7072
+ };
7073
+ /**
7074
+ * @description Type of the notification event.
7075
+ * @enum {string}
7076
+ */
7077
+ NotificationEventType: 'entitlements.balance.threshold' | 'entitlements.reset' | 'invoice.created' | 'invoice.updated';
7078
+ /** @description Notification Rule. */
7079
+ NotificationRule: components['schemas']['NotificationRuleBalanceThreshold'] | components['schemas']['NotificationRuleEntitlementReset'] | components['schemas']['NotificationRuleInvoiceCreated'] | components['schemas']['NotificationRuleInvoiceUpdated'];
7080
+ /** @description Notification rule with entitlements.balance.threshold type. */
7081
+ NotificationRuleBalanceThreshold: {
7082
+ /**
7083
+ * Creation Time
7084
+ * Format: date-time
7085
+ * @description Timestamp of when the resource was created.
7086
+ * @example 2024-01-01T01:01:01.001Z
7087
+ */
7088
+ readonly createdAt: Date;
7089
+ /**
7090
+ * Last Update Time
7091
+ * Format: date-time
7092
+ * @description Timestamp of when the resource was last updated.
7093
+ * @example 2024-01-01T01:01:01.001Z
7094
+ */
7095
+ readonly updatedAt: Date;
7096
+ /**
7097
+ * Deletion Time
7098
+ * Format: date-time
7099
+ * @description Timestamp of when the resource was permanently deleted.
7100
+ * @example 2024-01-01T01:01:01.001Z
7101
+ */
7102
+ readonly deletedAt?: Date;
7103
+ /**
7104
+ * Rule Unique Identifier
7105
+ * @description Identifies the notification rule.
7106
+ * @example 01ARZ3NDEKTSV4RRFFQ69G5FAV
7107
+ */
7108
+ readonly id: string;
7109
+ /**
7110
+ * @description Notification rule type. (enum property replaced by openapi-typescript)
7111
+ * @enum {string}
7112
+ */
7113
+ type: 'entitlements.balance.threshold';
7114
+ /**
7115
+ * Rule Name
7116
+ * @description The user friendly name of the notification rule.
7117
+ * @example Balance threshold reached
7118
+ */
7119
+ name: string;
7120
+ /**
7121
+ * Rule Disabled
7122
+ * @description Whether the rule is disabled or not.
7123
+ * @default false
7124
+ * @example true
7125
+ */
7126
+ disabled?: boolean;
7127
+ /**
7128
+ * Channels assigned to Rule
7129
+ * @description List of notification channels the rule applies to.
7130
+ */
7131
+ channels: components['schemas']['NotificationChannelMeta'][];
7132
+ /**
7133
+ * Entitlement Balance Thresholds
7134
+ * @description List of thresholds the rule suppose to be triggered.
7135
+ */
7136
+ thresholds: components['schemas']['NotificationRuleBalanceThresholdValue'][];
7137
+ /**
7138
+ * Features
7139
+ * @description Optional field containing list of features the rule applies to.
7140
+ */
7141
+ features?: components['schemas']['FeatureMeta'][];
7142
+ };
7143
+ /** @description Request with input parameters for creating new notification rule with entitlements.balance.threshold type. */
7144
+ NotificationRuleBalanceThresholdCreateRequest: {
7145
+ /**
7146
+ * @description Notification rule type. (enum property replaced by openapi-typescript)
7147
+ * @enum {string}
7148
+ */
7149
+ type: 'entitlements.balance.threshold';
7150
+ /**
7151
+ * Rule Name
7152
+ * @description The user friendly name of the notification rule.
7153
+ * @example Balance threshold reached
7154
+ */
7155
+ name: string;
7156
+ /**
7157
+ * Rule Disabled
7158
+ * @description Whether the rule is disabled or not.
7159
+ * @default false
7160
+ * @example true
7161
+ */
7162
+ disabled?: boolean;
7163
+ /**
7164
+ * Entitlement Balance Thresholds
7165
+ * @description List of thresholds the rule suppose to be triggered.
7166
+ */
7167
+ thresholds: components['schemas']['NotificationRuleBalanceThresholdValue'][];
7168
+ /**
7169
+ * Channels
7170
+ * @description List of notification channels the rule is applied to.
7171
+ */
7172
+ channels: string[];
7173
+ /**
7174
+ * Features
7175
+ * @description Optional field for defining the scope of notification by feature. It may contain features by id or key.
7176
+ */
7177
+ features?: string[];
7178
+ };
7179
+ /** @description Threshold value with multiple supported types. */
7180
+ NotificationRuleBalanceThresholdValue: {
7181
+ /**
7182
+ * Threshold Value
7183
+ * Format: double
7184
+ * @description Value of the threshold.
7185
+ * @example 100
7186
+ */
7187
+ value: number;
7188
+ /**
7189
+ * @description Type of the threshold.
7190
+ * @example NUMBER
7191
+ */
7192
+ type: components['schemas']['NotificationRuleBalanceThresholdValueType'];
7193
+ };
7194
+ /**
7195
+ * Notification balance threshold type
7196
+ * @description Type of the rule in the balance threshold specification.
7197
+ * @enum {string}
7198
+ */
7199
+ NotificationRuleBalanceThresholdValueType: 'PERCENT' | 'NUMBER';
7200
+ /** @description Union type for requests creating new notification rule with certain type. */
7201
+ NotificationRuleCreateRequest: components['schemas']['NotificationRuleBalanceThresholdCreateRequest'] | components['schemas']['NotificationRuleEntitlementResetCreateRequest'] | components['schemas']['NotificationRuleInvoiceCreatedCreateRequest'] | components['schemas']['NotificationRuleInvoiceUpdatedCreateRequest'];
7202
+ /** @description Notification rule with entitlements.reset type. */
7203
+ NotificationRuleEntitlementReset: {
7204
+ /**
7205
+ * Creation Time
7206
+ * Format: date-time
7207
+ * @description Timestamp of when the resource was created.
7208
+ * @example 2024-01-01T01:01:01.001Z
7209
+ */
7210
+ readonly createdAt: Date;
7211
+ /**
7212
+ * Last Update Time
7213
+ * Format: date-time
7214
+ * @description Timestamp of when the resource was last updated.
7215
+ * @example 2024-01-01T01:01:01.001Z
7216
+ */
7217
+ readonly updatedAt: Date;
7218
+ /**
7219
+ * Deletion Time
7220
+ * Format: date-time
7221
+ * @description Timestamp of when the resource was permanently deleted.
7222
+ * @example 2024-01-01T01:01:01.001Z
7223
+ */
7224
+ readonly deletedAt?: Date;
7225
+ /**
7226
+ * Rule Unique Identifier
7227
+ * @description Identifies the notification rule.
7228
+ * @example 01ARZ3NDEKTSV4RRFFQ69G5FAV
7229
+ */
7230
+ readonly id: string;
7231
+ /**
7232
+ * @description Notification rule type. (enum property replaced by openapi-typescript)
7233
+ * @enum {string}
7234
+ */
7235
+ type: 'entitlements.reset';
7236
+ /**
7237
+ * Rule Name
7238
+ * @description The user friendly name of the notification rule.
7239
+ * @example Balance threshold reached
7240
+ */
7241
+ name: string;
7242
+ /**
7243
+ * Rule Disabled
7244
+ * @description Whether the rule is disabled or not.
7245
+ * @default false
7246
+ * @example true
7247
+ */
7248
+ disabled?: boolean;
7249
+ /**
7250
+ * Channels assigned to Rule
7251
+ * @description List of notification channels the rule applies to.
7252
+ */
7253
+ channels: components['schemas']['NotificationChannelMeta'][];
7254
+ /**
7255
+ * Features
7256
+ * @description Optional field containing list of features the rule applies to.
7257
+ */
7258
+ features?: components['schemas']['FeatureMeta'][];
7259
+ };
7260
+ /** @description Request with input parameters for creating new notification rule with entitlements.reset type. */
7261
+ NotificationRuleEntitlementResetCreateRequest: {
7262
+ /**
7263
+ * @description Notification rule type. (enum property replaced by openapi-typescript)
7264
+ * @enum {string}
7265
+ */
7266
+ type: 'entitlements.reset';
7267
+ /**
7268
+ * Rule Name
7269
+ * @description The user friendly name of the notification rule.
7270
+ * @example Balance threshold reached
7271
+ */
7272
+ name: string;
7273
+ /**
7274
+ * Rule Disabled
7275
+ * @description Whether the rule is disabled or not.
7276
+ * @default false
7277
+ * @example true
7278
+ */
7279
+ disabled?: boolean;
7280
+ /**
7281
+ * Channels
7282
+ * @description List of notification channels the rule is applied to.
7283
+ */
7284
+ channels: string[];
7285
+ /**
7286
+ * Features
7287
+ * @description Optional field for defining the scope of notification by feature. It may contain features by id or key.
7288
+ */
7289
+ features?: string[];
7290
+ };
7291
+ /** @description Notification rule with invoice.created type. */
7292
+ NotificationRuleInvoiceCreated: {
6896
7293
  /**
6897
- * Notification Event Identifier
6898
- * @description A unique identifier for the notification event the payload belongs to.
6899
- * @example 01J2KNP1YTXQRXHTDJ4KPR7PZ0
7294
+ * Creation Time
7295
+ * Format: date-time
7296
+ * @description Timestamp of when the resource was created.
7297
+ * @example 2024-01-01T01:01:01.001Z
6900
7298
  */
6901
- readonly id: string;
7299
+ readonly createdAt: Date;
6902
7300
  /**
6903
- * Notification Event Type
6904
- * @description Type of the notification event.
6905
- * @enum {string}
7301
+ * Last Update Time
7302
+ * Format: date-time
7303
+ * @description Timestamp of when the resource was last updated.
7304
+ * @example 2024-01-01T01:01:01.001Z
6906
7305
  */
6907
- readonly type: 'entitlements.balance.threshold';
7306
+ readonly updatedAt: Date;
6908
7307
  /**
6909
- * Creation Time
7308
+ * Deletion Time
6910
7309
  * Format: date-time
6911
- * @description Timestamp when the notification event was created in RFC 3339 format.
6912
- * @example 2023-01-01T01:01:01.001Z
7310
+ * @description Timestamp of when the resource was permanently deleted.
7311
+ * @example 2024-01-01T01:01:01.001Z
6913
7312
  */
6914
- readonly timestamp: Date;
7313
+ readonly deletedAt?: Date;
6915
7314
  /**
6916
- * Payload Data
6917
- * @description The data of the payload.
7315
+ * Rule Unique Identifier
7316
+ * @description Identifies the notification rule.
7317
+ * @example 01ARZ3NDEKTSV4RRFFQ69G5FAV
6918
7318
  */
6919
- readonly data: components['schemas']['NotificationEventBalanceThresholdPayloadData'];
6920
- };
6921
- /** @description Data of the payload for notification event with `entitlements.balance.threshold` type. */
6922
- NotificationEventBalanceThresholdPayloadData: {
6923
- /** Entitlement */
6924
- readonly entitlement: components['schemas']['EntitlementMetered'];
6925
- /** Feature */
6926
- readonly feature: components['schemas']['Feature'];
6927
- /** Subject */
6928
- readonly subject: components['schemas']['Subject'];
6929
- /** Entitlement Value */
6930
- readonly value: components['schemas']['EntitlementValue'];
6931
- /** Threshold */
6932
- readonly threshold: components['schemas']['NotificationRuleBalanceThresholdValue'];
6933
- };
6934
- /** @description The delivery status of the notification event. */
6935
- NotificationEventDeliveryStatus: {
7319
+ readonly id: string;
6936
7320
  /**
6937
- * @description Delivery state of the notification event to the channel.
6938
- * @example SUCCESS
7321
+ * @description Notification rule type. (enum property replaced by openapi-typescript)
7322
+ * @enum {string}
6939
7323
  */
6940
- readonly state: components['schemas']['NotificationEventDeliveryStatusState'];
7324
+ type: 'invoice.created';
6941
7325
  /**
6942
- * State Reason
6943
- * @description The reason of the last deliverry state update.
6944
- * @example Failed to dispatch event due to provider error.
7326
+ * Rule Name
7327
+ * @description The user friendly name of the notification rule.
7328
+ * @example Balance threshold reached
6945
7329
  */
6946
- readonly reason: string;
7330
+ name: string;
6947
7331
  /**
6948
- * Last Update Time
6949
- * Format: date-time
6950
- * @description Timestamp of when the status was last updated in RFC 3339 format.
6951
- * @example 2023-01-01T01:01:01.001Z
7332
+ * Rule Disabled
7333
+ * @description Whether the rule is disabled or not.
7334
+ * @default false
7335
+ * @example true
6952
7336
  */
6953
- readonly updatedAt: Date;
7337
+ disabled?: boolean;
6954
7338
  /**
6955
- * Notification Channel
6956
- * @description Notification channel the delivery sattus associated with.
7339
+ * Channels assigned to Rule
7340
+ * @description List of notification channels the rule applies to.
6957
7341
  */
6958
- readonly channel: components['schemas']['NotificationChannelMeta'];
7342
+ channels: components['schemas']['NotificationChannelMeta'][];
6959
7343
  };
6960
- /**
6961
- * Delivery State
6962
- * @description The delivery state of the notification event to the channel.
6963
- * @enum {string}
6964
- */
6965
- NotificationEventDeliveryStatusState: 'SUCCESS' | 'FAILED' | 'SENDING' | 'PENDING';
6966
- /**
6967
- * @description Order by options for notification channels.
6968
- * @enum {string}
6969
- */
6970
- NotificationEventOrderBy: 'id' | 'createdAt';
6971
- /** @description Paginated response */
6972
- NotificationEventPaginatedResponse: {
7344
+ /** @description Request with input parameters for creating new notification rule with invoice.created type. */
7345
+ NotificationRuleInvoiceCreatedCreateRequest: {
6973
7346
  /**
6974
- * @description The total number of items.
6975
- * @example 500
7347
+ * @description Notification rule type. (enum property replaced by openapi-typescript)
7348
+ * @enum {string}
6976
7349
  */
6977
- totalCount: number;
7350
+ type: 'invoice.created';
6978
7351
  /**
6979
- * @description The page index.
6980
- * @example 1
7352
+ * Rule Name
7353
+ * @description The user friendly name of the notification rule.
7354
+ * @example Balance threshold reached
6981
7355
  */
6982
- page: number;
7356
+ name: string;
6983
7357
  /**
6984
- * @description The maximum number of items per page.
6985
- * @example 100
7358
+ * Rule Disabled
7359
+ * @description Whether the rule is disabled or not.
7360
+ * @default false
7361
+ * @example true
6986
7362
  */
6987
- pageSize: number;
6988
- /** @description The items in the current page. */
6989
- items: components['schemas']['NotificationEvent'][];
7363
+ disabled?: boolean;
7364
+ /**
7365
+ * Channels
7366
+ * @description List of notification channels the rule is applied to.
7367
+ */
7368
+ channels: string[];
6990
7369
  };
6991
- /** @description The delivery status of the notification event. */
6992
- NotificationEventPayload: components['schemas']['NotificationEventBalanceThresholdPayload'];
6993
- /**
6994
- * @description Type of the notification event.
6995
- * @enum {string}
6996
- */
6997
- NotificationEventType: 'entitlements.balance.threshold';
6998
- /** @description Notification Rule. */
6999
- NotificationRule: components['schemas']['NotificationRuleBalanceThreshold'];
7000
- /** @description Notification rule with entitlements.balance.threshold type. */
7001
- NotificationRuleBalanceThreshold: {
7370
+ /** @description Notification rule with invoice.updated type. */
7371
+ NotificationRuleInvoiceUpdated: {
7002
7372
  /**
7003
7373
  * Creation Time
7004
7374
  * Format: date-time
@@ -7027,11 +7397,10 @@ export interface components {
7027
7397
  */
7028
7398
  readonly id: string;
7029
7399
  /**
7030
- * Rule Type
7031
- * @description Notification rule type.
7400
+ * @description Notification rule type. (enum property replaced by openapi-typescript)
7032
7401
  * @enum {string}
7033
7402
  */
7034
- type: 'entitlements.balance.threshold';
7403
+ type: 'invoice.updated';
7035
7404
  /**
7036
7405
  * Rule Name
7037
7406
  * @description The user friendly name of the notification rule.
@@ -7050,25 +7419,14 @@ export interface components {
7050
7419
  * @description List of notification channels the rule applies to.
7051
7420
  */
7052
7421
  channels: components['schemas']['NotificationChannelMeta'][];
7053
- /**
7054
- * Entitlement Balance Thresholds
7055
- * @description List of thresholds the rule suppose to be triggered.
7056
- */
7057
- thresholds: components['schemas']['NotificationRuleBalanceThresholdValue'][];
7058
- /**
7059
- * Features
7060
- * @description Optional field containing list of features the rule applies to.
7061
- */
7062
- features?: components['schemas']['FeatureMeta'][];
7063
7422
  };
7064
- /** @description Request with input parameters for creating new notification rule with entitlements.balance.threashold type. */
7065
- NotificationRuleBalanceThresholdCreateRequest: {
7423
+ /** @description Request with input parameters for creating new notification rule with invoice.updated type. */
7424
+ NotificationRuleInvoiceUpdatedCreateRequest: {
7066
7425
  /**
7067
- * Rule Type
7068
- * @description Notification rule type.
7426
+ * @description Notification rule type. (enum property replaced by openapi-typescript)
7069
7427
  * @enum {string}
7070
7428
  */
7071
- type: 'entitlements.balance.threshold';
7429
+ type: 'invoice.updated';
7072
7430
  /**
7073
7431
  * Rule Name
7074
7432
  * @description The user friendly name of the notification rule.
@@ -7082,45 +7440,12 @@ export interface components {
7082
7440
  * @example true
7083
7441
  */
7084
7442
  disabled?: boolean;
7085
- /**
7086
- * Entitlement Balance Thresholds
7087
- * @description List of thresholds the rule suppose to be triggered.
7088
- */
7089
- thresholds: components['schemas']['NotificationRuleBalanceThresholdValue'][];
7090
7443
  /**
7091
7444
  * Channels
7092
7445
  * @description List of notification channels the rule is applied to.
7093
7446
  */
7094
7447
  channels: string[];
7095
- /**
7096
- * Features
7097
- * @description Optional field for defining the scope of notification by feature. It may contain features by id or key.
7098
- */
7099
- features?: string[];
7100
- };
7101
- /** @description Threshold value with multiple supported types. */
7102
- NotificationRuleBalanceThresholdValue: {
7103
- /**
7104
- * Threshold Value
7105
- * Format: double
7106
- * @description Value of the threshold.
7107
- * @example 100
7108
- */
7109
- value: number;
7110
- /**
7111
- * @description Type of the threshold.
7112
- * @example NUMBER
7113
- */
7114
- type: components['schemas']['NotificationRuleBalanceThresholdValueType'];
7115
7448
  };
7116
- /**
7117
- * Notification balance threshold type
7118
- * @description Type of the rule in the balance threshold specification.
7119
- * @enum {string}
7120
- */
7121
- NotificationRuleBalanceThresholdValueType: 'PERCENT' | 'NUMBER';
7122
- /** @description Union type for requests creating new notification rule with certain type. */
7123
- NotificationRuleCreateRequest: components['schemas']['NotificationRuleBalanceThresholdCreateRequest'];
7124
7449
  /**
7125
7450
  * @description Order by options for notification channels.
7126
7451
  * @enum {string}
@@ -7312,6 +7637,24 @@ export interface components {
7312
7637
  * @default USD
7313
7638
  */
7314
7639
  currency: components['schemas']['CurrencyCode'];
7640
+ /**
7641
+ * Billing cadence
7642
+ * Format: duration
7643
+ * @description The default billing cadence for subscriptions using this plan.
7644
+ * Defines how often customers are billed using ISO8601 duration format.
7645
+ * Examples: "P1M" (monthly), "P3M" (quarterly), "P1Y" (annually).
7646
+ * @example P1M
7647
+ */
7648
+ billingCadence: string;
7649
+ /**
7650
+ * Pro-rating configuration
7651
+ * @description Default pro-rating configuration for subscriptions using this plan.
7652
+ * @default {
7653
+ * "enabled": true,
7654
+ * "mode": "prorate_prices"
7655
+ * }
7656
+ */
7657
+ proRatingConfig?: components['schemas']['ProRatingConfig'];
7315
7658
  /**
7316
7659
  * Effective start date
7317
7660
  * Format: date-time
@@ -7342,8 +7685,13 @@ export interface components {
7342
7685
  * A phase switch occurs only at the end of a billing period, ensuring that a single subscription invoice will not include charges from different phase prices.
7343
7686
  */
7344
7687
  phases: components['schemas']['PlanPhase'][];
7688
+ /**
7689
+ * Validation errors
7690
+ * @description List of validation errors.
7691
+ */
7692
+ readonly validationErrors: components['schemas']['ValidationError'][] | null;
7345
7693
  };
7346
- /** @description The AddonAssignment describes the association between a plan and add-on. */
7694
+ /** @description The PlanAddon describes the association between a plan and add-on. */
7347
7695
  PlanAddon: {
7348
7696
  /**
7349
7697
  * Creation Time
@@ -7378,32 +7726,9 @@ export interface components {
7378
7726
  metadata?: components['schemas']['Metadata'];
7379
7727
  /**
7380
7728
  * Addon
7381
- * @description Partially populated add-on properties.
7729
+ * @description Add-on object.
7382
7730
  */
7383
- addon: {
7384
- /**
7385
- * ID
7386
- * @description The ID of the add-on.
7387
- * @example 01G65Z755AFWAKHE12NY0CQ9FH
7388
- */
7389
- id: string;
7390
- /**
7391
- * Key
7392
- * @description A semi-unique identifier for the resource.
7393
- */
7394
- readonly key: string;
7395
- /**
7396
- * Version
7397
- * @description The version of the Add-on which templates this instance.
7398
- * @default 1
7399
- */
7400
- readonly version: number;
7401
- /**
7402
- * InstanceType
7403
- * @description The instance type of the add-on.
7404
- */
7405
- readonly instanceType: components['schemas']['AddonInstanceType'];
7406
- };
7731
+ readonly addon: components['schemas']['Addon'];
7407
7732
  /**
7408
7733
  * The plan phase from the add-on becomes purchasable
7409
7734
  * @description The key of the plan phase from the add-on becomes available for purchase.
@@ -7415,6 +7740,11 @@ export interface components {
7415
7740
  * It is not applicable for add-ons with single instance type.
7416
7741
  */
7417
7742
  maxQuantity?: number;
7743
+ /**
7744
+ * Validation errors
7745
+ * @description List of validation errors.
7746
+ */
7747
+ readonly validationErrors: components['schemas']['ValidationError'][] | null;
7418
7748
  };
7419
7749
  /** @description A plan add-on assignment create request. */
7420
7750
  PlanAddonCreate: {
@@ -7435,16 +7765,11 @@ export interface components {
7435
7765
  */
7436
7766
  maxQuantity?: number;
7437
7767
  /**
7438
- * Addon
7439
- * @description The add-on to create.
7768
+ * Add-on unique identifier
7769
+ * @description The add-on unique identifier in ULID format.
7770
+ * @example 01G65Z755AFWAKHE12NY0CQ9FH
7440
7771
  */
7441
- addon: {
7442
- /**
7443
- * @description The ID of the add-on.
7444
- * @example 01G65Z755AFWAKHE12NY0CQ9FH
7445
- */
7446
- id: string;
7447
- };
7772
+ addonId: string;
7448
7773
  };
7449
7774
  /**
7450
7775
  * @description Order by options for plan add-on assignments.
@@ -7520,6 +7845,24 @@ export interface components {
7520
7845
  * @default USD
7521
7846
  */
7522
7847
  currency: components['schemas']['CurrencyCode'];
7848
+ /**
7849
+ * Billing cadence
7850
+ * Format: duration
7851
+ * @description The default billing cadence for subscriptions using this plan.
7852
+ * Defines how often customers are billed using ISO8601 duration format.
7853
+ * Examples: "P1M" (monthly), "P3M" (quarterly), "P1Y" (annually).
7854
+ * @example P1M
7855
+ */
7856
+ billingCadence: string;
7857
+ /**
7858
+ * Pro-rating configuration
7859
+ * @description Default pro-rating configuration for subscriptions using this plan.
7860
+ * @default {
7861
+ * "enabled": true,
7862
+ * "mode": "prorate_prices"
7863
+ * }
7864
+ */
7865
+ proRatingConfig?: components['schemas']['ProRatingConfig'];
7523
7866
  /**
7524
7867
  * Plan phases
7525
7868
  * @description The plan phase or pricing ramp allows changing a plan's rate cards over time as a subscription progresses.
@@ -7625,6 +7968,24 @@ export interface components {
7625
7968
  metadata?: components['schemas']['Metadata'] | null;
7626
7969
  /** @description Alignment configuration for the plan. */
7627
7970
  alignment?: components['schemas']['Alignment'];
7971
+ /**
7972
+ * Billing cadence
7973
+ * Format: duration
7974
+ * @description The default billing cadence for subscriptions using this plan.
7975
+ * Defines how often customers are billed using ISO8601 duration format.
7976
+ * Examples: "P1M" (monthly), "P3M" (quarterly), "P1Y" (annually).
7977
+ * @example P1M
7978
+ */
7979
+ billingCadence: string;
7980
+ /**
7981
+ * Pro-rating configuration
7982
+ * @description Default pro-rating configuration for subscriptions using this plan.
7983
+ * @default {
7984
+ * "enabled": true,
7985
+ * "mode": "prorate_prices"
7986
+ * }
7987
+ */
7988
+ proRatingConfig?: components['schemas']['ProRatingConfig'];
7628
7989
  /**
7629
7990
  * Plan phases
7630
7991
  * @description The plan phase or pricing ramp allows changing a plan's rate cards over time as a subscription progresses.
@@ -7648,10 +8009,19 @@ export interface components {
7648
8009
  metadata?: components['schemas']['Metadata'];
7649
8010
  /** @description The plan reference to change to. */
7650
8011
  plan: components['schemas']['PlanReferenceInput'];
8012
+ /** @description The key of the phase to start the subscription in.
8013
+ * If not provided, the subscription will start in the first phase of the plan. */
8014
+ startingPhase?: string;
7651
8015
  /** @description The name of the Subscription. If not provided the plan name is used. */
7652
8016
  name?: string;
7653
8017
  /** @description Description for the Subscription. */
7654
8018
  description?: string;
8019
+ /**
8020
+ * Format: date-time
8021
+ * @description The billing anchor of the subscription. The provided date will be normalized according to the billing cadence to the nearest recurrence before start time. If not provided, the previous subscription billing anchor will be used.
8022
+ * @example 2023-01-01T01:01:01.001Z
8023
+ */
8024
+ billingAnchor?: Date;
7655
8025
  };
7656
8026
  /** @description Create subscription based on plan. */
7657
8027
  PlanSubscriptionCreate: {
@@ -7661,6 +8031,9 @@ export interface components {
7661
8031
  metadata?: components['schemas']['Metadata'];
7662
8032
  /** @description The plan reference to change to. */
7663
8033
  plan: components['schemas']['PlanReferenceInput'];
8034
+ /** @description The key of the phase to start the subscription in.
8035
+ * If not provided, the subscription will start in the first phase of the plan. */
8036
+ startingPhase?: string;
7664
8037
  /** @description The name of the Subscription. If not provided the plan name is used. */
7665
8038
  name?: string;
7666
8039
  /** @description Description for the Subscription. */
@@ -7678,6 +8051,12 @@ export interface components {
7678
8051
  customerId?: string;
7679
8052
  /** @description The key of the customer. Provide either the key or ID. */
7680
8053
  customerKey?: string;
8054
+ /**
8055
+ * Format: date-time
8056
+ * @description The billing anchor of the subscription. The provided date will be normalized according to the billing cadence to the nearest recurrence before start time. If not provided, the subscription start time will be used.
8057
+ * @example 2023-01-01T01:01:01.001Z
8058
+ */
8059
+ billingAnchor?: Date;
7681
8060
  };
7682
8061
  /** @description A consumer portal token.
7683
8062
  *
@@ -7745,6 +8124,26 @@ export interface components {
7745
8124
  */
7746
8125
  unitPrice: components['schemas']['UnitPrice'] | null;
7747
8126
  };
8127
+ /** @description Configuration for pro-rating behavior. */
8128
+ ProRatingConfig: {
8129
+ /**
8130
+ * Enable pro-rating
8131
+ * @description Whether pro-rating is enabled for this plan.
8132
+ * @default true
8133
+ */
8134
+ enabled: boolean;
8135
+ /**
8136
+ * Pro-rating mode
8137
+ * @description How to handle pro-rating for billing period changes.
8138
+ * @default prorate_prices
8139
+ */
8140
+ mode: components['schemas']['ProRatingMode'];
8141
+ };
8142
+ /**
8143
+ * @description Pro-rating mode options for handling billing period changes.
8144
+ * @enum {string}
8145
+ */
8146
+ ProRatingMode: 'prorate_prices';
7748
8147
  /** @description Progress describes a progress of a task. */
7749
8148
  Progress: {
7750
8149
  /**
@@ -8100,9 +8499,6 @@ export interface components {
8100
8499
  readonly listing: components['schemas']['MarketplaceListing'];
8101
8500
  /** @description Status of the app connection. */
8102
8501
  readonly status: components['schemas']['AppStatus'];
8103
- /** @description Default for the app type
8104
- * Only one app of each type can be default. */
8105
- default: boolean;
8106
8502
  /**
8107
8503
  * @description The app's type is Sandbox. (enum property replaced by openapi-typescript)
8108
8504
  * @enum {string}
@@ -8126,9 +8522,6 @@ export interface components {
8126
8522
  * @description Additional metadata for the resource.
8127
8523
  */
8128
8524
  metadata?: components['schemas']['Metadata'] | null;
8129
- /** @description Default for the app type
8130
- * Only one app of each type can be default. */
8131
- default: boolean;
8132
8525
  /**
8133
8526
  * @description The app's type is Sandbox. (enum property replaced by openapi-typescript)
8134
8527
  * @enum {string}
@@ -8171,7 +8564,6 @@ export interface components {
8171
8564
  * "type": "stripe",
8172
8565
  * "name": "Stripe",
8173
8566
  * "status": "ready",
8174
- * "default": true,
8175
8567
  * "listing": {
8176
8568
  * "type": "stripe",
8177
8569
  * "name": "Stripe",
@@ -8255,9 +8647,6 @@ export interface components {
8255
8647
  readonly listing: components['schemas']['MarketplaceListing'];
8256
8648
  /** @description Status of the app connection. */
8257
8649
  readonly status: components['schemas']['AppStatus'];
8258
- /** @description Default for the app type
8259
- * Only one app of each type can be default. */
8260
- default: boolean;
8261
8650
  /**
8262
8651
  * @description The app's type is Stripe. (enum property replaced by openapi-typescript)
8263
8652
  * @enum {string}
@@ -8288,9 +8677,6 @@ export interface components {
8288
8677
  * @description Additional metadata for the resource.
8289
8678
  */
8290
8679
  metadata?: components['schemas']['Metadata'] | null;
8291
- /** @description Default for the app type
8292
- * Only one app of each type can be default. */
8293
- default: boolean;
8294
8680
  /**
8295
8681
  * @description The app's type is Stripe. (enum property replaced by openapi-typescript)
8296
8682
  * @enum {string}
@@ -8408,7 +8794,11 @@ export interface components {
8408
8794
  message?: string;
8409
8795
  };
8410
8796
  /**
8411
- * @description A subject is a unique identifier for a user or entity.
8797
+ * @description A subject is a unique identifier for a usage attribution by its key.
8798
+ * Subjects only exist in the concept of metering.
8799
+ * Subjects are optional to create and work as an enrichment for the subject key like displayName, metadata, etc.
8800
+ * Subjects are useful when you are reporting usage events with your own database ID but want to enrich the subject with a human-readable name or metadata.
8801
+ * For most use cases, a subject is equivalent to a customer.
8412
8802
  * @example {
8413
8803
  * "id": "01G65Z755AFWAKHE12NY0CQ9FH",
8414
8804
  * "key": "customer-id",
@@ -8416,8 +8806,6 @@ export interface components {
8416
8806
  * "metadata": {
8417
8807
  * "hubspotId": "123456"
8418
8808
  * },
8419
- * "currentPeriodStart": "2023-01-01T00:00:00Z",
8420
- * "currentPeriodEnd": "2023-02-01T00:00:00Z",
8421
8809
  * "stripeCustomerId": "cus_JMOlctsKV8"
8422
8810
  * }
8423
8811
  */
@@ -8429,7 +8817,8 @@ export interface components {
8429
8817
  readonly id: string;
8430
8818
  /**
8431
8819
  * @description A unique, human-readable identifier for the subject.
8432
- * @example customer-id
8820
+ * This is typically a database ID or a customer key.
8821
+ * @example customer-db-id-123
8433
8822
  */
8434
8823
  key: string;
8435
8824
  /**
@@ -8437,25 +8826,34 @@ export interface components {
8437
8826
  * @example Customer Name
8438
8827
  */
8439
8828
  displayName?: string | null;
8440
- /** @example {
8829
+ /**
8830
+ * @description Metadata for the subject.
8831
+ * @example {
8441
8832
  * "hubspotId": "123456"
8442
- * } */
8833
+ * }
8834
+ */
8443
8835
  metadata?: {
8444
8836
  [key: string]: unknown;
8445
8837
  } | null;
8446
8838
  /**
8447
8839
  * Format: date-time
8448
- * @description [RFC3339](https://tools.ietf.org/html/rfc3339) formatted date-time string in UTC.
8840
+ * @deprecated
8841
+ * @description The start of the current period for the subject.
8449
8842
  * @example 2023-01-01T00:00:00Z
8450
8843
  */
8451
8844
  currentPeriodStart?: Date;
8452
8845
  /**
8453
8846
  * Format: date-time
8454
- * @description [RFC3339](https://tools.ietf.org/html/rfc3339) formatted date-time string in UTC.
8847
+ * @deprecated
8848
+ * @description The end of the current period for the subject.
8455
8849
  * @example 2023-02-01T00:00:00Z
8456
8850
  */
8457
8851
  currentPeriodEnd?: Date;
8458
- /** @example cus_JMOlctsKV8 */
8852
+ /**
8853
+ * @deprecated
8854
+ * @description The Stripe customer ID for the subject.
8855
+ * @example cus_JMOlctsKV8
8856
+ */
8459
8857
  stripeCustomerId?: string | null;
8460
8858
  };
8461
8859
  /**
@@ -8466,15 +8864,14 @@ export interface components {
8466
8864
  * "metadata": {
8467
8865
  * "hubspotId": "123456"
8468
8866
  * },
8469
- * "currentPeriodStart": "2023-01-01T00:00:00Z",
8470
- * "currentPeriodEnd": "2023-02-01T00:00:00Z",
8471
8867
  * "stripeCustomerId": "cus_JMOlctsKV8"
8472
8868
  * }
8473
8869
  */
8474
8870
  SubjectUpsert: {
8475
8871
  /**
8476
8872
  * @description A unique, human-readable identifier for the subject.
8477
- * @example customer-id
8873
+ * This is typically a database ID or a customer key.
8874
+ * @example customer-db-id-123
8478
8875
  */
8479
8876
  key: string;
8480
8877
  /**
@@ -8482,25 +8879,34 @@ export interface components {
8482
8879
  * @example Customer Name
8483
8880
  */
8484
8881
  displayName?: string | null;
8485
- /** @example {
8882
+ /**
8883
+ * @description Metadata for the subject.
8884
+ * @example {
8486
8885
  * "hubspotId": "123456"
8487
- * } */
8886
+ * }
8887
+ */
8488
8888
  metadata?: {
8489
8889
  [key: string]: unknown;
8490
8890
  } | null;
8491
8891
  /**
8492
8892
  * Format: date-time
8493
- * @description [RFC3339](https://tools.ietf.org/html/rfc3339) formatted date-time string in UTC.
8893
+ * @deprecated
8894
+ * @description The start of the current period for the subject.
8494
8895
  * @example 2023-01-01T00:00:00Z
8495
8896
  */
8496
8897
  currentPeriodStart?: Date;
8497
8898
  /**
8498
8899
  * Format: date-time
8499
- * @description [RFC3339](https://tools.ietf.org/html/rfc3339) formatted date-time string in UTC.
8900
+ * @deprecated
8901
+ * @description The end of the current period for the subject.
8500
8902
  * @example 2023-02-01T00:00:00Z
8501
8903
  */
8502
8904
  currentPeriodEnd?: Date;
8503
- /** @example cus_JMOlctsKV8 */
8905
+ /**
8906
+ * @deprecated
8907
+ * @description The Stripe customer ID for the subject.
8908
+ * @example cus_JMOlctsKV8
8909
+ */
8504
8910
  stripeCustomerId?: string | null;
8505
8911
  };
8506
8912
  /** @description Subscription is an exact subscription instance. */
@@ -8577,6 +8983,31 @@ export interface components {
8577
8983
  * @default USD
8578
8984
  */
8579
8985
  currency: components['schemas']['CurrencyCode'];
8986
+ /**
8987
+ * Billing cadence
8988
+ * Format: duration
8989
+ * @description The billing cadence for the subscriptions.
8990
+ * Defines how often customers are billed using ISO8601 duration format.
8991
+ * Examples: "P1M" (monthly), "P3M" (quarterly), "P1Y" (annually).
8992
+ * @example P1M
8993
+ */
8994
+ readonly billingCadence: string;
8995
+ /**
8996
+ * Pro-rating configuration
8997
+ * @description The pro-rating configuration for the subscriptions.
8998
+ * @default {
8999
+ * "enabled": true,
9000
+ * "mode": "prorate_prices"
9001
+ * }
9002
+ */
9003
+ readonly proRatingConfig?: components['schemas']['ProRatingConfig'];
9004
+ /**
9005
+ * Billing anchor
9006
+ * Format: date-time
9007
+ * @description The normalizedbilling anchor of the subscription.
9008
+ * @example 2023-01-01T01:01:01.001Z
9009
+ */
9010
+ readonly billingAnchor: Date;
8580
9011
  };
8581
9012
  /** @description A subscription add-on, represents concrete instances of an add-on for a given subscription. */
8582
9013
  SubscriptionAddon: {
@@ -8627,13 +9058,13 @@ export interface components {
8627
9058
  * @description The cadence start of the resource.
8628
9059
  * @example 2023-01-01T01:01:01.001Z
8629
9060
  */
8630
- activeFrom: Date;
9061
+ readonly activeFrom: Date;
8631
9062
  /**
8632
9063
  * Format: date-time
8633
9064
  * @description The cadence end of the resource.
8634
9065
  * @example 2023-01-01T01:01:01.001Z
8635
9066
  */
8636
- activeTo?: Date;
9067
+ readonly activeTo?: Date;
8637
9068
  /**
8638
9069
  * Addon
8639
9070
  * @description Partially populated add-on properties.
@@ -8725,18 +9156,6 @@ export interface components {
8725
9156
  * @description Additional metadata for the resource.
8726
9157
  */
8727
9158
  metadata?: components['schemas']['Metadata'] | null;
8728
- /**
8729
- * Format: date-time
8730
- * @description The cadence start of the resource.
8731
- * @example 2023-01-01T01:01:01.001Z
8732
- */
8733
- activeFrom: Date;
8734
- /**
8735
- * Format: date-time
8736
- * @description The cadence end of the resource.
8737
- * @example 2023-01-01T01:01:01.001Z
8738
- */
8739
- activeTo?: Date;
8740
9159
  /**
8741
9160
  * Quantity
8742
9161
  * @description The quantity of the add-on. Always 1 for single instance add-ons.
@@ -8811,18 +9230,6 @@ export interface components {
8811
9230
  * @description Additional metadata for the resource.
8812
9231
  */
8813
9232
  metadata?: components['schemas']['Metadata'] | null;
8814
- /**
8815
- * Format: date-time
8816
- * @description The cadence start of the resource.
8817
- * @example 2023-01-01T01:01:01.001Z
8818
- */
8819
- activeFrom?: Date;
8820
- /**
8821
- * Format: date-time
8822
- * @description The cadence end of the resource.
8823
- * @example 2023-01-01T01:01:01.001Z
8824
- */
8825
- activeTo?: Date;
8826
9233
  /**
8827
9234
  * Quantity
8828
9235
  * @description The quantity of the add-on. Always 1 for single instance add-ons.
@@ -8837,8 +9244,11 @@ export interface components {
8837
9244
  };
8838
9245
  /** @description Alignment details enriched with the current billing period. */
8839
9246
  SubscriptionAlignment: {
8840
- /** @description Whether all Billable items and RateCards must align.
8841
- * Alignment means the Price's BillingCadence must align for both duration and anchor time. */
9247
+ /**
9248
+ * @deprecated
9249
+ * @description Whether all Billable items and RateCards must align.
9250
+ * Alignment means the Price's BillingCadence must align for both duration and anchor time.
9251
+ */
8842
9252
  billablesMustAlign?: boolean;
8843
9253
  /** @description The current billing period. Only has value if the subscription is aligned and active. */
8844
9254
  currentAlignedBillingPeriod?: components['schemas']['Period'];
@@ -8942,6 +9352,31 @@ export interface components {
8942
9352
  * @default USD
8943
9353
  */
8944
9354
  currency: components['schemas']['CurrencyCode'];
9355
+ /**
9356
+ * Billing cadence
9357
+ * Format: duration
9358
+ * @description The billing cadence for the subscriptions.
9359
+ * Defines how often customers are billed using ISO8601 duration format.
9360
+ * Examples: "P1M" (monthly), "P3M" (quarterly), "P1Y" (annually).
9361
+ * @example P1M
9362
+ */
9363
+ readonly billingCadence: string;
9364
+ /**
9365
+ * Pro-rating configuration
9366
+ * @description The pro-rating configuration for the subscriptions.
9367
+ * @default {
9368
+ * "enabled": true,
9369
+ * "mode": "prorate_prices"
9370
+ * }
9371
+ */
9372
+ readonly proRatingConfig?: components['schemas']['ProRatingConfig'];
9373
+ /**
9374
+ * Billing anchor
9375
+ * Format: date-time
9376
+ * @description The normalizedbilling anchor of the subscription.
9377
+ * @example 2023-01-01T01:01:01.001Z
9378
+ */
9379
+ readonly billingAnchor: Date;
8945
9380
  /** @description Alignment details enriched with the current billing period. */
8946
9381
  alignment?: components['schemas']['SubscriptionAlignment'];
8947
9382
  /** @description The phases of the subscription. */
@@ -9012,7 +9447,7 @@ export interface components {
9012
9447
  *
9013
9448
  * 2. If a Feature is not associated with the SubscriptionItem, it is referenced by the Price
9014
9449
  *
9015
- * We say referenced by the Price regardless of how a price itself is referenced, it colloquially makes sense to say paying the same price for the same thing”. In practice this should be derived from what's printed on the invoice line-item. */
9450
+ * We say "referenced by the Price" regardless of how a price itself is referenced, it colloquially makes sense to say "paying the same price for the same thing". In practice this should be derived from what's printed on the invoice line-item. */
9016
9451
  key: string;
9017
9452
  /** @description The feature's key (if present). */
9018
9453
  featureKey?: string;
@@ -9190,22 +9625,6 @@ export interface components {
9190
9625
  * @enum {string}
9191
9626
  */
9192
9627
  SubscriptionTimingEnum: 'immediate' | 'next_billing_cycle';
9193
- /** @description Operational webhook reqeuest sent by Svix. */
9194
- SvixOperationalWebhookRequest: {
9195
- /**
9196
- * Operational Webhook Type
9197
- * @description The type of the Svix operational webhook request.
9198
- * @enum {string}
9199
- */
9200
- type: 'endpoint.created' | 'endpoint.deleted' | 'endpoint.disabled' | 'endpoint.updated' | 'message.attempt.exhausted' | 'message.attempt.failing' | 'message.attempt.recovered';
9201
- /**
9202
- * Operational Webhook Payload
9203
- * @description The payload of the Svix operational webhook request.
9204
- */
9205
- data: {
9206
- [key: string]: string;
9207
- };
9208
- };
9209
9628
  /**
9210
9629
  * @description Tax behavior.
9211
9630
  *
@@ -9272,6 +9691,8 @@ export interface components {
9272
9691
  */
9273
9692
  maximumAmount?: components['schemas']['Numeric'];
9274
9693
  };
9694
+ /** @description ULID (Universally Unique Lexicographically Sortable Identifier) or external unique key. */
9695
+ ULIDOrExternalKey: string;
9275
9696
  /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
9276
9697
  UnauthorizedProblemResponse: components['schemas']['UnexpectedProblemResponse'];
9277
9698
  /** @description A Problem Details object (RFC 7807).
@@ -9307,7 +9728,7 @@ export interface components {
9307
9728
  */
9308
9729
  instance: string;
9309
9730
  } & {
9310
- [key: string]: string | number;
9731
+ [key: string]: unknown;
9311
9732
  };
9312
9733
  /** @description Unit price. */
9313
9734
  UnitPrice: {
@@ -9339,6 +9760,62 @@ export interface components {
9339
9760
  */
9340
9761
  maximumAmount?: components['schemas']['Numeric'];
9341
9762
  };
9763
+ /** @description Validation errors providing detailed description of the issue. */
9764
+ ValidationError: {
9765
+ /**
9766
+ * @description The path to the field.
9767
+ * @example addons/pro/ratecards/token/featureKey
9768
+ */
9769
+ readonly field: string;
9770
+ /**
9771
+ * @description The machine readable description of the error.
9772
+ * @example invalid_feature_key
9773
+ */
9774
+ readonly code: string;
9775
+ /**
9776
+ * @description The human readable description of the error.
9777
+ * @example not found feature by key
9778
+ */
9779
+ readonly message: string;
9780
+ /** @description Additional attributes. */
9781
+ readonly attributes?: components['schemas']['Annotations'];
9782
+ };
9783
+ /** @description A BadRequestError with a validationErrors extension. */
9784
+ ValidationErrorProblemResponse: {
9785
+ /**
9786
+ * Format: uri
9787
+ * @description Type contains a URI that identifies the problem type.
9788
+ * @default about:blank
9789
+ * @example about:blank
9790
+ */
9791
+ type: string;
9792
+ /**
9793
+ * @description A a short, human-readable summary of the problem type.
9794
+ * @example Bad Request
9795
+ */
9796
+ title: string;
9797
+ /**
9798
+ * Format: int16
9799
+ * @description The HTTP status code generated by the origin server for this occurrence of the problem.
9800
+ * @example 400
9801
+ */
9802
+ status?: number;
9803
+ /**
9804
+ * @description A human-readable explanation specific to this occurrence of the problem.
9805
+ * @example The request body must be a JSON object.
9806
+ */
9807
+ detail: string;
9808
+ /**
9809
+ * Format: uri
9810
+ * @description A URI reference that identifies the specific occurrence of the problem.
9811
+ * @example urn:request:local/JMOlctsKV8-000001
9812
+ */
9813
+ instance: string;
9814
+ /** @description Validation issues. */
9815
+ readonly extensions?: {
9816
+ validationErrors?: components['schemas']['ValidationError'][];
9817
+ };
9818
+ };
9342
9819
  /** @description ValidationIssue captures any validation issues related to the invoice.
9343
9820
  *
9344
9821
  * Issues with severity "critical" will prevent the invoice from being issued. */
@@ -9472,7 +9949,7 @@ export interface components {
9472
9949
  * @description Aggregation window size.
9473
9950
  * @enum {string}
9474
9951
  */
9475
- WindowSize: 'MINUTE' | 'HOUR' | 'DAY';
9952
+ WindowSize: 'MINUTE' | 'HOUR' | 'DAY' | 'MONTH';
9476
9953
  /** @description The windowed balance history. */
9477
9954
  WindowedBalanceHistory: {
9478
9955
  /** @description The windowed balance history.
@@ -9504,6 +9981,8 @@ export interface components {
9504
9981
  'BillingProfileListCustomerOverridesParams.customerName': string;
9505
9982
  /** @description Filter by customer primary email */
9506
9983
  'BillingProfileListCustomerOverridesParams.customerPrimaryEmail': string;
9984
+ /** @description Only return customers without pinned billing profiles. This implicitly sets includeAllCustomers to true. */
9985
+ 'BillingProfileListCustomerOverridesParams.customersWithoutPinnedProfile': boolean;
9507
9986
  /** @description Expand the response with additional details. */
9508
9987
  'BillingProfileListCustomerOverridesParams.expand': components['schemas']['BillingProfileCustomerOverrideExpand'][];
9509
9988
  /** @description Include customers without customer overrides.
@@ -9536,6 +10015,12 @@ export interface components {
9536
10015
  'GrantOrderByOrdering.order': components['schemas']['SortOrder'];
9537
10016
  /** @description The order by field. */
9538
10017
  'GrantOrderByOrdering.orderBy': components['schemas']['GrantOrderBy'];
10018
+ /** @description Filter by invoice created time.
10019
+ * Inclusive. */
10020
+ 'InvoiceListParams.createdAfter': Date | string;
10021
+ /** @description Filter by invoice created time.
10022
+ * Inclusive. */
10023
+ 'InvoiceListParams.createdBefore': Date | string;
9539
10024
  /** @description Filter by customer ID */
9540
10025
  'InvoiceListParams.customers': string[];
9541
10026
  /** @description What parts of the list output to expand in listings */
@@ -9544,10 +10029,18 @@ export interface components {
9544
10029
  'InvoiceListParams.extendedStatuses': string[];
9545
10030
  /** @description Include deleted invoices */
9546
10031
  'InvoiceListParams.includeDeleted': boolean;
9547
- /** @description Filter by invoice creation time */
10032
+ /** @description Filter by invoice issued time.
10033
+ * Inclusive. */
9548
10034
  'InvoiceListParams.issuedAfter': Date | string;
9549
- /** @description Filter by invoice creation time */
10035
+ /** @description Filter by invoice issued time.
10036
+ * Inclusive. */
9550
10037
  'InvoiceListParams.issuedBefore': Date | string;
10038
+ /** @description Filter by period start time.
10039
+ * Inclusive. */
10040
+ 'InvoiceListParams.periodStartAfter': Date | string;
10041
+ /** @description Filter by period start time.
10042
+ * Inclusive. */
10043
+ 'InvoiceListParams.periodStartBefore': Date | string;
9551
10044
  /** @description Filter by the invoice status. */
9552
10045
  'InvoiceListParams.statuses': components['schemas']['InvoiceStatus'][];
9553
10046
  /** @description The order direction. */
@@ -9739,6 +10232,7 @@ export type BillingWorkflowCollectionSettings = components['schemas']['BillingWo
9739
10232
  export type BillingWorkflowCreate = components['schemas']['BillingWorkflowCreate'];
9740
10233
  export type BillingWorkflowInvoicingSettings = components['schemas']['BillingWorkflowInvoicingSettings'];
9741
10234
  export type BillingWorkflowPaymentSettings = components['schemas']['BillingWorkflowPaymentSettings'];
10235
+ export type BillingWorkflowTaxSettings = components['schemas']['BillingWorkflowTaxSettings'];
9742
10236
  export type CheckoutSessionCustomTextAfterSubmitParams = components['schemas']['CheckoutSessionCustomTextAfterSubmitParams'];
9743
10237
  export type CheckoutSessionUiMode = components['schemas']['CheckoutSessionUIMode'];
9744
10238
  export type ClientAppStartResponse = components['schemas']['ClientAppStartResponse'];
@@ -9848,14 +10342,12 @@ export type InvoiceAppExternalIds = components['schemas']['InvoiceAppExternalIds
9848
10342
  export type InvoiceAvailableActionDetails = components['schemas']['InvoiceAvailableActionDetails'];
9849
10343
  export type InvoiceAvailableActionInvoiceDetails = components['schemas']['InvoiceAvailableActionInvoiceDetails'];
9850
10344
  export type InvoiceAvailableActions = components['schemas']['InvoiceAvailableActions'];
10345
+ export type InvoiceDetailedLine = components['schemas']['InvoiceDetailedLine'];
10346
+ export type InvoiceDetailedLineCostCategory = components['schemas']['InvoiceDetailedLineCostCategory'];
10347
+ export type InvoiceDetailedLineRateCard = components['schemas']['InvoiceDetailedLineRateCard'];
9851
10348
  export type InvoiceDocumentRef = components['schemas']['InvoiceDocumentRef'];
9852
10349
  export type InvoiceDocumentRefType = components['schemas']['InvoiceDocumentRefType'];
9853
10350
  export type InvoiceExpand = components['schemas']['InvoiceExpand'];
9854
- export type InvoiceFlatFeeCategory = components['schemas']['InvoiceFlatFeeCategory'];
9855
- export type InvoiceFlatFeeLine = components['schemas']['InvoiceFlatFeeLine'];
9856
- export type InvoiceFlatFeeLineReplaceUpdate = components['schemas']['InvoiceFlatFeeLineReplaceUpdate'];
9857
- export type InvoiceFlatFeePendingLineCreate = components['schemas']['InvoiceFlatFeePendingLineCreate'];
9858
- export type InvoiceFlatFeeRateCard = components['schemas']['InvoiceFlatFeeRateCard'];
9859
10351
  export type InvoiceGenericDocumentRef = components['schemas']['InvoiceGenericDocumentRef'];
9860
10352
  export type InvoiceLine = components['schemas']['InvoiceLine'];
9861
10353
  export type InvoiceLineAmountDiscount = components['schemas']['InvoiceLineAmountDiscount'];
@@ -9873,21 +10365,18 @@ export type InvoiceOrderBy = components['schemas']['InvoiceOrderBy'];
9873
10365
  export type InvoicePaginatedResponse = components['schemas']['InvoicePaginatedResponse'];
9874
10366
  export type InvoicePaymentTerms = components['schemas']['InvoicePaymentTerms'];
9875
10367
  export type InvoicePendingLineCreate = components['schemas']['InvoicePendingLineCreate'];
10368
+ export type InvoicePendingLineCreateInput = components['schemas']['InvoicePendingLineCreateInput'];
10369
+ export type InvoicePendingLineCreateResponse = components['schemas']['InvoicePendingLineCreateResponse'];
9876
10370
  export type InvoicePendingLinesActionFiltersInput = components['schemas']['InvoicePendingLinesActionFiltersInput'];
9877
10371
  export type InvoicePendingLinesActionInput = components['schemas']['InvoicePendingLinesActionInput'];
9878
10372
  export type InvoiceReference = components['schemas']['InvoiceReference'];
9879
10373
  export type InvoiceReplaceUpdate = components['schemas']['InvoiceReplaceUpdate'];
9880
- export type InvoiceSimulationFlatFeeLine = components['schemas']['InvoiceSimulationFlatFeeLine'];
9881
10374
  export type InvoiceSimulationInput = components['schemas']['InvoiceSimulationInput'];
9882
10375
  export type InvoiceSimulationLine = components['schemas']['InvoiceSimulationLine'];
9883
- export type InvoiceSimulationUsageBasedLine = components['schemas']['InvoiceSimulationUsageBasedLine'];
9884
10376
  export type InvoiceStatus = components['schemas']['InvoiceStatus'];
9885
10377
  export type InvoiceStatusDetails = components['schemas']['InvoiceStatusDetails'];
9886
10378
  export type InvoiceTotals = components['schemas']['InvoiceTotals'];
9887
10379
  export type InvoiceType = components['schemas']['InvoiceType'];
9888
- export type InvoiceUsageBasedLine = components['schemas']['InvoiceUsageBasedLine'];
9889
- export type InvoiceUsageBasedLineReplaceUpdate = components['schemas']['InvoiceUsageBasedLineReplaceUpdate'];
9890
- export type InvoiceUsageBasedPendingLineCreate = components['schemas']['InvoiceUsageBasedPendingLineCreate'];
9891
10380
  export type InvoiceUsageBasedRateCard = components['schemas']['InvoiceUsageBasedRateCard'];
9892
10381
  export type InvoiceWorkflowInvoicingSettingsReplaceUpdate = components['schemas']['InvoiceWorkflowInvoicingSettingsReplaceUpdate'];
9893
10382
  export type InvoiceWorkflowReplaceUpdate = components['schemas']['InvoiceWorkflowReplaceUpdate'];
@@ -9895,6 +10384,7 @@ export type InvoiceWorkflowSettings = components['schemas']['InvoiceWorkflowSett
9895
10384
  export type InvoiceWorkflowSettingsReplaceUpdate = components['schemas']['InvoiceWorkflowSettingsReplaceUpdate'];
9896
10385
  export type ListEntitlementsResult = components['schemas']['ListEntitlementsResult'];
9897
10386
  export type ListFeaturesResult = components['schemas']['ListFeaturesResult'];
10387
+ export type MarketplaceInstallRequestPayload = components['schemas']['MarketplaceInstallRequestPayload'];
9898
10388
  export type MarketplaceInstallResponse = components['schemas']['MarketplaceInstallResponse'];
9899
10389
  export type MarketplaceListing = components['schemas']['MarketplaceListing'];
9900
10390
  export type MarketplaceListingPaginatedResponse = components['schemas']['MarketplaceListingPaginatedResponse'];
@@ -9906,6 +10396,7 @@ export type Meter = components['schemas']['Meter'];
9906
10396
  export type MeterAggregation = components['schemas']['MeterAggregation'];
9907
10397
  export type MeterCreate = components['schemas']['MeterCreate'];
9908
10398
  export type MeterOrderBy = components['schemas']['MeterOrderBy'];
10399
+ export type MeterQueryRequest = components['schemas']['MeterQueryRequest'];
9909
10400
  export type MeterQueryResult = components['schemas']['MeterQueryResult'];
9910
10401
  export type MeterQueryRow = components['schemas']['MeterQueryRow'];
9911
10402
  export type MeterUpdate = components['schemas']['MeterUpdate'];
@@ -9924,9 +10415,13 @@ export type NotificationEventBalanceThresholdPayload = components['schemas']['No
9924
10415
  export type NotificationEventBalanceThresholdPayloadData = components['schemas']['NotificationEventBalanceThresholdPayloadData'];
9925
10416
  export type NotificationEventDeliveryStatus = components['schemas']['NotificationEventDeliveryStatus'];
9926
10417
  export type NotificationEventDeliveryStatusState = components['schemas']['NotificationEventDeliveryStatusState'];
10418
+ export type NotificationEventEntitlementValuePayloadBase = components['schemas']['NotificationEventEntitlementValuePayloadBase'];
10419
+ export type NotificationEventInvoiceCreatedPayload = components['schemas']['NotificationEventInvoiceCreatedPayload'];
10420
+ export type NotificationEventInvoiceUpdatedPayload = components['schemas']['NotificationEventInvoiceUpdatedPayload'];
9927
10421
  export type NotificationEventOrderBy = components['schemas']['NotificationEventOrderBy'];
9928
10422
  export type NotificationEventPaginatedResponse = components['schemas']['NotificationEventPaginatedResponse'];
9929
10423
  export type NotificationEventPayload = components['schemas']['NotificationEventPayload'];
10424
+ export type NotificationEventResetPayload = components['schemas']['NotificationEventResetPayload'];
9930
10425
  export type NotificationEventType = components['schemas']['NotificationEventType'];
9931
10426
  export type NotificationRule = components['schemas']['NotificationRule'];
9932
10427
  export type NotificationRuleBalanceThreshold = components['schemas']['NotificationRuleBalanceThreshold'];
@@ -9934,6 +10429,12 @@ export type NotificationRuleBalanceThresholdCreateRequest = components['schemas'
9934
10429
  export type NotificationRuleBalanceThresholdValue = components['schemas']['NotificationRuleBalanceThresholdValue'];
9935
10430
  export type NotificationRuleBalanceThresholdValueType = components['schemas']['NotificationRuleBalanceThresholdValueType'];
9936
10431
  export type NotificationRuleCreateRequest = components['schemas']['NotificationRuleCreateRequest'];
10432
+ export type NotificationRuleEntitlementReset = components['schemas']['NotificationRuleEntitlementReset'];
10433
+ export type NotificationRuleEntitlementResetCreateRequest = components['schemas']['NotificationRuleEntitlementResetCreateRequest'];
10434
+ export type NotificationRuleInvoiceCreated = components['schemas']['NotificationRuleInvoiceCreated'];
10435
+ export type NotificationRuleInvoiceCreatedCreateRequest = components['schemas']['NotificationRuleInvoiceCreatedCreateRequest'];
10436
+ export type NotificationRuleInvoiceUpdated = components['schemas']['NotificationRuleInvoiceUpdated'];
10437
+ export type NotificationRuleInvoiceUpdatedCreateRequest = components['schemas']['NotificationRuleInvoiceUpdatedCreateRequest'];
9937
10438
  export type NotificationRuleOrderBy = components['schemas']['NotificationRuleOrderBy'];
9938
10439
  export type NotificationRulePaginatedResponse = components['schemas']['NotificationRulePaginatedResponse'];
9939
10440
  export type Numeric = components['schemas']['Numeric'];
@@ -9965,6 +10466,8 @@ export type PortalToken = components['schemas']['PortalToken'];
9965
10466
  export type PreconditionFailedProblemResponse = components['schemas']['PreconditionFailedProblemResponse'];
9966
10467
  export type PricePaymentTerm = components['schemas']['PricePaymentTerm'];
9967
10468
  export type PriceTier = components['schemas']['PriceTier'];
10469
+ export type ProRatingConfig = components['schemas']['ProRatingConfig'];
10470
+ export type ProRatingMode = components['schemas']['ProRatingMode'];
9968
10471
  export type Progress = components['schemas']['Progress'];
9969
10472
  export type RateCard = components['schemas']['RateCard'];
9970
10473
  export type RateCardBooleanEntitlement = components['schemas']['RateCardBooleanEntitlement'];
@@ -10017,15 +10520,17 @@ export type SubscriptionPhaseExpanded = components['schemas']['SubscriptionPhase
10017
10520
  export type SubscriptionStatus = components['schemas']['SubscriptionStatus'];
10018
10521
  export type SubscriptionTiming = components['schemas']['SubscriptionTiming'];
10019
10522
  export type SubscriptionTimingEnum = components['schemas']['SubscriptionTimingEnum'];
10020
- export type SvixOperationalWebhookRequest = components['schemas']['SvixOperationalWebhookRequest'];
10021
10523
  export type TaxBehavior = components['schemas']['TaxBehavior'];
10022
10524
  export type TaxConfig = components['schemas']['TaxConfig'];
10023
10525
  export type TieredPriceMode = components['schemas']['TieredPriceMode'];
10024
10526
  export type TieredPriceWithCommitments = components['schemas']['TieredPriceWithCommitments'];
10527
+ export type UlidOrExternalKey = components['schemas']['ULIDOrExternalKey'];
10025
10528
  export type UnauthorizedProblemResponse = components['schemas']['UnauthorizedProblemResponse'];
10026
10529
  export type UnexpectedProblemResponse = components['schemas']['UnexpectedProblemResponse'];
10027
10530
  export type UnitPrice = components['schemas']['UnitPrice'];
10028
10531
  export type UnitPriceWithCommitments = components['schemas']['UnitPriceWithCommitments'];
10532
+ export type ValidationError = components['schemas']['ValidationError'];
10533
+ export type ValidationErrorProblemResponse = components['schemas']['ValidationErrorProblemResponse'];
10029
10534
  export type ValidationIssue = components['schemas']['ValidationIssue'];
10030
10535
  export type ValidationIssueSeverity = components['schemas']['ValidationIssueSeverity'];
10031
10536
  export type VoidInvoiceActionCreate = components['schemas']['VoidInvoiceActionCreate'];
@@ -10048,6 +10553,7 @@ export type ParameterBillingProfileListCustomerOverridesParamsCustomerId = compo
10048
10553
  export type ParameterBillingProfileListCustomerOverridesParamsCustomerKey = components['parameters']['BillingProfileListCustomerOverridesParams.customerKey'];
10049
10554
  export type ParameterBillingProfileListCustomerOverridesParamsCustomerName = components['parameters']['BillingProfileListCustomerOverridesParams.customerName'];
10050
10555
  export type ParameterBillingProfileListCustomerOverridesParamsCustomerPrimaryEmail = components['parameters']['BillingProfileListCustomerOverridesParams.customerPrimaryEmail'];
10556
+ export type ParameterBillingProfileListCustomerOverridesParamsCustomersWithoutPinnedProfile = components['parameters']['BillingProfileListCustomerOverridesParams.customersWithoutPinnedProfile'];
10051
10557
  export type ParameterBillingProfileListCustomerOverridesParamsExpand = components['parameters']['BillingProfileListCustomerOverridesParams.expand'];
10052
10558
  export type ParameterBillingProfileListCustomerOverridesParamsIncludeAllCustomers = components['parameters']['BillingProfileListCustomerOverridesParams.includeAllCustomers'];
10053
10559
  export type ParameterBillingProfileOrderByOrderingOrder = components['parameters']['BillingProfileOrderByOrdering.order'];
@@ -10062,12 +10568,16 @@ export type ParameterFeatureOrderByOrderingOrder = components['parameters']['Fea
10062
10568
  export type ParameterFeatureOrderByOrderingOrderBy = components['parameters']['FeatureOrderByOrdering.orderBy'];
10063
10569
  export type ParameterGrantOrderByOrderingOrder = components['parameters']['GrantOrderByOrdering.order'];
10064
10570
  export type ParameterGrantOrderByOrderingOrderBy = components['parameters']['GrantOrderByOrdering.orderBy'];
10571
+ export type ParameterInvoiceListParamsCreatedAfter = components['parameters']['InvoiceListParams.createdAfter'];
10572
+ export type ParameterInvoiceListParamsCreatedBefore = components['parameters']['InvoiceListParams.createdBefore'];
10065
10573
  export type ParameterInvoiceListParamsCustomers = components['parameters']['InvoiceListParams.customers'];
10066
10574
  export type ParameterInvoiceListParamsExpand = components['parameters']['InvoiceListParams.expand'];
10067
10575
  export type ParameterInvoiceListParamsExtendedStatuses = components['parameters']['InvoiceListParams.extendedStatuses'];
10068
10576
  export type ParameterInvoiceListParamsIncludeDeleted = components['parameters']['InvoiceListParams.includeDeleted'];
10069
10577
  export type ParameterInvoiceListParamsIssuedAfter = components['parameters']['InvoiceListParams.issuedAfter'];
10070
10578
  export type ParameterInvoiceListParamsIssuedBefore = components['parameters']['InvoiceListParams.issuedBefore'];
10579
+ export type ParameterInvoiceListParamsPeriodStartAfter = components['parameters']['InvoiceListParams.periodStartAfter'];
10580
+ export type ParameterInvoiceListParamsPeriodStartBefore = components['parameters']['InvoiceListParams.periodStartBefore'];
10071
10581
  export type ParameterInvoiceListParamsStatuses = components['parameters']['InvoiceListParams.statuses'];
10072
10582
  export type ParameterInvoiceOrderByOrderingOrder = components['parameters']['InvoiceOrderByOrdering.order'];
10073
10583
  export type ParameterInvoiceOrderByOrderingOrderBy = components['parameters']['InvoiceOrderByOrdering.orderBy'];
@@ -11623,6 +12133,8 @@ export interface operations {
11623
12133
  query?: {
11624
12134
  /** @description Filter by billing profile. */
11625
12135
  billingProfile?: components['parameters']['BillingProfileListCustomerOverridesParams.billingProfile'];
12136
+ /** @description Only return customers without pinned billing profiles. This implicitly sets includeAllCustomers to true. */
12137
+ customersWithoutPinnedProfile?: components['parameters']['BillingProfileListCustomerOverridesParams.customersWithoutPinnedProfile'];
11626
12138
  /** @description Include customers without customer overrides.
11627
12139
  *
11628
12140
  * If set to false only the customers specifically associated with a billing profile will be returned.
@@ -12018,6 +12530,95 @@ export interface operations {
12018
12530
  };
12019
12531
  };
12020
12532
  };
12533
+ createPendingInvoiceLine: {
12534
+ parameters: {
12535
+ query?: never;
12536
+ header?: never;
12537
+ path: {
12538
+ customerId: string;
12539
+ };
12540
+ cookie?: never;
12541
+ };
12542
+ requestBody: {
12543
+ content: {
12544
+ 'application/json': components['schemas']['InvoicePendingLineCreateInput'];
12545
+ };
12546
+ };
12547
+ responses: {
12548
+ /** @description The request has succeeded and a new resource has been created as a result. */
12549
+ 201: {
12550
+ headers: {
12551
+ [name: string]: unknown;
12552
+ };
12553
+ content: {
12554
+ 'application/json': components['schemas']['InvoicePendingLineCreateResponse'];
12555
+ };
12556
+ };
12557
+ /** @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). */
12558
+ 400: {
12559
+ headers: {
12560
+ [name: string]: unknown;
12561
+ };
12562
+ content: {
12563
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
12564
+ };
12565
+ };
12566
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
12567
+ 401: {
12568
+ headers: {
12569
+ [name: string]: unknown;
12570
+ };
12571
+ content: {
12572
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
12573
+ };
12574
+ };
12575
+ /** @description The server understood the request but refuses to authorize it. */
12576
+ 403: {
12577
+ headers: {
12578
+ [name: string]: unknown;
12579
+ };
12580
+ content: {
12581
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
12582
+ };
12583
+ };
12584
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
12585
+ 412: {
12586
+ headers: {
12587
+ [name: string]: unknown;
12588
+ };
12589
+ content: {
12590
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
12591
+ };
12592
+ };
12593
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
12594
+ 500: {
12595
+ headers: {
12596
+ [name: string]: unknown;
12597
+ };
12598
+ content: {
12599
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
12600
+ };
12601
+ };
12602
+ /** @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. */
12603
+ 503: {
12604
+ headers: {
12605
+ [name: string]: unknown;
12606
+ };
12607
+ content: {
12608
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
12609
+ };
12610
+ };
12611
+ /** @description An unexpected error response. */
12612
+ default: {
12613
+ headers: {
12614
+ [name: string]: unknown;
12615
+ };
12616
+ content: {
12617
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
12618
+ };
12619
+ };
12620
+ };
12621
+ };
12021
12622
  simulateInvoice: {
12022
12623
  parameters: {
12023
12624
  query?: never;
@@ -12114,10 +12715,24 @@ export interface operations {
12114
12715
  statuses?: components['parameters']['InvoiceListParams.statuses'];
12115
12716
  /** @description Filter by invoice extended statuses */
12116
12717
  extendedStatuses?: components['parameters']['InvoiceListParams.extendedStatuses'];
12117
- /** @description Filter by invoice creation time */
12718
+ /** @description Filter by invoice issued time.
12719
+ * Inclusive. */
12118
12720
  issuedAfter?: components['parameters']['InvoiceListParams.issuedAfter'];
12119
- /** @description Filter by invoice creation time */
12721
+ /** @description Filter by invoice issued time.
12722
+ * Inclusive. */
12120
12723
  issuedBefore?: components['parameters']['InvoiceListParams.issuedBefore'];
12724
+ /** @description Filter by period start time.
12725
+ * Inclusive. */
12726
+ periodStartAfter?: components['parameters']['InvoiceListParams.periodStartAfter'];
12727
+ /** @description Filter by period start time.
12728
+ * Inclusive. */
12729
+ periodStartBefore?: components['parameters']['InvoiceListParams.periodStartBefore'];
12730
+ /** @description Filter by invoice created time.
12731
+ * Inclusive. */
12732
+ createdAfter?: components['parameters']['InvoiceListParams.createdAfter'];
12733
+ /** @description Filter by invoice created time.
12734
+ * Inclusive. */
12735
+ createdBefore?: components['parameters']['InvoiceListParams.createdBefore'];
12121
12736
  /** @description What parts of the list output to expand in listings */
12122
12737
  expand?: components['parameters']['InvoiceListParams.expand'];
12123
12738
  /** @description Filter by customer ID */
@@ -12304,26 +12919,27 @@ export interface operations {
12304
12919
  };
12305
12920
  };
12306
12921
  };
12307
- createPendingInvoiceLine: {
12922
+ getInvoice: {
12308
12923
  parameters: {
12309
- query?: never;
12924
+ query?: {
12925
+ expand?: components['schemas']['InvoiceExpand'][];
12926
+ includeDeletedLines?: boolean;
12927
+ };
12310
12928
  header?: never;
12311
- path?: never;
12312
- cookie?: never;
12313
- };
12314
- requestBody: {
12315
- content: {
12316
- 'application/json': components['schemas']['InvoicePendingLineCreate'][];
12929
+ path: {
12930
+ invoiceId: string;
12317
12931
  };
12932
+ cookie?: never;
12318
12933
  };
12934
+ requestBody?: never;
12319
12935
  responses: {
12320
- /** @description The request has succeeded and a new resource has been created as a result. */
12321
- 201: {
12936
+ /** @description The request has succeeded. */
12937
+ 200: {
12322
12938
  headers: {
12323
12939
  [name: string]: unknown;
12324
12940
  };
12325
12941
  content: {
12326
- 'application/json': components['schemas']['InvoiceLine'][];
12942
+ 'application/json': components['schemas']['Invoice'];
12327
12943
  };
12328
12944
  };
12329
12945
  /** @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). */
@@ -12353,6 +12969,15 @@ export interface operations {
12353
12969
  'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
12354
12970
  };
12355
12971
  };
12972
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
12973
+ 404: {
12974
+ headers: {
12975
+ [name: string]: unknown;
12976
+ };
12977
+ content: {
12978
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
12979
+ };
12980
+ };
12356
12981
  /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
12357
12982
  412: {
12358
12983
  headers: {
@@ -12391,19 +13016,20 @@ export interface operations {
12391
13016
  };
12392
13017
  };
12393
13018
  };
12394
- getInvoice: {
13019
+ updateInvoice: {
12395
13020
  parameters: {
12396
- query?: {
12397
- expand?: components['schemas']['InvoiceExpand'][];
12398
- includeDeletedLines?: boolean;
12399
- };
13021
+ query?: never;
12400
13022
  header?: never;
12401
13023
  path: {
12402
13024
  invoiceId: string;
12403
13025
  };
12404
13026
  cookie?: never;
12405
13027
  };
12406
- requestBody?: never;
13028
+ requestBody: {
13029
+ content: {
13030
+ 'application/json': components['schemas']['InvoiceReplaceUpdate'];
13031
+ };
13032
+ };
12407
13033
  responses: {
12408
13034
  /** @description The request has succeeded. */
12409
13035
  200: {
@@ -12488,7 +13114,7 @@ export interface operations {
12488
13114
  };
12489
13115
  };
12490
13116
  };
12491
- updateInvoice: {
13117
+ deleteInvoice: {
12492
13118
  parameters: {
12493
13119
  query?: never;
12494
13120
  header?: never;
@@ -12497,20 +13123,14 @@ export interface operations {
12497
13123
  };
12498
13124
  cookie?: never;
12499
13125
  };
12500
- requestBody: {
12501
- content: {
12502
- 'application/json': components['schemas']['InvoiceReplaceUpdate'];
12503
- };
12504
- };
13126
+ requestBody?: never;
12505
13127
  responses: {
12506
- /** @description The request has succeeded. */
12507
- 200: {
13128
+ /** @description There is no content to send for this request, but the headers may be useful. */
13129
+ 204: {
12508
13130
  headers: {
12509
13131
  [name: string]: unknown;
12510
13132
  };
12511
- content: {
12512
- 'application/json': components['schemas']['Invoice'];
12513
- };
13133
+ content?: never;
12514
13134
  };
12515
13135
  /** @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). */
12516
13136
  400: {
@@ -12586,7 +13206,7 @@ export interface operations {
12586
13206
  };
12587
13207
  };
12588
13208
  };
12589
- deleteInvoice: {
13209
+ advanceInvoiceAction: {
12590
13210
  parameters: {
12591
13211
  query?: never;
12592
13212
  header?: never;
@@ -12597,12 +13217,14 @@ export interface operations {
12597
13217
  };
12598
13218
  requestBody?: never;
12599
13219
  responses: {
12600
- /** @description There is no content to send for this request, but the headers may be useful. */
12601
- 204: {
13220
+ /** @description The request has succeeded. */
13221
+ 200: {
12602
13222
  headers: {
12603
13223
  [name: string]: unknown;
12604
13224
  };
12605
- content?: never;
13225
+ content: {
13226
+ 'application/json': components['schemas']['Invoice'];
13227
+ };
12606
13228
  };
12607
13229
  /** @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). */
12608
13230
  400: {
@@ -12678,7 +13300,7 @@ export interface operations {
12678
13300
  };
12679
13301
  };
12680
13302
  };
12681
- advanceInvoiceAction: {
13303
+ approveInvoiceAction: {
12682
13304
  parameters: {
12683
13305
  query?: never;
12684
13306
  header?: never;
@@ -12772,7 +13394,7 @@ export interface operations {
12772
13394
  };
12773
13395
  };
12774
13396
  };
12775
- approveInvoiceAction: {
13397
+ retryInvoiceAction: {
12776
13398
  parameters: {
12777
13399
  query?: never;
12778
13400
  header?: never;
@@ -12866,7 +13488,7 @@ export interface operations {
12866
13488
  };
12867
13489
  };
12868
13490
  };
12869
- retryInvoiceAction: {
13491
+ snapshotQuantitiesInvoiceAction: {
12870
13492
  parameters: {
12871
13493
  query?: never;
12872
13494
  header?: never;
@@ -13832,7 +14454,7 @@ export interface operations {
13832
14454
  };
13833
14455
  header?: never;
13834
14456
  path: {
13835
- customerIdOrKey: string;
14457
+ customerIdOrKey: components['schemas']['ULIDOrExternalKey'];
13836
14458
  };
13837
14459
  cookie?: never;
13838
14460
  };
@@ -13926,7 +14548,7 @@ export interface operations {
13926
14548
  query?: never;
13927
14549
  header?: never;
13928
14550
  path: {
13929
- customerIdOrKey: string;
14551
+ customerIdOrKey: components['schemas']['ULIDOrExternalKey'];
13930
14552
  };
13931
14553
  cookie?: never;
13932
14554
  };
@@ -14024,7 +14646,7 @@ export interface operations {
14024
14646
  query?: never;
14025
14647
  header?: never;
14026
14648
  path: {
14027
- customerIdOrKey: string;
14649
+ customerIdOrKey: components['schemas']['ULIDOrExternalKey'];
14028
14650
  };
14029
14651
  cookie?: never;
14030
14652
  };
@@ -14221,7 +14843,7 @@ export interface operations {
14221
14843
  };
14222
14844
  header?: never;
14223
14845
  path: {
14224
- customerIdOrKey: string;
14846
+ customerIdOrKey: components['schemas']['ULIDOrExternalKey'];
14225
14847
  };
14226
14848
  cookie?: never;
14227
14849
  };
@@ -14315,7 +14937,7 @@ export interface operations {
14315
14937
  query?: never;
14316
14938
  header?: never;
14317
14939
  path: {
14318
- customerIdOrKey: string;
14940
+ customerIdOrKey: components['schemas']['ULIDOrExternalKey'];
14319
14941
  };
14320
14942
  cookie?: never;
14321
14943
  };
@@ -14413,7 +15035,7 @@ export interface operations {
14413
15035
  query?: never;
14414
15036
  header?: never;
14415
15037
  path: {
14416
- customerIdOrKey: string;
15038
+ customerIdOrKey: components['schemas']['ULIDOrExternalKey'];
14417
15039
  appId: string;
14418
15040
  };
14419
15041
  cookie?: never;
@@ -14612,7 +15234,7 @@ export interface operations {
14612
15234
  };
14613
15235
  header?: never;
14614
15236
  path: {
14615
- customerIdOrKey: string;
15237
+ customerIdOrKey: components['schemas']['ULIDOrExternalKey'];
14616
15238
  };
14617
15239
  cookie?: never;
14618
15240
  };
@@ -16158,12 +16780,7 @@ export interface operations {
16158
16780
  };
16159
16781
  requestBody: {
16160
16782
  content: {
16161
- 'application/json': {
16162
- /** @description Name of the application to install.
16163
- *
16164
- * If not set defaults to the marketplace item's description. */
16165
- name?: string;
16166
- };
16783
+ 'application/json': components['schemas']['MarketplaceInstallRequestPayload'];
16167
16784
  };
16168
16785
  };
16169
16786
  responses: {
@@ -16254,13 +16871,19 @@ export interface operations {
16254
16871
  requestBody: {
16255
16872
  content: {
16256
16873
  'application/json': {
16257
- /** @description The API key for the provider.
16258
- * For example, the Stripe API key. */
16259
- apiKey: string;
16260
16874
  /** @description Name of the application to install.
16261
16875
  *
16262
- * If not set defaults to the marketplace item's description. */
16876
+ * If name is not provided defaults to the marketplace listing's name. */
16263
16877
  name?: string;
16878
+ /**
16879
+ * @description If true, a billing profile will be created for the app.
16880
+ * The Stripe app will be also set as the default billing profile if the current default is a Sandbox app.
16881
+ * @default true
16882
+ */
16883
+ createBillingProfile?: boolean;
16884
+ /** @description The API key for the provider.
16885
+ * For example, the Stripe API key. */
16886
+ apiKey: string;
16264
16887
  };
16265
16888
  };
16266
16889
  };
@@ -17112,6 +17735,104 @@ export interface operations {
17112
17735
  };
17113
17736
  };
17114
17737
  };
17738
+ queryMeterPost: {
17739
+ parameters: {
17740
+ query?: never;
17741
+ header?: never;
17742
+ path: {
17743
+ meterIdOrSlug: string;
17744
+ };
17745
+ cookie?: never;
17746
+ };
17747
+ requestBody: {
17748
+ content: {
17749
+ 'application/json': components['schemas']['MeterQueryRequest'];
17750
+ };
17751
+ };
17752
+ responses: {
17753
+ /** @description The request has succeeded. */
17754
+ 200: {
17755
+ headers: {
17756
+ [name: string]: unknown;
17757
+ };
17758
+ content: {
17759
+ 'application/json': components['schemas']['MeterQueryResult'];
17760
+ };
17761
+ };
17762
+ /** @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). */
17763
+ 400: {
17764
+ headers: {
17765
+ [name: string]: unknown;
17766
+ };
17767
+ content: {
17768
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
17769
+ };
17770
+ };
17771
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
17772
+ 401: {
17773
+ headers: {
17774
+ [name: string]: unknown;
17775
+ };
17776
+ content: {
17777
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
17778
+ };
17779
+ };
17780
+ /** @description The server understood the request but refuses to authorize it. */
17781
+ 403: {
17782
+ headers: {
17783
+ [name: string]: unknown;
17784
+ };
17785
+ content: {
17786
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
17787
+ };
17788
+ };
17789
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
17790
+ 404: {
17791
+ headers: {
17792
+ [name: string]: unknown;
17793
+ };
17794
+ content: {
17795
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
17796
+ };
17797
+ };
17798
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
17799
+ 412: {
17800
+ headers: {
17801
+ [name: string]: unknown;
17802
+ };
17803
+ content: {
17804
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
17805
+ };
17806
+ };
17807
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
17808
+ 500: {
17809
+ headers: {
17810
+ [name: string]: unknown;
17811
+ };
17812
+ content: {
17813
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
17814
+ };
17815
+ };
17816
+ /** @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. */
17817
+ 503: {
17818
+ headers: {
17819
+ [name: string]: unknown;
17820
+ };
17821
+ content: {
17822
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
17823
+ };
17824
+ };
17825
+ /** @description An unexpected error response. */
17826
+ default: {
17827
+ headers: {
17828
+ [name: string]: unknown;
17829
+ };
17830
+ content: {
17831
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
17832
+ };
17833
+ };
17834
+ };
17835
+ };
17115
17836
  listMeterSubjects: {
17116
17837
  parameters: {
17117
17838
  query?: never;
@@ -18461,91 +19182,6 @@ export interface operations {
18461
19182
  };
18462
19183
  };
18463
19184
  };
18464
- receiveSvixOperationalEvent: {
18465
- parameters: {
18466
- query?: never;
18467
- header?: never;
18468
- path?: never;
18469
- cookie?: never;
18470
- };
18471
- requestBody: {
18472
- content: {
18473
- 'application/json': components['schemas']['SvixOperationalWebhookRequest'];
18474
- };
18475
- };
18476
- responses: {
18477
- /** @description There is no content to send for this request, but the headers may be useful. */
18478
- 204: {
18479
- headers: {
18480
- [name: string]: unknown;
18481
- };
18482
- content?: never;
18483
- };
18484
- /** @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). */
18485
- 400: {
18486
- headers: {
18487
- [name: string]: unknown;
18488
- };
18489
- content: {
18490
- 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
18491
- };
18492
- };
18493
- /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
18494
- 401: {
18495
- headers: {
18496
- [name: string]: unknown;
18497
- };
18498
- content: {
18499
- 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
18500
- };
18501
- };
18502
- /** @description The server understood the request but refuses to authorize it. */
18503
- 403: {
18504
- headers: {
18505
- [name: string]: unknown;
18506
- };
18507
- content: {
18508
- 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
18509
- };
18510
- };
18511
- /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
18512
- 412: {
18513
- headers: {
18514
- [name: string]: unknown;
18515
- };
18516
- content: {
18517
- 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
18518
- };
18519
- };
18520
- /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
18521
- 500: {
18522
- headers: {
18523
- [name: string]: unknown;
18524
- };
18525
- content: {
18526
- 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
18527
- };
18528
- };
18529
- /** @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. */
18530
- 503: {
18531
- headers: {
18532
- [name: string]: unknown;
18533
- };
18534
- content: {
18535
- 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
18536
- };
18537
- };
18538
- /** @description An unexpected error response. */
18539
- default: {
18540
- headers: {
18541
- [name: string]: unknown;
18542
- };
18543
- content: {
18544
- 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
18545
- };
18546
- };
18547
- };
18548
- };
18549
19185
  listPlans: {
18550
19186
  parameters: {
18551
19187
  query?: {
@@ -21658,13 +22294,13 @@ export interface operations {
21658
22294
  'application/json': components['schemas']['Subscription'];
21659
22295
  };
21660
22296
  };
21661
- /** @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). */
22297
+ /** @description A BadRequestError with a validationErrors extension. */
21662
22298
  400: {
21663
22299
  headers: {
21664
22300
  [name: string]: unknown;
21665
22301
  };
21666
22302
  content: {
21667
- 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
22303
+ 'application/problem+json': components['schemas']['ValidationErrorProblemResponse'];
21668
22304
  };
21669
22305
  };
21670
22306
  /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
@@ -21847,13 +22483,13 @@ export interface operations {
21847
22483
  };
21848
22484
  content?: never;
21849
22485
  };
21850
- /** @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). */
22486
+ /** @description A BadRequestError with a validationErrors extension. */
21851
22487
  400: {
21852
22488
  headers: {
21853
22489
  [name: string]: unknown;
21854
22490
  };
21855
22491
  content: {
21856
- 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
22492
+ 'application/problem+json': components['schemas']['ValidationErrorProblemResponse'];
21857
22493
  };
21858
22494
  };
21859
22495
  /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
@@ -21945,13 +22581,13 @@ export interface operations {
21945
22581
  'application/json': components['schemas']['Subscription'];
21946
22582
  };
21947
22583
  };
21948
- /** @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). */
22584
+ /** @description A BadRequestError with a validationErrors extension. */
21949
22585
  400: {
21950
22586
  headers: {
21951
22587
  [name: string]: unknown;
21952
22588
  };
21953
22589
  content: {
21954
- 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
22590
+ 'application/problem+json': components['schemas']['ValidationErrorProblemResponse'];
21955
22591
  };
21956
22592
  };
21957
22593
  /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
@@ -22450,13 +23086,13 @@ export interface operations {
22450
23086
  'application/json': components['schemas']['Subscription'];
22451
23087
  };
22452
23088
  };
22453
- /** @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). */
23089
+ /** @description A BadRequestError with a validationErrors extension. */
22454
23090
  400: {
22455
23091
  headers: {
22456
23092
  [name: string]: unknown;
22457
23093
  };
22458
23094
  content: {
22459
- 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
23095
+ 'application/problem+json': components['schemas']['ValidationErrorProblemResponse'];
22460
23096
  };
22461
23097
  };
22462
23098
  /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
@@ -22557,13 +23193,13 @@ export interface operations {
22557
23193
  'application/json': components['schemas']['SubscriptionChangeResponseBody'];
22558
23194
  };
22559
23195
  };
22560
- /** @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). */
23196
+ /** @description A BadRequestError with a validationErrors extension. */
22561
23197
  400: {
22562
23198
  headers: {
22563
23199
  [name: string]: unknown;
22564
23200
  };
22565
23201
  content: {
22566
- 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
23202
+ 'application/problem+json': components['schemas']['ValidationErrorProblemResponse'];
22567
23203
  };
22568
23204
  };
22569
23205
  /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
@@ -22652,7 +23288,24 @@ export interface operations {
22652
23288
  requestBody: {
22653
23289
  content: {
22654
23290
  'application/json': {
23291
+ /**
23292
+ * @description Timing configuration for the migration, when the migration should take effect.
23293
+ * If not supported by the subscription, 400 will be returned.
23294
+ * @default immediate
23295
+ */
23296
+ timing?: components['schemas']['SubscriptionTiming'];
23297
+ /** @description The version of the plan to migrate to.
23298
+ * If not provided, the subscription will migrate to the latest version of the current plan. */
22655
23299
  targetVersion?: number;
23300
+ /** @description The key of the phase to start the subscription in.
23301
+ * If not provided, the subscription will start in the first phase of the plan. */
23302
+ startingPhase?: string;
23303
+ /**
23304
+ * Format: date-time
23305
+ * @description The billing anchor of the subscription. The provided date will be normalized according to the billing cadence to the nearest recurrence before start time. If not provided, the previous subscription billing anchor will be used.
23306
+ * @example 2023-01-01T01:01:01.001Z
23307
+ */
23308
+ billingAnchor?: Date;
22656
23309
  };
22657
23310
  };
22658
23311
  };
@@ -22666,13 +23319,13 @@ export interface operations {
22666
23319
  'application/json': components['schemas']['SubscriptionChangeResponseBody'];
22667
23320
  };
22668
23321
  };
22669
- /** @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). */
23322
+ /** @description A BadRequestError with a validationErrors extension. */
22670
23323
  400: {
22671
23324
  headers: {
22672
23325
  [name: string]: unknown;
22673
23326
  };
22674
23327
  content: {
22675
- 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
23328
+ 'application/problem+json': components['schemas']['ValidationErrorProblemResponse'];
22676
23329
  };
22677
23330
  };
22678
23331
  /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
@@ -22863,13 +23516,13 @@ export interface operations {
22863
23516
  'application/json': components['schemas']['Subscription'];
22864
23517
  };
22865
23518
  };
22866
- /** @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). */
23519
+ /** @description A BadRequestError with a validationErrors extension. */
22867
23520
  400: {
22868
23521
  headers: {
22869
23522
  [name: string]: unknown;
22870
23523
  };
22871
23524
  content: {
22872
- 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
23525
+ 'application/problem+json': components['schemas']['ValidationErrorProblemResponse'];
22873
23526
  };
22874
23527
  };
22875
23528
  /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */