@paygentic/sdk 0.9.13 → 0.9.14

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 (184) hide show
  1. package/README.md +9 -5
  2. package/dist/commonjs/funcs/revenueGet.js +1 -0
  3. package/dist/commonjs/funcs/revenueGet.js.map +1 -1
  4. package/dist/commonjs/funcs/subscriptionsEditSubscriptionIntervals.d.ts +19 -0
  5. package/dist/commonjs/funcs/subscriptionsEditSubscriptionIntervals.d.ts.map +1 -0
  6. package/dist/commonjs/funcs/subscriptionsEditSubscriptionIntervals.js +127 -0
  7. package/dist/commonjs/funcs/subscriptionsEditSubscriptionIntervals.js.map +1 -0
  8. package/dist/commonjs/funcs/subscriptionsGetSubscriptionIntervals.d.ts +19 -0
  9. package/dist/commonjs/funcs/subscriptionsGetSubscriptionIntervals.d.ts.map +1 -0
  10. package/dist/commonjs/funcs/subscriptionsGetSubscriptionIntervals.js +124 -0
  11. package/dist/commonjs/funcs/subscriptionsGetSubscriptionIntervals.js.map +1 -0
  12. package/dist/commonjs/lib/config.d.ts +2 -2
  13. package/dist/commonjs/lib/config.js +2 -2
  14. package/dist/commonjs/models/editsubscriptionintervalsrequest.d.ts +31 -0
  15. package/dist/commonjs/models/editsubscriptionintervalsrequest.d.ts.map +1 -0
  16. package/dist/commonjs/models/editsubscriptionintervalsrequest.js +54 -0
  17. package/dist/commonjs/models/editsubscriptionintervalsrequest.js.map +1 -0
  18. package/dist/commonjs/models/editsubscriptionintervalsresponse.d.ts +36 -0
  19. package/dist/commonjs/models/editsubscriptionintervalsresponse.d.ts.map +1 -0
  20. package/dist/commonjs/models/editsubscriptionintervalsresponse.js +63 -0
  21. package/dist/commonjs/models/editsubscriptionintervalsresponse.js.map +1 -0
  22. package/dist/commonjs/models/index.d.ts +8 -0
  23. package/dist/commonjs/models/index.d.ts.map +1 -1
  24. package/dist/commonjs/models/index.js +8 -0
  25. package/dist/commonjs/models/index.js.map +1 -1
  26. package/dist/commonjs/models/operations/createsubscription.d.ts +5 -0
  27. package/dist/commonjs/models/operations/createsubscription.d.ts.map +1 -1
  28. package/dist/commonjs/models/operations/createsubscription.js +1 -0
  29. package/dist/commonjs/models/operations/createsubscription.js.map +1 -1
  30. package/dist/commonjs/models/operations/editsubscriptionintervals.d.ts +18 -0
  31. package/dist/commonjs/models/operations/editsubscriptionintervals.d.ts.map +1 -0
  32. package/dist/commonjs/models/operations/editsubscriptionintervals.js +56 -0
  33. package/dist/commonjs/models/operations/editsubscriptionintervals.js.map +1 -0
  34. package/dist/commonjs/models/operations/getrevenue.d.ts +18 -0
  35. package/dist/commonjs/models/operations/getrevenue.d.ts.map +1 -1
  36. package/dist/commonjs/models/operations/getrevenue.js +12 -1
  37. package/dist/commonjs/models/operations/getrevenue.js.map +1 -1
  38. package/dist/commonjs/models/operations/getsubscriptionintervals.d.ts +15 -0
  39. package/dist/commonjs/models/operations/getsubscriptionintervals.d.ts.map +1 -0
  40. package/dist/commonjs/models/operations/getsubscriptionintervals.js +49 -0
  41. package/dist/commonjs/models/operations/getsubscriptionintervals.js.map +1 -0
  42. package/dist/commonjs/models/operations/index.d.ts +2 -0
  43. package/dist/commonjs/models/operations/index.d.ts.map +1 -1
  44. package/dist/commonjs/models/operations/index.js +2 -0
  45. package/dist/commonjs/models/operations/index.js.map +1 -1
  46. package/dist/commonjs/models/operations/updatesubscription.d.ts +6 -0
  47. package/dist/commonjs/models/operations/updatesubscription.d.ts.map +1 -1
  48. package/dist/commonjs/models/operations/updatesubscription.js +2 -0
  49. package/dist/commonjs/models/operations/updatesubscription.js.map +1 -1
  50. package/dist/commonjs/models/subscription.d.ts +5 -0
  51. package/dist/commonjs/models/subscription.d.ts.map +1 -1
  52. package/dist/commonjs/models/subscription.js +2 -0
  53. package/dist/commonjs/models/subscription.js.map +1 -1
  54. package/dist/commonjs/models/subscriptioninterval.d.ts +80 -0
  55. package/dist/commonjs/models/subscriptioninterval.d.ts.map +1 -0
  56. package/dist/commonjs/models/subscriptioninterval.js +86 -0
  57. package/dist/commonjs/models/subscriptioninterval.js.map +1 -0
  58. package/dist/commonjs/models/subscriptionintervaladdop.d.ts +85 -0
  59. package/dist/commonjs/models/subscriptionintervaladdop.d.ts.map +1 -0
  60. package/dist/commonjs/models/subscriptionintervaladdop.js +74 -0
  61. package/dist/commonjs/models/subscriptionintervaladdop.js.map +1 -0
  62. package/dist/commonjs/models/subscriptionintervaleditop.d.ts +102 -0
  63. package/dist/commonjs/models/subscriptionintervaleditop.d.ts.map +1 -0
  64. package/dist/commonjs/models/subscriptionintervaleditop.js +78 -0
  65. package/dist/commonjs/models/subscriptionintervaleditop.js.map +1 -0
  66. package/dist/commonjs/models/subscriptionintervalremoveop.d.ts +15 -0
  67. package/dist/commonjs/models/subscriptionintervalremoveop.d.ts.map +1 -0
  68. package/dist/commonjs/models/subscriptionintervalremoveop.js +49 -0
  69. package/dist/commonjs/models/subscriptionintervalremoveop.js.map +1 -0
  70. package/dist/commonjs/models/subscriptionintervalsresponse.d.ts +14 -0
  71. package/dist/commonjs/models/subscriptionintervalsresponse.d.ts.map +1 -0
  72. package/dist/commonjs/models/subscriptionintervalsresponse.js +51 -0
  73. package/dist/commonjs/models/subscriptionintervalsresponse.js.map +1 -0
  74. package/dist/commonjs/models/subscriptionversionpolicy.d.ts +18 -0
  75. package/dist/commonjs/models/subscriptionversionpolicy.d.ts.map +1 -0
  76. package/dist/commonjs/models/subscriptionversionpolicy.js +52 -0
  77. package/dist/commonjs/models/subscriptionversionpolicy.js.map +1 -0
  78. package/dist/commonjs/sdk/subscriptions.d.ts +14 -0
  79. package/dist/commonjs/sdk/subscriptions.d.ts.map +1 -1
  80. package/dist/commonjs/sdk/subscriptions.js +20 -0
  81. package/dist/commonjs/sdk/subscriptions.js.map +1 -1
  82. package/dist/esm/funcs/revenueGet.js +1 -0
  83. package/dist/esm/funcs/revenueGet.js.map +1 -1
  84. package/dist/esm/funcs/subscriptionsEditSubscriptionIntervals.d.ts +19 -0
  85. package/dist/esm/funcs/subscriptionsEditSubscriptionIntervals.d.ts.map +1 -0
  86. package/dist/esm/funcs/subscriptionsEditSubscriptionIntervals.js +91 -0
  87. package/dist/esm/funcs/subscriptionsEditSubscriptionIntervals.js.map +1 -0
  88. package/dist/esm/funcs/subscriptionsGetSubscriptionIntervals.d.ts +19 -0
  89. package/dist/esm/funcs/subscriptionsGetSubscriptionIntervals.d.ts.map +1 -0
  90. package/dist/esm/funcs/subscriptionsGetSubscriptionIntervals.js +88 -0
  91. package/dist/esm/funcs/subscriptionsGetSubscriptionIntervals.js.map +1 -0
  92. package/dist/esm/lib/config.d.ts +2 -2
  93. package/dist/esm/lib/config.js +2 -2
  94. package/dist/esm/models/editsubscriptionintervalsrequest.d.ts +31 -0
  95. package/dist/esm/models/editsubscriptionintervalsrequest.d.ts.map +1 -0
  96. package/dist/esm/models/editsubscriptionintervalsrequest.js +17 -0
  97. package/dist/esm/models/editsubscriptionintervalsrequest.js.map +1 -0
  98. package/dist/esm/models/editsubscriptionintervalsresponse.d.ts +36 -0
  99. package/dist/esm/models/editsubscriptionintervalsresponse.d.ts.map +1 -0
  100. package/dist/esm/models/editsubscriptionintervalsresponse.js +25 -0
  101. package/dist/esm/models/editsubscriptionintervalsresponse.js.map +1 -0
  102. package/dist/esm/models/index.d.ts +8 -0
  103. package/dist/esm/models/index.d.ts.map +1 -1
  104. package/dist/esm/models/index.js +8 -0
  105. package/dist/esm/models/index.js.map +1 -1
  106. package/dist/esm/models/operations/createsubscription.d.ts +5 -0
  107. package/dist/esm/models/operations/createsubscription.d.ts.map +1 -1
  108. package/dist/esm/models/operations/createsubscription.js +1 -0
  109. package/dist/esm/models/operations/createsubscription.js.map +1 -1
  110. package/dist/esm/models/operations/editsubscriptionintervals.d.ts +18 -0
  111. package/dist/esm/models/operations/editsubscriptionintervals.d.ts.map +1 -0
  112. package/dist/esm/models/operations/editsubscriptionintervals.js +19 -0
  113. package/dist/esm/models/operations/editsubscriptionintervals.js.map +1 -0
  114. package/dist/esm/models/operations/getrevenue.d.ts +18 -0
  115. package/dist/esm/models/operations/getrevenue.d.ts.map +1 -1
  116. package/dist/esm/models/operations/getrevenue.js +11 -0
  117. package/dist/esm/models/operations/getrevenue.js.map +1 -1
  118. package/dist/esm/models/operations/getsubscriptionintervals.d.ts +15 -0
  119. package/dist/esm/models/operations/getsubscriptionintervals.d.ts.map +1 -0
  120. package/dist/esm/models/operations/getsubscriptionintervals.js +12 -0
  121. package/dist/esm/models/operations/getsubscriptionintervals.js.map +1 -0
  122. package/dist/esm/models/operations/index.d.ts +2 -0
  123. package/dist/esm/models/operations/index.d.ts.map +1 -1
  124. package/dist/esm/models/operations/index.js +2 -0
  125. package/dist/esm/models/operations/index.js.map +1 -1
  126. package/dist/esm/models/operations/updatesubscription.d.ts +6 -0
  127. package/dist/esm/models/operations/updatesubscription.d.ts.map +1 -1
  128. package/dist/esm/models/operations/updatesubscription.js +2 -0
  129. package/dist/esm/models/operations/updatesubscription.js.map +1 -1
  130. package/dist/esm/models/subscription.d.ts +5 -0
  131. package/dist/esm/models/subscription.d.ts.map +1 -1
  132. package/dist/esm/models/subscription.js +2 -0
  133. package/dist/esm/models/subscription.js.map +1 -1
  134. package/dist/esm/models/subscriptioninterval.d.ts +80 -0
  135. package/dist/esm/models/subscriptioninterval.d.ts.map +1 -0
  136. package/dist/esm/models/subscriptioninterval.js +48 -0
  137. package/dist/esm/models/subscriptioninterval.js.map +1 -0
  138. package/dist/esm/models/subscriptionintervaladdop.d.ts +85 -0
  139. package/dist/esm/models/subscriptionintervaladdop.d.ts.map +1 -0
  140. package/dist/esm/models/subscriptionintervaladdop.js +36 -0
  141. package/dist/esm/models/subscriptionintervaladdop.js.map +1 -0
  142. package/dist/esm/models/subscriptionintervaleditop.d.ts +102 -0
  143. package/dist/esm/models/subscriptionintervaleditop.d.ts.map +1 -0
  144. package/dist/esm/models/subscriptionintervaleditop.js +40 -0
  145. package/dist/esm/models/subscriptionintervaleditop.js.map +1 -0
  146. package/dist/esm/models/subscriptionintervalremoveop.d.ts +15 -0
  147. package/dist/esm/models/subscriptionintervalremoveop.d.ts.map +1 -0
  148. package/dist/esm/models/subscriptionintervalremoveop.js +12 -0
  149. package/dist/esm/models/subscriptionintervalremoveop.js.map +1 -0
  150. package/dist/esm/models/subscriptionintervalsresponse.d.ts +14 -0
  151. package/dist/esm/models/subscriptionintervalsresponse.d.ts.map +1 -0
  152. package/dist/esm/models/subscriptionintervalsresponse.js +14 -0
  153. package/dist/esm/models/subscriptionintervalsresponse.js.map +1 -0
  154. package/dist/esm/models/subscriptionversionpolicy.d.ts +18 -0
  155. package/dist/esm/models/subscriptionversionpolicy.d.ts.map +1 -0
  156. package/dist/esm/models/subscriptionversionpolicy.js +16 -0
  157. package/dist/esm/models/subscriptionversionpolicy.js.map +1 -0
  158. package/dist/esm/sdk/subscriptions.d.ts +14 -0
  159. package/dist/esm/sdk/subscriptions.d.ts.map +1 -1
  160. package/dist/esm/sdk/subscriptions.js +20 -0
  161. package/dist/esm/sdk/subscriptions.js.map +1 -1
  162. package/jsr.json +1 -1
  163. package/package.json +1 -1
  164. package/src/funcs/revenueGet.ts +1 -0
  165. package/src/funcs/subscriptionsEditSubscriptionIntervals.ts +184 -0
  166. package/src/funcs/subscriptionsGetSubscriptionIntervals.ts +177 -0
  167. package/src/lib/config.ts +2 -2
  168. package/src/models/editsubscriptionintervalsrequest.ts +66 -0
  169. package/src/models/editsubscriptionintervalsresponse.ts +87 -0
  170. package/src/models/index.ts +8 -0
  171. package/src/models/operations/createsubscription.ts +6 -0
  172. package/src/models/operations/editsubscriptionintervals.ts +47 -0
  173. package/src/models/operations/getrevenue.ts +22 -0
  174. package/src/models/operations/getsubscriptionintervals.ts +36 -0
  175. package/src/models/operations/index.ts +2 -0
  176. package/src/models/operations/updatesubscription.ts +7 -0
  177. package/src/models/subscription.ts +9 -0
  178. package/src/models/subscriptioninterval.ts +152 -0
  179. package/src/models/subscriptionintervaladdop.ts +148 -0
  180. package/src/models/subscriptionintervaleditop.ts +166 -0
  181. package/src/models/subscriptionintervalremoveop.ts +36 -0
  182. package/src/models/subscriptionintervalsresponse.ts +38 -0
  183. package/src/models/subscriptionversionpolicy.ts +29 -0
  184. package/src/sdk/subscriptions.ts +36 -0
@@ -0,0 +1,166 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { ClosedEnum } from "../types/enums.js";
7
+
8
+ export type SubscriptionIntervalEditOpQuantityTransition = {
9
+ effectiveDate: Date;
10
+ /**
11
+ * Non-negative decimal string.
12
+ */
13
+ quantity: string;
14
+ };
15
+
16
+ /**
17
+ * Not editable. Must match the interval's current value if supplied.
18
+ */
19
+ export const SubscriptionIntervalEditOpBillingMode = {
20
+ Advance: "advance",
21
+ Arrears: "arrears",
22
+ } as const;
23
+ /**
24
+ * Not editable. Must match the interval's current value if supplied.
25
+ */
26
+ export type SubscriptionIntervalEditOpBillingMode = ClosedEnum<
27
+ typeof SubscriptionIntervalEditOpBillingMode
28
+ >;
29
+
30
+ /**
31
+ * Edits an interval by id. You can change unitPrice, baseQuantity, quantityTransitions, and endDate. Other fields must match the current value if you send them. To bill a different priceId, remove the interval and add a new one.
32
+ */
33
+ export type SubscriptionIntervalEditOp = {
34
+ /**
35
+ * The interval being edited.
36
+ */
37
+ id: string;
38
+ /**
39
+ * Signed per-period net unit price as a decimal string. Set to null to revert to the catalog price. Omit to leave unchanged.
40
+ */
41
+ unitPrice?: string | null | undefined;
42
+ /**
43
+ * Quantity at interval start, as a non-negative decimal string. Omit to leave unchanged.
44
+ */
45
+ baseQuantity?: string | undefined;
46
+ /**
47
+ * Step changes in quantity partway through the interval. Omit to leave unchanged.
48
+ */
49
+ quantityTransitions?:
50
+ | Array<SubscriptionIntervalEditOpQuantityTransition>
51
+ | undefined;
52
+ /**
53
+ * Not editable. Must match the interval's current value if supplied.
54
+ */
55
+ priceId?: string | undefined;
56
+ /**
57
+ * Not editable. Must match the interval's current value if supplied.
58
+ */
59
+ priceKey?: string | undefined;
60
+ /**
61
+ * Not editable. Must match the interval's current value if supplied.
62
+ */
63
+ planVersionId?: string | undefined;
64
+ /**
65
+ * Not editable. Must match the interval's current value if supplied.
66
+ */
67
+ billingCadence?: string | undefined;
68
+ /**
69
+ * Not editable. Must match the interval's current value if supplied.
70
+ */
71
+ billingMode?: SubscriptionIntervalEditOpBillingMode | undefined;
72
+ /**
73
+ * Not editable. Must match the interval's current value if supplied.
74
+ */
75
+ billDate?: Date | null | undefined;
76
+ /**
77
+ * Not editable. Must match the interval's current value if supplied.
78
+ */
79
+ startDate?: Date | undefined;
80
+ /**
81
+ * When the interval stops billing. Send a date on or inside one of the billing periods to close the price. Send null to re-open it. Omit to keep the current value.
82
+ */
83
+ endDate?: Date | null | undefined;
84
+ };
85
+
86
+ /** @internal */
87
+ export type SubscriptionIntervalEditOpQuantityTransition$Outbound = {
88
+ effectiveDate: string;
89
+ quantity: string;
90
+ };
91
+
92
+ /** @internal */
93
+ export const SubscriptionIntervalEditOpQuantityTransition$outboundSchema:
94
+ z.ZodType<
95
+ SubscriptionIntervalEditOpQuantityTransition$Outbound,
96
+ z.ZodTypeDef,
97
+ SubscriptionIntervalEditOpQuantityTransition
98
+ > = z.object({
99
+ effectiveDate: z.date().transform(v => v.toISOString()),
100
+ quantity: z.string(),
101
+ });
102
+
103
+ export function subscriptionIntervalEditOpQuantityTransitionToJSON(
104
+ subscriptionIntervalEditOpQuantityTransition:
105
+ SubscriptionIntervalEditOpQuantityTransition,
106
+ ): string {
107
+ return JSON.stringify(
108
+ SubscriptionIntervalEditOpQuantityTransition$outboundSchema.parse(
109
+ subscriptionIntervalEditOpQuantityTransition,
110
+ ),
111
+ );
112
+ }
113
+
114
+ /** @internal */
115
+ export const SubscriptionIntervalEditOpBillingMode$outboundSchema:
116
+ z.ZodNativeEnum<typeof SubscriptionIntervalEditOpBillingMode> = z.nativeEnum(
117
+ SubscriptionIntervalEditOpBillingMode,
118
+ );
119
+
120
+ /** @internal */
121
+ export type SubscriptionIntervalEditOp$Outbound = {
122
+ id: string;
123
+ unitPrice?: string | null | undefined;
124
+ baseQuantity?: string | undefined;
125
+ quantityTransitions?:
126
+ | Array<SubscriptionIntervalEditOpQuantityTransition$Outbound>
127
+ | undefined;
128
+ priceId?: string | undefined;
129
+ priceKey?: string | undefined;
130
+ planVersionId?: string | undefined;
131
+ billingCadence?: string | undefined;
132
+ billingMode?: string | undefined;
133
+ billDate?: string | null | undefined;
134
+ startDate?: string | undefined;
135
+ endDate?: string | null | undefined;
136
+ };
137
+
138
+ /** @internal */
139
+ export const SubscriptionIntervalEditOp$outboundSchema: z.ZodType<
140
+ SubscriptionIntervalEditOp$Outbound,
141
+ z.ZodTypeDef,
142
+ SubscriptionIntervalEditOp
143
+ > = z.object({
144
+ id: z.string(),
145
+ unitPrice: z.nullable(z.string()).optional(),
146
+ baseQuantity: z.string().optional(),
147
+ quantityTransitions: z.array(
148
+ z.lazy(() => SubscriptionIntervalEditOpQuantityTransition$outboundSchema),
149
+ ).optional(),
150
+ priceId: z.string().optional(),
151
+ priceKey: z.string().optional(),
152
+ planVersionId: z.string().optional(),
153
+ billingCadence: z.string().optional(),
154
+ billingMode: SubscriptionIntervalEditOpBillingMode$outboundSchema.optional(),
155
+ billDate: z.nullable(z.date().transform(v => v.toISOString())).optional(),
156
+ startDate: z.date().transform(v => v.toISOString()).optional(),
157
+ endDate: z.nullable(z.date().transform(v => v.toISOString())).optional(),
158
+ });
159
+
160
+ export function subscriptionIntervalEditOpToJSON(
161
+ subscriptionIntervalEditOp: SubscriptionIntervalEditOp,
162
+ ): string {
163
+ return JSON.stringify(
164
+ SubscriptionIntervalEditOp$outboundSchema.parse(subscriptionIntervalEditOp),
165
+ );
166
+ }
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+
7
+ export type SubscriptionIntervalRemoveOp = {
8
+ /**
9
+ * The interval being removed.
10
+ */
11
+ id: string;
12
+ };
13
+
14
+ /** @internal */
15
+ export type SubscriptionIntervalRemoveOp$Outbound = {
16
+ id: string;
17
+ };
18
+
19
+ /** @internal */
20
+ export const SubscriptionIntervalRemoveOp$outboundSchema: z.ZodType<
21
+ SubscriptionIntervalRemoveOp$Outbound,
22
+ z.ZodTypeDef,
23
+ SubscriptionIntervalRemoveOp
24
+ > = z.object({
25
+ id: z.string(),
26
+ });
27
+
28
+ export function subscriptionIntervalRemoveOpToJSON(
29
+ subscriptionIntervalRemoveOp: SubscriptionIntervalRemoveOp,
30
+ ): string {
31
+ return JSON.stringify(
32
+ SubscriptionIntervalRemoveOp$outboundSchema.parse(
33
+ subscriptionIntervalRemoveOp,
34
+ ),
35
+ );
36
+ }
@@ -0,0 +1,38 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { safeParse } from "../lib/schemas.js";
7
+ import { Result as SafeParseResult } from "../types/fp.js";
8
+ import { SDKValidationError } from "./errors/sdkvalidationerror.js";
9
+ import {
10
+ SubscriptionInterval,
11
+ SubscriptionInterval$inboundSchema,
12
+ } from "./subscriptioninterval.js";
13
+
14
+ export type SubscriptionIntervalsResponse = {
15
+ /**
16
+ * The subscription's price intervals, ordered by start date. Empty when it has none.
17
+ */
18
+ intervals: Array<SubscriptionInterval>;
19
+ };
20
+
21
+ /** @internal */
22
+ export const SubscriptionIntervalsResponse$inboundSchema: z.ZodType<
23
+ SubscriptionIntervalsResponse,
24
+ z.ZodTypeDef,
25
+ unknown
26
+ > = z.object({
27
+ intervals: z.array(SubscriptionInterval$inboundSchema),
28
+ });
29
+
30
+ export function subscriptionIntervalsResponseFromJSON(
31
+ jsonString: string,
32
+ ): SafeParseResult<SubscriptionIntervalsResponse, SDKValidationError> {
33
+ return safeParse(
34
+ jsonString,
35
+ (x) => SubscriptionIntervalsResponse$inboundSchema.parse(JSON.parse(x)),
36
+ `Failed to parse 'SubscriptionIntervalsResponse' from JSON`,
37
+ );
38
+ }
@@ -0,0 +1,29 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { ClosedEnum } from "../types/enums.js";
7
+
8
+ /**
9
+ * How the subscription follows new versions of its plan. `floating` follows the plan's default version: when the default changes, the subscription bills from the new default from its next billing period. `pinned` keeps the plan version that the subscription holds. A subscription created without a value is `floating`. A change to this value does not change a billing period that has already started.
10
+ */
11
+ export const SubscriptionVersionPolicy = {
12
+ Floating: "floating",
13
+ Pinned: "pinned",
14
+ } as const;
15
+ /**
16
+ * How the subscription follows new versions of its plan. `floating` follows the plan's default version: when the default changes, the subscription bills from the new default from its next billing period. `pinned` keeps the plan version that the subscription holds. A subscription created without a value is `floating`. A change to this value does not change a billing period that has already started.
17
+ */
18
+ export type SubscriptionVersionPolicy = ClosedEnum<
19
+ typeof SubscriptionVersionPolicy
20
+ >;
21
+
22
+ /** @internal */
23
+ export const SubscriptionVersionPolicy$inboundSchema: z.ZodNativeEnum<
24
+ typeof SubscriptionVersionPolicy
25
+ > = z.nativeEnum(SubscriptionVersionPolicy);
26
+ /** @internal */
27
+ export const SubscriptionVersionPolicy$outboundSchema: z.ZodNativeEnum<
28
+ typeof SubscriptionVersionPolicy
29
+ > = SubscriptionVersionPolicy$inboundSchema;
@@ -5,8 +5,10 @@
5
5
  import { subscriptionsCreate } from "../funcs/subscriptionsCreate.js";
6
6
  import { subscriptionsCreateSubscriptionAdjustment } from "../funcs/subscriptionsCreateSubscriptionAdjustment.js";
7
7
  import { subscriptionsDeleteSubscriptionAdjustment } from "../funcs/subscriptionsDeleteSubscriptionAdjustment.js";
8
+ import { subscriptionsEditSubscriptionIntervals } from "../funcs/subscriptionsEditSubscriptionIntervals.js";
8
9
  import { subscriptionsGeneratePortalLink } from "../funcs/subscriptionsGeneratePortalLink.js";
9
10
  import { subscriptionsGet } from "../funcs/subscriptionsGet.js";
11
+ import { subscriptionsGetSubscriptionIntervals } from "../funcs/subscriptionsGetSubscriptionIntervals.js";
10
12
  import { subscriptionsList } from "../funcs/subscriptionsList.js";
11
13
  import { subscriptionsListSubscriptionAdjustments } from "../funcs/subscriptionsListSubscriptionAdjustments.js";
12
14
  import { subscriptionsReconcileSubscriptionFeatures } from "../funcs/subscriptionsReconcileSubscriptionFeatures.js";
@@ -77,6 +79,40 @@ export class Subscriptions extends ClientSDK {
77
79
  ));
78
80
  }
79
81
 
82
+ /**
83
+ * Get Price Intervals
84
+ *
85
+ * @remarks
86
+ * Returns all the price intervals of the subscription, ordered by start date. This includes intervals that ended and intervals that start in the future. If there are none, returns an empty array.
87
+ */
88
+ async getSubscriptionIntervals(
89
+ request: operations.GetSubscriptionIntervalsRequest,
90
+ options?: RequestOptions,
91
+ ): Promise<models.SubscriptionIntervalsResponse> {
92
+ return unwrapAsync(subscriptionsGetSubscriptionIntervals(
93
+ this,
94
+ request,
95
+ options,
96
+ ));
97
+ }
98
+
99
+ /**
100
+ * Edit Price Intervals
101
+ *
102
+ * @remarks
103
+ * Adds, edits, or removes price intervals on the subscription. Use an add to override a plan price for a period. Use an edit to change unitPrice, baseQuantity, quantityTransitions, or endDate. Use a remove to delete an interval. To close a price, set endDate. To re-open it, set endDate to null. To send an interval from a GET response as an edit, remove kind from it. An edit with no changed field changes nothing. If you send an add again after a timeout, it fails with 409 because it overlaps the first add. Use GET to check the result. The request is rejected if it changes a billing period that already exists, leaves a gap or an overlap, or bills a one-off price more than once.
104
+ */
105
+ async editSubscriptionIntervals(
106
+ request: operations.EditSubscriptionIntervalsRequest,
107
+ options?: RequestOptions,
108
+ ): Promise<models.EditSubscriptionIntervalsResponse> {
109
+ return unwrapAsync(subscriptionsEditSubscriptionIntervals(
110
+ this,
111
+ request,
112
+ options,
113
+ ));
114
+ }
115
+
80
116
  /**
81
117
  * Generate Portal Link
82
118
  *