@openmeter/client 1.0.0-beta-4d26c6d3c7fe → 1.0.0-beta-e7a04be10ed8

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 (137) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +316 -55
  3. package/dist/core.d.ts +0 -1
  4. package/dist/core.js +8 -1
  5. package/dist/funcs/addons.d.ts +49 -1
  6. package/dist/funcs/addons.js +50 -1
  7. package/dist/funcs/apps.d.ts +14 -1
  8. package/dist/funcs/apps.js +15 -1
  9. package/dist/funcs/billing.d.ts +46 -1
  10. package/dist/funcs/billing.js +47 -1
  11. package/dist/funcs/currencies.d.ts +30 -1
  12. package/dist/funcs/currencies.js +31 -1
  13. package/dist/funcs/customers.d.ts +148 -1
  14. package/dist/funcs/customers.js +149 -1
  15. package/dist/funcs/defaults.d.ts +10 -1
  16. package/dist/funcs/defaults.js +11 -1
  17. package/dist/funcs/entitlements.d.ts +5 -1
  18. package/dist/funcs/entitlements.js +6 -1
  19. package/dist/funcs/events.d.ts +14 -1
  20. package/dist/funcs/events.js +15 -1
  21. package/dist/funcs/features.d.ts +42 -1
  22. package/dist/funcs/features.js +43 -1
  23. package/dist/funcs/index.d.ts +0 -3
  24. package/dist/funcs/index.js +1 -3
  25. package/dist/funcs/llmCost.d.ts +36 -1
  26. package/dist/funcs/llmCost.js +37 -1
  27. package/dist/funcs/meters.d.ts +53 -1
  28. package/dist/funcs/meters.js +54 -1
  29. package/dist/funcs/planAddons.d.ts +35 -1
  30. package/dist/funcs/planAddons.js +36 -1
  31. package/dist/funcs/plans.d.ts +49 -1
  32. package/dist/funcs/plans.js +50 -1
  33. package/dist/funcs/subscriptions.d.ts +59 -1
  34. package/dist/funcs/subscriptions.js +60 -1
  35. package/dist/funcs/tax.d.ts +25 -1
  36. package/dist/funcs/tax.js +26 -1
  37. package/dist/index.d.ts +4 -8
  38. package/dist/index.js +4 -5
  39. package/dist/lib/config.d.ts +0 -1
  40. package/dist/lib/config.js +1 -1
  41. package/dist/lib/encodings.d.ts +0 -1
  42. package/dist/lib/encodings.js +1 -1
  43. package/dist/lib/paginate.d.ts +56 -0
  44. package/dist/lib/paginate.js +60 -0
  45. package/dist/lib/request.d.ts +0 -1
  46. package/dist/lib/request.js +1 -1
  47. package/dist/lib/to-error.d.ts +0 -1
  48. package/dist/lib/to-error.js +1 -1
  49. package/dist/lib/types.d.ts +0 -1
  50. package/dist/lib/types.js +1 -1
  51. package/dist/lib/version.d.ts +1 -0
  52. package/dist/lib/version.js +5 -0
  53. package/dist/lib/wire.d.ts +3 -1
  54. package/dist/lib/wire.js +93 -4
  55. package/dist/models/errors.d.ts +13 -2
  56. package/dist/models/errors.js +31 -4
  57. package/dist/models/operations/addons.d.ts +0 -1
  58. package/dist/models/operations/addons.js +1 -1
  59. package/dist/models/operations/apps.d.ts +2 -5
  60. package/dist/models/operations/apps.js +1 -1
  61. package/dist/models/operations/billing.d.ts +0 -1
  62. package/dist/models/operations/billing.js +1 -1
  63. package/dist/models/operations/currencies.d.ts +0 -1
  64. package/dist/models/operations/currencies.js +1 -1
  65. package/dist/models/operations/customers.d.ts +3 -6
  66. package/dist/models/operations/customers.js +1 -1
  67. package/dist/models/operations/defaults.d.ts +0 -1
  68. package/dist/models/operations/defaults.js +1 -1
  69. package/dist/models/operations/entitlements.d.ts +0 -1
  70. package/dist/models/operations/entitlements.js +1 -1
  71. package/dist/models/operations/events.d.ts +0 -1
  72. package/dist/models/operations/events.js +1 -1
  73. package/dist/models/operations/features.d.ts +0 -1
  74. package/dist/models/operations/features.js +1 -1
  75. package/dist/models/operations/llmCost.d.ts +0 -1
  76. package/dist/models/operations/llmCost.js +1 -1
  77. package/dist/models/operations/meters.d.ts +0 -1
  78. package/dist/models/operations/meters.js +1 -1
  79. package/dist/models/operations/planAddons.d.ts +0 -1
  80. package/dist/models/operations/planAddons.js +1 -1
  81. package/dist/models/operations/plans.d.ts +0 -1
  82. package/dist/models/operations/plans.js +1 -1
  83. package/dist/models/operations/subscriptions.d.ts +0 -1
  84. package/dist/models/operations/subscriptions.js +1 -1
  85. package/dist/models/operations/tax.d.ts +0 -1
  86. package/dist/models/operations/tax.js +1 -1
  87. package/dist/models/schemas.d.ts +4453 -6950
  88. package/dist/models/schemas.js +1 -73
  89. package/dist/models/types.d.ts +381 -566
  90. package/dist/models/types.js +1 -1
  91. package/dist/sdk/addons.d.ts +60 -1
  92. package/dist/sdk/addons.js +63 -1
  93. package/dist/sdk/apps.d.ts +25 -1
  94. package/dist/sdk/apps.js +28 -1
  95. package/dist/sdk/billing.d.ts +57 -1
  96. package/dist/sdk/billing.js +60 -1
  97. package/dist/sdk/customers.d.ts +194 -1
  98. package/dist/sdk/customers.js +203 -1
  99. package/dist/sdk/defaults.d.ts +10 -1
  100. package/dist/sdk/defaults.js +11 -1
  101. package/dist/sdk/entitlements.d.ts +5 -1
  102. package/dist/sdk/entitlements.js +6 -1
  103. package/dist/sdk/events.d.ts +25 -1
  104. package/dist/sdk/events.js +28 -1
  105. package/dist/sdk/features.d.ts +53 -1
  106. package/dist/sdk/features.js +56 -1
  107. package/dist/sdk/internal.d.ts +89 -0
  108. package/dist/sdk/internal.js +113 -0
  109. package/dist/sdk/llmCost.d.ts +57 -1
  110. package/dist/sdk/llmCost.js +62 -1
  111. package/dist/sdk/meters.d.ts +64 -1
  112. package/dist/sdk/meters.js +67 -1
  113. package/dist/sdk/planAddons.d.ts +46 -1
  114. package/dist/sdk/planAddons.js +49 -1
  115. package/dist/sdk/plans.d.ts +60 -1
  116. package/dist/sdk/plans.js +63 -1
  117. package/dist/sdk/sdk.d.ts +9 -10
  118. package/dist/sdk/sdk.js +11 -15
  119. package/dist/sdk/subscriptions.d.ts +72 -3
  120. package/dist/sdk/subscriptions.js +77 -5
  121. package/dist/sdk/tax.d.ts +34 -1
  122. package/dist/sdk/tax.js +37 -1
  123. package/package.json +28 -4
  124. package/dist/funcs/governance.d.ts +0 -5
  125. package/dist/funcs/governance.js +0 -34
  126. package/dist/funcs/invoices.d.ts +0 -8
  127. package/dist/funcs/invoices.js +0 -81
  128. package/dist/models/operations/governance.d.ts +0 -10
  129. package/dist/models/operations/governance.js +0 -2
  130. package/dist/models/operations/invoices.d.ts +0 -48
  131. package/dist/models/operations/invoices.js +0 -2
  132. package/dist/sdk/currencies.d.ts +0 -12
  133. package/dist/sdk/currencies.js +0 -21
  134. package/dist/sdk/governance.d.ts +0 -9
  135. package/dist/sdk/governance.js +0 -12
  136. package/dist/sdk/invoices.d.ts +0 -12
  137. package/dist/sdk/invoices.js +0 -21
@@ -650,99 +650,22 @@ export interface CursorPaginationQuery {
650
650
  /** Filter options for listing meters. */
651
651
  export interface ListMetersParamsFilter {
652
652
  /** Filter meters by key. */
653
- key?: string | {
654
- eq?: string;
655
- neq?: string;
656
- contains?: string;
657
- ocontains?: string[];
658
- oeq?: string[];
659
- gt?: string;
660
- gte?: string;
661
- lt?: string;
662
- lte?: string;
663
- exists?: boolean;
664
- };
653
+ key?: StringFieldFilter;
665
654
  /** Filter meters by name. */
666
- name?: string | {
667
- eq?: string;
668
- neq?: string;
669
- contains?: string;
670
- ocontains?: string[];
671
- oeq?: string[];
672
- gt?: string;
673
- gte?: string;
674
- lt?: string;
675
- lte?: string;
676
- exists?: boolean;
677
- };
655
+ name?: StringFieldFilter;
678
656
  }
679
657
  /** Filter options for listing LLM cost prices. */
680
658
  export interface ListLlmCostPricesParamsFilter {
681
659
  /** Filter by provider. e.g. ?filter[provider][eq]=openai */
682
- provider?: string | {
683
- eq?: string;
684
- neq?: string;
685
- contains?: string;
686
- ocontains?: string[];
687
- oeq?: string[];
688
- gt?: string;
689
- gte?: string;
690
- lt?: string;
691
- lte?: string;
692
- exists?: boolean;
693
- };
660
+ provider?: StringFieldFilter;
694
661
  /** Filter by model ID. e.g. ?filter[model_id][eq]=gpt-4 */
695
- modelId?: string | {
696
- eq?: string;
697
- neq?: string;
698
- contains?: string;
699
- ocontains?: string[];
700
- oeq?: string[];
701
- gt?: string;
702
- gte?: string;
703
- lt?: string;
704
- lte?: string;
705
- exists?: boolean;
706
- };
662
+ modelId?: StringFieldFilter;
707
663
  /** Filter by model name. e.g. ?filter[model_name][contains]=gpt */
708
- modelName?: string | {
709
- eq?: string;
710
- neq?: string;
711
- contains?: string;
712
- ocontains?: string[];
713
- oeq?: string[];
714
- gt?: string;
715
- gte?: string;
716
- lt?: string;
717
- lte?: string;
718
- exists?: boolean;
719
- };
664
+ modelName?: StringFieldFilter;
720
665
  /** Filter by currency code. e.g. ?filter[currency][eq]=USD */
721
- currency?: string | {
722
- eq?: string;
723
- neq?: string;
724
- contains?: string;
725
- ocontains?: string[];
726
- oeq?: string[];
727
- gt?: string;
728
- gte?: string;
729
- lt?: string;
730
- lte?: string;
731
- exists?: boolean;
732
- };
666
+ currency?: StringFieldFilter;
733
667
  /** Filter by source. e.g. ?filter[source][eq]=system */
734
- source?: string | {
735
- eq?: string;
736
- neq?: string;
737
- contains?: string;
738
- ocontains?: string[];
739
- oeq?: string[];
740
- gt?: string;
741
- gte?: string;
742
- lt?: string;
743
- lte?: string;
744
- exists?: boolean;
745
- };
668
+ source?: StringFieldFilter;
746
669
  }
747
670
  /**
748
671
  * Filters on the resource's `labels` field.
@@ -752,18 +675,7 @@ export interface ListLlmCostPricesParamsFilter {
752
675
  * `filter[labels][key]=value` (nested) and `filter[labels.key]=value`
753
676
  * (dot-notation).
754
677
  */
755
- export type LabelsFieldFilter = Record<string, string | {
756
- eq?: string;
757
- neq?: string;
758
- contains?: string;
759
- ocontains?: string[];
760
- oeq?: string[];
761
- gt?: string;
762
- gte?: string;
763
- lt?: string;
764
- lte?: string;
765
- exists?: boolean;
766
- }>;
678
+ export type LabelsFieldFilter = Record<string, StringFieldFilter>;
767
679
  /** Customer reference. */
768
680
  export interface CustomerReference {
769
681
  id: string;
@@ -1293,7 +1205,7 @@ export interface CreateMeterRequest {
1293
1205
  labels?: Labels;
1294
1206
  key: string;
1295
1207
  /** The aggregation type to use for the meter. */
1296
- aggregation: 'sum' | 'count' | 'unique_count' | 'avg' | 'min' | 'max' | 'latest';
1208
+ aggregation: MeterAggregation;
1297
1209
  /** The event type to include in the aggregation. */
1298
1210
  eventType: string;
1299
1211
  /**
@@ -1343,7 +1255,7 @@ export interface Meter {
1343
1255
  deletedAt?: Date;
1344
1256
  key: string;
1345
1257
  /** The aggregation type to use for the meter. */
1346
- aggregation: 'sum' | 'count' | 'unique_count' | 'avg' | 'min' | 'max' | 'latest';
1258
+ aggregation: MeterAggregation;
1347
1259
  /** The event type to include in the aggregation. */
1348
1260
  eventType: string;
1349
1261
  /**
@@ -1685,43 +1597,17 @@ export interface ListCreditGrantsParamsFilter {
1685
1597
  /** Filter credit grants by currency. */
1686
1598
  currency?: string;
1687
1599
  /** Filter credit grants by key. */
1688
- key?: string | {
1689
- eq?: string;
1690
- neq?: string;
1691
- contains?: string;
1692
- ocontains?: string[];
1693
- oeq?: string[];
1694
- gt?: string;
1695
- gte?: string;
1696
- lt?: string;
1697
- lte?: string;
1698
- exists?: boolean;
1699
- };
1600
+ key?: StringFieldFilter;
1700
1601
  }
1701
1602
  /** Filter options for getting a credit balance. */
1702
1603
  export interface GetCreditBalanceParamsFilter {
1703
1604
  /** Filter credit balance by currency. */
1704
- currency?: string | {
1705
- eq?: string;
1706
- oeq?: string[];
1707
- neq?: string;
1708
- };
1605
+ currency?: StringFieldFilterExact;
1709
1606
  /**
1710
1607
  * Filter credit balance by feature key. Omit to return the total portfolio value.
1711
1608
  * Use `exists=false` to return only unrestricted balance.
1712
1609
  */
1713
- featureKey?: string | {
1714
- eq?: string;
1715
- neq?: string;
1716
- contains?: string;
1717
- ocontains?: string[];
1718
- oeq?: string[];
1719
- gt?: string;
1720
- gte?: string;
1721
- lt?: string;
1722
- lte?: string;
1723
- exists?: boolean;
1724
- };
1610
+ featureKey?: StringFieldFilter;
1725
1611
  }
1726
1612
  /** Filter options for listing charges. */
1727
1613
  export interface ListChargesParamsFilter {
@@ -1737,48 +1623,14 @@ export interface ListChargesParamsFilter {
1737
1623
  *
1738
1624
  * If omitted, all statuses are returned except for `deleted`.
1739
1625
  */
1740
- status?: string | {
1741
- eq?: string;
1742
- oeq?: string[];
1743
- neq?: string;
1744
- };
1626
+ status?: StringFieldFilterExact;
1745
1627
  }
1746
1628
  /** Filter options for listing plans. */
1747
1629
  export interface ListPlansParamsFilter {
1748
- key?: string | {
1749
- eq?: string;
1750
- neq?: string;
1751
- contains?: string;
1752
- ocontains?: string[];
1753
- oeq?: string[];
1754
- gt?: string;
1755
- gte?: string;
1756
- lt?: string;
1757
- lte?: string;
1758
- exists?: boolean;
1759
- };
1760
- name?: string | {
1761
- eq?: string;
1762
- neq?: string;
1763
- contains?: string;
1764
- ocontains?: string[];
1765
- oeq?: string[];
1766
- gt?: string;
1767
- gte?: string;
1768
- lt?: string;
1769
- lte?: string;
1770
- exists?: boolean;
1771
- };
1772
- status?: string | {
1773
- eq?: string;
1774
- oeq?: string[];
1775
- neq?: string;
1776
- };
1777
- currency?: string | {
1778
- eq?: string;
1779
- oeq?: string[];
1780
- neq?: string;
1781
- };
1630
+ key?: StringFieldFilter;
1631
+ name?: StringFieldFilter;
1632
+ status?: StringFieldFilterExact;
1633
+ currency?: StringFieldFilterExact;
1782
1634
  }
1783
1635
  /** Subscription create request. */
1784
1636
  export interface SubscriptionCreate {
@@ -2047,18 +1899,7 @@ export interface InvoiceLineBaseDiscount {
2047
1899
  /** Filter options for listing currencies. */
2048
1900
  export interface ListCurrenciesParamsFilter {
2049
1901
  type?: 'fiat' | 'custom';
2050
- code?: string | {
2051
- eq?: string;
2052
- neq?: string;
2053
- contains?: string;
2054
- ocontains?: string[];
2055
- oeq?: string[];
2056
- gt?: string;
2057
- gte?: string;
2058
- lt?: string;
2059
- lte?: string;
2060
- exists?: boolean;
2061
- };
1902
+ code?: StringFieldFilter;
2062
1903
  }
2063
1904
  /** Describes custom currency. */
2064
1905
  export interface CurrencyCustom {
@@ -2164,7 +2005,7 @@ export interface CreditAdjustment {
2164
2005
  }
2165
2006
  /** The credit balance by currency. */
2166
2007
  export interface CreditBalance {
2167
- currency: string;
2008
+ currency: BillingCurrencyCode;
2168
2009
  /** Credits available after applying currently live charge impacts. */
2169
2010
  live: string;
2170
2011
  /** Credits that have been booked on the ledger as of the balance timestamp. */
@@ -2191,7 +2032,7 @@ export interface CreateCreditAdjustmentRequest {
2191
2032
  description?: string;
2192
2033
  labels?: Labels;
2193
2034
  /** The currency of the granted credits. */
2194
- currency: string;
2035
+ currency: BillingCurrencyCode;
2195
2036
  /** Granted credit amount. */
2196
2037
  amount: string;
2197
2038
  }
@@ -2200,24 +2041,13 @@ export interface ListCreditTransactionsParamsFilter {
2200
2041
  /** Filter credit transactions by type. */
2201
2042
  type?: 'funded' | 'consumed' | 'expired';
2202
2043
  /** Filter credit transactions by currency. */
2203
- currency?: string;
2044
+ currency?: BillingCurrencyCode;
2204
2045
  /**
2205
2046
  * Filter credit transactions by feature key. Omit to return all credit
2206
2047
  * transactions. Use `exists=false` to return only unrestricted credit
2207
2048
  * transactions.
2208
2049
  */
2209
- featureKey?: string | {
2210
- eq?: string;
2211
- neq?: string;
2212
- contains?: string;
2213
- ocontains?: string[];
2214
- oeq?: string[];
2215
- gt?: string;
2216
- gte?: string;
2217
- lt?: string;
2218
- lte?: string;
2219
- exists?: boolean;
2220
- };
2050
+ featureKey?: StringFieldFilter;
2221
2051
  }
2222
2052
  /**
2223
2053
  * A credit transaction represents a single credit movement on the customer's
@@ -2247,7 +2077,7 @@ export interface CreditTransaction {
2247
2077
  /** The type of credit transaction. */
2248
2078
  type: 'funded' | 'consumed' | 'expired';
2249
2079
  /** Currency of the balance affected by the transaction. */
2250
- currency: string;
2080
+ currency: BillingCurrencyCode;
2251
2081
  /**
2252
2082
  * Signed amount of the credit movement. Positive values add balance, negative
2253
2083
  * values reduce balance.
@@ -2405,173 +2235,34 @@ export interface LlmCostOverrideCreate {
2405
2235
  }
2406
2236
  /** Filter options for listing customers. */
2407
2237
  export interface ListCustomersParamsFilter {
2408
- key?: string | {
2409
- eq?: string;
2410
- neq?: string;
2411
- contains?: string;
2412
- ocontains?: string[];
2413
- oeq?: string[];
2414
- gt?: string;
2415
- gte?: string;
2416
- lt?: string;
2417
- lte?: string;
2418
- exists?: boolean;
2419
- };
2420
- name?: string | {
2421
- eq?: string;
2422
- neq?: string;
2423
- contains?: string;
2424
- ocontains?: string[];
2425
- oeq?: string[];
2426
- gt?: string;
2427
- gte?: string;
2428
- lt?: string;
2429
- lte?: string;
2430
- exists?: boolean;
2431
- };
2432
- primaryEmail?: string | {
2433
- eq?: string;
2434
- neq?: string;
2435
- contains?: string;
2436
- ocontains?: string[];
2437
- oeq?: string[];
2438
- gt?: string;
2439
- gte?: string;
2440
- lt?: string;
2441
- lte?: string;
2442
- exists?: boolean;
2443
- };
2444
- usageAttributionSubjectKey?: string | {
2445
- eq?: string;
2446
- neq?: string;
2447
- contains?: string;
2448
- ocontains?: string[];
2449
- oeq?: string[];
2450
- gt?: string;
2451
- gte?: string;
2452
- lt?: string;
2453
- lte?: string;
2454
- exists?: boolean;
2455
- };
2456
- planKey?: string | {
2457
- eq?: string;
2458
- neq?: string;
2459
- contains?: string;
2460
- ocontains?: string[];
2461
- oeq?: string[];
2462
- gt?: string;
2463
- gte?: string;
2464
- lt?: string;
2465
- lte?: string;
2466
- exists?: boolean;
2467
- };
2468
- billingProfileId?: string | {
2469
- eq?: string;
2470
- oeq?: string[];
2471
- neq?: string;
2472
- };
2238
+ key?: StringFieldFilter;
2239
+ name?: StringFieldFilter;
2240
+ primaryEmail?: StringFieldFilter;
2241
+ usageAttributionSubjectKey?: StringFieldFilter;
2242
+ planKey?: StringFieldFilter;
2243
+ billingProfileId?: UlidFieldFilter;
2473
2244
  }
2474
2245
  /** Filter options for listing subscriptions. */
2475
2246
  export interface ListSubscriptionsParamsFilter {
2476
- id?: string | {
2477
- eq?: string;
2478
- oeq?: string[];
2479
- neq?: string;
2480
- };
2481
- customerId?: string | {
2482
- eq?: string;
2483
- oeq?: string[];
2484
- neq?: string;
2485
- };
2486
- status?: string | {
2487
- eq?: string;
2488
- oeq?: string[];
2489
- neq?: string;
2490
- };
2491
- planId?: string | {
2492
- eq?: string;
2493
- oeq?: string[];
2494
- neq?: string;
2495
- };
2496
- planKey?: string | {
2497
- eq?: string;
2498
- oeq?: string[];
2499
- neq?: string;
2500
- };
2247
+ id?: UlidFieldFilter;
2248
+ customerId?: UlidFieldFilter;
2249
+ status?: StringFieldFilterExact;
2250
+ planId?: UlidFieldFilter;
2251
+ planKey?: StringFieldFilterExact;
2501
2252
  }
2502
2253
  /** Filter options for listing features. */
2503
2254
  export interface ListFeatureParamsFilter {
2504
- meterId?: string | {
2505
- eq?: string;
2506
- oeq?: string[];
2507
- neq?: string;
2508
- };
2509
- key?: string | {
2510
- eq?: string;
2511
- neq?: string;
2512
- contains?: string;
2513
- ocontains?: string[];
2514
- oeq?: string[];
2515
- gt?: string;
2516
- gte?: string;
2517
- lt?: string;
2518
- lte?: string;
2519
- exists?: boolean;
2520
- };
2521
- name?: string | {
2522
- eq?: string;
2523
- neq?: string;
2524
- contains?: string;
2525
- ocontains?: string[];
2526
- oeq?: string[];
2527
- gt?: string;
2528
- gte?: string;
2529
- lt?: string;
2530
- lte?: string;
2531
- exists?: boolean;
2532
- };
2255
+ meterId?: UlidFieldFilter;
2256
+ key?: StringFieldFilter;
2257
+ name?: StringFieldFilter;
2533
2258
  }
2534
2259
  /** Filter options for listing add-ons. */
2535
2260
  export interface ListAddonsParamsFilter {
2536
- id?: string | {
2537
- eq?: string;
2538
- oeq?: string[];
2539
- neq?: string;
2540
- };
2541
- key?: string | {
2542
- eq?: string;
2543
- neq?: string;
2544
- contains?: string;
2545
- ocontains?: string[];
2546
- oeq?: string[];
2547
- gt?: string;
2548
- gte?: string;
2549
- lt?: string;
2550
- lte?: string;
2551
- exists?: boolean;
2552
- };
2553
- name?: string | {
2554
- eq?: string;
2555
- neq?: string;
2556
- contains?: string;
2557
- ocontains?: string[];
2558
- oeq?: string[];
2559
- gt?: string;
2560
- gte?: string;
2561
- lt?: string;
2562
- lte?: string;
2563
- exists?: boolean;
2564
- };
2565
- status?: string | {
2566
- eq?: string;
2567
- oeq?: string[];
2568
- neq?: string;
2569
- };
2570
- currency?: string | {
2571
- eq?: string;
2572
- oeq?: string[];
2573
- neq?: string;
2574
- };
2261
+ id?: UlidFieldFilter;
2262
+ key?: StringFieldFilter;
2263
+ name?: StringFieldFilter;
2264
+ status?: StringFieldFilterExact;
2265
+ currency?: StringFieldFilterExact;
2575
2266
  }
2576
2267
  /**
2577
2268
  * Tax configuration for a credit grant.
@@ -2742,164 +2433,43 @@ export interface UpdateRateCardTaxConfig {
2742
2433
  /** Filter options for listing ingested events. */
2743
2434
  export interface ListEventsParamsFilter {
2744
2435
  /** Filter events by ID. */
2745
- id?: string | {
2746
- eq?: string;
2747
- neq?: string;
2748
- contains?: string;
2749
- ocontains?: string[];
2750
- oeq?: string[];
2751
- gt?: string;
2752
- gte?: string;
2753
- lt?: string;
2754
- lte?: string;
2755
- exists?: boolean;
2756
- };
2436
+ id?: StringFieldFilter;
2757
2437
  /** Filter events by source. */
2758
- source?: string | {
2759
- eq?: string;
2760
- neq?: string;
2761
- contains?: string;
2762
- ocontains?: string[];
2763
- oeq?: string[];
2764
- gt?: string;
2765
- gte?: string;
2766
- lt?: string;
2767
- lte?: string;
2768
- exists?: boolean;
2769
- };
2438
+ source?: StringFieldFilter;
2770
2439
  /** Filter events by subject. */
2771
- subject?: string | {
2772
- eq?: string;
2773
- neq?: string;
2774
- contains?: string;
2775
- ocontains?: string[];
2776
- oeq?: string[];
2777
- gt?: string;
2778
- gte?: string;
2779
- lt?: string;
2780
- lte?: string;
2781
- exists?: boolean;
2782
- };
2440
+ subject?: StringFieldFilter;
2783
2441
  /** Filter events by type. */
2784
- type?: string | {
2785
- eq?: string;
2786
- neq?: string;
2787
- contains?: string;
2788
- ocontains?: string[];
2789
- oeq?: string[];
2790
- gt?: string;
2791
- gte?: string;
2792
- lt?: string;
2793
- lte?: string;
2794
- exists?: boolean;
2795
- };
2442
+ type?: StringFieldFilter;
2796
2443
  /** Filter events by the associated customer ID. */
2797
- customerId?: string | {
2798
- eq?: string;
2799
- oeq?: string[];
2800
- neq?: string;
2801
- };
2444
+ customerId?: UlidFieldFilter;
2802
2445
  /** Filter events by event time. */
2803
- time?: Date | {
2804
- eq?: Date;
2805
- lt?: Date;
2806
- lte?: Date;
2807
- gt?: Date;
2808
- gte?: Date;
2809
- };
2446
+ time?: DateTimeFieldFilter;
2810
2447
  /** Filter events by the time the event was ingested. */
2811
- ingestedAt?: Date | {
2812
- eq?: Date;
2813
- lt?: Date;
2814
- lte?: Date;
2815
- gt?: Date;
2816
- gte?: Date;
2817
- };
2448
+ ingestedAt?: DateTimeFieldFilter;
2818
2449
  /** Filter events by the time the event was stored. */
2819
- storedAt?: Date | {
2820
- eq?: Date;
2821
- lt?: Date;
2822
- lte?: Date;
2823
- gt?: Date;
2824
- gte?: Date;
2825
- };
2450
+ storedAt?: DateTimeFieldFilter;
2826
2451
  }
2827
2452
  /** Filter options for listing invoices. */
2828
2453
  export interface ListInvoicesParamsFilter {
2829
2454
  /** Filter by invoice status. */
2830
- status?: string | {
2831
- eq?: string;
2832
- oeq?: string[];
2833
- neq?: string;
2834
- };
2455
+ status?: StringFieldFilterExact;
2835
2456
  /** Filter by customer ID. */
2836
- customerId?: string | {
2837
- eq?: string;
2838
- oeq?: string[];
2839
- neq?: string;
2840
- };
2457
+ customerId?: UlidFieldFilter;
2841
2458
  /** Filter by the time the invoice was issued. */
2842
- issuedAt?: Date | {
2843
- eq?: Date;
2844
- lt?: Date;
2845
- lte?: Date;
2846
- gt?: Date;
2847
- gte?: Date;
2848
- };
2459
+ issuedAt?: DateTimeFieldFilter;
2849
2460
  /** Filter by service period start. */
2850
- servicePeriodStart?: Date | {
2851
- eq?: Date;
2852
- lt?: Date;
2853
- lte?: Date;
2854
- gt?: Date;
2855
- gte?: Date;
2856
- };
2461
+ servicePeriodStart?: DateTimeFieldFilter;
2857
2462
  /** Filter by invoice creation time. */
2858
- createdAt?: Date | {
2859
- eq?: Date;
2860
- lt?: Date;
2861
- lte?: Date;
2862
- gt?: Date;
2863
- gte?: Date;
2864
- };
2463
+ createdAt?: DateTimeFieldFilter;
2865
2464
  }
2866
2465
  /** Resource filters. */
2867
2466
  export interface ResourceFilters {
2868
- name?: string | {
2869
- eq?: string;
2870
- neq?: string;
2871
- contains?: string;
2872
- ocontains?: string[];
2873
- oeq?: string[];
2874
- gt?: string;
2875
- gte?: string;
2876
- lt?: string;
2877
- lte?: string;
2878
- exists?: boolean;
2879
- };
2467
+ name?: StringFieldFilter;
2880
2468
  labels?: LabelsFieldFilter;
2881
2469
  publicLabels?: LabelsFieldFilter;
2882
- createdAt?: Date | {
2883
- eq?: Date;
2884
- lt?: Date;
2885
- lte?: Date;
2886
- gt?: Date;
2887
- gte?: Date;
2888
- };
2889
- updatedAt?: Date | {
2890
- eq?: Date;
2891
- lt?: Date;
2892
- lte?: Date;
2893
- gt?: Date;
2894
- gte?: Date;
2895
- };
2896
- deletedAt?: Date | {
2897
- eq?: Date;
2898
- lt?: Date;
2899
- lte?: Date;
2900
- gt?: Date;
2901
- gte?: Date;
2902
- };
2470
+ createdAt?: DateTimeFieldFilter;
2471
+ updatedAt?: DateTimeFieldFilter;
2472
+ deletedAt?: DateTimeFieldFilter;
2903
2473
  }
2904
2474
  /** Field filters with all supported types. */
2905
2475
  export interface FieldFilters {
@@ -2915,35 +2485,10 @@ export interface FieldFilters {
2915
2485
  gt?: number;
2916
2486
  gte?: number;
2917
2487
  };
2918
- string?: string | {
2919
- eq?: string;
2920
- neq?: string;
2921
- contains?: string;
2922
- ocontains?: string[];
2923
- oeq?: string[];
2924
- gt?: string;
2925
- gte?: string;
2926
- lt?: string;
2927
- lte?: string;
2928
- exists?: boolean;
2929
- };
2930
- stringExact?: string | {
2931
- eq?: string;
2932
- oeq?: string[];
2933
- neq?: string;
2934
- };
2935
- ulid?: string | {
2936
- eq?: string;
2937
- oeq?: string[];
2938
- neq?: string;
2939
- };
2940
- datetime?: Date | {
2941
- eq?: Date;
2942
- lt?: Date;
2943
- lte?: Date;
2944
- gt?: Date;
2945
- gte?: Date;
2946
- };
2488
+ string?: StringFieldFilter;
2489
+ stringExact?: StringFieldFilterExact;
2490
+ ulid?: UlidFieldFilter;
2491
+ datetime?: DateTimeFieldFilter;
2947
2492
  labels?: LabelsFieldFilter;
2948
2493
  }
2949
2494
  /** An ingested metering event with ingestion metadata. */
@@ -3200,7 +2745,7 @@ export interface ChargeFlatFeeSystemIntent {
3200
2745
  /** The billing period the charge belongs to. */
3201
2746
  billingPeriod: ClosedPeriod;
3202
2747
  /** Payment term of the flat fee charge. */
3203
- paymentTerm: 'in_advance' | 'in_arrears';
2748
+ paymentTerm: PricePaymentTerm;
3204
2749
  /** The discounts applied to the charge. */
3205
2750
  discounts?: ChargeFlatFeeDiscounts;
3206
2751
  /** The proration configuration of the charge. */
@@ -3228,7 +2773,7 @@ export interface SubscriptionChangeResponse {
3228
2773
  /** Request for canceling a subscription. */
3229
2774
  export interface SubscriptionCancel {
3230
2775
  /** If not provided the subscription is canceled immediately. */
3231
- timing: 'immediate' | 'next_billing_cycle' | Date;
2776
+ timing: SubscriptionEditTiming;
3232
2777
  }
3233
2778
  /** Request for changing a subscription. */
3234
2779
  export interface SubscriptionChange {
@@ -3272,7 +2817,7 @@ export interface SubscriptionChange {
3272
2817
  * changing a subscription, the accepted values depend on the subscription
3273
2818
  * configuration.
3274
2819
  */
3275
- timing: 'immediate' | 'next_billing_cycle' | Date;
2820
+ timing: SubscriptionEditTiming;
3276
2821
  }
3277
2822
  /** SubscriptionAddon create request. */
3278
2823
  export interface CreateSubscriptionAddonRequest {
@@ -3285,7 +2830,7 @@ export interface CreateSubscriptionAddonRequest {
3285
2830
  * The timing of the operation. After the create or update, a new entry will be
3286
2831
  * created in the timeline.
3287
2832
  */
3288
- timing: 'immediate' | 'next_billing_cycle' | Date;
2833
+ timing: SubscriptionEditTiming;
3289
2834
  }
3290
2835
  /**
3291
2836
  * Usage quantity details on an invoice line item when UnitConfig is in effect.
@@ -3519,7 +3064,7 @@ export interface InvoiceWorkflow {
3519
3064
  /** Invoicing settings for this invoice. */
3520
3065
  invoicing?: InvoiceWorkflowInvoicingSettings;
3521
3066
  /** Payment settings for this invoice. */
3522
- payment?: WorkflowPaymentChargeAutomaticallySettings | WorkflowPaymentSendInvoiceSettings;
3067
+ payment?: WorkflowPaymentSettings;
3523
3068
  }
3524
3069
  /** Detailed status information for a standard invoice. */
3525
3070
  export interface InvoiceStatusDetails {
@@ -3689,7 +3234,7 @@ export interface CreateCreditGrantRequest {
3689
3234
  /** Funding method of the grant. */
3690
3235
  fundingMethod: 'none' | 'invoice' | 'external';
3691
3236
  /** The currency of the granted credits. */
3692
- currency: string;
3237
+ currency: CreateCurrencyCode;
3693
3238
  /** Granted credit amount. */
3694
3239
  amount: string;
3695
3240
  /** Present when a funding workflow applies (funding_method is not `none`). */
@@ -3756,7 +3301,7 @@ export interface CreditGrant {
3756
3301
  /** Funding method of the grant. */
3757
3302
  fundingMethod: 'none' | 'invoice' | 'external';
3758
3303
  /** The currency of the granted credits. */
3759
- currency: string;
3304
+ currency: BillingCurrencyCode;
3760
3305
  /** Granted credit amount. */
3761
3306
  amount: string;
3762
3307
  /** Present when a funding workflow applies (funding_method is not `none`). */
@@ -3829,7 +3374,7 @@ export interface CreateChargeFlatFeeRequest {
3829
3374
  /** Tax configuration of the charge. */
3830
3375
  taxConfig?: TaxConfig;
3831
3376
  /** Payment term of the flat fee charge. */
3832
- paymentTerm: 'in_advance' | 'in_arrears';
3377
+ paymentTerm: PricePaymentTerm;
3833
3378
  /** The discounts applied to the charge. */
3834
3379
  discounts?: ChargeFlatFeeDiscounts;
3835
3380
  /** The feature associated with the charge, when applicable. */
@@ -3878,7 +3423,7 @@ export interface IngestedEventPaginatedResponse {
3878
3423
  meta: CursorMeta;
3879
3424
  }
3880
3425
  /** The list of parameters that failed validation. */
3881
- export type InvalidParameters = (InvalidParameterStandard | InvalidParameterMinimumLength | InvalidParameterMaximumLength | InvalidParameterChoiceItem | InvalidParameterDependentItem)[];
3426
+ export type InvalidParameters = InvalidParameter[];
3882
3427
  /** A meter query request. */
3883
3428
  export interface MeterQueryRequest {
3884
3429
  /** The start of the period the usage is queried from. */
@@ -3889,7 +3434,7 @@ export interface MeterQueryRequest {
3889
3434
  * The size of the time buckets to group the usage into. If not specified, the
3890
3435
  * usage is aggregated over the entire period.
3891
3436
  */
3892
- granularity?: 'PT1M' | 'PT1H' | 'P1D' | 'P1M';
3437
+ granularity?: MeterQueryGranularity;
3893
3438
  /**
3894
3439
  * The value is the name of the time zone as defined in the IANA Time Zone Database
3895
3440
  * (http://www.iana.org/time-zones). The time zone is used to determine the start
@@ -4134,7 +3679,7 @@ export interface UpdateInvoiceWorkflowSettings {
4134
3679
  }
4135
3680
  /** Page paginated response. */
4136
3681
  export interface CurrencyPagePaginatedResponse {
4137
- data: (CurrencyFiat | CurrencyCustom)[];
3682
+ data: Currency[];
4138
3683
  meta: PaginatedMeta;
4139
3684
  }
4140
3685
  /** Access evaluation result for a single resolved customer. */
@@ -4196,7 +3741,7 @@ export interface Feature {
4196
3741
  * "llm" to look up cost from the LLM cost database based on meter group-by
4197
3742
  * properties.
4198
3743
  */
4199
- unitCost?: FeatureManualUnitCost | FeatureLlmUnitCost;
3744
+ unitCost?: FeatureUnitCost;
4200
3745
  }
4201
3746
  /** Feature create request. */
4202
3747
  export interface CreateFeatureRequest {
@@ -4224,7 +3769,7 @@ export interface CreateFeatureRequest {
4224
3769
  * "llm" to look up cost from the LLM cost database based on meter group-by
4225
3770
  * properties.
4226
3771
  */
4227
- unitCost?: FeatureManualUnitCost | FeatureLlmUnitCost;
3772
+ unitCost?: FeatureUnitCost;
4228
3773
  }
4229
3774
  /**
4230
3775
  * Request body for updating a feature. Currently only the unit_cost field can be
@@ -4237,7 +3782,7 @@ export interface UpdateFeatureRequest {
4237
3782
  * properties. Set to `null` to clear the existing unit cost; omit to leave it
4238
3783
  * unchanged.
4239
3784
  */
4240
- unitCost?: FeatureManualUnitCost | FeatureLlmUnitCost | null;
3785
+ unitCost?: FeatureUnitCost | null;
4241
3786
  }
4242
3787
  /** Page paginated response. */
4243
3788
  export interface CreditGrantPagePaginatedResponse {
@@ -4247,7 +3792,7 @@ export interface CreditGrantPagePaginatedResponse {
4247
3792
  /** Bad Request. */
4248
3793
  export interface BadRequest extends BaseError {
4249
3794
  /** The list of parameters that failed validation. */
4250
- invalidParameters: (InvalidParameterStandard | InvalidParameterMinimumLength | InvalidParameterMaximumLength | InvalidParameterChoiceItem | InvalidParameterDependentItem)[];
3795
+ invalidParameters: InvalidParameter[];
4251
3796
  }
4252
3797
  /**
4253
3798
  * Base fields shared by all invoice types.
@@ -4322,7 +3867,7 @@ export interface CustomerStripeCreateCheckoutSessionRequest {
4322
3867
  */
4323
3868
  export interface WorkflowCollectionSettings {
4324
3869
  /** The alignment for collecting the pending line items into an invoice. */
4325
- alignment: WorkflowCollectionAlignmentSubscription | WorkflowCollectionAlignmentAnchored;
3870
+ alignment: WorkflowCollectionAlignment;
4326
3871
  /**
4327
3872
  * This grace period can be used to delay the collection of the pending line items
4328
3873
  * specified in alignment.
@@ -4334,17 +3879,17 @@ export interface WorkflowCollectionSettings {
4334
3879
  }
4335
3880
  /** Page paginated response. */
4336
3881
  export interface AppPagePaginatedResponse {
4337
- data: (AppStripe | AppSandbox | AppExternalInvoicing)[];
3882
+ data: App[];
4338
3883
  meta: PaginatedMeta;
4339
3884
  }
4340
3885
  /** Applications used by a billing profile. */
4341
3886
  export interface ProfileApps {
4342
3887
  /** The tax app used for this workflow. */
4343
- tax: AppStripe | AppSandbox | AppExternalInvoicing;
3888
+ tax: App;
4344
3889
  /** The invoicing app used for this workflow. */
4345
- invoicing: AppStripe | AppSandbox | AppExternalInvoicing;
3890
+ invoicing: App;
4346
3891
  /** The payment app used for this workflow. */
4347
- payment: AppStripe | AppSandbox | AppExternalInvoicing;
3892
+ payment: App;
4348
3893
  }
4349
3894
  /** Response of the governance query. */
4350
3895
  export interface GovernanceQueryResponse {
@@ -4418,7 +3963,7 @@ export interface ChargeFlatFee {
4418
3963
  /** Tax configuration of the charge. */
4419
3964
  taxConfig?: TaxConfig;
4420
3965
  /** Payment term of the flat fee charge. */
4421
- paymentTerm: 'in_advance' | 'in_arrears';
3966
+ paymentTerm: PricePaymentTerm;
4422
3967
  /** The discounts applied to the charge. */
4423
3968
  discounts?: ChargeFlatFeeDiscounts;
4424
3969
  /** The feature associated with the charge, when applicable. */
@@ -4428,7 +3973,7 @@ export interface ChargeFlatFee {
4428
3973
  /** The amount after proration of the charge. */
4429
3974
  amountAfterProration: CurrencyAmount;
4430
3975
  /** The price of the charge. */
4431
- price: PriceFree | PriceFlat | PriceUnit | PriceGraduated | PriceVolume;
3976
+ price: Price;
4432
3977
  /**
4433
3978
  * Current intent from the system lifecycle controller for a charge that has an
4434
3979
  * active manual override. The top-level charge fields remain the effective
@@ -4465,7 +4010,7 @@ export interface ChargeUsageBasedSystemIntent {
4465
4010
  /** Discounts applied to the usage-based charge. */
4466
4011
  discounts?: RateCardDiscounts;
4467
4012
  /** The price of the charge. */
4468
- price: PriceFree | PriceFlat | PriceUnit | PriceGraduated | PriceVolume;
4013
+ price: Price;
4469
4014
  /**
4470
4015
  * The timestamp when the system lifecycle controller intent was deleted. The
4471
4016
  * effective charge can remain visible while a manual override is active.
@@ -4506,7 +4051,7 @@ export interface CreateChargeUsageBasedRequest {
4506
4051
  /** The feature associated with the charge. */
4507
4052
  featureKey: string;
4508
4053
  /** The price of the charge. */
4509
- price: PriceFree | PriceFlat | PriceUnit | PriceGraduated | PriceVolume;
4054
+ price: Price;
4510
4055
  /** The full, unprorated service period of the charge. */
4511
4056
  fullServicePeriod?: ClosedPeriod;
4512
4057
  /** The billing period the charge belongs to. */
@@ -4536,7 +4081,7 @@ export interface RateCard {
4536
4081
  */
4537
4082
  billingCadence?: string;
4538
4083
  /** The price of the rate card. */
4539
- price: PriceFree | PriceFlat | PriceUnit | PriceGraduated | PriceVolume;
4084
+ price: Price;
4540
4085
  /**
4541
4086
  * Unit conversion configuration for the rate card.
4542
4087
  *
@@ -4552,7 +4097,7 @@ export interface RateCard {
4552
4097
  * The payment term of the rate card. In advance payment term can only be used for
4553
4098
  * flat prices.
4554
4099
  */
4555
- paymentTerm: 'in_advance' | 'in_arrears';
4100
+ paymentTerm: PricePaymentTerm;
4556
4101
  /**
4557
4102
  * Spend commitments for this rate card. Only applicable to usage-based prices
4558
4103
  * (unit, graduated, volume).
@@ -4566,12 +4111,12 @@ export interface RateCard {
4566
4111
  * The entitlement template granted to subscribers of a plan or addon containing
4567
4112
  * this rate card. Requires `feature` to be set.
4568
4113
  */
4569
- entitlement?: RateCardMeteredEntitlement | RateCardStaticEntitlement | RateCardBooleanEntitlement;
4114
+ entitlement?: RateCardEntitlement;
4570
4115
  }
4571
4116
  /** Rate card configuration snapshot for a usage-based invoice line. */
4572
4117
  export interface InvoiceLineRateCard {
4573
4118
  /** The price definition used to calculate charges for this line. */
4574
- price: PriceFree | PriceFlat | PriceUnit | PriceGraduated | PriceVolume;
4119
+ price: Price;
4575
4120
  /** Tax configuration snapshot for this line. */
4576
4121
  taxConfig?: RateCardTaxConfig;
4577
4122
  /** The feature key associated with this line's rate card. */
@@ -4602,7 +4147,7 @@ export interface Workflow {
4602
4147
  /** The invoicing settings for this workflow */
4603
4148
  invoicing?: WorkflowInvoicingSettings;
4604
4149
  /** The payment settings for this workflow */
4605
- payment?: WorkflowPaymentChargeAutomaticallySettings | WorkflowPaymentSendInvoiceSettings;
4150
+ payment?: WorkflowPaymentSettings;
4606
4151
  /** The tax settings for this workflow */
4607
4152
  tax?: WorkflowTaxSettings;
4608
4153
  }
@@ -4672,7 +4217,7 @@ export interface ChargeUsageBased {
4672
4217
  /** Aggregated booked and realtime totals for the charge. */
4673
4218
  totals: ChargeTotals;
4674
4219
  /** The price of the charge. */
4675
- price: PriceFree | PriceFlat | PriceUnit | PriceGraduated | PriceVolume;
4220
+ price: Price;
4676
4221
  /**
4677
4222
  * Current intent from the system lifecycle controller for a charge that has an
4678
4223
  * active manual override. The top-level charge fields remain the effective
@@ -4750,7 +4295,7 @@ export interface Addon {
4750
4295
  /** The InstanceType of the add-ons. Can be "single" or "multiple". */
4751
4296
  instanceType: 'single' | 'multiple';
4752
4297
  /** The currency code of the add-on. */
4753
- currency: string;
4298
+ currency: BillingCurrencyCode;
4754
4299
  /**
4755
4300
  * The date and time when the add-on becomes effective. When not specified, the
4756
4301
  * add-on is a draft.
@@ -4799,7 +4344,7 @@ export interface CreateAddonRequest {
4799
4344
  /** The InstanceType of the add-ons. Can be "single" or "multiple". */
4800
4345
  instanceType: 'single' | 'multiple';
4801
4346
  /** The currency code of the add-on. */
4802
- currency: string;
4347
+ currency: BillingCurrencyCode;
4803
4348
  /** The rate cards of the add-on. */
4804
4349
  rateCards: RateCard[];
4805
4350
  }
@@ -5213,7 +4758,7 @@ export interface ProfilePagePaginatedResponse {
5213
4758
  }
5214
4759
  /** Page paginated response. */
5215
4760
  export interface ChargePagePaginatedResponse {
5216
- data: (ChargeFlatFee | ChargeUsageBased)[];
4761
+ data: Charge[];
5217
4762
  meta: PaginatedMeta;
5218
4763
  }
5219
4764
  /** Page paginated response. */
@@ -5343,12 +4888,115 @@ export interface InvoicePagePaginatedResponse {
5343
4888
  data: InvoiceStandard[];
5344
4889
  meta: PaginatedMeta;
5345
4890
  }
4891
+ /**
4892
+ * Filters on the given string field value by either exact or fuzzy match. All
4893
+ * properties are optional; provide exactly one to specify the comparison.
4894
+ */
4895
+ export type StringFieldFilter = string | {
4896
+ eq?: string;
4897
+ neq?: string;
4898
+ contains?: string;
4899
+ ocontains?: string[];
4900
+ oeq?: string[];
4901
+ gt?: string;
4902
+ gte?: string;
4903
+ lt?: string;
4904
+ lte?: string;
4905
+ exists?: boolean;
4906
+ };
4907
+ /** The aggregation type to use for the meter. */
4908
+ export type MeterAggregation = 'sum' | 'count' | 'unique_count' | 'avg' | 'min' | 'max' | 'latest';
4909
+ /**
4910
+ * The granularity of the time grouping. Time durations are specified in ISO 8601
4911
+ * format.
4912
+ */
4913
+ export type MeterQueryGranularity = 'PT1M' | 'PT1H' | 'P1D' | 'P1M';
4914
+ /**
4915
+ * Filters on the given string field value by exact match. All properties are
4916
+ * optional; provide exactly one to specify the comparison.
4917
+ */
4918
+ export type StringFieldFilterExact = string | {
4919
+ eq?: string;
4920
+ oeq?: string[];
4921
+ neq?: string;
4922
+ };
4923
+ /** The payment term of a flat price. */
4924
+ export type PricePaymentTerm = 'in_advance' | 'in_arrears';
4925
+ /** Fiat or custom currency code. */
4926
+ export type BillingCurrencyCode = string;
4927
+ /** Fiat or custom currency code. */
4928
+ export type CreateCurrencyCode = string;
4929
+ /**
4930
+ * Filters on the given ULID field value by exact match. All properties are
4931
+ * optional; provide exactly one to specify the comparison.
4932
+ */
4933
+ export type UlidFieldFilter = string | {
4934
+ eq?: string;
4935
+ oeq?: string[];
4936
+ neq?: string;
4937
+ };
4938
+ /**
4939
+ * Filters on the given datetime (RFC-3339) field value. All properties are
4940
+ * optional; provide exactly one to specify the comparison.
4941
+ */
4942
+ export type DateTimeFieldFilter = Date | {
4943
+ eq?: Date;
4944
+ lt?: Date;
4945
+ lte?: Date;
4946
+ gt?: Date;
4947
+ gte?: Date;
4948
+ };
4949
+ /**
4950
+ * Subscription edit timing defined when the changes should take effect. If the
4951
+ * provided configuration is not supported by the subscription, an error will be
4952
+ * returned.
4953
+ */
4954
+ export type SubscriptionEditTiming = 'immediate' | 'next_billing_cycle' | Date;
4955
+ /** Payment settings for a billing workflow. */
4956
+ export type WorkflowPaymentSettings = WorkflowPaymentChargeAutomaticallySettings | WorkflowPaymentSendInvoiceSettings;
4957
+ /** A parameter that failed validation. */
4958
+ export type InvalidParameter = InvalidParameterStandard | InvalidParameterMinimumLength | InvalidParameterMaximumLength | InvalidParameterChoiceItem | InvalidParameterDependentItem;
4959
+ /**
4960
+ * Entitlement template configured on a rate card. The feature is taken from the
4961
+ * rate card itself, so it is omitted here.
4962
+ */
4963
+ export type RateCardEntitlement = RateCardMeteredEntitlement | RateCardStaticEntitlement | RateCardBooleanEntitlement;
4964
+ /** Fiat or custom currency. */
4965
+ export type Currency = CurrencyFiat | CurrencyCustom;
4966
+ /**
4967
+ * Per-unit cost configuration for a feature. Either a fixed manual amount or a
4968
+ * dynamic LLM cost lookup.
4969
+ */
4970
+ export type FeatureUnitCost = FeatureManualUnitCost | FeatureLlmUnitCost;
4971
+ /**
4972
+ * The alignment for collecting the pending line items into an invoice.
4973
+ *
4974
+ * Defaults to subscription, which means that we are to create a new invoice every
4975
+ * time the a subscription period starts (for in advance items) or ends (for in
4976
+ * arrears items).
4977
+ */
4978
+ export type WorkflowCollectionAlignment = WorkflowCollectionAlignmentSubscription | WorkflowCollectionAlignmentAnchored;
4979
+ /** Installed application. */
4980
+ export type App = AppStripe | AppSandbox | AppExternalInvoicing;
4981
+ /** Price. */
4982
+ export type Price = PriceFree | PriceFlat | PriceUnit | PriceGraduated | PriceVolume;
4983
+ /** Customer charge. */
4984
+ export type CreateChargeRequest = CreateChargeFlatFeeRequest | CreateChargeUsageBasedRequest;
4985
+ /** Customer charge. */
4986
+ export type Charge = ChargeFlatFee | ChargeUsageBased;
4987
+ /**
4988
+ * Sort query.
4989
+ *
4990
+ * The `asc` suffix is optional as the default sort order is ascending. The `desc`
4991
+ * suffix is used to specify a descending order.
4992
+ */
5346
4993
  export interface SortQueryInput {
5347
4994
  /** The attribute to sort by. */
5348
4995
  by: string;
5349
4996
  /** The sort order. `asc` for ascending, `desc` for descending. */
5350
4997
  order?: 'asc' | 'desc';
5351
4998
  }
4999
+ /** Standard error response. */
5352
5000
  export interface BaseErrorInput {
5353
5001
  /** Type contains a URI that identifies the problem type. */
5354
5002
  type?: string;
@@ -5365,6 +5013,10 @@ export interface BaseErrorInput {
5365
5013
  instance: string;
5366
5014
  [key: string]: unknown;
5367
5015
  }
5016
+ /**
5017
+ * Payment settings for a billing workflow when the collection method is send
5018
+ * invoice.
5019
+ */
5368
5020
  export interface WorkflowPaymentSendInvoiceSettingsInput {
5369
5021
  /** The collection method for the invoice. */
5370
5022
  collectionMethod: 'send_invoice';
@@ -5374,6 +5026,13 @@ export interface WorkflowPaymentSendInvoiceSettingsInput {
5374
5026
  */
5375
5027
  dueAfter?: string;
5376
5028
  }
5029
+ /**
5030
+ * Invoice-level invoicing settings.
5031
+ *
5032
+ * A subset of BillingWorkflowInvoicingSettings limited to fields that are
5033
+ * meaningful per-invoice. progressive_billing is omitted as it is a gather-time /
5034
+ * profile-level decision.
5035
+ */
5377
5036
  export interface InvoiceWorkflowInvoicingSettingsInput {
5378
5037
  /** Whether to automatically issue the invoice after the draft_period has passed. */
5379
5038
  autoAdvance?: boolean;
@@ -5382,12 +5041,23 @@ export interface InvoiceWorkflowInvoicingSettingsInput {
5382
5041
  /** The period after which the invoice is considered overdue if not paid. */
5383
5042
  dueAfter?: string;
5384
5043
  }
5044
+ /**
5045
+ * Invoice-level invoicing settings.
5046
+ *
5047
+ * A subset of BillingWorkflowInvoicingSettings limited to fields that are
5048
+ * meaningful per-invoice. progressive_billing is omitted as it is a gather-time /
5049
+ * profile-level decision.
5050
+ */
5385
5051
  export interface UpdateBillingInvoiceWorkflowInvoicingSettingsInput {
5386
5052
  /** Whether to automatically issue the invoice after the draft_period has passed. */
5387
5053
  autoAdvance?: boolean;
5388
5054
  /** The period for the invoice to be kept in draft status for manual reviews. */
5389
5055
  draftPeriod?: string;
5390
5056
  }
5057
+ /**
5058
+ * Payment settings for a billing workflow when the collection method is send
5059
+ * invoice.
5060
+ */
5391
5061
  export interface UpdateBillingWorkflowPaymentSendInvoiceSettingsInput {
5392
5062
  /** The collection method for the invoice. */
5393
5063
  collectionMethod: 'send_invoice';
@@ -5397,6 +5067,7 @@ export interface UpdateBillingWorkflowPaymentSendInvoiceSettingsInput {
5397
5067
  */
5398
5068
  dueAfter?: string;
5399
5069
  }
5070
+ /** Metering event following the CloudEvents specification. */
5400
5071
  export interface EventInput {
5401
5072
  /** Identifies the event. */
5402
5073
  id: string;
@@ -5426,30 +5097,43 @@ export interface EventInput {
5426
5097
  /** The event payload. Optional, if present it must be a JSON object. */
5427
5098
  data?: Record<string, unknown> | null;
5428
5099
  }
5100
+ /** Unauthorized. */
5429
5101
  export interface UnauthorizedInput extends BaseErrorInput {
5430
5102
  }
5103
+ /** Forbidden. */
5431
5104
  export interface ForbiddenInput extends BaseErrorInput {
5432
5105
  }
5106
+ /** Not Found. */
5433
5107
  export interface NotFoundInput extends BaseErrorInput {
5434
5108
  }
5109
+ /** Gone. */
5435
5110
  export interface GoneInput extends BaseErrorInput {
5436
5111
  }
5112
+ /** Conflict. */
5437
5113
  export interface ConflictInput extends BaseErrorInput {
5438
5114
  }
5115
+ /** Payload Too Large. */
5439
5116
  export interface PayloadTooLargeInput extends BaseErrorInput {
5440
5117
  }
5118
+ /** Unsupported Media Type. */
5441
5119
  export interface UnsupportedMediaTypeInput extends BaseErrorInput {
5442
5120
  }
5121
+ /** Unprocessable Content. */
5443
5122
  export interface UnprocessableContentInput extends BaseErrorInput {
5444
5123
  }
5124
+ /** Too Many Requests. */
5445
5125
  export interface TooManyRequestsInput extends BaseErrorInput {
5446
5126
  }
5127
+ /** Internal Server Error. */
5447
5128
  export interface InternalInput extends BaseErrorInput {
5448
5129
  }
5130
+ /** Not Implemented. */
5449
5131
  export interface NotImplementedInput extends BaseErrorInput {
5450
5132
  }
5133
+ /** Not Available. */
5451
5134
  export interface NotAvailableInput extends BaseErrorInput {
5452
5135
  }
5136
+ /** Controls which customer fields can be updated by the checkout session. */
5453
5137
  export interface AppStripeCreateCheckoutSessionCustomerUpdateInput {
5454
5138
  /**
5455
5139
  * Whether to save the billing address to customer.address.
@@ -5470,6 +5154,7 @@ export interface AppStripeCreateCheckoutSessionCustomerUpdateInput {
5470
5154
  */
5471
5155
  shipping?: 'auto' | 'never';
5472
5156
  }
5157
+ /** Tax ID collection configuration for checkout sessions. */
5473
5158
  export interface AppStripeCreateCheckoutSessionTaxIdCollectionInput {
5474
5159
  /**
5475
5160
  * Enable tax ID collection during checkout.
@@ -5484,6 +5169,7 @@ export interface AppStripeCreateCheckoutSessionTaxIdCollectionInput {
5484
5169
  */
5485
5170
  required?: 'if_supported' | 'never';
5486
5171
  }
5172
+ /** Purchase and payment terms of the grant. */
5487
5173
  export interface CreateCreditGrantPurchaseInput {
5488
5174
  /** Currency of the purchase amount. */
5489
5175
  currency: string;
@@ -5504,6 +5190,7 @@ export interface CreateCreditGrantPurchaseInput {
5504
5190
  */
5505
5191
  availabilityPolicy?: 'on_creation';
5506
5192
  }
5193
+ /** The entitlement template of a metered entitlement. */
5507
5194
  export interface RateCardMeteredEntitlementInput {
5508
5195
  /** The type of the entitlement template. */
5509
5196
  type: 'metered';
@@ -5525,6 +5212,7 @@ export interface RateCardMeteredEntitlementInput {
5525
5212
  */
5526
5213
  usagePeriod?: string;
5527
5214
  }
5215
+ /** Purchase and payment terms of the grant. */
5528
5216
  export interface CreditGrantPurchaseInput {
5529
5217
  /** Currency of the purchase amount. */
5530
5218
  currency: string;
@@ -5549,6 +5237,30 @@ export interface CreditGrantPurchaseInput {
5549
5237
  /** Current payment settlement status. */
5550
5238
  settlementStatus?: 'pending' | 'authorized' | 'settled';
5551
5239
  }
5240
+ /**
5241
+ * Unit conversion configuration.
5242
+ *
5243
+ * Transforms raw metered quantities into billing-ready units before pricing and
5244
+ * entitlement evaluation. Applied at the rate card level so the same feature can
5245
+ * be billed in different units across plans.
5246
+ *
5247
+ * Examples:
5248
+ *
5249
+ * - Meter bytes, bill GB: operation=divide, conversionFactor=1e9,
5250
+ * rounding=ceiling, displayUnit="GB"
5251
+ * - Meter seconds, bill hours: operation=divide, conversionFactor=3600,
5252
+ * rounding=ceiling, displayUnit="hours"
5253
+ * - Cost + 20% margin: operation=multiply, conversionFactor=1.2
5254
+ * - Bill per million tokens: operation=divide, conversionFactor=1e6,
5255
+ * rounding=ceiling, displayUnit="M"
5256
+ *
5257
+ * v1 equivalents:
5258
+ *
5259
+ * - DynamicPrice(multiplier): operation=multiply, conversionFactor=multiplier +
5260
+ * UnitPrice(amount=1)
5261
+ * - PackagePrice(amount, quantityPerPkg): operation=divide,
5262
+ * conversionFactor=quantityPerPkg, rounding=ceiling + UnitPrice(amount)
5263
+ */
5552
5264
  export interface UnitConfigInput {
5553
5265
  /** The arithmetic operation to apply to the raw metered quantity. */
5554
5266
  operation: 'divide' | 'multiply';
@@ -5583,6 +5295,7 @@ export interface UnitConfigInput {
5583
5295
  */
5584
5296
  displayUnit?: string;
5585
5297
  }
5298
+ /** Invoice settings for a billing workflow. */
5586
5299
  export interface WorkflowInvoicingSettingsInput {
5587
5300
  /** Whether to automatically issue the invoice after the draftPeriod has passed. */
5588
5301
  autoAdvance?: boolean;
@@ -5593,6 +5306,7 @@ export interface WorkflowInvoicingSettingsInput {
5593
5306
  /** Controls how subscription-ending shortened service periods are billed. */
5594
5307
  subscriptionEndProrationMode?: 'bill_full_period' | 'bill_actual_period';
5595
5308
  }
5309
+ /** Query to evaluate feature access for a list of customers. */
5596
5310
  export interface GovernanceQueryRequestInput {
5597
5311
  /**
5598
5312
  * Whether to include credit balance availability for each resolved customer. When
@@ -5604,6 +5318,7 @@ export interface GovernanceQueryRequestInput {
5604
5318
  customer: GovernanceQueryRequestCustomers;
5605
5319
  feature?: GovernanceQueryRequestFeatures;
5606
5320
  }
5321
+ /** An ingested metering event with ingestion metadata. */
5607
5322
  export interface IngestedEventInput {
5608
5323
  /** The original event ingested. */
5609
5324
  event: EventInput;
@@ -5616,10 +5331,16 @@ export interface IngestedEventInput {
5616
5331
  /** The validation errors of the ingested event. */
5617
5332
  validationErrors?: IngestedEventValidationError[];
5618
5333
  }
5334
+ /** Request for canceling a subscription. */
5619
5335
  export interface SubscriptionCancelInput {
5620
5336
  /** If not provided the subscription is canceled immediately. */
5621
- timing?: 'immediate' | 'next_billing_cycle' | Date;
5337
+ timing?: SubscriptionEditTiming;
5622
5338
  }
5339
+ /**
5340
+ * Usage quantity details on an invoice line item when UnitConfig is in effect.
5341
+ *
5342
+ * Provides the full audit trail from raw meter output to the invoiced amount.
5343
+ */
5623
5344
  export interface InvoiceUsageQuantityDetailInput {
5624
5345
  /** The raw quantity as reported by the meter (native units). */
5625
5346
  rawQuantity: string;
@@ -5638,18 +5359,33 @@ export interface InvoiceUsageQuantityDetailInput {
5638
5359
  */
5639
5360
  appliedUnitConfig: UnitConfigInput;
5640
5361
  }
5362
+ /**
5363
+ * Invoice-level snapshot of the workflow configuration.
5364
+ *
5365
+ * Contains only the settings that are meaningful for an already-created invoice:
5366
+ * invoicing behaviour and payment settings. Collection alignment and tax policy
5367
+ * are gather-time / profile-wide concerns and are not included.
5368
+ */
5641
5369
  export interface InvoiceWorkflowInput {
5642
5370
  /** Invoicing settings for this invoice. */
5643
5371
  invoicing?: InvoiceWorkflowInvoicingSettingsInput;
5644
5372
  /** Payment settings for this invoice. */
5645
- payment?: WorkflowPaymentChargeAutomaticallySettings | WorkflowPaymentSendInvoiceSettingsInput;
5373
+ payment?: WorkflowPaymentSettingsInput;
5646
5374
  }
5375
+ /**
5376
+ * Invoice-level snapshot of the workflow configuration.
5377
+ *
5378
+ * Contains only the settings that are meaningful for an already-created invoice:
5379
+ * invoicing behaviour and payment settings. Collection alignment and tax policy
5380
+ * are gather-time / profile-wide concerns and are not included.
5381
+ */
5647
5382
  export interface UpdateBillingInvoiceWorkflowInput {
5648
5383
  /** Invoicing settings for this invoice. */
5649
5384
  invoicing?: UpdateBillingInvoiceWorkflowInvoicingSettingsInput;
5650
5385
  /** Payment settings for this invoice. */
5651
5386
  payment?: UpdateBillingWorkflowPaymentChargeAutomaticallySettings | UpdateBillingWorkflowPaymentSendInvoiceSettingsInput;
5652
5387
  }
5388
+ /** CreditGrant create request. */
5653
5389
  export interface CreateCreditGrantRequestInput {
5654
5390
  /**
5655
5391
  * Display name of the resource.
@@ -5667,7 +5403,7 @@ export interface CreateCreditGrantRequestInput {
5667
5403
  /** Funding method of the grant. */
5668
5404
  fundingMethod: 'none' | 'invoice' | 'external';
5669
5405
  /** The currency of the granted credits. */
5670
- currency: string;
5406
+ currency: CreateCurrencyCode;
5671
5407
  /** Granted credit amount. */
5672
5408
  amount: string;
5673
5409
  /** Present when a funding workflow applies (funding_method is not `none`). */
@@ -5704,6 +5440,12 @@ export interface CreateCreditGrantRequestInput {
5704
5440
  */
5705
5441
  key?: string;
5706
5442
  }
5443
+ /**
5444
+ * A credit grant allocates credits to a customer.
5445
+ *
5446
+ * Credits are drawn down against charges according to the settlement mode
5447
+ * configured on the rate card.
5448
+ */
5707
5449
  export interface CreditGrantInput {
5708
5450
  id: string;
5709
5451
  /**
@@ -5728,7 +5470,7 @@ export interface CreditGrantInput {
5728
5470
  /** Funding method of the grant. */
5729
5471
  fundingMethod: 'none' | 'invoice' | 'external';
5730
5472
  /** The currency of the granted credits. */
5731
- currency: string;
5473
+ currency: BillingCurrencyCode;
5732
5474
  /** Granted credit amount. */
5733
5475
  amount: string;
5734
5476
  /** Present when a funding workflow applies (funding_method is not `none`). */
@@ -5771,6 +5513,7 @@ export interface CreditGrantInput {
5771
5513
  /** Current lifecycle status of the grant. */
5772
5514
  status: 'pending' | 'active' | 'expired' | 'voided';
5773
5515
  }
5516
+ /** Tax settings for a billing workflow. */
5774
5517
  export interface WorkflowTaxSettingsInput {
5775
5518
  /**
5776
5519
  * Enable automatic tax calculation when tax is supported by the app. For example,
@@ -5794,10 +5537,12 @@ export interface WorkflowTaxSettingsInput {
5794
5537
  */
5795
5538
  defaultTaxConfig?: TaxConfig;
5796
5539
  }
5540
+ /** Cursor paginated response. */
5797
5541
  export interface IngestedEventPaginatedResponseInput {
5798
5542
  data: IngestedEventInput[];
5799
5543
  meta: CursorMeta;
5800
5544
  }
5545
+ /** A meter query request. */
5801
5546
  export interface MeterQueryRequestInput {
5802
5547
  /** The start of the period the usage is queried from. */
5803
5548
  from?: Date;
@@ -5807,7 +5552,7 @@ export interface MeterQueryRequestInput {
5807
5552
  * The size of the time buckets to group the usage into. If not specified, the
5808
5553
  * usage is aggregated over the entire period.
5809
5554
  */
5810
- granularity?: 'PT1M' | 'PT1H' | 'P1D' | 'P1M';
5555
+ granularity?: MeterQueryGranularity;
5811
5556
  /**
5812
5557
  * The value is the name of the time zone as defined in the IANA Time Zone Database
5813
5558
  * (http://www.iana.org/time-zones). The time zone is used to determine the start
@@ -5819,6 +5564,12 @@ export interface MeterQueryRequestInput {
5819
5564
  /** Filters to apply to the query. */
5820
5565
  filters?: MeterQueryFilters;
5821
5566
  }
5567
+ /**
5568
+ * Configuration options for creating a Stripe Checkout Session.
5569
+ *
5570
+ * Based on Stripe's
5571
+ * [Checkout Session API parameters](https://docs.stripe.com/api/checkout/sessions/create).
5572
+ */
5822
5573
  export interface AppStripeCreateCheckoutSessionRequestOptionsInput {
5823
5574
  /**
5824
5575
  * Whether to collect the customer's billing address.
@@ -5906,6 +5657,7 @@ export interface AppStripeCreateCheckoutSessionRequestOptionsInput {
5906
5657
  /** Configuration for collecting tax IDs during checkout. */
5907
5658
  taxIdCollection?: AppStripeCreateCheckoutSessionTaxIdCollectionInput;
5908
5659
  }
5660
+ /** Snapshot of the billing workflow configuration captured at invoice creation. */
5909
5661
  export interface InvoiceWorkflowSettingsInput {
5910
5662
  /** The apps that will be used to orchestrate the invoice's workflow. */
5911
5663
  apps?: InvoiceWorkflowAppsReferences;
@@ -5921,6 +5673,12 @@ export interface InvoiceWorkflowSettingsInput {
5921
5673
  */
5922
5674
  workflow: InvoiceWorkflowInput;
5923
5675
  }
5676
+ /**
5677
+ * A detailed (child) sub-line belonging to a parent invoice line.
5678
+ *
5679
+ * Detailed lines represent the individual flat-fee components that make up a
5680
+ * usage-based parent line after quantity snapshotting.
5681
+ */
5924
5682
  export interface InvoiceDetailedLineInput {
5925
5683
  id: string;
5926
5684
  /**
@@ -5959,6 +5717,7 @@ export interface InvoiceDetailedLineInput {
5959
5717
  /** The unit price of the detailed line. */
5960
5718
  unitPrice: string;
5961
5719
  }
5720
+ /** Snapshot of the billing workflow configuration captured at invoice creation. */
5962
5721
  export interface UpdateInvoiceWorkflowSettingsInput {
5963
5722
  /**
5964
5723
  * The workflow configuration that was active when the invoice was created.
@@ -5970,14 +5729,23 @@ export interface UpdateInvoiceWorkflowSettingsInput {
5970
5729
  */
5971
5730
  workflow: UpdateBillingInvoiceWorkflowInput;
5972
5731
  }
5732
+ /** Page paginated response. */
5973
5733
  export interface CreditGrantPagePaginatedResponseInput {
5974
5734
  data: CreditGrantInput[];
5975
5735
  meta: PaginatedMeta;
5976
5736
  }
5737
+ /** Bad Request. */
5977
5738
  export interface BadRequestInput extends BaseErrorInput {
5978
5739
  /** The list of parameters that failed validation. */
5979
- invalidParameters: (InvalidParameterStandard | InvalidParameterMinimumLength | InvalidParameterMaximumLength | InvalidParameterChoiceItem | InvalidParameterDependentItem)[];
5740
+ invalidParameters: InvalidParameter[];
5980
5741
  }
5742
+ /**
5743
+ * Request to create a Stripe Checkout Session for the customer.
5744
+ *
5745
+ * Checkout Sessions are used to collect payment method information from customers
5746
+ * in a secure, Stripe-hosted interface. This integration uses setup mode to
5747
+ * collect payment methods that can be charged later for subscription billing.
5748
+ */
5981
5749
  export interface CustomerStripeCreateCheckoutSessionRequestInput {
5982
5750
  /**
5983
5751
  * Options for configuring the Stripe Checkout Session.
@@ -5987,9 +5755,13 @@ export interface CustomerStripeCreateCheckoutSessionRequestInput {
5987
5755
  */
5988
5756
  stripeOptions: AppStripeCreateCheckoutSessionRequestOptionsInput;
5989
5757
  }
5758
+ /**
5759
+ * Workflow collection specifies how to collect the pending line items for an
5760
+ * invoice.
5761
+ */
5990
5762
  export interface WorkflowCollectionSettingsInput {
5991
5763
  /** The alignment for collecting the pending line items into an invoice. */
5992
- alignment?: WorkflowCollectionAlignmentSubscription | WorkflowCollectionAlignmentAnchored;
5764
+ alignment?: WorkflowCollectionAlignment;
5993
5765
  /**
5994
5766
  * This grace period can be used to delay the collection of the pending line items
5995
5767
  * specified in alignment.
@@ -5999,6 +5771,7 @@ export interface WorkflowCollectionSettingsInput {
5999
5771
  */
6000
5772
  interval?: string;
6001
5773
  }
5774
+ /** A rate card defines the pricing and entitlement of a feature or service. */
6002
5775
  export interface RateCardInput {
6003
5776
  /**
6004
5777
  * Display name of the resource.
@@ -6022,7 +5795,7 @@ export interface RateCardInput {
6022
5795
  */
6023
5796
  billingCadence?: string;
6024
5797
  /** The price of the rate card. */
6025
- price: PriceFree | PriceFlat | PriceUnit | PriceGraduated | PriceVolume;
5798
+ price: Price;
6026
5799
  /**
6027
5800
  * Unit conversion configuration for the rate card.
6028
5801
  *
@@ -6038,7 +5811,7 @@ export interface RateCardInput {
6038
5811
  * The payment term of the rate card. In advance payment term can only be used for
6039
5812
  * flat prices.
6040
5813
  */
6041
- paymentTerm?: 'in_advance' | 'in_arrears';
5814
+ paymentTerm?: PricePaymentTerm;
6042
5815
  /**
6043
5816
  * Spend commitments for this rate card. Only applicable to usage-based prices
6044
5817
  * (unit, graduated, volume).
@@ -6052,24 +5825,30 @@ export interface RateCardInput {
6052
5825
  * The entitlement template granted to subscribers of a plan or addon containing
6053
5826
  * this rate card. Requires `feature` to be set.
6054
5827
  */
6055
- entitlement?: RateCardMeteredEntitlementInput | RateCardStaticEntitlement | RateCardBooleanEntitlement;
5828
+ entitlement?: RateCardEntitlementInput;
6056
5829
  }
5830
+ /** Billing workflow settings. */
6057
5831
  export interface WorkflowInput {
6058
5832
  /** The collection settings for this workflow */
6059
5833
  collection?: WorkflowCollectionSettingsInput;
6060
5834
  /** The invoicing settings for this workflow */
6061
5835
  invoicing?: WorkflowInvoicingSettingsInput;
6062
5836
  /** The payment settings for this workflow */
6063
- payment?: WorkflowPaymentChargeAutomaticallySettings | WorkflowPaymentSendInvoiceSettingsInput;
5837
+ payment?: WorkflowPaymentSettingsInput;
6064
5838
  /** The tax settings for this workflow */
6065
5839
  tax?: WorkflowTaxSettingsInput;
6066
5840
  }
5841
+ /** A rate card for a subscription add-on. */
6067
5842
  export interface SubscriptionAddonRateCardInput {
6068
5843
  /** The rate card. */
6069
5844
  rateCard: RateCardInput;
6070
5845
  /** The IDs of the subscription items that this rate card belongs to. */
6071
5846
  affectedSubscriptionItemIds: string[];
6072
5847
  }
5848
+ /**
5849
+ * The plan phase or pricing ramp allows changing a plan's rate cards over time as
5850
+ * a subscription progresses.
5851
+ */
6073
5852
  export interface PlanPhaseInput {
6074
5853
  /**
6075
5854
  * Display name of the resource.
@@ -6093,6 +5872,10 @@ export interface PlanPhaseInput {
6093
5872
  /** The rate cards of the plan. */
6094
5873
  rateCards: RateCardInput[];
6095
5874
  }
5875
+ /**
5876
+ * Add-on allows extending subscriptions with compatible plans with additional
5877
+ * ratecards.
5878
+ */
6096
5879
  export interface AddonInput {
6097
5880
  id: string;
6098
5881
  /**
@@ -6125,7 +5908,7 @@ export interface AddonInput {
6125
5908
  /** The InstanceType of the add-ons. Can be "single" or "multiple". */
6126
5909
  instanceType: 'single' | 'multiple';
6127
5910
  /** The currency code of the add-on. */
6128
- currency: string;
5911
+ currency: BillingCurrencyCode;
6129
5912
  /**
6130
5913
  * The date and time when the add-on becomes effective. When not specified, the
6131
5914
  * add-on is a draft.
@@ -6150,6 +5933,7 @@ export interface AddonInput {
6150
5933
  /** List of validation errors. */
6151
5934
  validationErrors?: ProductCatalogValidationError[];
6152
5935
  }
5936
+ /** Addon create request. */
6153
5937
  export interface CreateAddonRequestInput {
6154
5938
  /**
6155
5939
  * Display name of the resource.
@@ -6173,10 +5957,11 @@ export interface CreateAddonRequestInput {
6173
5957
  /** The InstanceType of the add-ons. Can be "single" or "multiple". */
6174
5958
  instanceType: 'single' | 'multiple';
6175
5959
  /** The currency code of the add-on. */
6176
- currency: string;
5960
+ currency: BillingCurrencyCode;
6177
5961
  /** The rate cards of the add-on. */
6178
5962
  rateCards: RateCardInput[];
6179
5963
  }
5964
+ /** Addon upsert request. */
6180
5965
  export interface UpsertAddonRequestInput {
6181
5966
  /**
6182
5967
  * Display name of the resource.
@@ -6196,6 +5981,13 @@ export interface UpsertAddonRequestInput {
6196
5981
  /** The rate cards of the add-on. */
6197
5982
  rateCards: RateCardInput[];
6198
5983
  }
5984
+ /**
5985
+ * A top-level line item on an invoice.
5986
+ *
5987
+ * Each line represents a single charge, typically associated with a rate card from
5988
+ * a subscription. Detailed (child) lines are nested under `detailed_lines` when
5989
+ * present.
5990
+ */
6199
5991
  export interface InvoiceStandardLineInput {
6200
5992
  /**
6201
5993
  * Display name of the resource.
@@ -6260,6 +6052,10 @@ export interface InvoiceStandardLineInput {
6260
6052
  /** Reference to the charge associated with this line item. */
6261
6053
  charge?: ChargeReference;
6262
6054
  }
6055
+ /**
6056
+ * Billing profiles contain the settings for billing and controls invoice
6057
+ * generation.
6058
+ */
6263
6059
  export interface ProfileInput {
6264
6060
  id: string;
6265
6061
  /**
@@ -6293,6 +6089,7 @@ export interface ProfileInput {
6293
6089
  /** Whether this is the default profile. */
6294
6090
  default: boolean;
6295
6091
  }
6092
+ /** BillingProfile create request. */
6296
6093
  export interface CreateBillingProfileRequestInput {
6297
6094
  /**
6298
6095
  * Display name of the resource.
@@ -6319,6 +6116,7 @@ export interface CreateBillingProfileRequestInput {
6319
6116
  /** Whether this is the default profile. */
6320
6117
  default: boolean;
6321
6118
  }
6119
+ /** BillingProfile upsert request. */
6322
6120
  export interface UpsertBillingProfileRequestInput {
6323
6121
  /**
6324
6122
  * Display name of the resource.
@@ -6343,6 +6141,7 @@ export interface UpsertBillingProfileRequestInput {
6343
6141
  /** Whether this is the default profile. */
6344
6142
  default: boolean;
6345
6143
  }
6144
+ /** Addon purchased with a subscription. */
6346
6145
  export interface SubscriptionAddonInput {
6347
6146
  id: string;
6348
6147
  labels?: Labels;
@@ -6382,6 +6181,7 @@ export interface SubscriptionAddonInput {
6382
6181
  /** The rate cards of the add-on. */
6383
6182
  rateCards: SubscriptionAddonRateCardInput[];
6384
6183
  }
6184
+ /** Plans provide a template for subscriptions. */
6385
6185
  export interface PlanInput {
6386
6186
  id: string;
6387
6187
  /**
@@ -6461,6 +6261,7 @@ export interface PlanInput {
6461
6261
  */
6462
6262
  validationErrors?: ProductCatalogValidationError[];
6463
6263
  }
6264
+ /** Plan create request. */
6464
6265
  export interface CreatePlanRequestInput {
6465
6266
  /**
6466
6267
  * Display name of the resource.
@@ -6493,6 +6294,7 @@ export interface CreatePlanRequestInput {
6493
6294
  */
6494
6295
  phases: PlanPhaseInput[];
6495
6296
  }
6297
+ /** Plan upsert request. */
6496
6298
  export interface UpsertPlanRequestInput {
6497
6299
  /**
6498
6300
  * Display name of the resource.
@@ -6515,22 +6317,27 @@ export interface UpsertPlanRequestInput {
6515
6317
  */
6516
6318
  phases: PlanPhaseInput[];
6517
6319
  }
6320
+ /** Page paginated response. */
6518
6321
  export interface AddonPagePaginatedResponseInput {
6519
6322
  data: AddonInput[];
6520
6323
  meta: PaginatedMeta;
6521
6324
  }
6325
+ /** Page paginated response. */
6522
6326
  export interface ProfilePagePaginatedResponseInput {
6523
6327
  data: ProfileInput[];
6524
6328
  meta: PaginatedMeta;
6525
6329
  }
6330
+ /** Page paginated response. */
6526
6331
  export interface SubscriptionAddonPagePaginatedResponseInput {
6527
6332
  data: SubscriptionAddonInput[];
6528
6333
  meta: PaginatedMeta;
6529
6334
  }
6335
+ /** Page paginated response. */
6530
6336
  export interface PlanPagePaginatedResponseInput {
6531
6337
  data: PlanInput[];
6532
6338
  meta: PaginatedMeta;
6533
6339
  }
6340
+ /** A standard invoice for charges owed by the customer. */
6534
6341
  export interface InvoiceStandardInput {
6535
6342
  id: string;
6536
6343
  /**
@@ -6611,6 +6418,7 @@ export interface InvoiceStandardInput {
6611
6418
  */
6612
6419
  lines?: InvoiceStandardLineInput[];
6613
6420
  }
6421
+ /** InvoiceStandard update request. */
6614
6422
  export interface UpdateInvoiceStandardRequestInput {
6615
6423
  /**
6616
6424
  * Optional description of the resource.
@@ -6641,8 +6449,15 @@ export interface UpdateInvoiceStandardRequestInput {
6641
6449
  */
6642
6450
  lines?: UpdateInvoiceStandardLine[];
6643
6451
  }
6452
+ /** Page paginated response. */
6644
6453
  export interface InvoicePagePaginatedResponseInput {
6645
6454
  data: InvoiceStandardInput[];
6646
6455
  meta: PaginatedMeta;
6647
6456
  }
6648
- //# sourceMappingURL=types.d.ts.map
6457
+ /** Payment settings for a billing workflow. */
6458
+ export type WorkflowPaymentSettingsInput = WorkflowPaymentChargeAutomaticallySettings | WorkflowPaymentSendInvoiceSettingsInput;
6459
+ /**
6460
+ * Entitlement template configured on a rate card. The feature is taken from the
6461
+ * rate card itself, so it is omitted here.
6462
+ */
6463
+ export type RateCardEntitlementInput = RateCardMeteredEntitlementInput | RateCardStaticEntitlement | RateCardBooleanEntitlement;