integrateledger 0.1.1 → 0.1.2

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 (238) hide show
  1. package/README.md +63 -57
  2. package/dist/commonjs/funcs/publish-catalog.js +1 -1
  3. package/dist/commonjs/funcs/publish-catalog.js.map +1 -1
  4. package/dist/commonjs/funcs/set-customer-overage-cap.d.ts +16 -0
  5. package/dist/commonjs/funcs/set-customer-overage-cap.d.ts.map +1 -0
  6. package/dist/commonjs/funcs/set-customer-overage-cap.js +122 -0
  7. package/dist/commonjs/funcs/set-customer-overage-cap.js.map +1 -0
  8. package/dist/commonjs/funcs/set-customer-overage-override.d.ts +16 -0
  9. package/dist/commonjs/funcs/set-customer-overage-override.d.ts.map +1 -0
  10. package/dist/commonjs/funcs/set-customer-overage-override.js +122 -0
  11. package/dist/commonjs/funcs/set-customer-overage-override.js.map +1 -0
  12. package/dist/commonjs/funcs/set-subscription-cancellation.js +1 -1
  13. package/dist/commonjs/funcs/set-subscription-cancellation.js.map +1 -1
  14. package/dist/commonjs/funcs/update-add-on.js +1 -1
  15. package/dist/commonjs/funcs/update-add-on.js.map +1 -1
  16. package/dist/commonjs/funcs/update-feature.js +1 -1
  17. package/dist/commonjs/funcs/update-feature.js.map +1 -1
  18. package/dist/commonjs/funcs/update-plan.js +1 -1
  19. package/dist/commonjs/funcs/update-plan.js.map +1 -1
  20. package/dist/commonjs/lib/config.d.ts +2 -2
  21. package/dist/commonjs/lib/config.js +2 -2
  22. package/dist/commonjs/models/catalog-input.d.ts +15 -0
  23. package/dist/commonjs/models/catalog-input.d.ts.map +1 -1
  24. package/dist/commonjs/models/catalog-input.js +3 -0
  25. package/dist/commonjs/models/catalog-input.js.map +1 -1
  26. package/dist/commonjs/models/check-response.d.ts +3 -0
  27. package/dist/commonjs/models/check-response.d.ts.map +1 -1
  28. package/dist/commonjs/models/check-response.js.map +1 -1
  29. package/dist/commonjs/models/create-plan-input.d.ts +15 -0
  30. package/dist/commonjs/models/create-plan-input.d.ts.map +1 -1
  31. package/dist/commonjs/models/create-plan-input.js +3 -0
  32. package/dist/commonjs/models/create-plan-input.js.map +1 -1
  33. package/dist/commonjs/models/customer-detail.d.ts +6 -0
  34. package/dist/commonjs/models/customer-detail.d.ts.map +1 -1
  35. package/dist/commonjs/models/customer-detail.js +3 -0
  36. package/dist/commonjs/models/customer-detail.js.map +1 -1
  37. package/dist/commonjs/models/customer-overage-cap.d.ts +13 -0
  38. package/dist/commonjs/models/customer-overage-cap.d.ts.map +1 -0
  39. package/dist/commonjs/models/customer-overage-cap.js +54 -0
  40. package/dist/commonjs/models/customer-overage-cap.js.map +1 -0
  41. package/dist/commonjs/models/customer-overage-override-result.d.ts +18 -0
  42. package/dist/commonjs/models/customer-overage-override-result.d.ts.map +1 -0
  43. package/dist/commonjs/models/customer-overage-override-result.js +56 -0
  44. package/dist/commonjs/models/customer-overage-override-result.js.map +1 -0
  45. package/dist/commonjs/models/customer-overage-override.d.ts +23 -0
  46. package/dist/commonjs/models/customer-overage-override.d.ts.map +1 -0
  47. package/dist/commonjs/models/customer-overage-override.js +55 -0
  48. package/dist/commonjs/models/customer-overage-override.js.map +1 -0
  49. package/dist/commonjs/models/customer-overage.d.ts +67 -0
  50. package/dist/commonjs/models/customer-overage.d.ts.map +1 -0
  51. package/dist/commonjs/models/customer-overage.js +83 -0
  52. package/dist/commonjs/models/customer-overage.js.map +1 -0
  53. package/dist/commonjs/models/errors/track-error.d.ts +2 -0
  54. package/dist/commonjs/models/errors/track-error.d.ts.map +1 -1
  55. package/dist/commonjs/models/errors/track-error.js +5 -0
  56. package/dist/commonjs/models/errors/track-error.js.map +1 -1
  57. package/dist/commonjs/models/index.d.ts +6 -0
  58. package/dist/commonjs/models/index.d.ts.map +1 -1
  59. package/dist/commonjs/models/index.js +6 -0
  60. package/dist/commonjs/models/index.js.map +1 -1
  61. package/dist/commonjs/models/operations/index.d.ts +2 -0
  62. package/dist/commonjs/models/operations/index.d.ts.map +1 -1
  63. package/dist/commonjs/models/operations/index.js +2 -0
  64. package/dist/commonjs/models/operations/index.js.map +1 -1
  65. package/dist/commonjs/models/operations/set-customer-overage-cap.d.ts +15 -0
  66. package/dist/commonjs/models/operations/set-customer-overage-cap.d.ts.map +1 -0
  67. package/dist/commonjs/models/operations/set-customer-overage-cap.js +51 -0
  68. package/dist/commonjs/models/operations/set-customer-overage-cap.js.map +1 -0
  69. package/dist/commonjs/models/operations/set-customer-overage-override.d.ts +15 -0
  70. package/dist/commonjs/models/operations/set-customer-overage-override.d.ts.map +1 -0
  71. package/dist/commonjs/models/operations/set-customer-overage-override.js +51 -0
  72. package/dist/commonjs/models/operations/set-customer-overage-override.js.map +1 -0
  73. package/dist/commonjs/models/plan-item.d.ts +12 -0
  74. package/dist/commonjs/models/plan-item.d.ts.map +1 -1
  75. package/dist/commonjs/models/plan-item.js +3 -0
  76. package/dist/commonjs/models/plan-item.js.map +1 -1
  77. package/dist/commonjs/models/set-customer-overage-cap-input.d.ts +15 -0
  78. package/dist/commonjs/models/set-customer-overage-cap-input.d.ts.map +1 -0
  79. package/dist/commonjs/models/set-customer-overage-cap-input.js +49 -0
  80. package/dist/commonjs/models/set-customer-overage-cap-input.js.map +1 -0
  81. package/dist/commonjs/models/set-customer-overage-override-input.d.ts +30 -0
  82. package/dist/commonjs/models/set-customer-overage-override-input.d.ts.map +1 -0
  83. package/dist/commonjs/models/set-customer-overage-override-input.js +52 -0
  84. package/dist/commonjs/models/set-customer-overage-override-input.js.map +1 -0
  85. package/dist/commonjs/models/track-response.d.ts +11 -0
  86. package/dist/commonjs/models/track-response.d.ts.map +1 -1
  87. package/dist/commonjs/models/track-response.js +2 -0
  88. package/dist/commonjs/models/track-response.js.map +1 -1
  89. package/dist/commonjs/models/update-plan-input.d.ts +15 -0
  90. package/dist/commonjs/models/update-plan-input.d.ts.map +1 -1
  91. package/dist/commonjs/models/update-plan-input.js +3 -0
  92. package/dist/commonjs/models/update-plan-input.js.map +1 -1
  93. package/dist/commonjs/sdk/sdk.d.ts +8 -0
  94. package/dist/commonjs/sdk/sdk.d.ts.map +1 -1
  95. package/dist/commonjs/sdk/sdk.js +14 -0
  96. package/dist/commonjs/sdk/sdk.js.map +1 -1
  97. package/dist/esm/funcs/publish-catalog.js +1 -1
  98. package/dist/esm/funcs/publish-catalog.js.map +1 -1
  99. package/dist/esm/funcs/set-customer-overage-cap.d.ts +16 -0
  100. package/dist/esm/funcs/set-customer-overage-cap.d.ts.map +1 -0
  101. package/dist/esm/funcs/set-customer-overage-cap.js +86 -0
  102. package/dist/esm/funcs/set-customer-overage-cap.js.map +1 -0
  103. package/dist/esm/funcs/set-customer-overage-override.d.ts +16 -0
  104. package/dist/esm/funcs/set-customer-overage-override.d.ts.map +1 -0
  105. package/dist/esm/funcs/set-customer-overage-override.js +86 -0
  106. package/dist/esm/funcs/set-customer-overage-override.js.map +1 -0
  107. package/dist/esm/funcs/set-subscription-cancellation.js +1 -1
  108. package/dist/esm/funcs/set-subscription-cancellation.js.map +1 -1
  109. package/dist/esm/funcs/update-add-on.js +1 -1
  110. package/dist/esm/funcs/update-add-on.js.map +1 -1
  111. package/dist/esm/funcs/update-feature.js +1 -1
  112. package/dist/esm/funcs/update-feature.js.map +1 -1
  113. package/dist/esm/funcs/update-plan.js +1 -1
  114. package/dist/esm/funcs/update-plan.js.map +1 -1
  115. package/dist/esm/lib/config.d.ts +2 -2
  116. package/dist/esm/lib/config.js +2 -2
  117. package/dist/esm/models/catalog-input.d.ts +15 -0
  118. package/dist/esm/models/catalog-input.d.ts.map +1 -1
  119. package/dist/esm/models/catalog-input.js +3 -0
  120. package/dist/esm/models/catalog-input.js.map +1 -1
  121. package/dist/esm/models/check-response.d.ts +3 -0
  122. package/dist/esm/models/check-response.d.ts.map +1 -1
  123. package/dist/esm/models/check-response.js.map +1 -1
  124. package/dist/esm/models/create-plan-input.d.ts +15 -0
  125. package/dist/esm/models/create-plan-input.d.ts.map +1 -1
  126. package/dist/esm/models/create-plan-input.js +3 -0
  127. package/dist/esm/models/create-plan-input.js.map +1 -1
  128. package/dist/esm/models/customer-detail.d.ts +6 -0
  129. package/dist/esm/models/customer-detail.d.ts.map +1 -1
  130. package/dist/esm/models/customer-detail.js +3 -0
  131. package/dist/esm/models/customer-detail.js.map +1 -1
  132. package/dist/esm/models/customer-overage-cap.d.ts +13 -0
  133. package/dist/esm/models/customer-overage-cap.d.ts.map +1 -0
  134. package/dist/esm/models/customer-overage-cap.js +17 -0
  135. package/dist/esm/models/customer-overage-cap.js.map +1 -0
  136. package/dist/esm/models/customer-overage-override-result.d.ts +18 -0
  137. package/dist/esm/models/customer-overage-override-result.d.ts.map +1 -0
  138. package/dist/esm/models/customer-overage-override-result.js +19 -0
  139. package/dist/esm/models/customer-overage-override-result.js.map +1 -0
  140. package/dist/esm/models/customer-overage-override.d.ts +23 -0
  141. package/dist/esm/models/customer-overage-override.d.ts.map +1 -0
  142. package/dist/esm/models/customer-overage-override.js +18 -0
  143. package/dist/esm/models/customer-overage-override.js.map +1 -0
  144. package/dist/esm/models/customer-overage.d.ts +67 -0
  145. package/dist/esm/models/customer-overage.d.ts.map +1 -0
  146. package/dist/esm/models/customer-overage.js +46 -0
  147. package/dist/esm/models/customer-overage.js.map +1 -0
  148. package/dist/esm/models/errors/track-error.d.ts +2 -0
  149. package/dist/esm/models/errors/track-error.d.ts.map +1 -1
  150. package/dist/esm/models/errors/track-error.js +5 -0
  151. package/dist/esm/models/errors/track-error.js.map +1 -1
  152. package/dist/esm/models/index.d.ts +6 -0
  153. package/dist/esm/models/index.d.ts.map +1 -1
  154. package/dist/esm/models/index.js +6 -0
  155. package/dist/esm/models/index.js.map +1 -1
  156. package/dist/esm/models/operations/index.d.ts +2 -0
  157. package/dist/esm/models/operations/index.d.ts.map +1 -1
  158. package/dist/esm/models/operations/index.js +2 -0
  159. package/dist/esm/models/operations/index.js.map +1 -1
  160. package/dist/esm/models/operations/set-customer-overage-cap.d.ts +15 -0
  161. package/dist/esm/models/operations/set-customer-overage-cap.d.ts.map +1 -0
  162. package/dist/esm/models/operations/set-customer-overage-cap.js +14 -0
  163. package/dist/esm/models/operations/set-customer-overage-cap.js.map +1 -0
  164. package/dist/esm/models/operations/set-customer-overage-override.d.ts +15 -0
  165. package/dist/esm/models/operations/set-customer-overage-override.d.ts.map +1 -0
  166. package/dist/esm/models/operations/set-customer-overage-override.js +14 -0
  167. package/dist/esm/models/operations/set-customer-overage-override.js.map +1 -0
  168. package/dist/esm/models/plan-item.d.ts +12 -0
  169. package/dist/esm/models/plan-item.d.ts.map +1 -1
  170. package/dist/esm/models/plan-item.js +3 -0
  171. package/dist/esm/models/plan-item.js.map +1 -1
  172. package/dist/esm/models/set-customer-overage-cap-input.d.ts +15 -0
  173. package/dist/esm/models/set-customer-overage-cap-input.d.ts.map +1 -0
  174. package/dist/esm/models/set-customer-overage-cap-input.js +12 -0
  175. package/dist/esm/models/set-customer-overage-cap-input.js.map +1 -0
  176. package/dist/esm/models/set-customer-overage-override-input.d.ts +30 -0
  177. package/dist/esm/models/set-customer-overage-override-input.d.ts.map +1 -0
  178. package/dist/esm/models/set-customer-overage-override-input.js +15 -0
  179. package/dist/esm/models/set-customer-overage-override-input.js.map +1 -0
  180. package/dist/esm/models/track-response.d.ts +11 -0
  181. package/dist/esm/models/track-response.d.ts.map +1 -1
  182. package/dist/esm/models/track-response.js +2 -0
  183. package/dist/esm/models/track-response.js.map +1 -1
  184. package/dist/esm/models/update-plan-input.d.ts +15 -0
  185. package/dist/esm/models/update-plan-input.d.ts.map +1 -1
  186. package/dist/esm/models/update-plan-input.js +3 -0
  187. package/dist/esm/models/update-plan-input.js.map +1 -1
  188. package/dist/esm/sdk/sdk.d.ts +8 -0
  189. package/dist/esm/sdk/sdk.d.ts.map +1 -1
  190. package/dist/esm/sdk/sdk.js +14 -0
  191. package/dist/esm/sdk/sdk.js.map +1 -1
  192. package/docs/models/cap-source.md +19 -0
  193. package/docs/models/check-response.md +5 -5
  194. package/docs/models/create-plan-input.md +9 -6
  195. package/docs/models/customer-detail.md +28 -6
  196. package/docs/models/customer-overage-cap.md +39 -0
  197. package/docs/models/customer-overage-override-result.md +47 -0
  198. package/docs/models/customer-overage-override.md +27 -0
  199. package/docs/models/customer-overage.md +37 -0
  200. package/docs/models/errors/track-error.md +6 -5
  201. package/docs/models/operations/set-customer-overage-cap-request.md +21 -0
  202. package/docs/models/operations/set-customer-overage-override-request.md +21 -0
  203. package/docs/models/plan-item.md +10 -7
  204. package/docs/models/plan.md +9 -6
  205. package/docs/models/set-customer-overage-cap-input.md +17 -0
  206. package/docs/models/set-customer-overage-override-input.md +20 -0
  207. package/docs/models/source.md +19 -0
  208. package/docs/models/track-response.md +12 -8
  209. package/docs/models/update-plan-input.md +8 -5
  210. package/docs/sdks/ledger/README.md +167 -5
  211. package/package.json +1 -1
  212. package/src/funcs/publish-catalog.ts +1 -1
  213. package/src/funcs/set-customer-overage-cap.ts +176 -0
  214. package/src/funcs/set-customer-overage-override.ts +179 -0
  215. package/src/funcs/set-subscription-cancellation.ts +1 -1
  216. package/src/funcs/update-add-on.ts +1 -1
  217. package/src/funcs/update-feature.ts +1 -1
  218. package/src/funcs/update-plan.ts +1 -1
  219. package/src/lib/config.ts +2 -2
  220. package/src/models/catalog-input.ts +18 -0
  221. package/src/models/check-response.ts +3 -0
  222. package/src/models/create-plan-input.ts +18 -0
  223. package/src/models/customer-detail.ts +11 -0
  224. package/src/models/customer-overage-cap.ts +39 -0
  225. package/src/models/customer-overage-override-result.ts +48 -0
  226. package/src/models/customer-overage-override.ts +48 -0
  227. package/src/models/customer-overage.ts +108 -0
  228. package/src/models/errors/track-error.ts +6 -0
  229. package/src/models/index.ts +6 -0
  230. package/src/models/operations/index.ts +2 -0
  231. package/src/models/operations/set-customer-overage-cap.ts +36 -0
  232. package/src/models/operations/set-customer-overage-override.ts +36 -0
  233. package/src/models/plan-item.ts +15 -0
  234. package/src/models/set-customer-overage-cap-input.ts +33 -0
  235. package/src/models/set-customer-overage-override-input.ts +53 -0
  236. package/src/models/track-response.ts +13 -0
  237. package/src/models/update-plan-input.ts +18 -0
  238. package/src/sdk/sdk.ts +30 -0
@@ -0,0 +1,108 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+ import { safeParse } from "../lib/schemas.js";
7
+ import * as openEnums from "../types/enums.js";
8
+ import { OpenEnum } from "../types/enums.js";
9
+ import { Result as SafeParseResult } from "../types/fp.js";
10
+ import * as types from "../types/primitives.js";
11
+ import {
12
+ CustomerOverageOverride,
13
+ CustomerOverageOverride$inboundSchema,
14
+ } from "./customer-overage-override.js";
15
+ import { SDKValidationError } from "./errors/sdk-validation-error.js";
16
+
17
+ /**
18
+ * customer: the customer's own cap; override: the customer's overage override; plan: the plan default; null: no cap.
19
+ */
20
+ export const CapSource = {
21
+ Customer: "customer",
22
+ Override: "override",
23
+ Plan: "plan",
24
+ } as const;
25
+ /**
26
+ * customer: the customer's own cap; override: the customer's overage override; plan: the plan default; null: no cap.
27
+ */
28
+ export type CapSource = OpenEnum<typeof CapSource>;
29
+
30
+ /**
31
+ * Where the overage rate comes from: the plan, or an override set with setCustomerOverageOverride.
32
+ */
33
+ export const Source = {
34
+ Plan: "plan",
35
+ Override: "override",
36
+ } as const;
37
+ /**
38
+ * Where the overage rate comes from: the plan, or an override set with setCustomerOverageOverride.
39
+ */
40
+ export type Source = OpenEnum<typeof Source>;
41
+
42
+ export type CustomerOverage = {
43
+ /**
44
+ * Overage credits recorded in the current billing period.
45
+ */
46
+ credits: number;
47
+ /**
48
+ * This period's overage cost: ceil(credits / billingUnits) × unitAmountCents per recorded rate.
49
+ */
50
+ costCents: number;
51
+ unitAmountCents: number;
52
+ billingUnits: number;
53
+ /**
54
+ * Effective monthly overage cap. Null: no cap.
55
+ */
56
+ capCents: number | null;
57
+ /**
58
+ * customer: the customer's own cap; override: the customer's overage override; plan: the plan default; null: no cap.
59
+ */
60
+ capSource: CapSource | null;
61
+ remainingCents: number | null;
62
+ /**
63
+ * Where the overage rate comes from: the plan, or an override set with setCustomerOverageOverride.
64
+ */
65
+ source: Source;
66
+ /**
67
+ * The override behind the rate when source is override. Null otherwise.
68
+ */
69
+ override: CustomerOverageOverride | null;
70
+ periodStart: Date;
71
+ periodEnd: Date;
72
+ };
73
+
74
+ /** @internal */
75
+ export const CapSource$inboundSchema: z.ZodMiniType<CapSource, unknown> =
76
+ openEnums.inboundSchema(CapSource);
77
+
78
+ /** @internal */
79
+ export const Source$inboundSchema: z.ZodMiniType<Source, unknown> = openEnums
80
+ .inboundSchema(Source);
81
+
82
+ /** @internal */
83
+ export const CustomerOverage$inboundSchema: z.ZodMiniType<
84
+ CustomerOverage,
85
+ unknown
86
+ > = z.object({
87
+ credits: types.number(),
88
+ costCents: types.number(),
89
+ unitAmountCents: types.number(),
90
+ billingUnits: types.number(),
91
+ capCents: types.nullable(types.number()),
92
+ capSource: types.nullable(CapSource$inboundSchema),
93
+ remainingCents: types.nullable(types.number()),
94
+ source: Source$inboundSchema,
95
+ override: types.nullable(CustomerOverageOverride$inboundSchema),
96
+ periodStart: types.date(),
97
+ periodEnd: types.date(),
98
+ });
99
+
100
+ export function customerOverageFromJSON(
101
+ jsonString: string,
102
+ ): SafeParseResult<CustomerOverage, SDKValidationError> {
103
+ return safeParse(
104
+ jsonString,
105
+ (x) => CustomerOverage$inboundSchema.parse(JSON.parse(x)),
106
+ `Failed to parse 'CustomerOverage' from JSON`,
107
+ );
108
+ }
@@ -10,12 +10,14 @@ export type TrackErrorData = {
10
10
  error: string;
11
11
  availableCredits?: number | undefined;
12
12
  creditCost?: number | undefined;
13
+ overageRemainingCents?: number | null | undefined;
13
14
  };
14
15
 
15
16
  export class TrackError extends LedgerError {
16
17
  error: string;
17
18
  availableCredits?: number | undefined;
18
19
  creditCost?: number | undefined;
20
+ overageRemainingCents?: number | null | undefined;
19
21
 
20
22
  /** The original data that was passed to this error instance. */
21
23
  data$: TrackErrorData;
@@ -34,6 +36,9 @@ export class TrackError extends LedgerError {
34
36
  this.availableCredits = err.availableCredits;
35
37
  }
36
38
  if (err.creditCost != null) this.creditCost = err.creditCost;
39
+ if (err.overageRemainingCents != null) {
40
+ this.overageRemainingCents = err.overageRemainingCents;
41
+ }
37
42
 
38
43
  this.name = "TrackError";
39
44
  }
@@ -46,6 +51,7 @@ export const TrackError$inboundSchema: z.ZodMiniType<TrackError, unknown> = z
46
51
  error: types.string(),
47
52
  availableCredits: types.optional(types.number()),
48
53
  creditCost: types.optional(types.number()),
54
+ overageRemainingCents: z.optional(z.nullable(types.number())),
49
55
  request$: z.custom<Request>(x => x instanceof Request),
50
56
  response$: z.custom<Response>(x => x instanceof Response),
51
57
  body$: z.string(),
@@ -20,6 +20,10 @@ export * from "./create-customer-input.js";
20
20
  export * from "./create-feature-input.js";
21
21
  export * from "./create-plan-input.js";
22
22
  export * from "./customer-detail.js";
23
+ export * from "./customer-overage-cap.js";
24
+ export * from "./customer-overage-override-result.js";
25
+ export * from "./customer-overage-override.js";
26
+ export * from "./customer-overage.js";
23
27
  export * from "./customer-purchase-item.js";
24
28
  export * from "./customer-purchase-page.js";
25
29
  export * from "./customer-response.js";
@@ -38,6 +42,8 @@ export * from "./plan-item.js";
38
42
  export * from "./plan-list.js";
39
43
  export * from "./plan-mutation.js";
40
44
  export * from "./security.js";
45
+ export * from "./set-customer-overage-cap-input.js";
46
+ export * from "./set-customer-overage-override-input.js";
41
47
  export * from "./track-input.js";
42
48
  export * from "./track-response.js";
43
49
  export * from "./update-add-on-input.js";
@@ -11,6 +11,8 @@ export * from "./get-feature.js";
11
11
  export * from "./get-plan.js";
12
12
  export * from "./list-customer-purchases.js";
13
13
  export * from "./list-customer-subscriptions.js";
14
+ export * from "./set-customer-overage-cap.js";
15
+ export * from "./set-customer-overage-override.js";
14
16
  export * from "./set-subscription-cancellation.js";
15
17
  export * from "./update-add-on.js";
16
18
  export * from "./update-feature.js";
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+ import * as models from "../index.js";
7
+
8
+ export type SetCustomerOverageCapRequest = {
9
+ customerId: string;
10
+ body: models.SetCustomerOverageCapInput;
11
+ };
12
+
13
+ /** @internal */
14
+ export type SetCustomerOverageCapRequest$Outbound = {
15
+ customerId: string;
16
+ body: models.SetCustomerOverageCapInput$Outbound;
17
+ };
18
+
19
+ /** @internal */
20
+ export const SetCustomerOverageCapRequest$outboundSchema: z.ZodMiniType<
21
+ SetCustomerOverageCapRequest$Outbound,
22
+ SetCustomerOverageCapRequest
23
+ > = z.object({
24
+ customerId: z.string(),
25
+ body: models.SetCustomerOverageCapInput$outboundSchema,
26
+ });
27
+
28
+ export function setCustomerOverageCapRequestToJSON(
29
+ setCustomerOverageCapRequest: SetCustomerOverageCapRequest,
30
+ ): string {
31
+ return JSON.stringify(
32
+ SetCustomerOverageCapRequest$outboundSchema.parse(
33
+ setCustomerOverageCapRequest,
34
+ ),
35
+ );
36
+ }
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+ import * as models from "../index.js";
7
+
8
+ export type SetCustomerOverageOverrideRequest = {
9
+ customerId: string;
10
+ body: models.SetCustomerOverageOverrideInput;
11
+ };
12
+
13
+ /** @internal */
14
+ export type SetCustomerOverageOverrideRequest$Outbound = {
15
+ customerId: string;
16
+ body: models.SetCustomerOverageOverrideInput$Outbound;
17
+ };
18
+
19
+ /** @internal */
20
+ export const SetCustomerOverageOverrideRequest$outboundSchema: z.ZodMiniType<
21
+ SetCustomerOverageOverrideRequest$Outbound,
22
+ SetCustomerOverageOverrideRequest
23
+ > = z.object({
24
+ customerId: z.string(),
25
+ body: models.SetCustomerOverageOverrideInput$outboundSchema,
26
+ });
27
+
28
+ export function setCustomerOverageOverrideRequestToJSON(
29
+ setCustomerOverageOverrideRequest: SetCustomerOverageOverrideRequest,
30
+ ): string {
31
+ return JSON.stringify(
32
+ SetCustomerOverageOverrideRequest$outboundSchema.parse(
33
+ setCustomerOverageOverrideRequest,
34
+ ),
35
+ );
36
+ }
@@ -22,6 +22,18 @@ export type PlanItem = {
22
22
  name: string;
23
23
  monthlyCredits: number;
24
24
  monthlyPriceCents: number;
25
+ /**
26
+ * Price in cents per overageBillingUnits credits used after the plan's credits and packs run out. Null or omitted: no overage.
27
+ */
28
+ overageUnitAmountCents?: number | null | undefined;
29
+ /**
30
+ * Credits billed per overageUnitAmountCents. Defaults to 1.
31
+ */
32
+ overageBillingUnits?: number | undefined;
33
+ /**
34
+ * Default monthly overage spend cap in cents. A customer's own cap replaces it. Null or omitted: no cap.
35
+ */
36
+ overageCapCents?: number | null | undefined;
25
37
  stripeSyncStatus?: StripeSyncStatus | null | undefined;
26
38
  };
27
39
 
@@ -38,6 +50,9 @@ export const PlanItem$inboundSchema: z.ZodMiniType<PlanItem, unknown> = z
38
50
  name: types.string(),
39
51
  monthlyCredits: types.number(),
40
52
  monthlyPriceCents: types.number(),
53
+ overageUnitAmountCents: z.optional(z.nullable(types.number())),
54
+ overageBillingUnits: types.optional(types.number()),
55
+ overageCapCents: z.optional(z.nullable(types.number())),
41
56
  stripeSyncStatus: z.optional(z.nullable(StripeSyncStatus$inboundSchema)),
42
57
  });
43
58
 
@@ -0,0 +1,33 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+
7
+ export type SetCustomerOverageCapInput = {
8
+ /**
9
+ * The customer's monthly overage cap in cents. It replaces the plan default, higher or lower. Null clears it and restores the plan default.
10
+ */
11
+ capCents: number | null;
12
+ };
13
+
14
+ /** @internal */
15
+ export type SetCustomerOverageCapInput$Outbound = {
16
+ capCents: number | null;
17
+ };
18
+
19
+ /** @internal */
20
+ export const SetCustomerOverageCapInput$outboundSchema: z.ZodMiniType<
21
+ SetCustomerOverageCapInput$Outbound,
22
+ SetCustomerOverageCapInput
23
+ > = z.object({
24
+ capCents: z.nullable(z.int()),
25
+ });
26
+
27
+ export function setCustomerOverageCapInputToJSON(
28
+ setCustomerOverageCapInput: SetCustomerOverageCapInput,
29
+ ): string {
30
+ return JSON.stringify(
31
+ SetCustomerOverageCapInput$outboundSchema.parse(setCustomerOverageCapInput),
32
+ );
33
+ }
@@ -0,0 +1,53 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+
7
+ export type SetCustomerOverageOverrideInput = {
8
+ /**
9
+ * The plan this override applies to. Omit or null to apply it to any plan; a plan-specific override beats one for any plan.
10
+ */
11
+ planId?: string | null | undefined;
12
+ /**
13
+ * Negotiated price in cents per billingUnits overage credits. Null clears the override for this planId and restores the plan rate.
14
+ */
15
+ unitAmountCents: number | null;
16
+ /**
17
+ * Credits billed per unitAmountCents. Defaults to 1. Omit when clearing.
18
+ */
19
+ billingUnits?: number | undefined;
20
+ /**
21
+ * Monthly overage cap in cents for this override. Omit or null to keep the plan default. The customer's own cap (setCustomerOverageCap) still wins. Omit when clearing.
22
+ */
23
+ capCents?: number | null | undefined;
24
+ };
25
+
26
+ /** @internal */
27
+ export type SetCustomerOverageOverrideInput$Outbound = {
28
+ planId?: string | null | undefined;
29
+ unitAmountCents: number | null;
30
+ billingUnits?: number | undefined;
31
+ capCents?: number | null | undefined;
32
+ };
33
+
34
+ /** @internal */
35
+ export const SetCustomerOverageOverrideInput$outboundSchema: z.ZodMiniType<
36
+ SetCustomerOverageOverrideInput$Outbound,
37
+ SetCustomerOverageOverrideInput
38
+ > = z.object({
39
+ planId: z.optional(z.nullable(z.string())),
40
+ unitAmountCents: z.nullable(z.int()),
41
+ billingUnits: z.optional(z.int()),
42
+ capCents: z.optional(z.nullable(z.int())),
43
+ });
44
+
45
+ export function setCustomerOverageOverrideInputToJSON(
46
+ setCustomerOverageOverrideInput: SetCustomerOverageOverrideInput,
47
+ ): string {
48
+ return JSON.stringify(
49
+ SetCustomerOverageOverrideInput$outboundSchema.parse(
50
+ setCustomerOverageOverrideInput,
51
+ ),
52
+ );
53
+ }
@@ -11,8 +11,19 @@ import { SDKValidationError } from "./errors/sdk-validation-error.js";
11
11
 
12
12
  export type TrackResponse = {
13
13
  allowed: true;
14
+ /**
15
+ * Prepaid credits left in plan and credit-pack grants. Overage never makes this negative.
16
+ */
14
17
  availableCredits: number;
15
18
  chargedCredits: number;
19
+ /**
20
+ * Overage credits recorded in the current billing period, including this request.
21
+ */
22
+ overageCredits: number;
23
+ /**
24
+ * Overage spend left under the effective cap this period. Null when there is no cap or no overage.
25
+ */
26
+ overageRemainingCents: number | null;
16
27
  requestId: string;
17
28
  idempotent: boolean;
18
29
  };
@@ -26,6 +37,8 @@ export const TrackResponse$inboundSchema: z.ZodMiniType<
26
37
  allowed: types.literal(true),
27
38
  availableCredits: types.number(),
28
39
  chargedCredits: types.number(),
40
+ overageCredits: types.number(),
41
+ overageRemainingCents: types.nullable(types.number()),
29
42
  request_id: types.string(),
30
43
  idempotent: types.boolean(),
31
44
  }),
@@ -8,6 +8,18 @@ export type UpdatePlanInput = {
8
8
  name: string;
9
9
  monthlyCredits: number;
10
10
  monthlyPriceCents: number;
11
+ /**
12
+ * Price in cents per overageBillingUnits credits used after the plan's credits and packs run out. Null or omitted: no overage.
13
+ */
14
+ overageUnitAmountCents?: number | null | undefined;
15
+ /**
16
+ * Credits billed per overageUnitAmountCents. Defaults to 1.
17
+ */
18
+ overageBillingUnits?: number | undefined;
19
+ /**
20
+ * Default monthly overage spend cap in cents. A customer's own cap replaces it. Null or omitted: no cap.
21
+ */
22
+ overageCapCents?: number | null | undefined;
11
23
  };
12
24
 
13
25
  /** @internal */
@@ -15,6 +27,9 @@ export type UpdatePlanInput$Outbound = {
15
27
  name: string;
16
28
  monthlyCredits: number;
17
29
  monthlyPriceCents: number;
30
+ overageUnitAmountCents?: number | null | undefined;
31
+ overageBillingUnits?: number | undefined;
32
+ overageCapCents?: number | null | undefined;
18
33
  };
19
34
 
20
35
  /** @internal */
@@ -25,6 +40,9 @@ export const UpdatePlanInput$outboundSchema: z.ZodMiniType<
25
40
  name: z.string(),
26
41
  monthlyCredits: z.int(),
27
42
  monthlyPriceCents: z.int(),
43
+ overageUnitAmountCents: z.optional(z.nullable(z.int())),
44
+ overageBillingUnits: z.optional(z.int()),
45
+ overageCapCents: z.optional(z.nullable(z.int())),
28
46
  });
29
47
 
30
48
  export function updatePlanInputToJSON(
package/src/sdk/sdk.ts CHANGED
@@ -21,6 +21,8 @@ import { listCustomerSubscriptions } from "../funcs/list-customer-subscriptions.
21
21
  import { listFeatures } from "../funcs/list-features.js";
22
22
  import { listPlans } from "../funcs/list-plans.js";
23
23
  import { publishCatalog } from "../funcs/publish-catalog.js";
24
+ import { setCustomerOverageCap } from "../funcs/set-customer-overage-cap.js";
25
+ import { setCustomerOverageOverride } from "../funcs/set-customer-overage-override.js";
24
26
  import { setSubscriptionCancellation } from "../funcs/set-subscription-cancellation.js";
25
27
  import { trackUsage } from "../funcs/track-usage.js";
26
28
  import { updateAddOn } from "../funcs/update-add-on.js";
@@ -307,6 +309,34 @@ export class Ledger extends ClientSDK {
307
309
  ));
308
310
  }
309
311
 
312
+ /**
313
+ * Set or clear a customer's overage cap
314
+ */
315
+ async setCustomerOverageCap(
316
+ request: operations.SetCustomerOverageCapRequest,
317
+ options?: RequestOptions,
318
+ ): Promise<models.CustomerOverageCap> {
319
+ return unwrapAsync(setCustomerOverageCap(
320
+ this,
321
+ request,
322
+ options,
323
+ ));
324
+ }
325
+
326
+ /**
327
+ * Set or clear a customer's negotiated overage rate
328
+ */
329
+ async setCustomerOverageOverride(
330
+ request: operations.SetCustomerOverageOverrideRequest,
331
+ options?: RequestOptions,
332
+ ): Promise<models.CustomerOverageOverrideResult> {
333
+ return unwrapAsync(setCustomerOverageOverride(
334
+ this,
335
+ request,
336
+ options,
337
+ ));
338
+ }
339
+
310
340
  /**
311
341
  * Get a customer and current balance
312
342
  */