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
@@ -115,7 +115,7 @@ async function $do(
115
115
 
116
116
  const requestRes = client._createRequest(context, {
117
117
  security: requestSecurity,
118
- method: "PUT",
118
+ method: "POST",
119
119
  baseURL: options?.serverURL,
120
120
  path: path,
121
121
  headers: headers,
@@ -0,0 +1,176 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+ import { LedgerCore } from "../core.js";
7
+ import { encodeFormQuery, encodeJSON } from "../lib/encodings.js";
8
+ import { matchStatusCode } from "../lib/http.js";
9
+ import * as M from "../lib/matchers.js";
10
+ import { compactMap } from "../lib/primitives.js";
11
+ import { safeParse } from "../lib/schemas.js";
12
+ import { RequestOptions } from "../lib/sdks.js";
13
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
14
+ import { pathToFunc } from "../lib/url.js";
15
+ import {
16
+ ConnectionError,
17
+ InvalidRequestError,
18
+ RequestAbortedError,
19
+ RequestTimeoutError,
20
+ UnexpectedClientError,
21
+ } from "../models/errors/http-client-errors.js";
22
+ import * as errors from "../models/errors/index.js";
23
+ import { LedgerError } from "../models/errors/ledger-error.js";
24
+ import { ResponseValidationError } from "../models/errors/response-validation-error.js";
25
+ import { SDKValidationError } from "../models/errors/sdk-validation-error.js";
26
+ import * as models from "../models/index.js";
27
+ import * as operations from "../models/operations/index.js";
28
+ import { APICall, APIPromise } from "../types/async.js";
29
+ import { Result } from "../types/fp.js";
30
+
31
+ /**
32
+ * Set or clear a customer's overage cap
33
+ */
34
+ export function setCustomerOverageCap(
35
+ client: LedgerCore,
36
+ request: operations.SetCustomerOverageCapRequest,
37
+ options?: RequestOptions,
38
+ ): APIPromise<
39
+ Result<
40
+ models.CustomerOverageCap,
41
+ | errors.CustomerError
42
+ | LedgerError
43
+ | ResponseValidationError
44
+ | ConnectionError
45
+ | RequestAbortedError
46
+ | RequestTimeoutError
47
+ | InvalidRequestError
48
+ | UnexpectedClientError
49
+ | SDKValidationError
50
+ >
51
+ > {
52
+ return new APIPromise($do(
53
+ client,
54
+ request,
55
+ options,
56
+ ));
57
+ }
58
+
59
+ async function $do(
60
+ client: LedgerCore,
61
+ request: operations.SetCustomerOverageCapRequest,
62
+ options?: RequestOptions,
63
+ ): Promise<
64
+ [
65
+ Result<
66
+ models.CustomerOverageCap,
67
+ | errors.CustomerError
68
+ | LedgerError
69
+ | ResponseValidationError
70
+ | ConnectionError
71
+ | RequestAbortedError
72
+ | RequestTimeoutError
73
+ | InvalidRequestError
74
+ | UnexpectedClientError
75
+ | SDKValidationError
76
+ >,
77
+ APICall,
78
+ ]
79
+ > {
80
+ const parsed = safeParse(
81
+ request,
82
+ (value) =>
83
+ z.parse(operations.SetCustomerOverageCapRequest$outboundSchema, value),
84
+ "Input validation failed",
85
+ );
86
+ if (!parsed.ok) {
87
+ return [parsed, { status: "invalid" }];
88
+ }
89
+ const payload = parsed.value;
90
+ const body = encodeJSON("body", payload.body, { explode: true });
91
+
92
+ const path = pathToFunc("/v1/customers/overage-cap")();
93
+
94
+ const query = encodeFormQuery({
95
+ "customerId": payload.customerId,
96
+ });
97
+
98
+ const headers = new Headers(compactMap({
99
+ "Content-Type": "application/json",
100
+ Accept: "application/json",
101
+ }));
102
+
103
+ const secConfig = await extractSecurity(client._options.apiKey);
104
+ const securityInput = secConfig == null ? {} : { apiKey: secConfig };
105
+ const requestSecurity = resolveGlobalSecurity(securityInput);
106
+
107
+ const context = {
108
+ options: client._options,
109
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
110
+ operationID: "setCustomerOverageCap",
111
+ oAuth2Scopes: null,
112
+
113
+ resolvedSecurity: requestSecurity,
114
+
115
+ securitySource: client._options.apiKey,
116
+ retryConfig: options?.retries
117
+ || client._options.retryConfig
118
+ || { strategy: "none" },
119
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
120
+ };
121
+
122
+ const requestRes = client._createRequest(context, {
123
+ security: requestSecurity,
124
+ method: "POST",
125
+ baseURL: options?.serverURL,
126
+ path: path,
127
+ headers: headers,
128
+ query: query,
129
+ body: body,
130
+ userAgent: client._options.userAgent,
131
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
132
+ }, options);
133
+ if (!requestRes.ok) {
134
+ return [requestRes, { status: "invalid" }];
135
+ }
136
+ const req = requestRes.value;
137
+
138
+ const doResult = await client._do(req, {
139
+ context,
140
+ isErrorStatusCode: (statusCode: number) =>
141
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
142
+ retryConfig: context.retryConfig,
143
+ retryCodes: context.retryCodes,
144
+ });
145
+ if (!doResult.ok) {
146
+ return [doResult, { status: "request-error", request: req }];
147
+ }
148
+ const response = doResult.value;
149
+
150
+ const responseFields = {
151
+ HttpMeta: { Response: response, Request: req },
152
+ };
153
+
154
+ const [result] = await M.match<
155
+ models.CustomerOverageCap,
156
+ | errors.CustomerError
157
+ | LedgerError
158
+ | ResponseValidationError
159
+ | ConnectionError
160
+ | RequestAbortedError
161
+ | RequestTimeoutError
162
+ | InvalidRequestError
163
+ | UnexpectedClientError
164
+ | SDKValidationError
165
+ >(
166
+ M.json(200, models.CustomerOverageCap$inboundSchema),
167
+ M.jsonErr([400, 401, 404], errors.CustomerError$inboundSchema),
168
+ M.fail("4XX"),
169
+ M.fail("5XX"),
170
+ )(response, req, { extraFields: responseFields });
171
+ if (!result.ok) {
172
+ return [result, { status: "complete", request: req, response }];
173
+ }
174
+
175
+ return [result, { status: "complete", request: req, response }];
176
+ }
@@ -0,0 +1,179 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+ import { LedgerCore } from "../core.js";
7
+ import { encodeFormQuery, encodeJSON } from "../lib/encodings.js";
8
+ import { matchStatusCode } from "../lib/http.js";
9
+ import * as M from "../lib/matchers.js";
10
+ import { compactMap } from "../lib/primitives.js";
11
+ import { safeParse } from "../lib/schemas.js";
12
+ import { RequestOptions } from "../lib/sdks.js";
13
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
14
+ import { pathToFunc } from "../lib/url.js";
15
+ import {
16
+ ConnectionError,
17
+ InvalidRequestError,
18
+ RequestAbortedError,
19
+ RequestTimeoutError,
20
+ UnexpectedClientError,
21
+ } from "../models/errors/http-client-errors.js";
22
+ import * as errors from "../models/errors/index.js";
23
+ import { LedgerError } from "../models/errors/ledger-error.js";
24
+ import { ResponseValidationError } from "../models/errors/response-validation-error.js";
25
+ import { SDKValidationError } from "../models/errors/sdk-validation-error.js";
26
+ import * as models from "../models/index.js";
27
+ import * as operations from "../models/operations/index.js";
28
+ import { APICall, APIPromise } from "../types/async.js";
29
+ import { Result } from "../types/fp.js";
30
+
31
+ /**
32
+ * Set or clear a customer's negotiated overage rate
33
+ */
34
+ export function setCustomerOverageOverride(
35
+ client: LedgerCore,
36
+ request: operations.SetCustomerOverageOverrideRequest,
37
+ options?: RequestOptions,
38
+ ): APIPromise<
39
+ Result<
40
+ models.CustomerOverageOverrideResult,
41
+ | errors.CustomerError
42
+ | LedgerError
43
+ | ResponseValidationError
44
+ | ConnectionError
45
+ | RequestAbortedError
46
+ | RequestTimeoutError
47
+ | InvalidRequestError
48
+ | UnexpectedClientError
49
+ | SDKValidationError
50
+ >
51
+ > {
52
+ return new APIPromise($do(
53
+ client,
54
+ request,
55
+ options,
56
+ ));
57
+ }
58
+
59
+ async function $do(
60
+ client: LedgerCore,
61
+ request: operations.SetCustomerOverageOverrideRequest,
62
+ options?: RequestOptions,
63
+ ): Promise<
64
+ [
65
+ Result<
66
+ models.CustomerOverageOverrideResult,
67
+ | errors.CustomerError
68
+ | LedgerError
69
+ | ResponseValidationError
70
+ | ConnectionError
71
+ | RequestAbortedError
72
+ | RequestTimeoutError
73
+ | InvalidRequestError
74
+ | UnexpectedClientError
75
+ | SDKValidationError
76
+ >,
77
+ APICall,
78
+ ]
79
+ > {
80
+ const parsed = safeParse(
81
+ request,
82
+ (value) =>
83
+ z.parse(
84
+ operations.SetCustomerOverageOverrideRequest$outboundSchema,
85
+ value,
86
+ ),
87
+ "Input validation failed",
88
+ );
89
+ if (!parsed.ok) {
90
+ return [parsed, { status: "invalid" }];
91
+ }
92
+ const payload = parsed.value;
93
+ const body = encodeJSON("body", payload.body, { explode: true });
94
+
95
+ const path = pathToFunc("/v1/customers/overage-override")();
96
+
97
+ const query = encodeFormQuery({
98
+ "customerId": payload.customerId,
99
+ });
100
+
101
+ const headers = new Headers(compactMap({
102
+ "Content-Type": "application/json",
103
+ Accept: "application/json",
104
+ }));
105
+
106
+ const secConfig = await extractSecurity(client._options.apiKey);
107
+ const securityInput = secConfig == null ? {} : { apiKey: secConfig };
108
+ const requestSecurity = resolveGlobalSecurity(securityInput);
109
+
110
+ const context = {
111
+ options: client._options,
112
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
113
+ operationID: "setCustomerOverageOverride",
114
+ oAuth2Scopes: null,
115
+
116
+ resolvedSecurity: requestSecurity,
117
+
118
+ securitySource: client._options.apiKey,
119
+ retryConfig: options?.retries
120
+ || client._options.retryConfig
121
+ || { strategy: "none" },
122
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
123
+ };
124
+
125
+ const requestRes = client._createRequest(context, {
126
+ security: requestSecurity,
127
+ method: "POST",
128
+ baseURL: options?.serverURL,
129
+ path: path,
130
+ headers: headers,
131
+ query: query,
132
+ body: body,
133
+ userAgent: client._options.userAgent,
134
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
135
+ }, options);
136
+ if (!requestRes.ok) {
137
+ return [requestRes, { status: "invalid" }];
138
+ }
139
+ const req = requestRes.value;
140
+
141
+ const doResult = await client._do(req, {
142
+ context,
143
+ isErrorStatusCode: (statusCode: number) =>
144
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
145
+ retryConfig: context.retryConfig,
146
+ retryCodes: context.retryCodes,
147
+ });
148
+ if (!doResult.ok) {
149
+ return [doResult, { status: "request-error", request: req }];
150
+ }
151
+ const response = doResult.value;
152
+
153
+ const responseFields = {
154
+ HttpMeta: { Response: response, Request: req },
155
+ };
156
+
157
+ const [result] = await M.match<
158
+ models.CustomerOverageOverrideResult,
159
+ | errors.CustomerError
160
+ | LedgerError
161
+ | ResponseValidationError
162
+ | ConnectionError
163
+ | RequestAbortedError
164
+ | RequestTimeoutError
165
+ | InvalidRequestError
166
+ | UnexpectedClientError
167
+ | SDKValidationError
168
+ >(
169
+ M.json(200, models.CustomerOverageOverrideResult$inboundSchema),
170
+ M.jsonErr([400, 401, 404, 409], errors.CustomerError$inboundSchema),
171
+ M.fail("4XX"),
172
+ M.fail("5XX"),
173
+ )(response, req, { extraFields: responseFields });
174
+ if (!result.ok) {
175
+ return [result, { status: "complete", request: req, response }];
176
+ }
177
+
178
+ return [result, { status: "complete", request: req, response }];
179
+ }
@@ -132,7 +132,7 @@ async function $do(
132
132
 
133
133
  const requestRes = client._createRequest(context, {
134
134
  security: requestSecurity,
135
- method: "PUT",
135
+ method: "POST",
136
136
  baseURL: options?.serverURL,
137
137
  path: path,
138
138
  headers: headers,
@@ -128,7 +128,7 @@ async function $do(
128
128
 
129
129
  const requestRes = client._createRequest(context, {
130
130
  security: requestSecurity,
131
- method: "PUT",
131
+ method: "POST",
132
132
  baseURL: options?.serverURL,
133
133
  path: path,
134
134
  headers: headers,
@@ -128,7 +128,7 @@ async function $do(
128
128
 
129
129
  const requestRes = client._createRequest(context, {
130
130
  security: requestSecurity,
131
- method: "PUT",
131
+ method: "POST",
132
132
  baseURL: options?.serverURL,
133
133
  path: path,
134
134
  headers: headers,
@@ -128,7 +128,7 @@ async function $do(
128
128
 
129
129
  const requestRes = client._createRequest(context, {
130
130
  security: requestSecurity,
131
- method: "PUT",
131
+ method: "POST",
132
132
  baseURL: options?.serverURL,
133
133
  path: path,
134
134
  headers: headers,
package/src/lib/config.ts CHANGED
@@ -65,7 +65,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
65
65
  export const SDK_METADATA = {
66
66
  language: "typescript",
67
67
  openapiDocVersion: "0.1.0",
68
- sdkVersion: "0.1.1",
68
+ sdkVersion: "0.1.2",
69
69
  genVersion: "2.954.8",
70
- userAgent: "speakeasy-sdk/typescript 0.1.1 2.954.8 0.1.0 integrateledger",
70
+ userAgent: "speakeasy-sdk/typescript 0.1.2 2.954.8 0.1.0 integrateledger",
71
71
  } as const;
@@ -26,6 +26,18 @@ export type Plan = {
26
26
  name: string;
27
27
  monthlyCredits: number;
28
28
  monthlyPriceCents: number;
29
+ /**
30
+ * Price in cents per overageBillingUnits credits used after the plan's credits and packs run out. Null or omitted: no overage.
31
+ */
32
+ overageUnitAmountCents?: number | null | undefined;
33
+ /**
34
+ * Credits billed per overageUnitAmountCents. Defaults to 1.
35
+ */
36
+ overageBillingUnits?: number | undefined;
37
+ /**
38
+ * Default monthly overage spend cap in cents. A customer's own cap replaces it. Null or omitted: no cap.
39
+ */
40
+ overageCapCents?: number | null | undefined;
29
41
  };
30
42
 
31
43
  export type Feature = {
@@ -85,6 +97,9 @@ export type Plan$Outbound = {
85
97
  name: string;
86
98
  monthlyCredits: number;
87
99
  monthlyPriceCents: number;
100
+ overageUnitAmountCents?: number | null | undefined;
101
+ overageBillingUnits?: number | undefined;
102
+ overageCapCents?: number | null | undefined;
88
103
  };
89
104
 
90
105
  /** @internal */
@@ -94,6 +109,9 @@ export const Plan$outboundSchema: z.ZodMiniType<Plan$Outbound, Plan> = z.object(
94
109
  name: z.string(),
95
110
  monthlyCredits: z.int(),
96
111
  monthlyPriceCents: z.int(),
112
+ overageUnitAmountCents: z.optional(z.nullable(z.int())),
113
+ overageBillingUnits: z.optional(z.int()),
114
+ overageCapCents: z.optional(z.nullable(z.int())),
97
115
  },
98
116
  );
99
117
 
@@ -9,6 +9,9 @@ import * as types from "../types/primitives.js";
9
9
  import { SDKValidationError } from "./errors/sdk-validation-error.js";
10
10
 
11
11
  export type CheckResponse = {
12
+ /**
13
+ * Whether track would accept this feature now: from prepaid credits, or as overage within the cap on a paid plan with overage.
14
+ */
12
15
  allowed: boolean;
13
16
  availableCredits: number;
14
17
  creditCost: number;
@@ -9,6 +9,18 @@ export type CreatePlanInput = {
9
9
  name: string;
10
10
  monthlyCredits: number;
11
11
  monthlyPriceCents: number;
12
+ /**
13
+ * Price in cents per overageBillingUnits credits used after the plan's credits and packs run out. Null or omitted: no overage.
14
+ */
15
+ overageUnitAmountCents?: number | null | undefined;
16
+ /**
17
+ * Credits billed per overageUnitAmountCents. Defaults to 1.
18
+ */
19
+ overageBillingUnits?: number | undefined;
20
+ /**
21
+ * Default monthly overage spend cap in cents. A customer's own cap replaces it. Null or omitted: no cap.
22
+ */
23
+ overageCapCents?: number | null | undefined;
12
24
  };
13
25
 
14
26
  /** @internal */
@@ -17,6 +29,9 @@ export type CreatePlanInput$Outbound = {
17
29
  name: string;
18
30
  monthlyCredits: number;
19
31
  monthlyPriceCents: number;
32
+ overageUnitAmountCents?: number | null | undefined;
33
+ overageBillingUnits?: number | undefined;
34
+ overageCapCents?: number | null | undefined;
20
35
  };
21
36
 
22
37
  /** @internal */
@@ -28,6 +43,9 @@ export const CreatePlanInput$outboundSchema: z.ZodMiniType<
28
43
  name: z.string(),
29
44
  monthlyCredits: z.int(),
30
45
  monthlyPriceCents: z.int(),
46
+ overageUnitAmountCents: z.optional(z.nullable(z.int())),
47
+ overageBillingUnits: z.optional(z.int()),
48
+ overageCapCents: z.optional(z.nullable(z.int())),
31
49
  });
32
50
 
33
51
  export function createPlanInputToJSON(
@@ -8,6 +8,10 @@ import * as openEnums from "../types/enums.js";
8
8
  import { OpenEnum } from "../types/enums.js";
9
9
  import { Result as SafeParseResult } from "../types/fp.js";
10
10
  import * as types from "../types/primitives.js";
11
+ import {
12
+ CustomerOverage,
13
+ CustomerOverage$inboundSchema,
14
+ } from "./customer-overage.js";
11
15
  import { SDKValidationError } from "./errors/sdk-validation-error.js";
12
16
 
13
17
  export const CustomerDetailStatus = {
@@ -29,6 +33,11 @@ export type CustomerDetail = {
29
33
  createdAt: Date;
30
34
  availableCredits: number;
31
35
  currentPlan: CurrentPlan | null;
36
+ /**
37
+ * The customer's own overage cap, set with setCustomerOverageCap. Null: the plan default applies.
38
+ */
39
+ overageCapCents: number | null;
40
+ overage: CustomerOverage | null;
32
41
  };
33
42
 
34
43
  /** @internal */
@@ -66,6 +75,8 @@ export const CustomerDetail$inboundSchema: z.ZodMiniType<
66
75
  createdAt: types.date(),
67
76
  availableCredits: types.number(),
68
77
  currentPlan: types.nullable(z.lazy(() => CurrentPlan$inboundSchema)),
78
+ overageCapCents: types.nullable(types.number()),
79
+ overage: types.nullable(CustomerOverage$inboundSchema),
69
80
  });
70
81
 
71
82
  export function customerDetailFromJSON(
@@ -0,0 +1,39 @@
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 { Result as SafeParseResult } from "../types/fp.js";
8
+ import * as types from "../types/primitives.js";
9
+ import {
10
+ CustomerOverage,
11
+ CustomerOverage$inboundSchema,
12
+ } from "./customer-overage.js";
13
+ import { SDKValidationError } from "./errors/sdk-validation-error.js";
14
+
15
+ export type CustomerOverageCap = {
16
+ customerId: string;
17
+ capCents: number | null;
18
+ overage: CustomerOverage | null;
19
+ };
20
+
21
+ /** @internal */
22
+ export const CustomerOverageCap$inboundSchema: z.ZodMiniType<
23
+ CustomerOverageCap,
24
+ unknown
25
+ > = z.object({
26
+ customerId: types.string(),
27
+ capCents: types.nullable(types.number()),
28
+ overage: types.nullable(CustomerOverage$inboundSchema),
29
+ });
30
+
31
+ export function customerOverageCapFromJSON(
32
+ jsonString: string,
33
+ ): SafeParseResult<CustomerOverageCap, SDKValidationError> {
34
+ return safeParse(
35
+ jsonString,
36
+ (x) => CustomerOverageCap$inboundSchema.parse(JSON.parse(x)),
37
+ `Failed to parse 'CustomerOverageCap' from JSON`,
38
+ );
39
+ }
@@ -0,0 +1,48 @@
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 { Result as SafeParseResult } from "../types/fp.js";
8
+ import * as types from "../types/primitives.js";
9
+ import {
10
+ CustomerOverageOverride,
11
+ CustomerOverageOverride$inboundSchema,
12
+ } from "./customer-overage-override.js";
13
+ import {
14
+ CustomerOverage,
15
+ CustomerOverage$inboundSchema,
16
+ } from "./customer-overage.js";
17
+ import { SDKValidationError } from "./errors/sdk-validation-error.js";
18
+
19
+ export type CustomerOverageOverrideResult = {
20
+ customerId: string;
21
+ /**
22
+ * The scope that was set or cleared. Null: any plan.
23
+ */
24
+ planId: string | null;
25
+ override: CustomerOverageOverride | null;
26
+ overage: CustomerOverage | null;
27
+ };
28
+
29
+ /** @internal */
30
+ export const CustomerOverageOverrideResult$inboundSchema: z.ZodMiniType<
31
+ CustomerOverageOverrideResult,
32
+ unknown
33
+ > = z.object({
34
+ customerId: types.string(),
35
+ planId: types.nullable(types.string()),
36
+ override: types.nullable(CustomerOverageOverride$inboundSchema),
37
+ overage: types.nullable(CustomerOverage$inboundSchema),
38
+ });
39
+
40
+ export function customerOverageOverrideResultFromJSON(
41
+ jsonString: string,
42
+ ): SafeParseResult<CustomerOverageOverrideResult, SDKValidationError> {
43
+ return safeParse(
44
+ jsonString,
45
+ (x) => CustomerOverageOverrideResult$inboundSchema.parse(JSON.parse(x)),
46
+ `Failed to parse 'CustomerOverageOverrideResult' from JSON`,
47
+ );
48
+ }
@@ -0,0 +1,48 @@
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 { Result as SafeParseResult } from "../types/fp.js";
8
+ import * as types from "../types/primitives.js";
9
+ import { SDKValidationError } from "./errors/sdk-validation-error.js";
10
+
11
+ /**
12
+ * The override behind the rate when source is override. Null otherwise.
13
+ */
14
+ export type CustomerOverageOverride = {
15
+ /**
16
+ * The plan it applies to. Null: any plan.
17
+ */
18
+ planId: string | null;
19
+ unitAmountCents: number;
20
+ billingUnits: number;
21
+ /**
22
+ * The override's cap. Null: the plan default applies.
23
+ */
24
+ capCents: number | null;
25
+ effectiveFrom: Date;
26
+ };
27
+
28
+ /** @internal */
29
+ export const CustomerOverageOverride$inboundSchema: z.ZodMiniType<
30
+ CustomerOverageOverride,
31
+ unknown
32
+ > = z.object({
33
+ planId: types.nullable(types.string()),
34
+ unitAmountCents: types.number(),
35
+ billingUnits: types.number(),
36
+ capCents: types.nullable(types.number()),
37
+ effectiveFrom: types.date(),
38
+ });
39
+
40
+ export function customerOverageOverrideFromJSON(
41
+ jsonString: string,
42
+ ): SafeParseResult<CustomerOverageOverride, SDKValidationError> {
43
+ return safeParse(
44
+ jsonString,
45
+ (x) => CustomerOverageOverride$inboundSchema.parse(JSON.parse(x)),
46
+ `Failed to parse 'CustomerOverageOverride' from JSON`,
47
+ );
48
+ }