@paygentic/sdk 0.8.4 → 0.8.6

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 (271) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +11 -3
  3. package/dist/commonjs/funcs/invoicesV2Get.d.ts +1 -1
  4. package/dist/commonjs/funcs/invoicesV2Get.d.ts.map +1 -1
  5. package/dist/commonjs/funcs/invoicesV2Get.js +2 -2
  6. package/dist/commonjs/funcs/invoicesV2Get.js.map +1 -1
  7. package/dist/commonjs/funcs/invoicesV2GetLineItems.d.ts +1 -1
  8. package/dist/commonjs/funcs/invoicesV2GetLineItems.d.ts.map +1 -1
  9. package/dist/commonjs/funcs/invoicesV2GetLineItems.js +2 -2
  10. package/dist/commonjs/funcs/invoicesV2GetLineItems.js.map +1 -1
  11. package/dist/commonjs/funcs/plansGetPlanVersion.d.ts +19 -0
  12. package/dist/commonjs/funcs/plansGetPlanVersion.d.ts.map +1 -0
  13. package/dist/commonjs/funcs/plansGetPlanVersion.js +128 -0
  14. package/dist/commonjs/funcs/plansGetPlanVersion.js.map +1 -0
  15. package/dist/commonjs/funcs/plansListPlanVersions.d.ts +18 -0
  16. package/dist/commonjs/funcs/plansListPlanVersions.d.ts.map +1 -0
  17. package/dist/commonjs/funcs/plansListPlanVersions.js +128 -0
  18. package/dist/commonjs/funcs/plansListPlanVersions.js.map +1 -0
  19. package/dist/commonjs/funcs/plansMintPlanVersion.d.ts +19 -0
  20. package/dist/commonjs/funcs/plansMintPlanVersion.d.ts.map +1 -0
  21. package/dist/commonjs/funcs/plansMintPlanVersion.js +127 -0
  22. package/dist/commonjs/funcs/plansMintPlanVersion.js.map +1 -0
  23. package/dist/commonjs/funcs/plansTransitionPlanVersion.d.ts +19 -0
  24. package/dist/commonjs/funcs/plansTransitionPlanVersion.d.ts.map +1 -0
  25. package/dist/commonjs/funcs/plansTransitionPlanVersion.js +131 -0
  26. package/dist/commonjs/funcs/plansTransitionPlanVersion.js.map +1 -0
  27. package/dist/commonjs/funcs/plansUpdate.js +2 -2
  28. package/dist/commonjs/funcs/plansUpdate.js.map +1 -1
  29. package/dist/commonjs/funcs/subscriptionsCreate.js +2 -2
  30. package/dist/commonjs/funcs/subscriptionsCreate.js.map +1 -1
  31. package/dist/commonjs/lib/config.d.ts +2 -2
  32. package/dist/commonjs/lib/config.js +2 -2
  33. package/dist/commonjs/models/index.d.ts +5 -0
  34. package/dist/commonjs/models/index.d.ts.map +1 -1
  35. package/dist/commonjs/models/index.js +5 -0
  36. package/dist/commonjs/models/index.js.map +1 -1
  37. package/dist/commonjs/models/mintplanversionrequest.d.ts +46 -0
  38. package/dist/commonjs/models/mintplanversionrequest.d.ts.map +1 -0
  39. package/dist/commonjs/models/mintplanversionrequest.js +60 -0
  40. package/dist/commonjs/models/mintplanversionrequest.js.map +1 -0
  41. package/dist/commonjs/models/operations/createplan.d.ts +5 -0
  42. package/dist/commonjs/models/operations/createplan.d.ts.map +1 -1
  43. package/dist/commonjs/models/operations/createplan.js +1 -0
  44. package/dist/commonjs/models/operations/createplan.js.map +1 -1
  45. package/dist/commonjs/models/operations/getinvoice.d.ts +1 -1
  46. package/dist/commonjs/models/operations/getinvoicelineitems.d.ts +1 -1
  47. package/dist/commonjs/models/operations/getplanversion.d.ts +17 -0
  48. package/dist/commonjs/models/operations/getplanversion.d.ts.map +1 -0
  49. package/dist/commonjs/models/operations/getplanversion.js +50 -0
  50. package/dist/commonjs/models/operations/getplanversion.js.map +1 -0
  51. package/dist/commonjs/models/operations/index.d.ts +4 -0
  52. package/dist/commonjs/models/operations/index.d.ts.map +1 -1
  53. package/dist/commonjs/models/operations/index.js +4 -0
  54. package/dist/commonjs/models/operations/index.js.map +1 -1
  55. package/dist/commonjs/models/operations/listplanversions.d.ts +46 -0
  56. package/dist/commonjs/models/operations/listplanversions.d.ts.map +1 -0
  57. package/dist/commonjs/models/operations/listplanversions.js +68 -0
  58. package/dist/commonjs/models/operations/listplanversions.js.map +1 -0
  59. package/dist/commonjs/models/operations/mintplanversion.d.ts +15 -0
  60. package/dist/commonjs/models/operations/mintplanversion.d.ts.map +1 -0
  61. package/dist/commonjs/models/operations/mintplanversion.js +56 -0
  62. package/dist/commonjs/models/operations/mintplanversion.js.map +1 -0
  63. package/dist/commonjs/models/operations/transitionplanversion.d.ts +20 -0
  64. package/dist/commonjs/models/operations/transitionplanversion.d.ts.map +1 -0
  65. package/dist/commonjs/models/operations/transitionplanversion.js +57 -0
  66. package/dist/commonjs/models/operations/transitionplanversion.js.map +1 -0
  67. package/dist/commonjs/models/operations/updateplan.d.ts +5 -0
  68. package/dist/commonjs/models/operations/updateplan.d.ts.map +1 -1
  69. package/dist/commonjs/models/operations/updateplan.js +1 -0
  70. package/dist/commonjs/models/operations/updateplan.js.map +1 -1
  71. package/dist/commonjs/models/plan.d.ts +8 -0
  72. package/dist/commonjs/models/plan.d.ts.map +1 -1
  73. package/dist/commonjs/models/plan.js +2 -0
  74. package/dist/commonjs/models/plan.js.map +1 -1
  75. package/dist/commonjs/models/planversion.d.ts +71 -0
  76. package/dist/commonjs/models/planversion.d.ts.map +1 -0
  77. package/dist/commonjs/models/planversion.js +76 -0
  78. package/dist/commonjs/models/planversion.js.map +1 -0
  79. package/dist/commonjs/models/planversionpriceslot.d.ts +81 -0
  80. package/dist/commonjs/models/planversionpriceslot.d.ts.map +1 -0
  81. package/dist/commonjs/models/planversionpriceslot.js +88 -0
  82. package/dist/commonjs/models/planversionpriceslot.js.map +1 -0
  83. package/dist/commonjs/models/planversionsummary.d.ts +55 -0
  84. package/dist/commonjs/models/planversionsummary.d.ts.map +1 -0
  85. package/dist/commonjs/models/planversionsummary.js +72 -0
  86. package/dist/commonjs/models/planversionsummary.js.map +1 -0
  87. package/dist/commonjs/models/price.d.ts +4 -4
  88. package/dist/commonjs/models/price.d.ts.map +1 -1
  89. package/dist/commonjs/models/price.js +5 -4
  90. package/dist/commonjs/models/price.js.map +1 -1
  91. package/dist/commonjs/models/pricepropertiesunion.d.ts +1 -1
  92. package/dist/commonjs/models/revenuesummaryresponse.d.ts +8 -0
  93. package/dist/commonjs/models/revenuesummaryresponse.d.ts.map +1 -1
  94. package/dist/commonjs/models/revenuesummaryresponse.js +2 -0
  95. package/dist/commonjs/models/revenuesummaryresponse.js.map +1 -1
  96. package/dist/commonjs/models/revenuetrendbucket.d.ts +4 -0
  97. package/dist/commonjs/models/revenuetrendbucket.d.ts.map +1 -1
  98. package/dist/commonjs/models/revenuetrendbucket.js +1 -0
  99. package/dist/commonjs/models/revenuetrendbucket.js.map +1 -1
  100. package/dist/commonjs/models/scheduleinterval.d.ts +4 -1
  101. package/dist/commonjs/models/scheduleinterval.d.ts.map +1 -1
  102. package/dist/commonjs/models/scheduleinterval.js +1 -1
  103. package/dist/commonjs/models/scheduleinterval.js.map +1 -1
  104. package/dist/commonjs/models/schemasbillingschedule.d.ts +4 -1
  105. package/dist/commonjs/models/schemasbillingschedule.d.ts.map +1 -1
  106. package/dist/commonjs/models/schemasbillingschedule.js +1 -1
  107. package/dist/commonjs/models/schemasbillingschedule.js.map +1 -1
  108. package/dist/commonjs/models/subscription.d.ts +8 -0
  109. package/dist/commonjs/models/subscription.d.ts.map +1 -1
  110. package/dist/commonjs/models/subscription.js +2 -0
  111. package/dist/commonjs/models/subscription.js.map +1 -1
  112. package/dist/commonjs/models/transitionplanversionrequest.d.ts +18 -0
  113. package/dist/commonjs/models/transitionplanversionrequest.d.ts.map +1 -0
  114. package/dist/commonjs/models/transitionplanversionrequest.js +49 -0
  115. package/dist/commonjs/models/transitionplanversionrequest.js.map +1 -0
  116. package/dist/commonjs/sdk/plans.d.ts +28 -0
  117. package/dist/commonjs/sdk/plans.d.ts.map +1 -1
  118. package/dist/commonjs/sdk/plans.js +40 -0
  119. package/dist/commonjs/sdk/plans.js.map +1 -1
  120. package/dist/esm/funcs/invoicesV2Get.d.ts +1 -1
  121. package/dist/esm/funcs/invoicesV2Get.d.ts.map +1 -1
  122. package/dist/esm/funcs/invoicesV2Get.js +2 -2
  123. package/dist/esm/funcs/invoicesV2Get.js.map +1 -1
  124. package/dist/esm/funcs/invoicesV2GetLineItems.d.ts +1 -1
  125. package/dist/esm/funcs/invoicesV2GetLineItems.d.ts.map +1 -1
  126. package/dist/esm/funcs/invoicesV2GetLineItems.js +2 -2
  127. package/dist/esm/funcs/invoicesV2GetLineItems.js.map +1 -1
  128. package/dist/esm/funcs/plansGetPlanVersion.d.ts +19 -0
  129. package/dist/esm/funcs/plansGetPlanVersion.d.ts.map +1 -0
  130. package/dist/esm/funcs/plansGetPlanVersion.js +92 -0
  131. package/dist/esm/funcs/plansGetPlanVersion.js.map +1 -0
  132. package/dist/esm/funcs/plansListPlanVersions.d.ts +18 -0
  133. package/dist/esm/funcs/plansListPlanVersions.d.ts.map +1 -0
  134. package/dist/esm/funcs/plansListPlanVersions.js +92 -0
  135. package/dist/esm/funcs/plansListPlanVersions.js.map +1 -0
  136. package/dist/esm/funcs/plansMintPlanVersion.d.ts +19 -0
  137. package/dist/esm/funcs/plansMintPlanVersion.d.ts.map +1 -0
  138. package/dist/esm/funcs/plansMintPlanVersion.js +91 -0
  139. package/dist/esm/funcs/plansMintPlanVersion.js.map +1 -0
  140. package/dist/esm/funcs/plansTransitionPlanVersion.d.ts +19 -0
  141. package/dist/esm/funcs/plansTransitionPlanVersion.d.ts.map +1 -0
  142. package/dist/esm/funcs/plansTransitionPlanVersion.js +95 -0
  143. package/dist/esm/funcs/plansTransitionPlanVersion.js.map +1 -0
  144. package/dist/esm/funcs/plansUpdate.js +2 -2
  145. package/dist/esm/funcs/plansUpdate.js.map +1 -1
  146. package/dist/esm/funcs/subscriptionsCreate.js +2 -2
  147. package/dist/esm/funcs/subscriptionsCreate.js.map +1 -1
  148. package/dist/esm/lib/config.d.ts +2 -2
  149. package/dist/esm/lib/config.js +2 -2
  150. package/dist/esm/models/index.d.ts +5 -0
  151. package/dist/esm/models/index.d.ts.map +1 -1
  152. package/dist/esm/models/index.js +5 -0
  153. package/dist/esm/models/index.js.map +1 -1
  154. package/dist/esm/models/mintplanversionrequest.d.ts +46 -0
  155. package/dist/esm/models/mintplanversionrequest.d.ts.map +1 -0
  156. package/dist/esm/models/mintplanversionrequest.js +22 -0
  157. package/dist/esm/models/mintplanversionrequest.js.map +1 -0
  158. package/dist/esm/models/operations/createplan.d.ts +5 -0
  159. package/dist/esm/models/operations/createplan.d.ts.map +1 -1
  160. package/dist/esm/models/operations/createplan.js +1 -0
  161. package/dist/esm/models/operations/createplan.js.map +1 -1
  162. package/dist/esm/models/operations/getinvoice.d.ts +1 -1
  163. package/dist/esm/models/operations/getinvoicelineitems.d.ts +1 -1
  164. package/dist/esm/models/operations/getplanversion.d.ts +17 -0
  165. package/dist/esm/models/operations/getplanversion.d.ts.map +1 -0
  166. package/dist/esm/models/operations/getplanversion.js +13 -0
  167. package/dist/esm/models/operations/getplanversion.js.map +1 -0
  168. package/dist/esm/models/operations/index.d.ts +4 -0
  169. package/dist/esm/models/operations/index.d.ts.map +1 -1
  170. package/dist/esm/models/operations/index.js +4 -0
  171. package/dist/esm/models/operations/index.js.map +1 -1
  172. package/dist/esm/models/operations/listplanversions.d.ts +46 -0
  173. package/dist/esm/models/operations/listplanversions.d.ts.map +1 -0
  174. package/dist/esm/models/operations/listplanversions.js +30 -0
  175. package/dist/esm/models/operations/listplanversions.js.map +1 -0
  176. package/dist/esm/models/operations/mintplanversion.d.ts +15 -0
  177. package/dist/esm/models/operations/mintplanversion.d.ts.map +1 -0
  178. package/dist/esm/models/operations/mintplanversion.js +19 -0
  179. package/dist/esm/models/operations/mintplanversion.js.map +1 -0
  180. package/dist/esm/models/operations/transitionplanversion.d.ts +20 -0
  181. package/dist/esm/models/operations/transitionplanversion.d.ts.map +1 -0
  182. package/dist/esm/models/operations/transitionplanversion.js +20 -0
  183. package/dist/esm/models/operations/transitionplanversion.js.map +1 -0
  184. package/dist/esm/models/operations/updateplan.d.ts +5 -0
  185. package/dist/esm/models/operations/updateplan.d.ts.map +1 -1
  186. package/dist/esm/models/operations/updateplan.js +1 -0
  187. package/dist/esm/models/operations/updateplan.js.map +1 -1
  188. package/dist/esm/models/plan.d.ts +8 -0
  189. package/dist/esm/models/plan.d.ts.map +1 -1
  190. package/dist/esm/models/plan.js +2 -0
  191. package/dist/esm/models/plan.js.map +1 -1
  192. package/dist/esm/models/planversion.d.ts +71 -0
  193. package/dist/esm/models/planversion.d.ts.map +1 -0
  194. package/dist/esm/models/planversion.js +39 -0
  195. package/dist/esm/models/planversion.js.map +1 -0
  196. package/dist/esm/models/planversionpriceslot.d.ts +81 -0
  197. package/dist/esm/models/planversionpriceslot.d.ts.map +1 -0
  198. package/dist/esm/models/planversionpriceslot.js +51 -0
  199. package/dist/esm/models/planversionpriceslot.js.map +1 -0
  200. package/dist/esm/models/planversionsummary.d.ts +55 -0
  201. package/dist/esm/models/planversionsummary.d.ts.map +1 -0
  202. package/dist/esm/models/planversionsummary.js +35 -0
  203. package/dist/esm/models/planversionsummary.js.map +1 -0
  204. package/dist/esm/models/price.d.ts +4 -4
  205. package/dist/esm/models/price.d.ts.map +1 -1
  206. package/dist/esm/models/price.js +4 -3
  207. package/dist/esm/models/price.js.map +1 -1
  208. package/dist/esm/models/pricepropertiesunion.d.ts +1 -1
  209. package/dist/esm/models/revenuesummaryresponse.d.ts +8 -0
  210. package/dist/esm/models/revenuesummaryresponse.d.ts.map +1 -1
  211. package/dist/esm/models/revenuesummaryresponse.js +2 -0
  212. package/dist/esm/models/revenuesummaryresponse.js.map +1 -1
  213. package/dist/esm/models/revenuetrendbucket.d.ts +4 -0
  214. package/dist/esm/models/revenuetrendbucket.d.ts.map +1 -1
  215. package/dist/esm/models/revenuetrendbucket.js +1 -0
  216. package/dist/esm/models/revenuetrendbucket.js.map +1 -1
  217. package/dist/esm/models/scheduleinterval.d.ts +4 -1
  218. package/dist/esm/models/scheduleinterval.d.ts.map +1 -1
  219. package/dist/esm/models/scheduleinterval.js +1 -1
  220. package/dist/esm/models/scheduleinterval.js.map +1 -1
  221. package/dist/esm/models/schemasbillingschedule.d.ts +4 -1
  222. package/dist/esm/models/schemasbillingschedule.d.ts.map +1 -1
  223. package/dist/esm/models/schemasbillingschedule.js +1 -1
  224. package/dist/esm/models/schemasbillingschedule.js.map +1 -1
  225. package/dist/esm/models/subscription.d.ts +8 -0
  226. package/dist/esm/models/subscription.d.ts.map +1 -1
  227. package/dist/esm/models/subscription.js +2 -0
  228. package/dist/esm/models/subscription.js.map +1 -1
  229. package/dist/esm/models/transitionplanversionrequest.d.ts +18 -0
  230. package/dist/esm/models/transitionplanversionrequest.d.ts.map +1 -0
  231. package/dist/esm/models/transitionplanversionrequest.js +12 -0
  232. package/dist/esm/models/transitionplanversionrequest.js.map +1 -0
  233. package/dist/esm/sdk/plans.d.ts +28 -0
  234. package/dist/esm/sdk/plans.d.ts.map +1 -1
  235. package/dist/esm/sdk/plans.js +40 -0
  236. package/dist/esm/sdk/plans.js.map +1 -1
  237. package/jsr.json +1 -1
  238. package/package.json +2 -1
  239. package/src/funcs/invoicesV2Get.ts +5 -1
  240. package/src/funcs/invoicesV2GetLineItems.ts +5 -1
  241. package/src/funcs/plansGetPlanVersion.ts +186 -0
  242. package/src/funcs/plansListPlanVersions.ts +185 -0
  243. package/src/funcs/plansMintPlanVersion.ts +183 -0
  244. package/src/funcs/plansTransitionPlanVersion.ts +190 -0
  245. package/src/funcs/plansUpdate.ts +2 -2
  246. package/src/funcs/subscriptionsCreate.ts +2 -2
  247. package/src/lib/config.ts +2 -2
  248. package/src/models/index.ts +5 -0
  249. package/src/models/mintplanversionrequest.ts +80 -0
  250. package/src/models/operations/createplan.ts +6 -0
  251. package/src/models/operations/getinvoice.ts +1 -1
  252. package/src/models/operations/getinvoicelineitems.ts +1 -1
  253. package/src/models/operations/getplanversion.ts +37 -0
  254. package/src/models/operations/index.ts +4 -0
  255. package/src/models/operations/listplanversions.ts +91 -0
  256. package/src/models/operations/mintplanversion.ts +40 -0
  257. package/src/models/operations/transitionplanversion.ts +49 -0
  258. package/src/models/operations/updateplan.ts +6 -0
  259. package/src/models/plan.ts +10 -0
  260. package/src/models/planversion.ts +113 -0
  261. package/src/models/planversionpriceslot.ts +136 -0
  262. package/src/models/planversionsummary.ts +95 -0
  263. package/src/models/price.ts +6 -7
  264. package/src/models/pricepropertiesunion.ts +1 -1
  265. package/src/models/revenuesummaryresponse.ts +10 -0
  266. package/src/models/revenuetrendbucket.ts +5 -0
  267. package/src/models/scheduleinterval.ts +7 -2
  268. package/src/models/schemasbillingschedule.ts +7 -2
  269. package/src/models/subscription.ts +10 -0
  270. package/src/models/transitionplanversionrequest.ts +39 -0
  271. package/src/sdk/plans.ts +72 -0
@@ -0,0 +1,95 @@
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 { ClosedEnum } from "../types/enums.js";
8
+ import { Result as SafeParseResult } from "../types/fp.js";
9
+ import { SDKValidationError } from "./errors/sdkvalidationerror.js";
10
+
11
+ export const PlanVersionSummaryObject = {
12
+ PlanVersion: "plan_version",
13
+ } as const;
14
+ export type PlanVersionSummaryObject = ClosedEnum<
15
+ typeof PlanVersionSummaryObject
16
+ >;
17
+
18
+ /**
19
+ * Lifecycle status of the version.
20
+ */
21
+ export const PlanVersionSummaryStatus = {
22
+ Draft: "draft",
23
+ Published: "published",
24
+ Archived: "archived",
25
+ } as const;
26
+ /**
27
+ * Lifecycle status of the version.
28
+ */
29
+ export type PlanVersionSummaryStatus = ClosedEnum<
30
+ typeof PlanVersionSummaryStatus
31
+ >;
32
+
33
+ export type PlanVersionSummary = {
34
+ /**
35
+ * Unique identifier for a plan version
36
+ */
37
+ id: string;
38
+ object: PlanVersionSummaryObject;
39
+ /**
40
+ * Monotonic version number within the plan, starting at 1.
41
+ */
42
+ versionNumber: number;
43
+ /**
44
+ * Lifecycle status of the version.
45
+ */
46
+ status: PlanVersionSummaryStatus;
47
+ /**
48
+ * When this version was published. Absent for draft versions.
49
+ */
50
+ publishedAt?: Date | undefined;
51
+ /**
52
+ * Whether this version is the plan's current default (live) version.
53
+ */
54
+ isDefault: boolean;
55
+ /**
56
+ * Number of committed-status subscriptions (active or pending payment) pinned to this version at creation time. This is a count of pins recorded when each subscription was created, not a live-billing cohort: for billing, subscriptions follow the plan's current default version regardless of the version they were pinned to.
57
+ */
58
+ subscriptionCount: number;
59
+ };
60
+
61
+ /** @internal */
62
+ export const PlanVersionSummaryObject$inboundSchema: z.ZodNativeEnum<
63
+ typeof PlanVersionSummaryObject
64
+ > = z.nativeEnum(PlanVersionSummaryObject);
65
+
66
+ /** @internal */
67
+ export const PlanVersionSummaryStatus$inboundSchema: z.ZodNativeEnum<
68
+ typeof PlanVersionSummaryStatus
69
+ > = z.nativeEnum(PlanVersionSummaryStatus);
70
+
71
+ /** @internal */
72
+ export const PlanVersionSummary$inboundSchema: z.ZodType<
73
+ PlanVersionSummary,
74
+ z.ZodTypeDef,
75
+ unknown
76
+ > = z.object({
77
+ id: z.string(),
78
+ object: PlanVersionSummaryObject$inboundSchema,
79
+ versionNumber: z.number().int(),
80
+ status: PlanVersionSummaryStatus$inboundSchema,
81
+ publishedAt: z.string().datetime({ offset: true }).transform(v => new Date(v))
82
+ .optional(),
83
+ isDefault: z.boolean(),
84
+ subscriptionCount: z.number().int(),
85
+ });
86
+
87
+ export function planVersionSummaryFromJSON(
88
+ jsonString: string,
89
+ ): SafeParseResult<PlanVersionSummary, SDKValidationError> {
90
+ return safeParse(
91
+ jsonString,
92
+ (x) => PlanVersionSummary$inboundSchema.parse(JSON.parse(x)),
93
+ `Failed to parse 'PlanVersionSummary' from JSON`,
94
+ );
95
+ }
@@ -14,13 +14,13 @@ export const PriceObject = {
14
14
  } as const;
15
15
  export type PriceObject = ClosedEnum<typeof PriceObject>;
16
16
 
17
- export const Model = {
17
+ export const PriceModel1 = {
18
18
  Standard: "standard",
19
19
  Dynamic: "dynamic",
20
20
  Volume: "volume",
21
21
  Percentage: "percentage",
22
22
  } as const;
23
- export type Model = ClosedEnum<typeof Model>;
23
+ export type PriceModel1 = ClosedEnum<typeof PriceModel1>;
24
24
 
25
25
  export const PricePaymentTerm = {
26
26
  InArrears: "in_arrears",
@@ -51,7 +51,7 @@ export type Price = {
51
51
  currency?: string | undefined;
52
52
  description?: string | undefined;
53
53
  invoiceDisplayName: string;
54
- model: Model;
54
+ model: PriceModel1;
55
55
  paymentTerm: PricePaymentTerm;
56
56
  properties: { [k: string]: any };
57
57
  unitAmount?: string | undefined;
@@ -75,9 +75,8 @@ export const PriceObject$inboundSchema: z.ZodNativeEnum<typeof PriceObject> = z
75
75
  .nativeEnum(PriceObject);
76
76
 
77
77
  /** @internal */
78
- export const Model$inboundSchema: z.ZodNativeEnum<typeof Model> = z.nativeEnum(
79
- Model,
80
- );
78
+ export const PriceModel1$inboundSchema: z.ZodNativeEnum<typeof PriceModel1> = z
79
+ .nativeEnum(PriceModel1);
81
80
 
82
81
  /** @internal */
83
82
  export const PricePaymentTerm$inboundSchema: z.ZodNativeEnum<
@@ -99,7 +98,7 @@ export const Price$inboundSchema: z.ZodType<Price, z.ZodTypeDef, unknown> = z
99
98
  currency: z.string().optional(),
100
99
  description: z.string().optional(),
101
100
  invoiceDisplayName: z.string(),
102
- model: Model$inboundSchema,
101
+ model: PriceModel1$inboundSchema,
103
102
  paymentTerm: PricePaymentTerm$inboundSchema,
104
103
  properties: z.record(z.any()),
105
104
  unitAmount: z.string().optional(),
@@ -86,7 +86,7 @@ export type PriceProperties2 = {
86
86
  */
87
87
  export type PriceProperties1 = {
88
88
  /**
89
- * Per-unit cost in decimal format for fixed-rate pricing. Sample values: '0.00002' represents $0.00002 per token, '0.15' represents $0.15 per gigabyte stored, '0.05' represents $0.05 per API call. Per unit. Total per period = quantity × unitPrice; see the `quantity` field.
89
+ * Per-unit cost in decimal format for fixed-rate pricing. Sample values: '0.00002' represents $0.00002 per token, '0.15' represents $0.15 per gigabyte stored, '0.05' represents $0.05 per API call. Per unit. Total per period = quantity × unitPrice; see the `quantity` field. A negative value defines a usage-scaled rebate: the line's subtotal is negative and reduces the invoice. A rebate never drives an invoice total below zero, so set rebate rates below the charges they offset. A negative unitPrice is only valid on a metered price (a billableMetricId is required — there is no usage to scale on a fee price) and cannot be combined with grantDiscountEnabled, a hard-limit feature, or a pricingUnitId. When a rebate and a charge price share a billable metric, they must share feature attachment (both on the same feature, or both featureless) or they will compute against different quantity bases.
90
90
  */
91
91
  unitPrice: string;
92
92
  };
@@ -44,6 +44,14 @@ export type RevenueSummaryResponse = {
44
44
  * Number of non-voided refunds (credit notes) issued in the period. Omitted when groupBy=currency is active.
45
45
  */
46
46
  refundCount?: number | undefined;
47
+ /**
48
+ * Gross total of usage-scaled rebates (negative metered line items) on invoices issued in the period, in dollars. Already netted into issued invoice grandTotals, so surfaced here for visibility. Omitted when groupBy=currency is active.
49
+ */
50
+ totalRebates?: string | undefined;
51
+ /**
52
+ * Number of rebate line items on invoices issued in the period. Omitted when groupBy=currency is active.
53
+ */
54
+ rebateCount?: number | undefined;
47
55
  invoices?: InvoiceSummary | undefined;
48
56
  payments?: PaymentSummary | undefined;
49
57
  /**
@@ -70,6 +78,8 @@ export const RevenueSummaryResponse$inboundSchema: z.ZodType<
70
78
  netRevenue: z.string().optional(),
71
79
  totalRefunds: z.string().optional(),
72
80
  refundCount: z.number().optional(),
81
+ totalRebates: z.string().optional(),
82
+ rebateCount: z.number().optional(),
73
83
  invoices: InvoiceSummary$inboundSchema.optional(),
74
84
  payments: PaymentSummary$inboundSchema.optional(),
75
85
  trend: z.array(RevenueTrendBucket$inboundSchema).optional(),
@@ -28,6 +28,10 @@ export type RevenueTrendBucket = {
28
28
  * Revenue from completed payments in dollars for this bucket
29
29
  */
30
30
  completedPayments: string;
31
+ /**
32
+ * Gross magnitude of usage-scaled rebates (negative metered line items) on invoices issued in this bucket, in dollars. Netted into issuedInvoices; surfaced here for visibility.
33
+ */
34
+ rebates: string;
31
35
  /**
32
36
  * Per-group trend entries (present when groupBy=plan or groupBy=customer)
33
37
  */
@@ -44,6 +48,7 @@ export const RevenueTrendBucket$inboundSchema: z.ZodType<
44
48
  issuedInvoices: z.string(),
45
49
  writtenOffInvoices: z.string(),
46
50
  completedPayments: z.string(),
51
+ rebates: z.string(),
47
52
  groupBreakdown: z.array(GroupTrendEntry$inboundSchema).optional(),
48
53
  });
49
54
 
@@ -50,7 +50,10 @@ export type ScheduleInterval = {
50
50
  billingMode: ScheduleIntervalBillingMode;
51
51
  billDate?: Date | null | undefined;
52
52
  startDate: Date;
53
- endDate: Date;
53
+ /**
54
+ * Null for an open-ended subscription-owned interval; order-owned intervals always have a concrete end.
55
+ */
56
+ endDate: Date | null;
54
57
  usageFilter?: { [k: string]: any } | null | undefined;
55
58
  metadata: { [k: string]: any };
56
59
  createdAt: Date;
@@ -114,7 +117,9 @@ export const ScheduleInterval$inboundSchema: z.ZodType<
114
117
  z.string().datetime({ offset: true }).transform(v => new Date(v)),
115
118
  ).optional(),
116
119
  startDate: z.string().datetime({ offset: true }).transform(v => new Date(v)),
117
- endDate: z.string().datetime({ offset: true }).transform(v => new Date(v)),
120
+ endDate: z.nullable(
121
+ z.string().datetime({ offset: true }).transform(v => new Date(v)),
122
+ ),
118
123
  usageFilter: z.nullable(z.record(z.any())).optional(),
119
124
  metadata: z.record(z.any()),
120
125
  createdAt: z.string().datetime({ offset: true }).transform(v => new Date(v)),
@@ -62,7 +62,10 @@ export type SchemasBillingSchedule = {
62
62
  merchantId: string;
63
63
  status: SchemasBillingScheduleStatus;
64
64
  startDate: Date;
65
- endDate: Date;
65
+ /**
66
+ * Null for an open-ended subscription-owned schedule; order-owned schedules always have a concrete end.
67
+ */
68
+ endDate: Date | null;
66
69
  billingAnchor: Date;
67
70
  alignmentPolicy: SchemasBillingScheduleAlignmentPolicy;
68
71
  prorationPolicy: SchemasBillingScheduleProrationPolicy;
@@ -115,7 +118,9 @@ export const SchemasBillingSchedule$inboundSchema: z.ZodType<
115
118
  merchantId: z.string(),
116
119
  status: SchemasBillingScheduleStatus$inboundSchema,
117
120
  startDate: z.string().datetime({ offset: true }).transform(v => new Date(v)),
118
- endDate: z.string().datetime({ offset: true }).transform(v => new Date(v)),
121
+ endDate: z.nullable(
122
+ z.string().datetime({ offset: true }).transform(v => new Date(v)),
123
+ ),
119
124
  billingAnchor: z.string().datetime({ offset: true }).transform(v =>
120
125
  new Date(v)
121
126
  ),
@@ -165,6 +165,14 @@ export type Subscription = {
165
165
  */
166
166
  payment?: PaymentPending | PaymentPaid | PaymentAwaitingApproval | undefined;
167
167
  planId: string;
168
+ /**
169
+ * The plan version pinned to this subscription at creation.
170
+ */
171
+ planVersionId?: string | undefined;
172
+ /**
173
+ * The version number of the plan version referenced by planVersionId, as of subscription creation.
174
+ */
175
+ versionNumber?: number | undefined;
168
176
  /**
169
177
  * @deprecated Use minimumAccountBalance instead. Minimum required wallet balance in atomic units. Sample values: '200000000000' equals $200.00 minimum, '1000000000000' equals $1000.00 minimum
170
178
  */
@@ -423,6 +431,8 @@ export const Subscription$inboundSchema: z.ZodType<
423
431
  z.lazy(() => PaymentAwaitingApproval$inboundSchema),
424
432
  ]).optional(),
425
433
  planId: z.string(),
434
+ planVersionId: z.string().optional(),
435
+ versionNumber: z.number().int().optional(),
426
436
  prefundAmount: z.string().optional(),
427
437
  minimumAccountBalance: z.string().optional(),
428
438
  startedAt: z.string().datetime({ offset: true }).transform(v => new Date(v)),
@@ -0,0 +1,39 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+
7
+ /**
8
+ * Sets this version as the plan's default.
9
+ */
10
+ export type TransitionPlanVersionRequest = {
11
+ /**
12
+ * Set to true to point the plan's default at this version. Idempotent on the already-default version.
13
+ */
14
+ default?: boolean | undefined;
15
+ };
16
+
17
+ /** @internal */
18
+ export type TransitionPlanVersionRequest$Outbound = {
19
+ default?: boolean | undefined;
20
+ };
21
+
22
+ /** @internal */
23
+ export const TransitionPlanVersionRequest$outboundSchema: z.ZodType<
24
+ TransitionPlanVersionRequest$Outbound,
25
+ z.ZodTypeDef,
26
+ TransitionPlanVersionRequest
27
+ > = z.object({
28
+ default: z.boolean().optional(),
29
+ });
30
+
31
+ export function transitionPlanVersionRequestToJSON(
32
+ transitionPlanVersionRequest: TransitionPlanVersionRequest,
33
+ ): string {
34
+ return JSON.stringify(
35
+ TransitionPlanVersionRequest$outboundSchema.parse(
36
+ transitionPlanVersionRequest,
37
+ ),
38
+ );
39
+ }
package/src/sdk/plans.ts CHANGED
@@ -4,8 +4,12 @@
4
4
 
5
5
  import { plansCreate } from "../funcs/plansCreate.js";
6
6
  import { plansGet } from "../funcs/plansGet.js";
7
+ import { plansGetPlanVersion } from "../funcs/plansGetPlanVersion.js";
7
8
  import { plansList } from "../funcs/plansList.js";
8
9
  import { plansListAvailable } from "../funcs/plansListAvailable.js";
10
+ import { plansListPlanVersions } from "../funcs/plansListPlanVersions.js";
11
+ import { plansMintPlanVersion } from "../funcs/plansMintPlanVersion.js";
12
+ import { plansTransitionPlanVersion } from "../funcs/plansTransitionPlanVersion.js";
9
13
  import { plansUpdate } from "../funcs/plansUpdate.js";
10
14
  import { ClientSDK, RequestOptions } from "../lib/sdks.js";
11
15
  import * as models from "../models/index.js";
@@ -85,4 +89,72 @@ export class Plans extends ClientSDK {
85
89
  options,
86
90
  ));
87
91
  }
92
+
93
+ /**
94
+ * List versions
95
+ *
96
+ * @remarks
97
+ * List the versions of a plan, newest first. Only accounts that can manage this plan may list its versions; versions can expose in-progress pricing, so read-only access is not sufficient.
98
+ */
99
+ async listPlanVersions(
100
+ request: operations.ListPlanVersionsRequest,
101
+ options?: RequestOptions,
102
+ ): Promise<operations.ListPlanVersionsResponse> {
103
+ return unwrapAsync(plansListPlanVersions(
104
+ this,
105
+ request,
106
+ options,
107
+ ));
108
+ }
109
+
110
+ /**
111
+ * Mint a plan version
112
+ *
113
+ * @remarks
114
+ * Mint a new plan version from a price diff and make it the version the plan bills from, in one step. The diff references existing prices by id: create prices beforehand with POST /prices, then add, remove, or replace them here. To return to an earlier price set, make that version the default with a PATCH on the version.
115
+ */
116
+ async mintPlanVersion(
117
+ request: operations.MintPlanVersionRequest,
118
+ options?: RequestOptions,
119
+ ): Promise<models.PlanVersion> {
120
+ return unwrapAsync(plansMintPlanVersion(
121
+ this,
122
+ request,
123
+ options,
124
+ ));
125
+ }
126
+
127
+ /**
128
+ * Get a version
129
+ *
130
+ * @remarks
131
+ * Get a single plan version, including its price slots. Only accounts that can manage this plan may read its versions; versions can expose in-progress pricing, so read-only access is not sufficient.
132
+ */
133
+ async getPlanVersion(
134
+ request: operations.GetPlanVersionRequest,
135
+ options?: RequestOptions,
136
+ ): Promise<models.PlanVersion> {
137
+ return unwrapAsync(plansGetPlanVersion(
138
+ this,
139
+ request,
140
+ options,
141
+ ));
142
+ }
143
+
144
+ /**
145
+ * Set the default version
146
+ *
147
+ * @remarks
148
+ * Point the plan's default at this version, so its floating subscriptions bill from it. Any version may become default, in either direction — this is how you roll a plan back to (or forward to) an earlier price set. Idempotent when the version is already the default.
149
+ */
150
+ async transitionPlanVersion(
151
+ request: operations.TransitionPlanVersionRequest,
152
+ options?: RequestOptions,
153
+ ): Promise<models.PlanVersion> {
154
+ return unwrapAsync(plansTransitionPlanVersion(
155
+ this,
156
+ request,
157
+ options,
158
+ ));
159
+ }
88
160
  }