@paygentic/sdk 0.9.4 → 0.9.5

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 (188) hide show
  1. package/README.md +12 -5
  2. package/dist/commonjs/funcs/pricesUpdate.d.ts +1 -1
  3. package/dist/commonjs/funcs/pricesUpdate.d.ts.map +1 -1
  4. package/dist/commonjs/funcs/pricesUpdate.js +2 -2
  5. package/dist/commonjs/funcs/pricesUpdate.js.map +1 -1
  6. package/dist/commonjs/funcs/subscriptionsCreateSubscriptionAdjustment.d.ts +19 -0
  7. package/dist/commonjs/funcs/subscriptionsCreateSubscriptionAdjustment.d.ts.map +1 -0
  8. package/dist/commonjs/funcs/subscriptionsCreateSubscriptionAdjustment.js +127 -0
  9. package/dist/commonjs/funcs/subscriptionsCreateSubscriptionAdjustment.js.map +1 -0
  10. package/dist/commonjs/funcs/subscriptionsDeleteSubscriptionAdjustment.d.ts +18 -0
  11. package/dist/commonjs/funcs/subscriptionsDeleteSubscriptionAdjustment.d.ts.map +1 -0
  12. package/dist/commonjs/funcs/subscriptionsDeleteSubscriptionAdjustment.js +128 -0
  13. package/dist/commonjs/funcs/subscriptionsDeleteSubscriptionAdjustment.js.map +1 -0
  14. package/dist/commonjs/funcs/subscriptionsListSubscriptionAdjustments.d.ts +19 -0
  15. package/dist/commonjs/funcs/subscriptionsListSubscriptionAdjustments.d.ts.map +1 -0
  16. package/dist/commonjs/funcs/subscriptionsListSubscriptionAdjustments.js +129 -0
  17. package/dist/commonjs/funcs/subscriptionsListSubscriptionAdjustments.js.map +1 -0
  18. package/dist/commonjs/lib/config.d.ts +2 -2
  19. package/dist/commonjs/lib/config.js +2 -2
  20. package/dist/commonjs/models/createsubscriptionadjustmentrequest.d.ts +53 -0
  21. package/dist/commonjs/models/createsubscriptionadjustmentrequest.d.ts.map +1 -0
  22. package/dist/commonjs/models/createsubscriptionadjustmentrequest.js +63 -0
  23. package/dist/commonjs/models/createsubscriptionadjustmentrequest.js.map +1 -0
  24. package/dist/commonjs/models/errors/index.d.ts +1 -0
  25. package/dist/commonjs/models/errors/index.d.ts.map +1 -1
  26. package/dist/commonjs/models/errors/index.js +1 -0
  27. package/dist/commonjs/models/errors/index.js.map +1 -1
  28. package/dist/commonjs/models/errors/updateprice.d.ts +36 -0
  29. package/dist/commonjs/models/errors/updateprice.d.ts.map +1 -0
  30. package/dist/commonjs/models/errors/updateprice.js +77 -0
  31. package/dist/commonjs/models/errors/updateprice.js.map +1 -0
  32. package/dist/commonjs/models/index.d.ts +4 -1
  33. package/dist/commonjs/models/index.d.ts.map +1 -1
  34. package/dist/commonjs/models/index.js +4 -1
  35. package/dist/commonjs/models/index.js.map +1 -1
  36. package/dist/commonjs/models/operations/createprice.d.ts +2 -2
  37. package/dist/commonjs/models/operations/createprice.d.ts.map +1 -1
  38. package/dist/commonjs/models/operations/createprice.js +1 -1
  39. package/dist/commonjs/models/operations/createprice.js.map +1 -1
  40. package/dist/commonjs/models/operations/createsubscriptionadjustment.d.ts +18 -0
  41. package/dist/commonjs/models/operations/createsubscriptionadjustment.d.ts.map +1 -0
  42. package/dist/commonjs/models/operations/createsubscriptionadjustment.js +56 -0
  43. package/dist/commonjs/models/operations/createsubscriptionadjustment.js.map +1 -0
  44. package/dist/commonjs/models/operations/deletesubscriptionadjustment.d.ts +20 -0
  45. package/dist/commonjs/models/operations/deletesubscriptionadjustment.d.ts.map +1 -0
  46. package/dist/commonjs/models/operations/deletesubscriptionadjustment.js +50 -0
  47. package/dist/commonjs/models/operations/deletesubscriptionadjustment.js.map +1 -0
  48. package/dist/commonjs/models/operations/index.d.ts +3 -0
  49. package/dist/commonjs/models/operations/index.d.ts.map +1 -1
  50. package/dist/commonjs/models/operations/index.js +3 -0
  51. package/dist/commonjs/models/operations/index.js.map +1 -1
  52. package/dist/commonjs/models/operations/listsubscriptionadjustments.d.ts +25 -0
  53. package/dist/commonjs/models/operations/listsubscriptionadjustments.d.ts.map +1 -0
  54. package/dist/commonjs/models/operations/listsubscriptionadjustments.js +51 -0
  55. package/dist/commonjs/models/operations/listsubscriptionadjustments.js.map +1 -0
  56. package/dist/commonjs/models/operations/updateprice.d.ts +12 -2
  57. package/dist/commonjs/models/operations/updateprice.d.ts.map +1 -1
  58. package/dist/commonjs/models/operations/updateprice.js +13 -2
  59. package/dist/commonjs/models/operations/updateprice.js.map +1 -1
  60. package/dist/commonjs/models/priceproperties.d.ts +125 -0
  61. package/dist/commonjs/models/priceproperties.d.ts.map +1 -0
  62. package/dist/commonjs/models/priceproperties.js +152 -0
  63. package/dist/commonjs/models/priceproperties.js.map +1 -0
  64. package/dist/commonjs/models/schemasprice.d.ts +2 -2
  65. package/dist/commonjs/models/schemasprice.d.ts.map +1 -1
  66. package/dist/commonjs/models/schemasprice.js +2 -2
  67. package/dist/commonjs/models/schemasprice.js.map +1 -1
  68. package/dist/commonjs/models/subscriptionadjustment.d.ts +49 -0
  69. package/dist/commonjs/models/subscriptionadjustment.d.ts.map +1 -0
  70. package/dist/commonjs/models/subscriptionadjustment.js +68 -0
  71. package/dist/commonjs/models/subscriptionadjustment.js.map +1 -0
  72. package/dist/commonjs/models/subscriptionadjustmentsresponse.d.ts +16 -0
  73. package/dist/commonjs/models/subscriptionadjustmentsresponse.d.ts.map +1 -0
  74. package/dist/commonjs/models/subscriptionadjustmentsresponse.js +53 -0
  75. package/dist/commonjs/models/subscriptionadjustmentsresponse.js.map +1 -0
  76. package/dist/commonjs/sdk/subscriptions.d.ts +21 -0
  77. package/dist/commonjs/sdk/subscriptions.d.ts.map +1 -1
  78. package/dist/commonjs/sdk/subscriptions.js +30 -0
  79. package/dist/commonjs/sdk/subscriptions.js.map +1 -1
  80. package/dist/esm/funcs/pricesUpdate.d.ts +1 -1
  81. package/dist/esm/funcs/pricesUpdate.d.ts.map +1 -1
  82. package/dist/esm/funcs/pricesUpdate.js +2 -2
  83. package/dist/esm/funcs/pricesUpdate.js.map +1 -1
  84. package/dist/esm/funcs/subscriptionsCreateSubscriptionAdjustment.d.ts +19 -0
  85. package/dist/esm/funcs/subscriptionsCreateSubscriptionAdjustment.d.ts.map +1 -0
  86. package/dist/esm/funcs/subscriptionsCreateSubscriptionAdjustment.js +91 -0
  87. package/dist/esm/funcs/subscriptionsCreateSubscriptionAdjustment.js.map +1 -0
  88. package/dist/esm/funcs/subscriptionsDeleteSubscriptionAdjustment.d.ts +18 -0
  89. package/dist/esm/funcs/subscriptionsDeleteSubscriptionAdjustment.d.ts.map +1 -0
  90. package/dist/esm/funcs/subscriptionsDeleteSubscriptionAdjustment.js +92 -0
  91. package/dist/esm/funcs/subscriptionsDeleteSubscriptionAdjustment.js.map +1 -0
  92. package/dist/esm/funcs/subscriptionsListSubscriptionAdjustments.d.ts +19 -0
  93. package/dist/esm/funcs/subscriptionsListSubscriptionAdjustments.d.ts.map +1 -0
  94. package/dist/esm/funcs/subscriptionsListSubscriptionAdjustments.js +93 -0
  95. package/dist/esm/funcs/subscriptionsListSubscriptionAdjustments.js.map +1 -0
  96. package/dist/esm/lib/config.d.ts +2 -2
  97. package/dist/esm/lib/config.js +2 -2
  98. package/dist/esm/models/createsubscriptionadjustmentrequest.d.ts +53 -0
  99. package/dist/esm/models/createsubscriptionadjustmentrequest.d.ts.map +1 -0
  100. package/dist/esm/models/createsubscriptionadjustmentrequest.js +26 -0
  101. package/dist/esm/models/createsubscriptionadjustmentrequest.js.map +1 -0
  102. package/dist/esm/models/errors/index.d.ts +1 -0
  103. package/dist/esm/models/errors/index.d.ts.map +1 -1
  104. package/dist/esm/models/errors/index.js +1 -0
  105. package/dist/esm/models/errors/index.js.map +1 -1
  106. package/dist/esm/models/errors/updateprice.d.ts +36 -0
  107. package/dist/esm/models/errors/updateprice.d.ts.map +1 -0
  108. package/dist/esm/models/errors/updateprice.js +40 -0
  109. package/dist/esm/models/errors/updateprice.js.map +1 -0
  110. package/dist/esm/models/index.d.ts +4 -1
  111. package/dist/esm/models/index.d.ts.map +1 -1
  112. package/dist/esm/models/index.js +4 -1
  113. package/dist/esm/models/index.js.map +1 -1
  114. package/dist/esm/models/operations/createprice.d.ts +2 -2
  115. package/dist/esm/models/operations/createprice.d.ts.map +1 -1
  116. package/dist/esm/models/operations/createprice.js +1 -1
  117. package/dist/esm/models/operations/createprice.js.map +1 -1
  118. package/dist/esm/models/operations/createsubscriptionadjustment.d.ts +18 -0
  119. package/dist/esm/models/operations/createsubscriptionadjustment.d.ts.map +1 -0
  120. package/dist/esm/models/operations/createsubscriptionadjustment.js +19 -0
  121. package/dist/esm/models/operations/createsubscriptionadjustment.js.map +1 -0
  122. package/dist/esm/models/operations/deletesubscriptionadjustment.d.ts +20 -0
  123. package/dist/esm/models/operations/deletesubscriptionadjustment.d.ts.map +1 -0
  124. package/dist/esm/models/operations/deletesubscriptionadjustment.js +13 -0
  125. package/dist/esm/models/operations/deletesubscriptionadjustment.js.map +1 -0
  126. package/dist/esm/models/operations/index.d.ts +3 -0
  127. package/dist/esm/models/operations/index.d.ts.map +1 -1
  128. package/dist/esm/models/operations/index.js +3 -0
  129. package/dist/esm/models/operations/index.js.map +1 -1
  130. package/dist/esm/models/operations/listsubscriptionadjustments.d.ts +25 -0
  131. package/dist/esm/models/operations/listsubscriptionadjustments.d.ts.map +1 -0
  132. package/dist/esm/models/operations/listsubscriptionadjustments.js +14 -0
  133. package/dist/esm/models/operations/listsubscriptionadjustments.js.map +1 -0
  134. package/dist/esm/models/operations/updateprice.d.ts +12 -2
  135. package/dist/esm/models/operations/updateprice.d.ts.map +1 -1
  136. package/dist/esm/models/operations/updateprice.js +11 -1
  137. package/dist/esm/models/operations/updateprice.js.map +1 -1
  138. package/dist/esm/models/priceproperties.d.ts +125 -0
  139. package/dist/esm/models/priceproperties.d.ts.map +1 -0
  140. package/dist/esm/models/priceproperties.js +104 -0
  141. package/dist/esm/models/priceproperties.js.map +1 -0
  142. package/dist/esm/models/schemasprice.d.ts +2 -2
  143. package/dist/esm/models/schemasprice.d.ts.map +1 -1
  144. package/dist/esm/models/schemasprice.js +2 -2
  145. package/dist/esm/models/schemasprice.js.map +1 -1
  146. package/dist/esm/models/subscriptionadjustment.d.ts +49 -0
  147. package/dist/esm/models/subscriptionadjustment.d.ts.map +1 -0
  148. package/dist/esm/models/subscriptionadjustment.js +31 -0
  149. package/dist/esm/models/subscriptionadjustment.js.map +1 -0
  150. package/dist/esm/models/subscriptionadjustmentsresponse.d.ts +16 -0
  151. package/dist/esm/models/subscriptionadjustmentsresponse.d.ts.map +1 -0
  152. package/dist/esm/models/subscriptionadjustmentsresponse.js +16 -0
  153. package/dist/esm/models/subscriptionadjustmentsresponse.js.map +1 -0
  154. package/dist/esm/sdk/subscriptions.d.ts +21 -0
  155. package/dist/esm/sdk/subscriptions.d.ts.map +1 -1
  156. package/dist/esm/sdk/subscriptions.js +30 -0
  157. package/dist/esm/sdk/subscriptions.js.map +1 -1
  158. package/jsr.json +1 -1
  159. package/package.json +1 -1
  160. package/src/funcs/pricesUpdate.ts +5 -1
  161. package/src/funcs/subscriptionsCreateSubscriptionAdjustment.ts +186 -0
  162. package/src/funcs/subscriptionsDeleteSubscriptionAdjustment.ts +185 -0
  163. package/src/funcs/subscriptionsListSubscriptionAdjustments.ts +183 -0
  164. package/src/lib/config.ts +2 -2
  165. package/src/models/createsubscriptionadjustmentrequest.ts +85 -0
  166. package/src/models/errors/index.ts +1 -0
  167. package/src/models/errors/updateprice.ts +71 -0
  168. package/src/models/index.ts +4 -1
  169. package/src/models/operations/createprice.ts +3 -3
  170. package/src/models/operations/createsubscriptionadjustment.ts +48 -0
  171. package/src/models/operations/deletesubscriptionadjustment.ts +42 -0
  172. package/src/models/operations/index.ts +3 -0
  173. package/src/models/operations/listsubscriptionadjustments.ts +48 -0
  174. package/src/models/operations/updateprice.ts +33 -3
  175. package/src/models/priceproperties.ts +325 -0
  176. package/src/models/schemasprice.ts +5 -5
  177. package/src/models/subscriptionadjustment.ts +94 -0
  178. package/src/models/subscriptionadjustmentsresponse.ts +44 -0
  179. package/src/sdk/subscriptions.ts +54 -0
  180. package/dist/commonjs/models/pricepropertiesunion.d.ts +0 -152
  181. package/dist/commonjs/models/pricepropertiesunion.d.ts.map +0 -1
  182. package/dist/commonjs/models/pricepropertiesunion.js +0 -169
  183. package/dist/commonjs/models/pricepropertiesunion.js.map +0 -1
  184. package/dist/esm/models/pricepropertiesunion.d.ts +0 -152
  185. package/dist/esm/models/pricepropertiesunion.d.ts.map +0 -1
  186. package/dist/esm/models/pricepropertiesunion.js +0 -121
  187. package/dist/esm/models/pricepropertiesunion.js.map +0 -1
  188. package/src/models/pricepropertiesunion.ts +0 -364
@@ -0,0 +1,183 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { PaygenticCore } from "../core.js";
6
+ import { encodeFormQuery, encodeSimple } from "../lib/encodings.js";
7
+ import * as M from "../lib/matchers.js";
8
+ import { compactMap } from "../lib/primitives.js";
9
+ import { safeParse } from "../lib/schemas.js";
10
+ import { RequestOptions } from "../lib/sdks.js";
11
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
12
+ import { pathToFunc } from "../lib/url.js";
13
+ import {
14
+ ConnectionError,
15
+ InvalidRequestError,
16
+ RequestAbortedError,
17
+ RequestTimeoutError,
18
+ UnexpectedClientError,
19
+ } from "../models/errors/httpclienterrors.js";
20
+ import * as errors from "../models/errors/index.js";
21
+ import { PaygenticError } from "../models/errors/paygenticerror.js";
22
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
23
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
24
+ import * as models from "../models/index.js";
25
+ import * as operations from "../models/operations/index.js";
26
+ import { APICall, APIPromise } from "../types/async.js";
27
+ import { Result } from "../types/fp.js";
28
+
29
+ /**
30
+ * List Adjustments
31
+ *
32
+ * @remarks
33
+ * Reads the adjustments on the subscription, oldest window first. A subscription with no adjustment returns an empty array. Paginated, because a long-running subscription accumulates one adjustment per rate change of every deal it has carried.
34
+ */
35
+ export function subscriptionsListSubscriptionAdjustments(
36
+ client: PaygenticCore,
37
+ request: operations.ListSubscriptionAdjustmentsRequest,
38
+ options?: RequestOptions,
39
+ ): APIPromise<
40
+ Result<
41
+ models.SubscriptionAdjustmentsResponse,
42
+ | errors.ErrorT
43
+ | PaygenticError
44
+ | ResponseValidationError
45
+ | ConnectionError
46
+ | RequestAbortedError
47
+ | RequestTimeoutError
48
+ | InvalidRequestError
49
+ | UnexpectedClientError
50
+ | SDKValidationError
51
+ >
52
+ > {
53
+ return new APIPromise($do(
54
+ client,
55
+ request,
56
+ options,
57
+ ));
58
+ }
59
+
60
+ async function $do(
61
+ client: PaygenticCore,
62
+ request: operations.ListSubscriptionAdjustmentsRequest,
63
+ options?: RequestOptions,
64
+ ): Promise<
65
+ [
66
+ Result<
67
+ models.SubscriptionAdjustmentsResponse,
68
+ | errors.ErrorT
69
+ | PaygenticError
70
+ | ResponseValidationError
71
+ | ConnectionError
72
+ | RequestAbortedError
73
+ | RequestTimeoutError
74
+ | InvalidRequestError
75
+ | UnexpectedClientError
76
+ | SDKValidationError
77
+ >,
78
+ APICall,
79
+ ]
80
+ > {
81
+ const parsed = safeParse(
82
+ request,
83
+ (value) =>
84
+ operations.ListSubscriptionAdjustmentsRequest$outboundSchema.parse(value),
85
+ "Input validation failed",
86
+ );
87
+ if (!parsed.ok) {
88
+ return [parsed, { status: "invalid" }];
89
+ }
90
+ const payload = parsed.value;
91
+ const body = null;
92
+
93
+ const pathParams = {
94
+ id: encodeSimple("id", payload.id, {
95
+ explode: false,
96
+ charEncoding: "percent",
97
+ }),
98
+ };
99
+ const path = pathToFunc("/v0/subscriptions/{id}/adjustments")(pathParams);
100
+
101
+ const query = encodeFormQuery({
102
+ "limit": payload.limit,
103
+ "offset": payload.offset,
104
+ });
105
+
106
+ const headers = new Headers(compactMap({
107
+ Accept: "application/json",
108
+ }));
109
+
110
+ const secConfig = await extractSecurity(client._options.bearerAuth);
111
+ const securityInput = secConfig == null ? {} : { bearerAuth: secConfig };
112
+ const requestSecurity = resolveGlobalSecurity(securityInput);
113
+
114
+ const context = {
115
+ options: client._options,
116
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
117
+ operationID: "listSubscriptionAdjustments",
118
+ oAuth2Scopes: null,
119
+
120
+ resolvedSecurity: requestSecurity,
121
+
122
+ securitySource: client._options.bearerAuth,
123
+ retryConfig: options?.retries
124
+ || client._options.retryConfig
125
+ || { strategy: "none" },
126
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
127
+ };
128
+
129
+ const requestRes = client._createRequest(context, {
130
+ security: requestSecurity,
131
+ method: "GET",
132
+ baseURL: options?.serverURL,
133
+ path: path,
134
+ headers: headers,
135
+ query: query,
136
+ body: body,
137
+ userAgent: client._options.userAgent,
138
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
139
+ }, options);
140
+ if (!requestRes.ok) {
141
+ return [requestRes, { status: "invalid" }];
142
+ }
143
+ const req = requestRes.value;
144
+
145
+ const doResult = await client._do(req, {
146
+ context,
147
+ errorCodes: ["401", "403", "404", "4XX", "500", "5XX"],
148
+ retryConfig: context.retryConfig,
149
+ retryCodes: context.retryCodes,
150
+ });
151
+ if (!doResult.ok) {
152
+ return [doResult, { status: "request-error", request: req }];
153
+ }
154
+ const response = doResult.value;
155
+
156
+ const responseFields = {
157
+ HttpMeta: { Response: response, Request: req },
158
+ };
159
+
160
+ const [result] = await M.match<
161
+ models.SubscriptionAdjustmentsResponse,
162
+ | errors.ErrorT
163
+ | PaygenticError
164
+ | ResponseValidationError
165
+ | ConnectionError
166
+ | RequestAbortedError
167
+ | RequestTimeoutError
168
+ | InvalidRequestError
169
+ | UnexpectedClientError
170
+ | SDKValidationError
171
+ >(
172
+ M.json(200, models.SubscriptionAdjustmentsResponse$inboundSchema),
173
+ M.jsonErr([401, 403, 404], errors.ErrorT$inboundSchema),
174
+ M.jsonErr(500, errors.ErrorT$inboundSchema),
175
+ M.fail("4XX"),
176
+ M.fail("5XX"),
177
+ )(response, req, { extraFields: responseFields });
178
+ if (!result.ok) {
179
+ return [result, { status: "complete", request: req, response }];
180
+ }
181
+
182
+ return [result, { status: "complete", request: req, response }];
183
+ }
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.9.4",
68
+ sdkVersion: "0.9.5",
69
69
  genVersion: "2.879.13",
70
- userAgent: "speakeasy-sdk/typescript 0.9.4 2.879.13 0.1.0 @paygentic/sdk",
70
+ userAgent: "speakeasy-sdk/typescript 0.9.5 2.879.13 0.1.0 @paygentic/sdk",
71
71
  } as const;
@@ -0,0 +1,85 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { ClosedEnum } from "../types/enums.js";
7
+
8
+ /**
9
+ * The kind of adjustment. `percentageDiscount` reduces every discountable charge by a rate.
10
+ */
11
+ export const CreateSubscriptionAdjustmentRequestType = {
12
+ PercentageDiscount: "percentageDiscount",
13
+ } as const;
14
+ /**
15
+ * The kind of adjustment. `percentageDiscount` reduces every discountable charge by a rate.
16
+ */
17
+ export type CreateSubscriptionAdjustmentRequestType = ClosedEnum<
18
+ typeof CreateSubscriptionAdjustmentRequestType
19
+ >;
20
+
21
+ export type CreateSubscriptionAdjustmentRequest = {
22
+ /**
23
+ * The kind of adjustment. `percentageDiscount` reduces every discountable charge by a rate.
24
+ */
25
+ type: CreateSubscriptionAdjustmentRequestType;
26
+ /**
27
+ * The discount rate as a decimal fraction between 0 and 1, sent as a string. "0.35" means 35 percent. "1" means 100 percent, not 1 percent. At most 6 decimal places. A value of 0 or above 1 is rejected.
28
+ */
29
+ percentageDiscount: string;
30
+ /**
31
+ * The first instant the discount applies. Inclusive.
32
+ */
33
+ effectiveFrom: Date;
34
+ /**
35
+ * The instant the discount stops applying. Exclusive, so a window ending on the same date another begins neither overlaps nor leaves a gap. Null means the discount never stops, and it cannot be ended later — set an instant whenever the deal has a known end date. Must be after effectiveFrom.
36
+ */
37
+ effectiveTo?: Date | null | undefined;
38
+ /**
39
+ * The deal's own name, shown on each discount line of the invoice.
40
+ */
41
+ description?: string | null | undefined;
42
+ /**
43
+ * A key of your choosing that makes a retry safe. Sending the same key against the same subscription returns the adjustment already created and creates no second one. Without a key a retried request creates a second adjustment, and two percentage discounts compound — two of 0.35 bill 57.75 percent off, not 35 percent.
44
+ */
45
+ idempotencyKey?: string | undefined;
46
+ };
47
+
48
+ /** @internal */
49
+ export const CreateSubscriptionAdjustmentRequestType$outboundSchema:
50
+ z.ZodNativeEnum<typeof CreateSubscriptionAdjustmentRequestType> = z
51
+ .nativeEnum(CreateSubscriptionAdjustmentRequestType);
52
+
53
+ /** @internal */
54
+ export type CreateSubscriptionAdjustmentRequest$Outbound = {
55
+ type: string;
56
+ percentageDiscount: string;
57
+ effectiveFrom: string;
58
+ effectiveTo?: string | null | undefined;
59
+ description?: string | null | undefined;
60
+ idempotencyKey?: string | undefined;
61
+ };
62
+
63
+ /** @internal */
64
+ export const CreateSubscriptionAdjustmentRequest$outboundSchema: z.ZodType<
65
+ CreateSubscriptionAdjustmentRequest$Outbound,
66
+ z.ZodTypeDef,
67
+ CreateSubscriptionAdjustmentRequest
68
+ > = z.object({
69
+ type: CreateSubscriptionAdjustmentRequestType$outboundSchema,
70
+ percentageDiscount: z.string(),
71
+ effectiveFrom: z.date().transform(v => v.toISOString()),
72
+ effectiveTo: z.nullable(z.date().transform(v => v.toISOString())).optional(),
73
+ description: z.nullable(z.string()).optional(),
74
+ idempotencyKey: z.string().optional(),
75
+ });
76
+
77
+ export function createSubscriptionAdjustmentRequestToJSON(
78
+ createSubscriptionAdjustmentRequest: CreateSubscriptionAdjustmentRequest,
79
+ ): string {
80
+ return JSON.stringify(
81
+ CreateSubscriptionAdjustmentRequest$outboundSchema.parse(
82
+ createSubscriptionAdjustmentRequest,
83
+ ),
84
+ );
85
+ }
@@ -12,4 +12,5 @@ export * from "./paygenticdefaulterror.js";
12
12
  export * from "./paygenticerror.js";
13
13
  export * from "./responsevalidationerror.js";
14
14
  export * from "./sdkvalidationerror.js";
15
+ export * from "./updateprice.js";
15
16
  export * from "./validationerror.js";
@@ -0,0 +1,71 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import * as operations from "../operations/index.js";
7
+ import { PaygenticError } from "./paygenticerror.js";
8
+
9
+ /**
10
+ * Price cannot be restructured because a subscription still bills it directly
11
+ */
12
+ export type UpdatePriceConflictErrorData = {
13
+ error?: string | undefined;
14
+ message: string;
15
+ /**
16
+ * Machine-readable conflict code. Open set: a new code may appear, so branch on the ones you handle and treat anything else as an unhandled conflict.
17
+ */
18
+ code: string;
19
+ details?: operations.UpdatePriceDetails | undefined;
20
+ };
21
+
22
+ /**
23
+ * Price cannot be restructured because a subscription still bills it directly
24
+ */
25
+ export class UpdatePriceConflictError extends PaygenticError {
26
+ error?: string | undefined;
27
+ /**
28
+ * Machine-readable conflict code. Open set: a new code may appear, so branch on the ones you handle and treat anything else as an unhandled conflict.
29
+ */
30
+ code: string;
31
+ details?: operations.UpdatePriceDetails | undefined;
32
+
33
+ /** The original data that was passed to this error instance. */
34
+ data$: UpdatePriceConflictErrorData;
35
+
36
+ constructor(
37
+ err: UpdatePriceConflictErrorData,
38
+ httpMeta: { response: Response; request: Request; body: string },
39
+ ) {
40
+ const message = err.message || `API error occurred: ${JSON.stringify(err)}`;
41
+ super(message, httpMeta);
42
+ this.data$ = err;
43
+ if (err.error != null) this.error = err.error;
44
+ this.code = err.code;
45
+ if (err.details != null) this.details = err.details;
46
+
47
+ this.name = "UpdatePriceConflictError";
48
+ }
49
+ }
50
+
51
+ /** @internal */
52
+ export const UpdatePriceConflictError$inboundSchema: z.ZodType<
53
+ UpdatePriceConflictError,
54
+ z.ZodTypeDef,
55
+ unknown
56
+ > = z.object({
57
+ error: z.string().optional(),
58
+ message: z.string(),
59
+ code: z.string(),
60
+ details: z.lazy(() => operations.UpdatePriceDetails$inboundSchema).optional(),
61
+ request$: z.instanceof(Request),
62
+ response$: z.instanceof(Response),
63
+ body$: z.string(),
64
+ })
65
+ .transform((v) => {
66
+ return new UpdatePriceConflictError(v, {
67
+ request: v.request$,
68
+ response: v.response$,
69
+ body: v.body$,
70
+ });
71
+ });
@@ -22,6 +22,7 @@ export * from "./createorderapprovalrequest.js";
22
22
  export * from "./createorderlineitemrequest.js";
23
23
  export * from "./createorderrequest.js";
24
24
  export * from "./createrulerequest.js";
25
+ export * from "./createsubscriptionadjustmentrequest.js";
25
26
  export * from "./currencybreakdownentry.js";
26
27
  export * from "./customer.js";
27
28
  export * from "./entitlementdetail.js";
@@ -75,7 +76,7 @@ export * from "./pricefeature.js";
75
76
  export * from "./pricefeatureinput.js";
76
77
  export * from "./pricemodel.js";
77
78
  export * from "./pricemodelinput.js";
78
- export * from "./pricepropertiesunion.js";
79
+ export * from "./priceproperties.js";
79
80
  export * from "./product.js";
80
81
  export * from "./profitabilityrow.js";
81
82
  export * from "./profitabilitysummaryresponse.js";
@@ -104,6 +105,8 @@ export * from "./sourcerule.js";
104
105
  export * from "./staticentitlementdetail.js";
105
106
  export * from "./staticentitlementlistitem.js";
106
107
  export * from "./subscription.js";
108
+ export * from "./subscriptionadjustment.js";
109
+ export * from "./subscriptionadjustmentsresponse.js";
107
110
  export * from "./subscriptionmetadata.js";
108
111
  export * from "./subscriptionportal.js";
109
112
  export * from "./subscriptionreconciliation.js";
@@ -47,7 +47,7 @@ export type CreatePriceRequest = {
47
47
  * ISO 8601 duration for recurring charges (e.g., 'P1M' for monthly, 'P1Y' for yearly) or 'P0D' for one-time charges. Required for fees, optional for billable metrics. Sample values: 'P0D' for one-time, 'P1M' for monthly recurring, 'P1Y' for yearly recurring
48
48
  */
49
49
  billingCadence?: string | null | undefined;
50
- properties: models.PricePropertiesUnion;
50
+ properties: models.PriceProperties;
51
51
  feature?: models.PriceFeatureInput | undefined;
52
52
  /**
53
53
  * When true, grants applied to a subscription will discount usage charged by this price. Only supported for standard metered prices.
@@ -73,7 +73,7 @@ export type CreatePriceRequest$Outbound = {
73
73
  invoiceDisplayName: string;
74
74
  paymentTerm: string;
75
75
  billingCadence?: string | null | undefined;
76
- properties: models.PricePropertiesUnion$Outbound;
76
+ properties: models.PriceProperties$Outbound;
77
77
  feature?: models.PriceFeatureInput$Outbound | undefined;
78
78
  grantDiscountEnabled: boolean;
79
79
  quantity?: number | undefined;
@@ -92,7 +92,7 @@ export const CreatePriceRequest$outboundSchema: z.ZodType<
92
92
  invoiceDisplayName: z.string(),
93
93
  paymentTerm: CreatePricePaymentTerm$outboundSchema,
94
94
  billingCadence: z.nullable(z.string()).optional(),
95
- properties: models.PricePropertiesUnion$outboundSchema,
95
+ properties: models.PriceProperties$outboundSchema,
96
96
  feature: models.PriceFeatureInput$outboundSchema.optional(),
97
97
  grantDiscountEnabled: z.boolean().default(false),
98
98
  quantity: z.number().int().optional(),
@@ -0,0 +1,48 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import * as models from "../index.js";
8
+
9
+ export type CreateSubscriptionAdjustmentRequest = {
10
+ /**
11
+ * The subscription ID
12
+ */
13
+ id: string;
14
+ createSubscriptionAdjustmentRequest:
15
+ models.CreateSubscriptionAdjustmentRequest;
16
+ };
17
+
18
+ /** @internal */
19
+ export type CreateSubscriptionAdjustmentRequest$Outbound = {
20
+ id: string;
21
+ CreateSubscriptionAdjustmentRequest:
22
+ models.CreateSubscriptionAdjustmentRequest$Outbound;
23
+ };
24
+
25
+ /** @internal */
26
+ export const CreateSubscriptionAdjustmentRequest$outboundSchema: z.ZodType<
27
+ CreateSubscriptionAdjustmentRequest$Outbound,
28
+ z.ZodTypeDef,
29
+ CreateSubscriptionAdjustmentRequest
30
+ > = z.object({
31
+ id: z.string(),
32
+ createSubscriptionAdjustmentRequest:
33
+ models.CreateSubscriptionAdjustmentRequest$outboundSchema,
34
+ }).transform((v) => {
35
+ return remap$(v, {
36
+ createSubscriptionAdjustmentRequest: "CreateSubscriptionAdjustmentRequest",
37
+ });
38
+ });
39
+
40
+ export function createSubscriptionAdjustmentRequestToJSON(
41
+ createSubscriptionAdjustmentRequest: CreateSubscriptionAdjustmentRequest,
42
+ ): string {
43
+ return JSON.stringify(
44
+ CreateSubscriptionAdjustmentRequest$outboundSchema.parse(
45
+ createSubscriptionAdjustmentRequest,
46
+ ),
47
+ );
48
+ }
@@ -0,0 +1,42 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+
7
+ export type DeleteSubscriptionAdjustmentRequest = {
8
+ /**
9
+ * The subscription ID
10
+ */
11
+ id: string;
12
+ /**
13
+ * The adjustment ID
14
+ */
15
+ adjustmentId: string;
16
+ };
17
+
18
+ /** @internal */
19
+ export type DeleteSubscriptionAdjustmentRequest$Outbound = {
20
+ id: string;
21
+ adjustmentId: string;
22
+ };
23
+
24
+ /** @internal */
25
+ export const DeleteSubscriptionAdjustmentRequest$outboundSchema: z.ZodType<
26
+ DeleteSubscriptionAdjustmentRequest$Outbound,
27
+ z.ZodTypeDef,
28
+ DeleteSubscriptionAdjustmentRequest
29
+ > = z.object({
30
+ id: z.string(),
31
+ adjustmentId: z.string(),
32
+ });
33
+
34
+ export function deleteSubscriptionAdjustmentRequestToJSON(
35
+ deleteSubscriptionAdjustmentRequest: DeleteSubscriptionAdjustmentRequest,
36
+ ): string {
37
+ return JSON.stringify(
38
+ DeleteSubscriptionAdjustmentRequest$outboundSchema.parse(
39
+ deleteSubscriptionAdjustmentRequest,
40
+ ),
41
+ );
42
+ }
@@ -25,6 +25,7 @@ export * from "./createprice.js";
25
25
  export * from "./createproduct.js";
26
26
  export * from "./createsource.js";
27
27
  export * from "./createsubscription.js";
28
+ export * from "./createsubscriptionadjustment.js";
28
29
  export * from "./createtestclock.js";
29
30
  export * from "./deletebillingschedule.js";
30
31
  export * from "./deletecost.js";
@@ -36,6 +37,7 @@ export * from "./deleteorder.js";
36
37
  export * from "./deleteorderlineitem.js";
37
38
  export * from "./deleteprice.js";
38
39
  export * from "./deletesourcerule.js";
40
+ export * from "./deletesubscriptionadjustment.js";
39
41
  export * from "./deletetestclock.js";
40
42
  export * from "./disconnectmerchantintegration.js";
41
43
  export * from "./downloadinvoicepdf.js";
@@ -103,6 +105,7 @@ export * from "./listscheduleinvoices.js";
103
105
  export * from "./listsourceevents.js";
104
106
  export * from "./listsourcerules.js";
105
107
  export * from "./listsources.js";
108
+ export * from "./listsubscriptionadjustments.js";
106
109
  export * from "./listsubscriptions.js";
107
110
  export * from "./listtestclocks.js";
108
111
  export * from "./mintplanversion.js";
@@ -0,0 +1,48 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+
7
+ export type ListSubscriptionAdjustmentsRequest = {
8
+ /**
9
+ * The subscription ID
10
+ */
11
+ id: string;
12
+ /**
13
+ * Number of adjustments to return
14
+ */
15
+ limit?: string | undefined;
16
+ /**
17
+ * Number of adjustments to skip
18
+ */
19
+ offset?: string | undefined;
20
+ };
21
+
22
+ /** @internal */
23
+ export type ListSubscriptionAdjustmentsRequest$Outbound = {
24
+ id: string;
25
+ limit: string;
26
+ offset: string;
27
+ };
28
+
29
+ /** @internal */
30
+ export const ListSubscriptionAdjustmentsRequest$outboundSchema: z.ZodType<
31
+ ListSubscriptionAdjustmentsRequest$Outbound,
32
+ z.ZodTypeDef,
33
+ ListSubscriptionAdjustmentsRequest
34
+ > = z.object({
35
+ id: z.string(),
36
+ limit: z.string().default("10"),
37
+ offset: z.string().default("0"),
38
+ });
39
+
40
+ export function listSubscriptionAdjustmentsRequestToJSON(
41
+ listSubscriptionAdjustmentsRequest: ListSubscriptionAdjustmentsRequest,
42
+ ): string {
43
+ return JSON.stringify(
44
+ ListSubscriptionAdjustmentsRequest$outboundSchema.parse(
45
+ listSubscriptionAdjustmentsRequest,
46
+ ),
47
+ );
48
+ }
@@ -4,7 +4,10 @@
4
4
 
5
5
  import * as z from "zod/v3";
6
6
  import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
7
8
  import { ClosedEnum } from "../../types/enums.js";
9
+ import { Result as SafeParseResult } from "../../types/fp.js";
10
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
8
11
  import * as models from "../index.js";
9
12
 
10
13
  /**
@@ -36,7 +39,7 @@ export type UpdatePriceRequestBody = {
36
39
  * The pricing model to set. Only 'standard' is accepted. Legacy 'dynamic'/'volume'/'percentage' prices can still be edited (other fields) but cannot be switched to those models. Percentage/revenue-share is expressed via 'standard' with a unit-price multiplier.
37
40
  */
38
41
  model?: models.PriceModelInput | undefined;
39
- properties?: models.PricePropertiesUnion | undefined;
42
+ properties?: models.PriceProperties | undefined;
40
43
  /**
41
44
  * Billing timing preference: 'in_advance' (prepaid — charged upfront or drawn from a prepaid commitment) or 'in_arrears' (charged at period end).
42
45
  */
@@ -67,6 +70,12 @@ export type UpdatePriceRequest = {
67
70
  requestBody: UpdatePriceRequestBody;
68
71
  };
69
72
 
73
+ export type UpdatePriceDetails = {
74
+ priceId?: string | undefined;
75
+ fields?: Array<string> | undefined;
76
+ subscriptionCount?: number | undefined;
77
+ };
78
+
70
79
  /** @internal */
71
80
  export const UpdatePricePaymentTerm$outboundSchema: z.ZodNativeEnum<
72
81
  typeof UpdatePricePaymentTerm
@@ -78,7 +87,7 @@ export type UpdatePriceRequestBody$Outbound = {
78
87
  pricingUnitId?: string | null | undefined;
79
88
  invoiceDisplayName?: string | undefined;
80
89
  model?: string | undefined;
81
- properties?: models.PricePropertiesUnion$Outbound | undefined;
90
+ properties?: models.PriceProperties$Outbound | undefined;
82
91
  paymentTerm?: string | undefined;
83
92
  billingCadence?: string | null | undefined;
84
93
  feature?: models.PriceFeatureInput$Outbound | null | undefined;
@@ -96,7 +105,7 @@ export const UpdatePriceRequestBody$outboundSchema: z.ZodType<
96
105
  pricingUnitId: z.nullable(z.string()).optional(),
97
106
  invoiceDisplayName: z.string().optional(),
98
107
  model: models.PriceModelInput$outboundSchema.optional(),
99
- properties: models.PricePropertiesUnion$outboundSchema.optional(),
108
+ properties: models.PriceProperties$outboundSchema.optional(),
100
109
  paymentTerm: UpdatePricePaymentTerm$outboundSchema.optional(),
101
110
  billingCadence: z.nullable(z.string()).optional(),
102
111
  feature: z.nullable(models.PriceFeatureInput$outboundSchema).optional(),
@@ -139,3 +148,24 @@ export function updatePriceRequestToJSON(
139
148
  UpdatePriceRequest$outboundSchema.parse(updatePriceRequest),
140
149
  );
141
150
  }
151
+
152
+ /** @internal */
153
+ export const UpdatePriceDetails$inboundSchema: z.ZodType<
154
+ UpdatePriceDetails,
155
+ z.ZodTypeDef,
156
+ unknown
157
+ > = z.object({
158
+ priceId: z.string().optional(),
159
+ fields: z.array(z.string()).optional(),
160
+ subscriptionCount: z.number().int().optional(),
161
+ });
162
+
163
+ export function updatePriceDetailsFromJSON(
164
+ jsonString: string,
165
+ ): SafeParseResult<UpdatePriceDetails, SDKValidationError> {
166
+ return safeParse(
167
+ jsonString,
168
+ (x) => UpdatePriceDetails$inboundSchema.parse(JSON.parse(x)),
169
+ `Failed to parse 'UpdatePriceDetails' from JSON`,
170
+ );
171
+ }