@metronome/sdk 3.7.0 → 3.8.0

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 (94) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/client.d.mts.map +1 -1
  3. package/client.d.ts.map +1 -1
  4. package/client.js +9 -1
  5. package/client.js.map +1 -1
  6. package/client.mjs +9 -1
  7. package/client.mjs.map +1 -1
  8. package/package.json +1 -1
  9. package/resources/shared.d.mts +194 -4
  10. package/resources/shared.d.mts.map +1 -1
  11. package/resources/shared.d.ts +194 -4
  12. package/resources/shared.d.ts.map +1 -1
  13. package/resources/v1/alerts.d.mts +39 -0
  14. package/resources/v1/alerts.d.mts.map +1 -1
  15. package/resources/v1/alerts.d.ts +39 -0
  16. package/resources/v1/alerts.d.ts.map +1 -1
  17. package/resources/v1/contracts/contracts.d.mts +270 -11
  18. package/resources/v1/contracts/contracts.d.mts.map +1 -1
  19. package/resources/v1/contracts/contracts.d.ts +270 -11
  20. package/resources/v1/contracts/contracts.d.ts.map +1 -1
  21. package/resources/v1/contracts/contracts.js +43 -0
  22. package/resources/v1/contracts/contracts.js.map +1 -1
  23. package/resources/v1/contracts/contracts.mjs +43 -0
  24. package/resources/v1/contracts/contracts.mjs.map +1 -1
  25. package/resources/v1/contracts/index.d.mts +1 -1
  26. package/resources/v1/contracts/index.d.mts.map +1 -1
  27. package/resources/v1/contracts/index.d.ts +1 -1
  28. package/resources/v1/contracts/index.d.ts.map +1 -1
  29. package/resources/v1/contracts/index.js.map +1 -1
  30. package/resources/v1/contracts/index.mjs.map +1 -1
  31. package/resources/v1/contracts/rate-cards/rates.d.mts +4 -0
  32. package/resources/v1/contracts/rate-cards/rates.d.mts.map +1 -1
  33. package/resources/v1/contracts/rate-cards/rates.d.ts +4 -0
  34. package/resources/v1/contracts/rate-cards/rates.d.ts.map +1 -1
  35. package/resources/v1/contracts/rate-cards/rates.js +4 -0
  36. package/resources/v1/contracts/rate-cards/rates.js.map +1 -1
  37. package/resources/v1/contracts/rate-cards/rates.mjs +4 -0
  38. package/resources/v1/contracts/rate-cards/rates.mjs.map +1 -1
  39. package/resources/v1/customers/alerts.d.mts +79 -2
  40. package/resources/v1/customers/alerts.d.mts.map +1 -1
  41. package/resources/v1/customers/alerts.d.ts +79 -2
  42. package/resources/v1/customers/alerts.d.ts.map +1 -1
  43. package/resources/v1/customers/alerts.js +1 -1
  44. package/resources/v1/customers/alerts.mjs +1 -1
  45. package/resources/v1/customers/invoices.d.mts +5 -0
  46. package/resources/v1/customers/invoices.d.mts.map +1 -1
  47. package/resources/v1/customers/invoices.d.ts +5 -0
  48. package/resources/v1/customers/invoices.d.ts.map +1 -1
  49. package/resources/v1/dashboards.d.mts +8 -3
  50. package/resources/v1/dashboards.d.mts.map +1 -1
  51. package/resources/v1/dashboards.d.ts +8 -3
  52. package/resources/v1/dashboards.d.ts.map +1 -1
  53. package/resources/v1/dashboards.js +7 -2
  54. package/resources/v1/dashboards.js.map +1 -1
  55. package/resources/v1/dashboards.mjs +7 -2
  56. package/resources/v1/dashboards.mjs.map +1 -1
  57. package/resources/v1/index.d.mts +1 -1
  58. package/resources/v1/index.d.mts.map +1 -1
  59. package/resources/v1/index.d.ts +1 -1
  60. package/resources/v1/index.d.ts.map +1 -1
  61. package/resources/v1/index.js.map +1 -1
  62. package/resources/v1/index.mjs.map +1 -1
  63. package/resources/v1/packages.d.mts +240 -9
  64. package/resources/v1/packages.d.mts.map +1 -1
  65. package/resources/v1/packages.d.ts +240 -9
  66. package/resources/v1/packages.d.ts.map +1 -1
  67. package/resources/v1/v1.d.mts +2 -2
  68. package/resources/v1/v1.d.mts.map +1 -1
  69. package/resources/v1/v1.d.ts +2 -2
  70. package/resources/v1/v1.d.ts.map +1 -1
  71. package/resources/v1/v1.js.map +1 -1
  72. package/resources/v1/v1.mjs.map +1 -1
  73. package/resources/v2/contracts.d.mts +427 -6
  74. package/resources/v2/contracts.d.mts.map +1 -1
  75. package/resources/v2/contracts.d.ts +427 -6
  76. package/resources/v2/contracts.d.ts.map +1 -1
  77. package/src/client.ts +9 -1
  78. package/src/resources/shared.ts +234 -4
  79. package/src/resources/v1/alerts.ts +49 -0
  80. package/src/resources/v1/contracts/contracts.ts +322 -10
  81. package/src/resources/v1/contracts/index.ts +2 -0
  82. package/src/resources/v1/contracts/rate-cards/rates.ts +4 -0
  83. package/src/resources/v1/customers/alerts.ts +99 -2
  84. package/src/resources/v1/customers/invoices.ts +6 -0
  85. package/src/resources/v1/dashboards.ts +10 -3
  86. package/src/resources/v1/index.ts +2 -0
  87. package/src/resources/v1/packages.ts +291 -9
  88. package/src/resources/v1/v1.ts +4 -0
  89. package/src/resources/v2/contracts.ts +517 -6
  90. package/src/version.ts +1 -1
  91. package/version.d.mts +1 -1
  92. package/version.d.ts +1 -1
  93. package/version.js +1 -1
  94. package/version.mjs +1 -1
@@ -410,6 +410,7 @@ export declare namespace ContractEditResponse {
410
410
  }
411
411
  namespace AddOverride {
412
412
  interface OverrideSpecifier {
413
+ any_commit_or_credit_ids?: Array<string>;
413
414
  billing_frequency?: 'MONTHLY' | 'QUARTERLY' | 'ANNUAL' | 'WEEKLY';
414
415
  commit_ids?: Array<string>;
415
416
  presentation_group_values?: {
@@ -517,6 +518,10 @@ export declare namespace ContractEditResponse {
517
518
  * the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
518
519
  */
519
520
  proration?: 'NONE' | 'FIRST' | 'LAST' | 'FIRST_AND_LAST';
521
+ /**
522
+ * Rounding configuration for prorated recurring commit amounts.
523
+ */
524
+ proration_rounding?: AddRecurringCommit.ProrationRounding | null;
520
525
  /**
521
526
  * The frequency at which the recurring commits will be created. If not provided: -
522
527
  * The commits will be created on the usage invoice frequency. If provided: - The
@@ -524,7 +529,7 @@ export declare namespace ContractEditResponse {
524
529
  * be created aligned with the recurring commit's starting_at rather than the usage
525
530
  * invoice dates.
526
531
  */
527
- recurrence_frequency?: 'MONTHLY' | 'QUARTERLY' | 'ANNUAL' | 'WEEKLY';
532
+ recurrence_frequency?: 'MONTHLY' | 'QUARTERLY' | 'ANNUAL' | 'WEEKLY' | 'DAILY';
528
533
  /**
529
534
  * Will be passed down to the individual commits. This controls how much of an
530
535
  * individual unexpired commit will roll over upon contract transition. Must be
@@ -573,6 +578,33 @@ export declare namespace ContractEditResponse {
573
578
  quantity: number;
574
579
  unit_price: number;
575
580
  }
581
+ /**
582
+ * Rounding configuration for prorated recurring commit amounts.
583
+ */
584
+ interface ProrationRounding {
585
+ access?: ProrationRounding.Access;
586
+ invoice?: ProrationRounding.Invoice;
587
+ }
588
+ namespace ProrationRounding {
589
+ interface Access {
590
+ /**
591
+ * Number of decimal places to round to. Applied directly to the stored monetary
592
+ * representation. Negative values round to powers of 10 (e.g., -2 rounds to
593
+ * nearest 100 in the stored unit).
594
+ */
595
+ decimal_places: number;
596
+ rounding_method: 'HALF_UP' | 'FLOOR' | 'CEILING';
597
+ }
598
+ interface Invoice {
599
+ /**
600
+ * Number of decimal places to round to. Applied directly to the stored monetary
601
+ * representation. Negative values round to powers of 10 (e.g., -2 rounds to
602
+ * nearest 100 in the stored unit).
603
+ */
604
+ decimal_places: number;
605
+ rounding_method: 'HALF_UP' | 'FLOOR' | 'CEILING';
606
+ }
607
+ }
576
608
  }
577
609
  interface AddRecurringCredit {
578
610
  id: string;
@@ -631,6 +663,10 @@ export declare namespace ContractEditResponse {
631
663
  * the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
632
664
  */
633
665
  proration?: 'NONE' | 'FIRST' | 'LAST' | 'FIRST_AND_LAST';
666
+ /**
667
+ * Rounding configuration for prorated recurring credit amounts.
668
+ */
669
+ proration_rounding?: AddRecurringCredit.ProrationRounding | null;
634
670
  /**
635
671
  * The frequency at which the recurring commits will be created. If not provided: -
636
672
  * The commits will be created on the usage invoice frequency. If provided: - The
@@ -638,7 +674,7 @@ export declare namespace ContractEditResponse {
638
674
  * be created aligned with the recurring commit's starting_at rather than the usage
639
675
  * invoice dates.
640
676
  */
641
- recurrence_frequency?: 'MONTHLY' | 'QUARTERLY' | 'ANNUAL' | 'WEEKLY';
677
+ recurrence_frequency?: 'MONTHLY' | 'QUARTERLY' | 'ANNUAL' | 'WEEKLY' | 'DAILY';
642
678
  /**
643
679
  * Will be passed down to the individual commits. This controls how much of an
644
680
  * individual unexpired commit will roll over upon contract transition. Must be
@@ -679,6 +715,23 @@ export declare namespace ContractEditResponse {
679
715
  interface Contract {
680
716
  id: string;
681
717
  }
718
+ /**
719
+ * Rounding configuration for prorated recurring credit amounts.
720
+ */
721
+ interface ProrationRounding {
722
+ access?: ProrationRounding.Access;
723
+ }
724
+ namespace ProrationRounding {
725
+ interface Access {
726
+ /**
727
+ * Number of decimal places to round to. Applied directly to the stored monetary
728
+ * representation. Negative values round to powers of 10 (e.g., -2 rounds to
729
+ * nearest 100 in the stored unit).
730
+ */
731
+ decimal_places: number;
732
+ rounding_method: 'HALF_UP' | 'FLOOR' | 'CEILING';
733
+ }
734
+ }
682
735
  }
683
736
  interface AddResellerRoyalty {
684
737
  reseller_type: 'AWS' | 'AWS_PRO_SERVICE' | 'GCP' | 'GCP_PRO_SERVICE';
@@ -741,6 +794,7 @@ export declare namespace ContractEditResponse {
741
794
  starting_at: string;
742
795
  subscription_rate: AddSubscription.SubscriptionRate;
743
796
  id?: string;
797
+ billing_cycle_config?: AddSubscription.BillingCycleConfig;
744
798
  /**
745
799
  * Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
746
800
  */
@@ -779,6 +833,18 @@ export declare namespace ContractEditResponse {
779
833
  interface Proration {
780
834
  invoice_behavior: 'BILL_IMMEDIATELY' | 'BILL_ON_NEXT_COLLECTION_DATE';
781
835
  is_prorated: boolean;
836
+ rounding?: Proration.Rounding;
837
+ }
838
+ namespace Proration {
839
+ interface Rounding {
840
+ /**
841
+ * Number of decimal places to round to. Applied directly to the stored monetary
842
+ * representation. Negative values round to powers of 10 (e.g., -2 rounds to
843
+ * nearest 100 in the stored unit).
844
+ */
845
+ decimal_places: number;
846
+ rounding_method: 'HALF_UP' | 'FLOOR' | 'CEILING';
847
+ }
782
848
  }
783
849
  interface QuantitySchedule {
784
850
  quantity: number;
@@ -795,6 +861,17 @@ export declare namespace ContractEditResponse {
795
861
  name: string;
796
862
  }
797
863
  }
864
+ interface BillingCycleConfig {
865
+ /**
866
+ * The date this subscription's billing cycle is anchored to.
867
+ */
868
+ anchor_date: string;
869
+ /**
870
+ * Controls whether this subscription consolidates onto usage invoices or gets its
871
+ * own scheduled invoice.
872
+ */
873
+ invoice_placement: 'ON_SCHEDULED_INVOICE' | 'ON_USAGE_INVOICE';
874
+ }
798
875
  interface SeatConfig {
799
876
  /**
800
877
  * The property name, sent on usage events, that identifies the seat ID associated
@@ -1139,6 +1216,10 @@ export declare namespace ContractEditResponse {
1139
1216
  * lowers to this amount, a threshold charge will be initiated.
1140
1217
  */
1141
1218
  threshold_amount?: number;
1219
+ /**
1220
+ * Determines which balances are excluded from remaining balance calculation for
1221
+ * threshold billing.
1222
+ */
1142
1223
  threshold_balance_specifiers?: Array<UpdatePrepaidBalanceThresholdConfiguration.ThresholdBalanceSpecifier> | null;
1143
1224
  }
1144
1225
  namespace UpdatePrepaidBalanceThresholdConfiguration {
@@ -1212,6 +1293,10 @@ export declare namespace ContractEditResponse {
1212
1293
  access_amount?: UpdateRecurringCommit.AccessAmount;
1213
1294
  ending_before?: string;
1214
1295
  invoice_amount?: UpdateRecurringCommit.InvoiceAmount;
1296
+ /**
1297
+ * Rounding configuration for prorated recurring commit amounts.
1298
+ */
1299
+ proration_rounding?: UpdateRecurringCommit.ProrationRounding | null;
1215
1300
  rate_type?: 'LIST_RATE' | 'COMMIT_RATE';
1216
1301
  }
1217
1302
  namespace UpdateRecurringCommit {
@@ -1223,11 +1308,42 @@ export declare namespace ContractEditResponse {
1223
1308
  quantity?: number;
1224
1309
  unit_price?: number;
1225
1310
  }
1311
+ /**
1312
+ * Rounding configuration for prorated recurring commit amounts.
1313
+ */
1314
+ interface ProrationRounding {
1315
+ access?: ProrationRounding.Access;
1316
+ invoice?: ProrationRounding.Invoice;
1317
+ }
1318
+ namespace ProrationRounding {
1319
+ interface Access {
1320
+ /**
1321
+ * Number of decimal places to round to. Applied directly to the stored monetary
1322
+ * representation. Negative values round to powers of 10 (e.g., -2 rounds to
1323
+ * nearest 100 in the stored unit).
1324
+ */
1325
+ decimal_places: number;
1326
+ rounding_method: 'HALF_UP' | 'FLOOR' | 'CEILING';
1327
+ }
1328
+ interface Invoice {
1329
+ /**
1330
+ * Number of decimal places to round to. Applied directly to the stored monetary
1331
+ * representation. Negative values round to powers of 10 (e.g., -2 rounds to
1332
+ * nearest 100 in the stored unit).
1333
+ */
1334
+ decimal_places: number;
1335
+ rounding_method: 'HALF_UP' | 'FLOOR' | 'CEILING';
1336
+ }
1337
+ }
1226
1338
  }
1227
1339
  interface UpdateRecurringCredit {
1228
1340
  id: string;
1229
1341
  access_amount?: UpdateRecurringCredit.AccessAmount;
1230
1342
  ending_before?: string;
1343
+ /**
1344
+ * Rounding configuration for prorated recurring credit amounts.
1345
+ */
1346
+ proration_rounding?: UpdateRecurringCredit.ProrationRounding | null;
1231
1347
  rate_type?: 'LIST_RATE' | 'COMMIT_RATE';
1232
1348
  }
1233
1349
  namespace UpdateRecurringCredit {
@@ -1235,6 +1351,23 @@ export declare namespace ContractEditResponse {
1235
1351
  quantity?: number;
1236
1352
  unit_price?: number;
1237
1353
  }
1354
+ /**
1355
+ * Rounding configuration for prorated recurring credit amounts.
1356
+ */
1357
+ interface ProrationRounding {
1358
+ access?: ProrationRounding.Access;
1359
+ }
1360
+ namespace ProrationRounding {
1361
+ interface Access {
1362
+ /**
1363
+ * Number of decimal places to round to. Applied directly to the stored monetary
1364
+ * representation. Negative values round to powers of 10 (e.g., -2 rounds to
1365
+ * nearest 100 in the stored unit).
1366
+ */
1367
+ decimal_places: number;
1368
+ rounding_method: 'HALF_UP' | 'FLOOR' | 'CEILING';
1369
+ }
1370
+ }
1238
1371
  }
1239
1372
  interface UpdateRefundInvoice {
1240
1373
  date: string;
@@ -1600,6 +1733,7 @@ export declare namespace ContractGetEditHistoryResponse {
1600
1733
  }
1601
1734
  namespace AddOverride {
1602
1735
  interface OverrideSpecifier {
1736
+ any_commit_or_credit_ids?: Array<string>;
1603
1737
  billing_frequency?: 'MONTHLY' | 'QUARTERLY' | 'ANNUAL' | 'WEEKLY';
1604
1738
  commit_ids?: Array<string>;
1605
1739
  presentation_group_values?: {
@@ -1707,6 +1841,10 @@ export declare namespace ContractGetEditHistoryResponse {
1707
1841
  * the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
1708
1842
  */
1709
1843
  proration?: 'NONE' | 'FIRST' | 'LAST' | 'FIRST_AND_LAST';
1844
+ /**
1845
+ * Rounding configuration for prorated recurring commit amounts.
1846
+ */
1847
+ proration_rounding?: AddRecurringCommit.ProrationRounding | null;
1710
1848
  /**
1711
1849
  * The frequency at which the recurring commits will be created. If not provided: -
1712
1850
  * The commits will be created on the usage invoice frequency. If provided: - The
@@ -1714,7 +1852,7 @@ export declare namespace ContractGetEditHistoryResponse {
1714
1852
  * be created aligned with the recurring commit's starting_at rather than the usage
1715
1853
  * invoice dates.
1716
1854
  */
1717
- recurrence_frequency?: 'MONTHLY' | 'QUARTERLY' | 'ANNUAL' | 'WEEKLY';
1855
+ recurrence_frequency?: 'MONTHLY' | 'QUARTERLY' | 'ANNUAL' | 'WEEKLY' | 'DAILY';
1718
1856
  /**
1719
1857
  * Will be passed down to the individual commits. This controls how much of an
1720
1858
  * individual unexpired commit will roll over upon contract transition. Must be
@@ -1763,6 +1901,33 @@ export declare namespace ContractGetEditHistoryResponse {
1763
1901
  quantity: number;
1764
1902
  unit_price: number;
1765
1903
  }
1904
+ /**
1905
+ * Rounding configuration for prorated recurring commit amounts.
1906
+ */
1907
+ interface ProrationRounding {
1908
+ access?: ProrationRounding.Access;
1909
+ invoice?: ProrationRounding.Invoice;
1910
+ }
1911
+ namespace ProrationRounding {
1912
+ interface Access {
1913
+ /**
1914
+ * Number of decimal places to round to. Applied directly to the stored monetary
1915
+ * representation. Negative values round to powers of 10 (e.g., -2 rounds to
1916
+ * nearest 100 in the stored unit).
1917
+ */
1918
+ decimal_places: number;
1919
+ rounding_method: 'HALF_UP' | 'FLOOR' | 'CEILING';
1920
+ }
1921
+ interface Invoice {
1922
+ /**
1923
+ * Number of decimal places to round to. Applied directly to the stored monetary
1924
+ * representation. Negative values round to powers of 10 (e.g., -2 rounds to
1925
+ * nearest 100 in the stored unit).
1926
+ */
1927
+ decimal_places: number;
1928
+ rounding_method: 'HALF_UP' | 'FLOOR' | 'CEILING';
1929
+ }
1930
+ }
1766
1931
  }
1767
1932
  interface AddRecurringCredit {
1768
1933
  id: string;
@@ -1821,6 +1986,10 @@ export declare namespace ContractGetEditHistoryResponse {
1821
1986
  * the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
1822
1987
  */
1823
1988
  proration?: 'NONE' | 'FIRST' | 'LAST' | 'FIRST_AND_LAST';
1989
+ /**
1990
+ * Rounding configuration for prorated recurring credit amounts.
1991
+ */
1992
+ proration_rounding?: AddRecurringCredit.ProrationRounding | null;
1824
1993
  /**
1825
1994
  * The frequency at which the recurring commits will be created. If not provided: -
1826
1995
  * The commits will be created on the usage invoice frequency. If provided: - The
@@ -1828,7 +1997,7 @@ export declare namespace ContractGetEditHistoryResponse {
1828
1997
  * be created aligned with the recurring commit's starting_at rather than the usage
1829
1998
  * invoice dates.
1830
1999
  */
1831
- recurrence_frequency?: 'MONTHLY' | 'QUARTERLY' | 'ANNUAL' | 'WEEKLY';
2000
+ recurrence_frequency?: 'MONTHLY' | 'QUARTERLY' | 'ANNUAL' | 'WEEKLY' | 'DAILY';
1832
2001
  /**
1833
2002
  * Will be passed down to the individual commits. This controls how much of an
1834
2003
  * individual unexpired commit will roll over upon contract transition. Must be
@@ -1869,6 +2038,23 @@ export declare namespace ContractGetEditHistoryResponse {
1869
2038
  interface Contract {
1870
2039
  id: string;
1871
2040
  }
2041
+ /**
2042
+ * Rounding configuration for prorated recurring credit amounts.
2043
+ */
2044
+ interface ProrationRounding {
2045
+ access?: ProrationRounding.Access;
2046
+ }
2047
+ namespace ProrationRounding {
2048
+ interface Access {
2049
+ /**
2050
+ * Number of decimal places to round to. Applied directly to the stored monetary
2051
+ * representation. Negative values round to powers of 10 (e.g., -2 rounds to
2052
+ * nearest 100 in the stored unit).
2053
+ */
2054
+ decimal_places: number;
2055
+ rounding_method: 'HALF_UP' | 'FLOOR' | 'CEILING';
2056
+ }
2057
+ }
1872
2058
  }
1873
2059
  interface AddResellerRoyalty {
1874
2060
  reseller_type: 'AWS' | 'AWS_PRO_SERVICE' | 'GCP' | 'GCP_PRO_SERVICE';
@@ -1931,6 +2117,7 @@ export declare namespace ContractGetEditHistoryResponse {
1931
2117
  starting_at: string;
1932
2118
  subscription_rate: AddSubscription.SubscriptionRate;
1933
2119
  id?: string;
2120
+ billing_cycle_config?: AddSubscription.BillingCycleConfig;
1934
2121
  /**
1935
2122
  * Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
1936
2123
  */
@@ -1969,6 +2156,18 @@ export declare namespace ContractGetEditHistoryResponse {
1969
2156
  interface Proration {
1970
2157
  invoice_behavior: 'BILL_IMMEDIATELY' | 'BILL_ON_NEXT_COLLECTION_DATE';
1971
2158
  is_prorated: boolean;
2159
+ rounding?: Proration.Rounding;
2160
+ }
2161
+ namespace Proration {
2162
+ interface Rounding {
2163
+ /**
2164
+ * Number of decimal places to round to. Applied directly to the stored monetary
2165
+ * representation. Negative values round to powers of 10 (e.g., -2 rounds to
2166
+ * nearest 100 in the stored unit).
2167
+ */
2168
+ decimal_places: number;
2169
+ rounding_method: 'HALF_UP' | 'FLOOR' | 'CEILING';
2170
+ }
1972
2171
  }
1973
2172
  interface QuantitySchedule {
1974
2173
  quantity: number;
@@ -1985,6 +2184,17 @@ export declare namespace ContractGetEditHistoryResponse {
1985
2184
  name: string;
1986
2185
  }
1987
2186
  }
2187
+ interface BillingCycleConfig {
2188
+ /**
2189
+ * The date this subscription's billing cycle is anchored to.
2190
+ */
2191
+ anchor_date: string;
2192
+ /**
2193
+ * Controls whether this subscription consolidates onto usage invoices or gets its
2194
+ * own scheduled invoice.
2195
+ */
2196
+ invoice_placement: 'ON_SCHEDULED_INVOICE' | 'ON_USAGE_INVOICE';
2197
+ }
1988
2198
  interface SeatConfig {
1989
2199
  /**
1990
2200
  * The property name, sent on usage events, that identifies the seat ID associated
@@ -2329,6 +2539,10 @@ export declare namespace ContractGetEditHistoryResponse {
2329
2539
  * lowers to this amount, a threshold charge will be initiated.
2330
2540
  */
2331
2541
  threshold_amount?: number;
2542
+ /**
2543
+ * Determines which balances are excluded from remaining balance calculation for
2544
+ * threshold billing.
2545
+ */
2332
2546
  threshold_balance_specifiers?: Array<UpdatePrepaidBalanceThresholdConfiguration.ThresholdBalanceSpecifier> | null;
2333
2547
  }
2334
2548
  namespace UpdatePrepaidBalanceThresholdConfiguration {
@@ -2402,6 +2616,10 @@ export declare namespace ContractGetEditHistoryResponse {
2402
2616
  access_amount?: UpdateRecurringCommit.AccessAmount;
2403
2617
  ending_before?: string;
2404
2618
  invoice_amount?: UpdateRecurringCommit.InvoiceAmount;
2619
+ /**
2620
+ * Rounding configuration for prorated recurring commit amounts.
2621
+ */
2622
+ proration_rounding?: UpdateRecurringCommit.ProrationRounding | null;
2405
2623
  rate_type?: 'LIST_RATE' | 'COMMIT_RATE';
2406
2624
  }
2407
2625
  namespace UpdateRecurringCommit {
@@ -2413,11 +2631,42 @@ export declare namespace ContractGetEditHistoryResponse {
2413
2631
  quantity?: number;
2414
2632
  unit_price?: number;
2415
2633
  }
2634
+ /**
2635
+ * Rounding configuration for prorated recurring commit amounts.
2636
+ */
2637
+ interface ProrationRounding {
2638
+ access?: ProrationRounding.Access;
2639
+ invoice?: ProrationRounding.Invoice;
2640
+ }
2641
+ namespace ProrationRounding {
2642
+ interface Access {
2643
+ /**
2644
+ * Number of decimal places to round to. Applied directly to the stored monetary
2645
+ * representation. Negative values round to powers of 10 (e.g., -2 rounds to
2646
+ * nearest 100 in the stored unit).
2647
+ */
2648
+ decimal_places: number;
2649
+ rounding_method: 'HALF_UP' | 'FLOOR' | 'CEILING';
2650
+ }
2651
+ interface Invoice {
2652
+ /**
2653
+ * Number of decimal places to round to. Applied directly to the stored monetary
2654
+ * representation. Negative values round to powers of 10 (e.g., -2 rounds to
2655
+ * nearest 100 in the stored unit).
2656
+ */
2657
+ decimal_places: number;
2658
+ rounding_method: 'HALF_UP' | 'FLOOR' | 'CEILING';
2659
+ }
2660
+ }
2416
2661
  }
2417
2662
  interface UpdateRecurringCredit {
2418
2663
  id: string;
2419
2664
  access_amount?: UpdateRecurringCredit.AccessAmount;
2420
2665
  ending_before?: string;
2666
+ /**
2667
+ * Rounding configuration for prorated recurring credit amounts.
2668
+ */
2669
+ proration_rounding?: UpdateRecurringCredit.ProrationRounding | null;
2421
2670
  rate_type?: 'LIST_RATE' | 'COMMIT_RATE';
2422
2671
  }
2423
2672
  namespace UpdateRecurringCredit {
@@ -2425,6 +2674,23 @@ export declare namespace ContractGetEditHistoryResponse {
2425
2674
  quantity?: number;
2426
2675
  unit_price?: number;
2427
2676
  }
2677
+ /**
2678
+ * Rounding configuration for prorated recurring credit amounts.
2679
+ */
2680
+ interface ProrationRounding {
2681
+ access?: ProrationRounding.Access;
2682
+ }
2683
+ namespace ProrationRounding {
2684
+ interface Access {
2685
+ /**
2686
+ * Number of decimal places to round to. Applied directly to the stored monetary
2687
+ * representation. Negative values round to powers of 10 (e.g., -2 rounds to
2688
+ * nearest 100 in the stored unit).
2689
+ */
2690
+ decimal_places: number;
2691
+ rounding_method: 'HALF_UP' | 'FLOOR' | 'CEILING';
2692
+ }
2693
+ }
2428
2694
  }
2429
2695
  interface UpdateRefundInvoice {
2430
2696
  date: string;
@@ -3308,6 +3574,14 @@ export declare namespace ContractEditParams {
3308
3574
  }
3309
3575
  namespace AddOverride {
3310
3576
  interface OverrideSpecifier {
3577
+ /**
3578
+ * Can only be used for commit specific overrides. Must be used in conjunction with
3579
+ * one of `product_id`, `product_tags`, `pricing_group_values`, or
3580
+ * `presentation_group_values`. Must be used instead of both `commit_ids` and
3581
+ * `recurring_commit_ids` If provided, the override will apply to any specified
3582
+ * commit, credit, recurring commit or recurring credit IDs.
3583
+ */
3584
+ any_commit_or_credit_ids?: Array<string>;
3311
3585
  billing_frequency?: 'MONTHLY' | 'QUARTERLY' | 'ANNUAL' | 'WEEKLY';
3312
3586
  /**
3313
3587
  * If provided, the override will only apply to the specified commits. Can only be
@@ -3469,6 +3743,10 @@ export declare namespace ContractEditParams {
3469
3743
  * the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3470
3744
  */
3471
3745
  proration?: 'NONE' | 'FIRST' | 'LAST' | 'FIRST_AND_LAST';
3746
+ /**
3747
+ * Optional rounding configuration for prorated recurring commit amounts.
3748
+ */
3749
+ proration_rounding?: AddRecurringCommit.ProrationRounding;
3472
3750
  /**
3473
3751
  * Whether the created commits will use the commit rate or list rate
3474
3752
  */
@@ -3480,7 +3758,7 @@ export declare namespace ContractEditParams {
3480
3758
  * be created aligned with the recurring commit's starting_at rather than the usage
3481
3759
  * invoice dates.
3482
3760
  */
3483
- recurrence_frequency?: 'MONTHLY' | 'QUARTERLY' | 'ANNUAL' | 'WEEKLY';
3761
+ recurrence_frequency?: 'MONTHLY' | 'QUARTERLY' | 'ANNUAL' | 'WEEKLY' | 'DAILY';
3484
3762
  /**
3485
3763
  * Will be passed down to the individual commits. This controls how much of an
3486
3764
  * individual unexpired commit will roll over upon contract transition. Must be
@@ -3536,6 +3814,33 @@ export declare namespace ContractEditParams {
3536
3814
  quantity: number;
3537
3815
  unit_price: number;
3538
3816
  }
3817
+ /**
3818
+ * Optional rounding configuration for prorated recurring commit amounts.
3819
+ */
3820
+ interface ProrationRounding {
3821
+ access?: ProrationRounding.Access;
3822
+ invoice?: ProrationRounding.Invoice;
3823
+ }
3824
+ namespace ProrationRounding {
3825
+ interface Access {
3826
+ /**
3827
+ * Number of decimal places to round to. Applied directly to the stored monetary
3828
+ * representation. Negative values round to powers of 10 (e.g., -2 rounds to
3829
+ * nearest 100 in the stored unit).
3830
+ */
3831
+ decimal_places: number;
3832
+ rounding_method: 'HALF_UP' | 'FLOOR' | 'CEILING';
3833
+ }
3834
+ interface Invoice {
3835
+ /**
3836
+ * Number of decimal places to round to. Applied directly to the stored monetary
3837
+ * representation. Negative values round to powers of 10 (e.g., -2 rounds to
3838
+ * nearest 100 in the stored unit).
3839
+ */
3840
+ decimal_places: number;
3841
+ rounding_method: 'HALF_UP' | 'FLOOR' | 'CEILING';
3842
+ }
3843
+ }
3539
3844
  /**
3540
3845
  * Attach a subscription to the recurring commit/credit.
3541
3846
  */
@@ -3613,6 +3918,10 @@ export declare namespace ContractEditParams {
3613
3918
  * the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3614
3919
  */
3615
3920
  proration?: 'NONE' | 'FIRST' | 'LAST' | 'FIRST_AND_LAST';
3921
+ /**
3922
+ * Optional rounding configuration for prorated recurring credit amounts.
3923
+ */
3924
+ proration_rounding?: AddRecurringCredit.ProrationRounding;
3616
3925
  /**
3617
3926
  * Whether the created commits will use the commit rate or list rate
3618
3927
  */
@@ -3624,7 +3933,7 @@ export declare namespace ContractEditParams {
3624
3933
  * be created aligned with the recurring commit's starting_at rather than the usage
3625
3934
  * invoice dates.
3626
3935
  */
3627
- recurrence_frequency?: 'MONTHLY' | 'QUARTERLY' | 'ANNUAL' | 'WEEKLY';
3936
+ recurrence_frequency?: 'MONTHLY' | 'QUARTERLY' | 'ANNUAL' | 'WEEKLY' | 'DAILY';
3628
3937
  /**
3629
3938
  * Will be passed down to the individual commits. This controls how much of an
3630
3939
  * individual unexpired commit will roll over upon contract transition. Must be
@@ -3672,6 +3981,23 @@ export declare namespace ContractEditParams {
3672
3981
  value: number;
3673
3982
  unit?: 'PERIODS';
3674
3983
  }
3984
+ /**
3985
+ * Optional rounding configuration for prorated recurring credit amounts.
3986
+ */
3987
+ interface ProrationRounding {
3988
+ access?: ProrationRounding.Access;
3989
+ }
3990
+ namespace ProrationRounding {
3991
+ interface Access {
3992
+ /**
3993
+ * Number of decimal places to round to. Applied directly to the stored monetary
3994
+ * representation. Negative values round to powers of 10 (e.g., -2 rounds to
3995
+ * nearest 100 in the stored unit).
3996
+ */
3997
+ decimal_places: number;
3998
+ rounding_method: 'HALF_UP' | 'FLOOR' | 'CEILING';
3999
+ }
4000
+ }
3675
4001
  /**
3676
4002
  * Attach a subscription to the recurring commit/credit.
3677
4003
  */
@@ -3884,6 +4210,7 @@ export declare namespace ContractEditParams {
3884
4210
  collection_schedule: 'ADVANCE' | 'ARREARS';
3885
4211
  proration: AddSubscription.Proration;
3886
4212
  subscription_rate: AddSubscription.SubscriptionRate;
4213
+ billing_cycle_config?: AddSubscription.BillingCycleConfig;
3887
4214
  /**
3888
4215
  * Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
3889
4216
  */
@@ -3940,6 +4267,18 @@ export declare namespace ContractEditParams {
3940
4267
  * Indicates if the partial period will be prorated or charged a full amount.
3941
4268
  */
3942
4269
  is_prorated?: boolean;
4270
+ rounding?: Proration.Rounding;
4271
+ }
4272
+ namespace Proration {
4273
+ interface Rounding {
4274
+ /**
4275
+ * Number of decimal places to round to. Applied directly to the stored monetary
4276
+ * representation. Negative values round to powers of 10 (e.g., -2 rounds to
4277
+ * nearest 100 in the stored unit).
4278
+ */
4279
+ decimal_places: number;
4280
+ rounding_method: 'HALF_UP' | 'FLOOR' | 'CEILING';
4281
+ }
3943
4282
  }
3944
4283
  interface SubscriptionRate {
3945
4284
  /**
@@ -3952,6 +4291,18 @@ export declare namespace ContractEditParams {
3952
4291
  */
3953
4292
  product_id: string;
3954
4293
  }
4294
+ interface BillingCycleConfig {
4295
+ /**
4296
+ * The date to anchor the billing cycle to. If omitted, defaults to the contract's
4297
+ * usage invoice billing cycle anchor date.
4298
+ */
4299
+ anchor_date?: string;
4300
+ /**
4301
+ * Controls whether this subscription consolidates onto usage invoices or gets its
4302
+ * own scheduled invoice. Defaults to ON_USAGE_INVOICE if omitted.
4303
+ */
4304
+ invoice_placement?: 'ON_SCHEDULED_INVOICE' | 'ON_USAGE_INVOICE';
4305
+ }
3955
4306
  interface SeatConfig {
3956
4307
  /**
3957
4308
  * The initial assigned seats on this subscription.
@@ -4142,6 +4493,10 @@ export declare namespace ContractEditParams {
4142
4493
  * lowers to this amount, a threshold charge will be initiated.
4143
4494
  */
4144
4495
  threshold_amount?: number;
4496
+ /**
4497
+ * Determines which balances are excluded from remaining balance calculation for
4498
+ * threshold billing.
4499
+ */
4145
4500
  threshold_balance_specifiers?: Array<UpdatePrepaidBalanceThresholdConfiguration.ThresholdBalanceSpecifier> | null;
4146
4501
  }
4147
4502
  namespace UpdatePrepaidBalanceThresholdConfiguration {
@@ -4215,6 +4570,11 @@ export declare namespace ContractEditParams {
4215
4570
  access_amount?: UpdateRecurringCommit.AccessAmount;
4216
4571
  ending_before?: string | null;
4217
4572
  invoice_amount?: UpdateRecurringCommit.InvoiceAmount;
4573
+ /**
4574
+ * If provided, updates the rounding config on the recurring commit. Set to null to
4575
+ * clear rounding. Omit to leave unchanged.
4576
+ */
4577
+ proration_rounding?: UpdateRecurringCommit.ProrationRounding | null;
4218
4578
  /**
4219
4579
  * If provided, updates the recurring commit to use the specified rate type when
4220
4580
  * generating future commits.
@@ -4230,11 +4590,44 @@ export declare namespace ContractEditParams {
4230
4590
  quantity?: number;
4231
4591
  unit_price?: number;
4232
4592
  }
4593
+ /**
4594
+ * If provided, updates the rounding config on the recurring commit. Set to null to
4595
+ * clear rounding. Omit to leave unchanged.
4596
+ */
4597
+ interface ProrationRounding {
4598
+ access?: ProrationRounding.Access | null;
4599
+ invoice?: ProrationRounding.Invoice | null;
4600
+ }
4601
+ namespace ProrationRounding {
4602
+ interface Access {
4603
+ /**
4604
+ * Number of decimal places to round to. Applied directly to the stored monetary
4605
+ * representation. Negative values round to powers of 10 (e.g., -2 rounds to
4606
+ * nearest 100 in the stored unit).
4607
+ */
4608
+ decimal_places: number;
4609
+ rounding_method: 'HALF_UP' | 'FLOOR' | 'CEILING';
4610
+ }
4611
+ interface Invoice {
4612
+ /**
4613
+ * Number of decimal places to round to. Applied directly to the stored monetary
4614
+ * representation. Negative values round to powers of 10 (e.g., -2 rounds to
4615
+ * nearest 100 in the stored unit).
4616
+ */
4617
+ decimal_places: number;
4618
+ rounding_method: 'HALF_UP' | 'FLOOR' | 'CEILING';
4619
+ }
4620
+ }
4233
4621
  }
4234
4622
  interface UpdateRecurringCredit {
4235
4623
  recurring_credit_id: string;
4236
4624
  access_amount?: UpdateRecurringCredit.AccessAmount;
4237
4625
  ending_before?: string | null;
4626
+ /**
4627
+ * If provided, updates the rounding config on the recurring credit. Set to null to
4628
+ * clear rounding. Omit to leave unchanged.
4629
+ */
4630
+ proration_rounding?: UpdateRecurringCredit.ProrationRounding | null;
4238
4631
  /**
4239
4632
  * If provided, updates the recurring credit to use the specified rate type when
4240
4633
  * generating future credits.
@@ -4246,6 +4639,24 @@ export declare namespace ContractEditParams {
4246
4639
  quantity?: number;
4247
4640
  unit_price?: number;
4248
4641
  }
4642
+ /**
4643
+ * If provided, updates the rounding config on the recurring credit. Set to null to
4644
+ * clear rounding. Omit to leave unchanged.
4645
+ */
4646
+ interface ProrationRounding {
4647
+ access?: ProrationRounding.Access | null;
4648
+ }
4649
+ namespace ProrationRounding {
4650
+ interface Access {
4651
+ /**
4652
+ * Number of decimal places to round to. Applied directly to the stored monetary
4653
+ * representation. Negative values round to powers of 10 (e.g., -2 rounds to
4654
+ * nearest 100 in the stored unit).
4655
+ */
4656
+ decimal_places: number;
4657
+ rounding_method: 'HALF_UP' | 'FLOOR' | 'CEILING';
4658
+ }
4659
+ }
4249
4660
  }
4250
4661
  interface UpdateScheduledCharge {
4251
4662
  scheduled_charge_id: string;
@@ -4325,6 +4736,7 @@ export declare namespace ContractEditParams {
4325
4736
  interface UpdateSubscription {
4326
4737
  subscription_id: string;
4327
4738
  ending_before?: string | null;
4739
+ proration_rounding?: UpdateSubscription.ProrationRounding | null;
4328
4740
  /**
4329
4741
  * Update the subscription's quantity management mode from QUANTITY_ONLY to
4330
4742
  * SEAT_BASED with the provided seat_group_key.
@@ -4339,6 +4751,15 @@ export declare namespace ContractEditParams {
4339
4751
  seat_updates?: UpdateSubscription.SeatUpdates;
4340
4752
  }
4341
4753
  namespace UpdateSubscription {
4754
+ interface ProrationRounding {
4755
+ /**
4756
+ * Number of decimal places to round to. Applied directly to the stored monetary
4757
+ * representation. Negative values round to powers of 10 (e.g., -2 rounds to
4758
+ * nearest 100 in the stored unit).
4759
+ */
4760
+ decimal_places: number;
4761
+ rounding_method: 'HALF_UP' | 'FLOOR' | 'CEILING';
4762
+ }
4342
4763
  /**
4343
4764
  * Update the subscription's quantity management mode from QUANTITY_ONLY to
4344
4765
  * SEAT_BASED with the provided seat_group_key.