@paygentic/sdk 0.9.3 → 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 (197) 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/invoice.d.ts +21 -1
  37. package/dist/commonjs/models/invoice.d.ts.map +1 -1
  38. package/dist/commonjs/models/invoice.js +16 -1
  39. package/dist/commonjs/models/invoice.js.map +1 -1
  40. package/dist/commonjs/models/operations/createprice.d.ts +2 -2
  41. package/dist/commonjs/models/operations/createprice.d.ts.map +1 -1
  42. package/dist/commonjs/models/operations/createprice.js +1 -1
  43. package/dist/commonjs/models/operations/createprice.js.map +1 -1
  44. package/dist/commonjs/models/operations/createsubscriptionadjustment.d.ts +18 -0
  45. package/dist/commonjs/models/operations/createsubscriptionadjustment.d.ts.map +1 -0
  46. package/dist/commonjs/models/operations/createsubscriptionadjustment.js +56 -0
  47. package/dist/commonjs/models/operations/createsubscriptionadjustment.js.map +1 -0
  48. package/dist/commonjs/models/operations/deletesubscriptionadjustment.d.ts +20 -0
  49. package/dist/commonjs/models/operations/deletesubscriptionadjustment.d.ts.map +1 -0
  50. package/dist/commonjs/models/operations/deletesubscriptionadjustment.js +50 -0
  51. package/dist/commonjs/models/operations/deletesubscriptionadjustment.js.map +1 -0
  52. package/dist/commonjs/models/operations/index.d.ts +3 -0
  53. package/dist/commonjs/models/operations/index.d.ts.map +1 -1
  54. package/dist/commonjs/models/operations/index.js +3 -0
  55. package/dist/commonjs/models/operations/index.js.map +1 -1
  56. package/dist/commonjs/models/operations/listsubscriptionadjustments.d.ts +25 -0
  57. package/dist/commonjs/models/operations/listsubscriptionadjustments.d.ts.map +1 -0
  58. package/dist/commonjs/models/operations/listsubscriptionadjustments.js +51 -0
  59. package/dist/commonjs/models/operations/listsubscriptionadjustments.js.map +1 -0
  60. package/dist/commonjs/models/operations/updateprice.d.ts +12 -2
  61. package/dist/commonjs/models/operations/updateprice.d.ts.map +1 -1
  62. package/dist/commonjs/models/operations/updateprice.js +13 -2
  63. package/dist/commonjs/models/operations/updateprice.js.map +1 -1
  64. package/dist/commonjs/models/priceproperties.d.ts +125 -0
  65. package/dist/commonjs/models/priceproperties.d.ts.map +1 -0
  66. package/dist/commonjs/models/priceproperties.js +152 -0
  67. package/dist/commonjs/models/priceproperties.js.map +1 -0
  68. package/dist/commonjs/models/schemasprice.d.ts +2 -2
  69. package/dist/commonjs/models/schemasprice.d.ts.map +1 -1
  70. package/dist/commonjs/models/schemasprice.js +2 -2
  71. package/dist/commonjs/models/schemasprice.js.map +1 -1
  72. package/dist/commonjs/models/subscriptionadjustment.d.ts +49 -0
  73. package/dist/commonjs/models/subscriptionadjustment.d.ts.map +1 -0
  74. package/dist/commonjs/models/subscriptionadjustment.js +68 -0
  75. package/dist/commonjs/models/subscriptionadjustment.js.map +1 -0
  76. package/dist/commonjs/models/subscriptionadjustmentsresponse.d.ts +16 -0
  77. package/dist/commonjs/models/subscriptionadjustmentsresponse.d.ts.map +1 -0
  78. package/dist/commonjs/models/subscriptionadjustmentsresponse.js +53 -0
  79. package/dist/commonjs/models/subscriptionadjustmentsresponse.js.map +1 -0
  80. package/dist/commonjs/sdk/subscriptions.d.ts +21 -0
  81. package/dist/commonjs/sdk/subscriptions.d.ts.map +1 -1
  82. package/dist/commonjs/sdk/subscriptions.js +30 -0
  83. package/dist/commonjs/sdk/subscriptions.js.map +1 -1
  84. package/dist/esm/funcs/pricesUpdate.d.ts +1 -1
  85. package/dist/esm/funcs/pricesUpdate.d.ts.map +1 -1
  86. package/dist/esm/funcs/pricesUpdate.js +2 -2
  87. package/dist/esm/funcs/pricesUpdate.js.map +1 -1
  88. package/dist/esm/funcs/subscriptionsCreateSubscriptionAdjustment.d.ts +19 -0
  89. package/dist/esm/funcs/subscriptionsCreateSubscriptionAdjustment.d.ts.map +1 -0
  90. package/dist/esm/funcs/subscriptionsCreateSubscriptionAdjustment.js +91 -0
  91. package/dist/esm/funcs/subscriptionsCreateSubscriptionAdjustment.js.map +1 -0
  92. package/dist/esm/funcs/subscriptionsDeleteSubscriptionAdjustment.d.ts +18 -0
  93. package/dist/esm/funcs/subscriptionsDeleteSubscriptionAdjustment.d.ts.map +1 -0
  94. package/dist/esm/funcs/subscriptionsDeleteSubscriptionAdjustment.js +92 -0
  95. package/dist/esm/funcs/subscriptionsDeleteSubscriptionAdjustment.js.map +1 -0
  96. package/dist/esm/funcs/subscriptionsListSubscriptionAdjustments.d.ts +19 -0
  97. package/dist/esm/funcs/subscriptionsListSubscriptionAdjustments.d.ts.map +1 -0
  98. package/dist/esm/funcs/subscriptionsListSubscriptionAdjustments.js +93 -0
  99. package/dist/esm/funcs/subscriptionsListSubscriptionAdjustments.js.map +1 -0
  100. package/dist/esm/lib/config.d.ts +2 -2
  101. package/dist/esm/lib/config.js +2 -2
  102. package/dist/esm/models/createsubscriptionadjustmentrequest.d.ts +53 -0
  103. package/dist/esm/models/createsubscriptionadjustmentrequest.d.ts.map +1 -0
  104. package/dist/esm/models/createsubscriptionadjustmentrequest.js +26 -0
  105. package/dist/esm/models/createsubscriptionadjustmentrequest.js.map +1 -0
  106. package/dist/esm/models/errors/index.d.ts +1 -0
  107. package/dist/esm/models/errors/index.d.ts.map +1 -1
  108. package/dist/esm/models/errors/index.js +1 -0
  109. package/dist/esm/models/errors/index.js.map +1 -1
  110. package/dist/esm/models/errors/updateprice.d.ts +36 -0
  111. package/dist/esm/models/errors/updateprice.d.ts.map +1 -0
  112. package/dist/esm/models/errors/updateprice.js +40 -0
  113. package/dist/esm/models/errors/updateprice.js.map +1 -0
  114. package/dist/esm/models/index.d.ts +4 -1
  115. package/dist/esm/models/index.d.ts.map +1 -1
  116. package/dist/esm/models/index.js +4 -1
  117. package/dist/esm/models/index.js.map +1 -1
  118. package/dist/esm/models/invoice.d.ts +21 -1
  119. package/dist/esm/models/invoice.d.ts.map +1 -1
  120. package/dist/esm/models/invoice.js +15 -0
  121. package/dist/esm/models/invoice.js.map +1 -1
  122. package/dist/esm/models/operations/createprice.d.ts +2 -2
  123. package/dist/esm/models/operations/createprice.d.ts.map +1 -1
  124. package/dist/esm/models/operations/createprice.js +1 -1
  125. package/dist/esm/models/operations/createprice.js.map +1 -1
  126. package/dist/esm/models/operations/createsubscriptionadjustment.d.ts +18 -0
  127. package/dist/esm/models/operations/createsubscriptionadjustment.d.ts.map +1 -0
  128. package/dist/esm/models/operations/createsubscriptionadjustment.js +19 -0
  129. package/dist/esm/models/operations/createsubscriptionadjustment.js.map +1 -0
  130. package/dist/esm/models/operations/deletesubscriptionadjustment.d.ts +20 -0
  131. package/dist/esm/models/operations/deletesubscriptionadjustment.d.ts.map +1 -0
  132. package/dist/esm/models/operations/deletesubscriptionadjustment.js +13 -0
  133. package/dist/esm/models/operations/deletesubscriptionadjustment.js.map +1 -0
  134. package/dist/esm/models/operations/index.d.ts +3 -0
  135. package/dist/esm/models/operations/index.d.ts.map +1 -1
  136. package/dist/esm/models/operations/index.js +3 -0
  137. package/dist/esm/models/operations/index.js.map +1 -1
  138. package/dist/esm/models/operations/listsubscriptionadjustments.d.ts +25 -0
  139. package/dist/esm/models/operations/listsubscriptionadjustments.d.ts.map +1 -0
  140. package/dist/esm/models/operations/listsubscriptionadjustments.js +14 -0
  141. package/dist/esm/models/operations/listsubscriptionadjustments.js.map +1 -0
  142. package/dist/esm/models/operations/updateprice.d.ts +12 -2
  143. package/dist/esm/models/operations/updateprice.d.ts.map +1 -1
  144. package/dist/esm/models/operations/updateprice.js +11 -1
  145. package/dist/esm/models/operations/updateprice.js.map +1 -1
  146. package/dist/esm/models/priceproperties.d.ts +125 -0
  147. package/dist/esm/models/priceproperties.d.ts.map +1 -0
  148. package/dist/esm/models/priceproperties.js +104 -0
  149. package/dist/esm/models/priceproperties.js.map +1 -0
  150. package/dist/esm/models/schemasprice.d.ts +2 -2
  151. package/dist/esm/models/schemasprice.d.ts.map +1 -1
  152. package/dist/esm/models/schemasprice.js +2 -2
  153. package/dist/esm/models/schemasprice.js.map +1 -1
  154. package/dist/esm/models/subscriptionadjustment.d.ts +49 -0
  155. package/dist/esm/models/subscriptionadjustment.d.ts.map +1 -0
  156. package/dist/esm/models/subscriptionadjustment.js +31 -0
  157. package/dist/esm/models/subscriptionadjustment.js.map +1 -0
  158. package/dist/esm/models/subscriptionadjustmentsresponse.d.ts +16 -0
  159. package/dist/esm/models/subscriptionadjustmentsresponse.d.ts.map +1 -0
  160. package/dist/esm/models/subscriptionadjustmentsresponse.js +16 -0
  161. package/dist/esm/models/subscriptionadjustmentsresponse.js.map +1 -0
  162. package/dist/esm/sdk/subscriptions.d.ts +21 -0
  163. package/dist/esm/sdk/subscriptions.d.ts.map +1 -1
  164. package/dist/esm/sdk/subscriptions.js +30 -0
  165. package/dist/esm/sdk/subscriptions.js.map +1 -1
  166. package/jsr.json +1 -1
  167. package/package.json +1 -1
  168. package/src/funcs/pricesUpdate.ts +5 -1
  169. package/src/funcs/subscriptionsCreateSubscriptionAdjustment.ts +186 -0
  170. package/src/funcs/subscriptionsDeleteSubscriptionAdjustment.ts +185 -0
  171. package/src/funcs/subscriptionsListSubscriptionAdjustments.ts +183 -0
  172. package/src/lib/config.ts +2 -2
  173. package/src/models/createsubscriptionadjustmentrequest.ts +85 -0
  174. package/src/models/errors/index.ts +1 -0
  175. package/src/models/errors/updateprice.ts +71 -0
  176. package/src/models/index.ts +4 -1
  177. package/src/models/invoice.ts +30 -1
  178. package/src/models/operations/createprice.ts +3 -3
  179. package/src/models/operations/createsubscriptionadjustment.ts +48 -0
  180. package/src/models/operations/deletesubscriptionadjustment.ts +42 -0
  181. package/src/models/operations/index.ts +3 -0
  182. package/src/models/operations/listsubscriptionadjustments.ts +48 -0
  183. package/src/models/operations/updateprice.ts +33 -3
  184. package/src/models/priceproperties.ts +325 -0
  185. package/src/models/schemasprice.ts +5 -5
  186. package/src/models/subscriptionadjustment.ts +94 -0
  187. package/src/models/subscriptionadjustmentsresponse.ts +44 -0
  188. package/src/sdk/subscriptions.ts +54 -0
  189. package/dist/commonjs/models/pricepropertiesunion.d.ts +0 -152
  190. package/dist/commonjs/models/pricepropertiesunion.d.ts.map +0 -1
  191. package/dist/commonjs/models/pricepropertiesunion.js +0 -169
  192. package/dist/commonjs/models/pricepropertiesunion.js.map +0 -1
  193. package/dist/esm/models/pricepropertiesunion.d.ts +0 -152
  194. package/dist/esm/models/pricepropertiesunion.d.ts.map +0 -1
  195. package/dist/esm/models/pricepropertiesunion.js +0 -121
  196. package/dist/esm/models/pricepropertiesunion.js.map +0 -1
  197. package/src/models/pricepropertiesunion.ts +0 -364
@@ -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";
@@ -4,7 +4,8 @@
4
4
 
5
5
  import * as z from "zod/v3";
6
6
  import { safeParse } from "../lib/schemas.js";
7
- import { ClosedEnum } from "../types/enums.js";
7
+ import * as openEnums from "../types/enums.js";
8
+ import { ClosedEnum, OpenEnum } from "../types/enums.js";
8
9
  import { Result as SafeParseResult } from "../types/fp.js";
9
10
  import { SDKValidationError } from "./errors/sdkvalidationerror.js";
10
11
  import {
@@ -62,6 +63,21 @@ export const PdfSource = {
62
63
  */
63
64
  export type PdfSource = ClosedEnum<typeof PdfSource>;
64
65
 
66
+ /**
67
+ * Why no Paygentic-rendered document exists for this invoice, or null when none was withheld. A tax-registered merchant's document is a compliance artefact, so it is withheld unless the recorded tax reconciles with the provider exactly and the registered issuer identity is complete. Non-null therefore always accompanies pdfSource `tax_provider` or null, and never `paygentic`. Use it to tell a withheld document apart from an invoice the tax provider serves by design — both report pdfSource `tax_provider`, but only a withheld one can be repaired by POST /v2/invoices/{id}/generate-pdf. `tax_unreconciled`: the provider's tax figure was never recorded against this invoice. `issuer_identity_incomplete`: the registered legal name, tax ID or address could not be read. `tax_component_unpriceable`: a recorded tax component carried no presentable amount. `ledger_mismatch`: the recorded tax figures and the invoice's own totals disagree. `tax_provider_disagrees`: the provider re-read its filing and reported a different tax to the one this invoice was charged — terminal, because correcting an issued invoice is a credit note's job, so retrying the repair cannot clear it. New values may be added, so treat an unrecognised one as withheld rather than failing.
68
+ */
69
+ export const DocumentWithheldReason = {
70
+ TaxUnreconciled: "tax_unreconciled",
71
+ IssuerIdentityIncomplete: "issuer_identity_incomplete",
72
+ TaxComponentUnpriceable: "tax_component_unpriceable",
73
+ LedgerMismatch: "ledger_mismatch",
74
+ TaxProviderDisagrees: "tax_provider_disagrees",
75
+ } as const;
76
+ /**
77
+ * Why no Paygentic-rendered document exists for this invoice, or null when none was withheld. A tax-registered merchant's document is a compliance artefact, so it is withheld unless the recorded tax reconciles with the provider exactly and the registered issuer identity is complete. Non-null therefore always accompanies pdfSource `tax_provider` or null, and never `paygentic`. Use it to tell a withheld document apart from an invoice the tax provider serves by design — both report pdfSource `tax_provider`, but only a withheld one can be repaired by POST /v2/invoices/{id}/generate-pdf. `tax_unreconciled`: the provider's tax figure was never recorded against this invoice. `issuer_identity_incomplete`: the registered legal name, tax ID or address could not be read. `tax_component_unpriceable`: a recorded tax component carried no presentable amount. `ledger_mismatch`: the recorded tax figures and the invoice's own totals disagree. `tax_provider_disagrees`: the provider re-read its filing and reported a different tax to the one this invoice was charged — terminal, because correcting an issued invoice is a credit note's job, so retrying the repair cannot clear it. New values may be added, so treat an unrecognised one as withheld rather than failing.
78
+ */
79
+ export type DocumentWithheldReason = OpenEnum<typeof DocumentWithheldReason>;
80
+
65
81
  /**
66
82
  * The current status of the invoice
67
83
  */
@@ -210,6 +226,10 @@ export type Invoice = {
210
226
  * Who produced the document at pdfUrl, or null when there is none. `paygentic` means pdfUrl is this API's download endpoint and the request must carry your API key; `tax_provider` means it is the provider's own link, which opens directly in a browser.
211
227
  */
212
228
  pdfSource?: PdfSource | null | undefined;
229
+ /**
230
+ * Why no Paygentic-rendered document exists for this invoice, or null when none was withheld. A tax-registered merchant's document is a compliance artefact, so it is withheld unless the recorded tax reconciles with the provider exactly and the registered issuer identity is complete. Non-null therefore always accompanies pdfSource `tax_provider` or null, and never `paygentic`. Use it to tell a withheld document apart from an invoice the tax provider serves by design — both report pdfSource `tax_provider`, but only a withheld one can be repaired by POST /v2/invoices/{id}/generate-pdf. `tax_unreconciled`: the provider's tax figure was never recorded against this invoice. `issuer_identity_incomplete`: the registered legal name, tax ID or address could not be read. `tax_component_unpriceable`: a recorded tax component carried no presentable amount. `ledger_mismatch`: the recorded tax figures and the invoice's own totals disagree. `tax_provider_disagrees`: the provider re-read its filing and reported a different tax to the one this invoice was charged — terminal, because correcting an issued invoice is a credit note's job, so retrying the repair cannot clear it. New values may be added, so treat an unrecognised one as withheld rather than failing.
231
+ */
232
+ documentWithheldReason?: DocumentWithheldReason | null | undefined;
213
233
  /**
214
234
  * The end of the billing period
215
235
  */
@@ -292,6 +312,13 @@ export function invoiceLineItemsFromJSON(
292
312
  export const PdfSource$inboundSchema: z.ZodNativeEnum<typeof PdfSource> = z
293
313
  .nativeEnum(PdfSource);
294
314
 
315
+ /** @internal */
316
+ export const DocumentWithheldReason$inboundSchema: z.ZodType<
317
+ DocumentWithheldReason,
318
+ z.ZodTypeDef,
319
+ unknown
320
+ > = openEnums.inboundSchema(DocumentWithheldReason);
321
+
295
322
  /** @internal */
296
323
  export const InvoiceStatus$inboundSchema: z.ZodNativeEnum<
297
324
  typeof InvoiceStatus
@@ -360,6 +387,8 @@ export const Invoice$inboundSchema: z.ZodType<Invoice, z.ZodTypeDef, unknown> =
360
387
  paymentUrl: z.nullable(z.string()).optional(),
361
388
  pdfUrl: z.nullable(z.string()).optional(),
362
389
  pdfSource: z.nullable(PdfSource$inboundSchema).optional(),
390
+ documentWithheldReason: z.nullable(DocumentWithheldReason$inboundSchema)
391
+ .optional(),
363
392
  periodEnd: z.string().datetime({ offset: true }).transform(v =>
364
393
  new Date(v)
365
394
  ),
@@ -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
+ }