dodopayments 2.32.1 → 2.32.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 (273) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/bin/migration-config.json +17 -17
  3. package/client.d.mts +15 -15
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +15 -15
  6. package/client.d.ts.map +1 -1
  7. package/package.json +1 -1
  8. package/resources/addons.d.mts +4 -4
  9. package/resources/addons.d.mts.map +1 -1
  10. package/resources/addons.d.ts +4 -4
  11. package/resources/addons.d.ts.map +1 -1
  12. package/resources/addons.js +6 -6
  13. package/resources/addons.js.map +1 -1
  14. package/resources/addons.mjs +6 -6
  15. package/resources/addons.mjs.map +1 -1
  16. package/resources/brands.d.mts +1 -1
  17. package/resources/brands.d.mts.map +1 -1
  18. package/resources/brands.d.ts +1 -1
  19. package/resources/brands.d.ts.map +1 -1
  20. package/resources/brands.js +3 -3
  21. package/resources/brands.js.map +1 -1
  22. package/resources/brands.mjs +3 -3
  23. package/resources/brands.mjs.map +1 -1
  24. package/resources/credit-entitlements/balances.d.mts +69 -69
  25. package/resources/credit-entitlements/balances.d.mts.map +1 -1
  26. package/resources/credit-entitlements/balances.d.ts +69 -69
  27. package/resources/credit-entitlements/balances.d.ts.map +1 -1
  28. package/resources/credit-entitlements/balances.js +41 -41
  29. package/resources/credit-entitlements/balances.js.map +1 -1
  30. package/resources/credit-entitlements/balances.mjs +41 -41
  31. package/resources/credit-entitlements/balances.mjs.map +1 -1
  32. package/resources/credit-entitlements/credit-entitlements.d.mts +38 -38
  33. package/resources/credit-entitlements/credit-entitlements.d.mts.map +1 -1
  34. package/resources/credit-entitlements/credit-entitlements.d.ts +38 -38
  35. package/resources/credit-entitlements/credit-entitlements.d.ts.map +1 -1
  36. package/resources/credit-entitlements/credit-entitlements.js +40 -40
  37. package/resources/credit-entitlements/credit-entitlements.js.map +1 -1
  38. package/resources/credit-entitlements/credit-entitlements.mjs +40 -40
  39. package/resources/credit-entitlements/credit-entitlements.mjs.map +1 -1
  40. package/resources/credit-entitlements/index.d.mts +2 -2
  41. package/resources/credit-entitlements/index.d.mts.map +1 -1
  42. package/resources/credit-entitlements/index.d.ts +2 -2
  43. package/resources/credit-entitlements/index.d.ts.map +1 -1
  44. package/resources/customers/customers.d.mts +23 -23
  45. package/resources/customers/customers.d.mts.map +1 -1
  46. package/resources/customers/customers.d.ts +23 -23
  47. package/resources/customers/customers.d.ts.map +1 -1
  48. package/resources/customers/customers.js +16 -16
  49. package/resources/customers/customers.js.map +1 -1
  50. package/resources/customers/customers.mjs +16 -16
  51. package/resources/customers/customers.mjs.map +1 -1
  52. package/resources/customers/index.d.mts +1 -1
  53. package/resources/customers/index.d.mts.map +1 -1
  54. package/resources/customers/index.d.ts +1 -1
  55. package/resources/customers/index.d.ts.map +1 -1
  56. package/resources/customers/wallets/index.d.mts +1 -1
  57. package/resources/customers/wallets/index.d.mts.map +1 -1
  58. package/resources/customers/wallets/index.d.ts +1 -1
  59. package/resources/customers/wallets/index.d.ts.map +1 -1
  60. package/resources/customers/wallets/ledger-entries.d.mts +8 -8
  61. package/resources/customers/wallets/ledger-entries.d.mts.map +1 -1
  62. package/resources/customers/wallets/ledger-entries.d.ts +8 -8
  63. package/resources/customers/wallets/ledger-entries.d.ts.map +1 -1
  64. package/resources/customers/wallets/ledger-entries.js +3 -3
  65. package/resources/customers/wallets/ledger-entries.js.map +1 -1
  66. package/resources/customers/wallets/ledger-entries.mjs +3 -3
  67. package/resources/customers/wallets/ledger-entries.mjs.map +1 -1
  68. package/resources/customers/wallets/wallets.d.mts +1 -1
  69. package/resources/customers/wallets/wallets.d.mts.map +1 -1
  70. package/resources/customers/wallets/wallets.d.ts +1 -1
  71. package/resources/customers/wallets/wallets.d.ts.map +1 -1
  72. package/resources/discounts.d.mts +27 -27
  73. package/resources/discounts.d.mts.map +1 -1
  74. package/resources/discounts.d.ts +27 -27
  75. package/resources/discounts.d.ts.map +1 -1
  76. package/resources/discounts.js +15 -15
  77. package/resources/discounts.js.map +1 -1
  78. package/resources/discounts.mjs +15 -15
  79. package/resources/discounts.mjs.map +1 -1
  80. package/resources/disputes.d.mts +1 -1
  81. package/resources/disputes.d.mts.map +1 -1
  82. package/resources/disputes.d.ts +1 -1
  83. package/resources/disputes.d.ts.map +1 -1
  84. package/resources/disputes.js +3 -3
  85. package/resources/disputes.js.map +1 -1
  86. package/resources/disputes.mjs +3 -3
  87. package/resources/disputes.mjs.map +1 -1
  88. package/resources/entitlements/entitlements.d.mts +15 -15
  89. package/resources/entitlements/entitlements.d.mts.map +1 -1
  90. package/resources/entitlements/entitlements.d.ts +15 -15
  91. package/resources/entitlements/entitlements.d.ts.map +1 -1
  92. package/resources/entitlements/entitlements.js +15 -15
  93. package/resources/entitlements/entitlements.js.map +1 -1
  94. package/resources/entitlements/entitlements.mjs +15 -15
  95. package/resources/entitlements/entitlements.mjs.map +1 -1
  96. package/resources/entitlements/files.d.mts +4 -4
  97. package/resources/entitlements/files.d.mts.map +1 -1
  98. package/resources/entitlements/files.d.ts +4 -4
  99. package/resources/entitlements/files.d.ts.map +1 -1
  100. package/resources/entitlements/files.js +6 -6
  101. package/resources/entitlements/files.js.map +1 -1
  102. package/resources/entitlements/files.mjs +6 -6
  103. package/resources/entitlements/files.mjs.map +1 -1
  104. package/resources/entitlements/index.d.mts +1 -1
  105. package/resources/entitlements/index.d.mts.map +1 -1
  106. package/resources/entitlements/index.d.ts +1 -1
  107. package/resources/entitlements/index.d.ts.map +1 -1
  108. package/resources/index.d.mts +15 -15
  109. package/resources/index.d.mts.map +1 -1
  110. package/resources/index.d.ts +15 -15
  111. package/resources/index.d.ts.map +1 -1
  112. package/resources/invoices/payments.d.mts +1 -1
  113. package/resources/invoices/payments.d.ts +1 -1
  114. package/resources/invoices/payments.js +4 -4
  115. package/resources/invoices/payments.mjs +4 -4
  116. package/resources/license-key-instances.d.mts +14 -14
  117. package/resources/license-key-instances.d.mts.map +1 -1
  118. package/resources/license-key-instances.d.ts +14 -14
  119. package/resources/license-key-instances.d.ts.map +1 -1
  120. package/resources/license-key-instances.js +12 -12
  121. package/resources/license-key-instances.js.map +1 -1
  122. package/resources/license-key-instances.mjs +12 -12
  123. package/resources/license-key-instances.mjs.map +1 -1
  124. package/resources/license-keys.d.mts +38 -38
  125. package/resources/license-keys.d.mts.map +1 -1
  126. package/resources/license-keys.d.ts +38 -38
  127. package/resources/license-keys.d.ts.map +1 -1
  128. package/resources/license-keys.js +16 -16
  129. package/resources/license-keys.js.map +1 -1
  130. package/resources/license-keys.mjs +16 -16
  131. package/resources/license-keys.mjs.map +1 -1
  132. package/resources/meters.d.mts +8 -8
  133. package/resources/meters.d.mts.map +1 -1
  134. package/resources/meters.d.ts +8 -8
  135. package/resources/meters.d.ts.map +1 -1
  136. package/resources/meters.js +3 -3
  137. package/resources/meters.js.map +1 -1
  138. package/resources/meters.mjs +3 -3
  139. package/resources/meters.mjs.map +1 -1
  140. package/resources/payments.d.mts +32 -32
  141. package/resources/payments.d.mts.map +1 -1
  142. package/resources/payments.d.ts +32 -32
  143. package/resources/payments.d.ts.map +1 -1
  144. package/resources/payments.js +6 -6
  145. package/resources/payments.js.map +1 -1
  146. package/resources/payments.mjs +6 -6
  147. package/resources/payments.mjs.map +1 -1
  148. package/resources/product-collections/groups/groups.d.mts +9 -9
  149. package/resources/product-collections/groups/groups.d.mts.map +1 -1
  150. package/resources/product-collections/groups/groups.d.ts +9 -9
  151. package/resources/product-collections/groups/groups.d.ts.map +1 -1
  152. package/resources/product-collections/groups/groups.js +7 -7
  153. package/resources/product-collections/groups/groups.js.map +1 -1
  154. package/resources/product-collections/groups/groups.mjs +7 -7
  155. package/resources/product-collections/groups/groups.mjs.map +1 -1
  156. package/resources/product-collections/groups/index.d.mts +2 -2
  157. package/resources/product-collections/groups/index.d.ts +2 -2
  158. package/resources/product-collections/groups/items.d.mts +12 -12
  159. package/resources/product-collections/groups/items.d.mts.map +1 -1
  160. package/resources/product-collections/groups/items.d.ts +12 -12
  161. package/resources/product-collections/groups/items.d.ts.map +1 -1
  162. package/resources/product-collections/groups/items.js +7 -7
  163. package/resources/product-collections/groups/items.js.map +1 -1
  164. package/resources/product-collections/groups/items.mjs +7 -7
  165. package/resources/product-collections/groups/items.mjs.map +1 -1
  166. package/resources/product-collections/index.d.mts +2 -2
  167. package/resources/product-collections/index.d.mts.map +1 -1
  168. package/resources/product-collections/index.d.ts +2 -2
  169. package/resources/product-collections/index.d.ts.map +1 -1
  170. package/resources/product-collections/product-collections.d.mts +15 -15
  171. package/resources/product-collections/product-collections.d.mts.map +1 -1
  172. package/resources/product-collections/product-collections.d.ts +15 -15
  173. package/resources/product-collections/product-collections.d.ts.map +1 -1
  174. package/resources/product-collections/product-collections.js +11 -11
  175. package/resources/product-collections/product-collections.js.map +1 -1
  176. package/resources/product-collections/product-collections.mjs +11 -11
  177. package/resources/product-collections/product-collections.mjs.map +1 -1
  178. package/resources/products/index.d.mts +2 -2
  179. package/resources/products/index.d.mts.map +1 -1
  180. package/resources/products/index.d.ts +2 -2
  181. package/resources/products/index.d.ts.map +1 -1
  182. package/resources/products/products.d.mts +21 -21
  183. package/resources/products/products.d.mts.map +1 -1
  184. package/resources/products/products.d.ts +21 -21
  185. package/resources/products/products.d.ts.map +1 -1
  186. package/resources/products/products.js +6 -6
  187. package/resources/products/products.js.map +1 -1
  188. package/resources/products/products.mjs +6 -6
  189. package/resources/products/products.mjs.map +1 -1
  190. package/resources/products/short-links.d.mts +11 -11
  191. package/resources/products/short-links.d.mts.map +1 -1
  192. package/resources/products/short-links.d.ts +11 -11
  193. package/resources/products/short-links.d.ts.map +1 -1
  194. package/resources/products/short-links.js +6 -6
  195. package/resources/products/short-links.js.map +1 -1
  196. package/resources/products/short-links.mjs +6 -6
  197. package/resources/products/short-links.mjs.map +1 -1
  198. package/resources/refunds.d.mts +24 -24
  199. package/resources/refunds.d.mts.map +1 -1
  200. package/resources/refunds.d.ts +24 -24
  201. package/resources/refunds.d.ts.map +1 -1
  202. package/resources/refunds.js +6 -6
  203. package/resources/refunds.js.map +1 -1
  204. package/resources/refunds.mjs +6 -6
  205. package/resources/refunds.mjs.map +1 -1
  206. package/resources/subscriptions.d.mts +86 -86
  207. package/resources/subscriptions.d.mts.map +1 -1
  208. package/resources/subscriptions.d.ts +86 -86
  209. package/resources/subscriptions.d.ts.map +1 -1
  210. package/resources/subscriptions.js +23 -23
  211. package/resources/subscriptions.js.map +1 -1
  212. package/resources/subscriptions.mjs +23 -23
  213. package/resources/subscriptions.mjs.map +1 -1
  214. package/resources/usage-events.d.mts +61 -61
  215. package/resources/usage-events.d.mts.map +1 -1
  216. package/resources/usage-events.d.ts +61 -61
  217. package/resources/usage-events.d.ts.map +1 -1
  218. package/resources/usage-events.js +56 -56
  219. package/resources/usage-events.js.map +1 -1
  220. package/resources/usage-events.mjs +56 -56
  221. package/resources/usage-events.mjs.map +1 -1
  222. package/resources/webhooks/index.d.mts +1 -1
  223. package/resources/webhooks/index.d.mts.map +1 -1
  224. package/resources/webhooks/index.d.ts +1 -1
  225. package/resources/webhooks/index.d.ts.map +1 -1
  226. package/resources/webhooks/webhooks.d.mts +12 -12
  227. package/resources/webhooks/webhooks.d.mts.map +1 -1
  228. package/resources/webhooks/webhooks.d.ts +12 -12
  229. package/resources/webhooks/webhooks.d.ts.map +1 -1
  230. package/resources/webhooks/webhooks.js +15 -15
  231. package/resources/webhooks/webhooks.js.map +1 -1
  232. package/resources/webhooks/webhooks.mjs +15 -15
  233. package/resources/webhooks/webhooks.mjs.map +1 -1
  234. package/src/client.ts +18 -18
  235. package/src/resources/addons.ts +13 -13
  236. package/src/resources/brands.ts +4 -4
  237. package/src/resources/credit-entitlements/balances.ts +91 -91
  238. package/src/resources/credit-entitlements/credit-entitlements.ts +55 -55
  239. package/src/resources/credit-entitlements/index.ts +3 -3
  240. package/src/resources/customers/customers.ts +49 -49
  241. package/src/resources/customers/index.ts +1 -1
  242. package/src/resources/customers/wallets/index.ts +1 -1
  243. package/src/resources/customers/wallets/ledger-entries.ts +16 -16
  244. package/src/resources/customers/wallets/wallets.ts +1 -1
  245. package/src/resources/discounts.ts +43 -43
  246. package/src/resources/disputes.ts +4 -4
  247. package/src/resources/entitlements/entitlements.ts +36 -36
  248. package/src/resources/entitlements/files.ts +7 -7
  249. package/src/resources/entitlements/index.ts +1 -1
  250. package/src/resources/index.ts +18 -18
  251. package/src/resources/invoices/payments.ts +4 -4
  252. package/src/resources/license-key-instances.ts +25 -25
  253. package/src/resources/license-keys.ts +48 -48
  254. package/src/resources/meters.ts +15 -15
  255. package/src/resources/payments.ts +59 -59
  256. package/src/resources/product-collections/groups/groups.ts +16 -16
  257. package/src/resources/product-collections/groups/index.ts +2 -2
  258. package/src/resources/product-collections/groups/items.ts +19 -19
  259. package/src/resources/product-collections/index.ts +2 -2
  260. package/src/resources/product-collections/product-collections.ts +32 -32
  261. package/src/resources/products/index.ts +2 -2
  262. package/src/resources/products/products.ts +33 -33
  263. package/src/resources/products/short-links.ts +20 -20
  264. package/src/resources/refunds.ts +36 -36
  265. package/src/resources/subscriptions.ts +130 -130
  266. package/src/resources/usage-events.ts +64 -64
  267. package/src/resources/webhooks/index.ts +1 -1
  268. package/src/resources/webhooks/webhooks.ts +24 -24
  269. package/src/version.ts +1 -1
  270. package/version.d.mts +1 -1
  271. package/version.d.ts +1 -1
  272. package/version.js +1 -1
  273. package/version.mjs +1 -1
@@ -11,37 +11,6 @@ import { RequestOptions } from '../../internal/request-options';
11
11
  import { path } from '../../internal/utils/path';
12
12
 
13
13
  export class Balances extends APIResource {
14
- /**
15
- * Returns the credit balance details for a specific customer and credit
16
- * entitlement.
17
- *
18
- * # Authentication
19
- *
20
- * Requires an API key with `Viewer` role or higher.
21
- *
22
- * # Path Parameters
23
- *
24
- * - `credit_entitlement_id` - The unique identifier of the credit entitlement
25
- * - `customer_id` - The unique identifier of the customer
26
- *
27
- * # Responses
28
- *
29
- * - `200 OK` - Returns the customer's balance
30
- * - `404 Not Found` - Credit entitlement or customer balance not found
31
- * - `500 Internal Server Error` - Database or server error
32
- */
33
- retrieve(
34
- customerID: string,
35
- params: BalanceRetrieveParams,
36
- options?: RequestOptions,
37
- ): APIPromise<CustomerCreditBalance> {
38
- const { credit_entitlement_id } = params;
39
- return this._client.get(
40
- path`/credit-entitlements/${credit_entitlement_id}/balances/${customerID}`,
41
- options,
42
- );
43
- }
44
-
45
14
  /**
46
15
  * Returns a paginated list of customer credit balances for the given credit
47
16
  * entitlement.
@@ -79,43 +48,33 @@ export class Balances extends APIResource {
79
48
  }
80
49
 
81
50
  /**
82
- * For credit entries, a new grant is created. For debit entries, credits are
83
- * deducted from existing grants using FIFO (oldest first).
51
+ * Returns the credit balance details for a specific customer and credit
52
+ * entitlement.
84
53
  *
85
54
  * # Authentication
86
55
  *
87
- * Requires an API key with `Editor` role.
56
+ * Requires an API key with `Viewer` role or higher.
88
57
  *
89
58
  * # Path Parameters
90
59
  *
91
60
  * - `credit_entitlement_id` - The unique identifier of the credit entitlement
92
61
  * - `customer_id` - The unique identifier of the customer
93
62
  *
94
- * # Request Body
95
- *
96
- * - `entry_type` - "credit" or "debit"
97
- * - `amount` - Amount to credit or debit
98
- * - `reason` - Optional human-readable reason
99
- * - `expires_at` - Optional expiration for credited amount (only for credit type)
100
- * - `idempotency_key` - Optional key to prevent duplicate entries
101
- *
102
63
  * # Responses
103
64
  *
104
- * - `201 Created` - Ledger entry created successfully
105
- * - `400 Bad Request` - Invalid request (e.g., debit with insufficient balance)
106
- * - `404 Not Found` - Credit entitlement or customer not found
107
- * - `409 Conflict` - Idempotency key already exists
65
+ * - `200 OK` - Returns the customer's balance
66
+ * - `404 Not Found` - Credit entitlement or customer balance not found
108
67
  * - `500 Internal Server Error` - Database or server error
109
68
  */
110
- createLedgerEntry(
69
+ retrieve(
111
70
  customerID: string,
112
- params: BalanceCreateLedgerEntryParams,
71
+ params: BalanceRetrieveParams,
113
72
  options?: RequestOptions,
114
- ): APIPromise<BalanceCreateLedgerEntryResponse> {
115
- const { credit_entitlement_id, ...body } = params;
116
- return this._client.post(
117
- path`/credit-entitlements/${credit_entitlement_id}/balances/${customerID}/ledger-entries`,
118
- { body, ...options },
73
+ ): APIPromise<CustomerCreditBalance> {
74
+ const { credit_entitlement_id } = params;
75
+ return this._client.get(
76
+ path`/credit-entitlements/${credit_entitlement_id}/balances/${customerID}`,
77
+ options,
119
78
  );
120
79
  }
121
80
 
@@ -194,6 +153,47 @@ export class Balances extends APIResource {
194
153
  { query, ...options },
195
154
  );
196
155
  }
156
+
157
+ /**
158
+ * For credit entries, a new grant is created. For debit entries, credits are
159
+ * deducted from existing grants using FIFO (oldest first).
160
+ *
161
+ * # Authentication
162
+ *
163
+ * Requires an API key with `Editor` role.
164
+ *
165
+ * # Path Parameters
166
+ *
167
+ * - `credit_entitlement_id` - The unique identifier of the credit entitlement
168
+ * - `customer_id` - The unique identifier of the customer
169
+ *
170
+ * # Request Body
171
+ *
172
+ * - `entry_type` - "credit" or "debit"
173
+ * - `amount` - Amount to credit or debit
174
+ * - `reason` - Optional human-readable reason
175
+ * - `expires_at` - Optional expiration for credited amount (only for credit type)
176
+ * - `idempotency_key` - Optional key to prevent duplicate entries
177
+ *
178
+ * # Responses
179
+ *
180
+ * - `201 Created` - Ledger entry created successfully
181
+ * - `400 Bad Request` - Invalid request (e.g., debit with insufficient balance)
182
+ * - `404 Not Found` - Credit entitlement or customer not found
183
+ * - `409 Conflict` - Idempotency key already exists
184
+ * - `500 Internal Server Error` - Database or server error
185
+ */
186
+ createLedgerEntry(
187
+ customerID: string,
188
+ params: BalanceCreateLedgerEntryParams,
189
+ options?: RequestOptions,
190
+ ): APIPromise<BalanceCreateLedgerEntryResponse> {
191
+ const { credit_entitlement_id, ...body } = params;
192
+ return this._client.post(
193
+ path`/credit-entitlements/${credit_entitlement_id}/balances/${customerID}/ledger-entries`,
194
+ { body, ...options },
195
+ );
196
+ }
197
197
  }
198
198
 
199
199
  export type CustomerCreditBalancesDefaultPageNumberPagination =
@@ -340,13 +340,6 @@ export interface BalanceListGrantsResponse {
340
340
  source_id?: string | null;
341
341
  }
342
342
 
343
- export interface BalanceRetrieveParams {
344
- /**
345
- * Credit Entitlement ID
346
- */
347
- credit_entitlement_id: string;
348
- }
349
-
350
343
  export interface BalanceListParams extends DefaultPageNumberPaginationParams {
351
344
  /**
352
345
  * Filter by specific customer ID
@@ -354,77 +347,84 @@ export interface BalanceListParams extends DefaultPageNumberPaginationParams {
354
347
  customer_id?: string;
355
348
  }
356
349
 
357
- export interface BalanceCreateLedgerEntryParams {
350
+ export interface BalanceRetrieveParams {
358
351
  /**
359
- * Path param: Credit Entitlement ID
352
+ * Credit Entitlement ID
360
353
  */
361
354
  credit_entitlement_id: string;
355
+ }
362
356
 
357
+ export interface BalanceListGrantsParams extends DefaultPageNumberPaginationParams {
363
358
  /**
364
- * Body param: Amount to credit or debit
359
+ * Path param: Credit Entitlement ID
365
360
  */
366
- amount: string;
361
+ credit_entitlement_id: string;
367
362
 
368
363
  /**
369
- * Body param: Entry type: credit or debit
364
+ * Query param: Filter by grant status: active, expired, depleted
370
365
  */
371
- entry_type: LedgerEntryType;
366
+ status?: 'active' | 'expired' | 'depleted';
367
+ }
372
368
 
369
+ export interface BalanceListLedgerParams extends DefaultPageNumberPaginationParams {
373
370
  /**
374
- * Body param: Expiration for credited amount (only for credit type)
371
+ * Path param: Credit Entitlement ID
375
372
  */
376
- expires_at?: string | null;
373
+ credit_entitlement_id: string;
377
374
 
378
375
  /**
379
- * Body param: Idempotency key to prevent duplicate entries
376
+ * Query param: Filter by end date
380
377
  */
381
- idempotency_key?: string | null;
378
+ end_date?: string;
382
379
 
383
380
  /**
384
- * Body param: Optional metadata (max 50 key-value pairs, key max 40 chars, value
385
- * max 500 chars)
381
+ * Query param: Filter by start date
386
382
  */
387
- metadata?: { [key: string]: string } | null;
383
+ start_date?: string;
388
384
 
389
385
  /**
390
- * Body param: Human-readable reason for the entry
386
+ * Query param: Filter by transaction type (snake_case: credit_added,
387
+ * credit_deducted, credit_expired, etc.)
391
388
  */
392
- reason?: string | null;
389
+ transaction_type?: string;
393
390
  }
394
391
 
395
- export interface BalanceListGrantsParams extends DefaultPageNumberPaginationParams {
392
+ export interface BalanceCreateLedgerEntryParams {
396
393
  /**
397
394
  * Path param: Credit Entitlement ID
398
395
  */
399
396
  credit_entitlement_id: string;
400
397
 
401
398
  /**
402
- * Query param: Filter by grant status: active, expired, depleted
399
+ * Body param: Amount to credit or debit
403
400
  */
404
- status?: 'active' | 'expired' | 'depleted';
405
- }
401
+ amount: string;
406
402
 
407
- export interface BalanceListLedgerParams extends DefaultPageNumberPaginationParams {
408
403
  /**
409
- * Path param: Credit Entitlement ID
404
+ * Body param: Entry type: credit or debit
410
405
  */
411
- credit_entitlement_id: string;
406
+ entry_type: LedgerEntryType;
412
407
 
413
408
  /**
414
- * Query param: Filter by end date
409
+ * Body param: Expiration for credited amount (only for credit type)
415
410
  */
416
- end_date?: string;
411
+ expires_at?: string | null;
417
412
 
418
413
  /**
419
- * Query param: Filter by start date
414
+ * Body param: Idempotency key to prevent duplicate entries
420
415
  */
421
- start_date?: string;
416
+ idempotency_key?: string | null;
422
417
 
423
418
  /**
424
- * Query param: Filter by transaction type (snake_case: credit_added,
425
- * credit_deducted, credit_expired, etc.)
419
+ * Body param: Optional metadata (max 50 key-value pairs, key max 40 chars, value
420
+ * max 500 chars)
426
421
  */
427
- transaction_type?: string;
422
+ metadata?: { [key: string]: string } | null;
423
+
424
+ /**
425
+ * Body param: Human-readable reason for the entry
426
+ */
427
+ reason?: string | null;
428
428
  }
429
429
 
430
430
  export declare namespace Balances {
@@ -437,10 +437,10 @@ export declare namespace Balances {
437
437
  type CustomerCreditBalancesDefaultPageNumberPagination as CustomerCreditBalancesDefaultPageNumberPagination,
438
438
  type BalanceListGrantsResponsesDefaultPageNumberPagination as BalanceListGrantsResponsesDefaultPageNumberPagination,
439
439
  type CreditLedgerEntriesDefaultPageNumberPagination as CreditLedgerEntriesDefaultPageNumberPagination,
440
- type BalanceRetrieveParams as BalanceRetrieveParams,
441
440
  type BalanceListParams as BalanceListParams,
442
- type BalanceCreateLedgerEntryParams as BalanceCreateLedgerEntryParams,
441
+ type BalanceRetrieveParams as BalanceRetrieveParams,
443
442
  type BalanceListGrantsParams as BalanceListGrantsParams,
444
443
  type BalanceListLedgerParams as BalanceListLedgerParams,
444
+ type BalanceCreateLedgerEntryParams as BalanceCreateLedgerEntryParams,
445
445
  };
446
446
  }
@@ -33,6 +33,44 @@ import { path } from '../../internal/utils/path';
33
33
  export class CreditEntitlements extends APIResource {
34
34
  balances: BalancesAPI.Balances = new BalancesAPI.Balances(this._client);
35
35
 
36
+ /**
37
+ * Returns a paginated list of credit entitlements, allowing filtering of deleted
38
+ * entitlements. By default, only non-deleted entitlements are returned.
39
+ *
40
+ * # Authentication
41
+ *
42
+ * Requires an API key with `Viewer` role or higher.
43
+ *
44
+ * # Query Parameters
45
+ *
46
+ * - `page_size` - Number of items per page (default: 10, max: 100)
47
+ * - `page_number` - Zero-based page number (default: 0)
48
+ * - `deleted` - Boolean flag to list deleted entitlements instead of active ones
49
+ * (default: false)
50
+ *
51
+ * # Responses
52
+ *
53
+ * - `200 OK` - Returns a list of credit entitlements wrapped in a response object
54
+ * - `422 Unprocessable Entity` - Invalid query parameters (e.g., page_size > 100)
55
+ * - `500 Internal Server Error` - Database or server error
56
+ *
57
+ * # Business Logic
58
+ *
59
+ * - Results are ordered by creation date in descending order (newest first)
60
+ * - Only entitlements belonging to the authenticated business are returned
61
+ * - The `deleted` parameter controls visibility of soft-deleted entitlements
62
+ * - Pagination uses offset-based pagination (offset = page_number \* page_size)
63
+ */
64
+ list(
65
+ query: CreditEntitlementListParams | null | undefined = {},
66
+ options?: RequestOptions,
67
+ ): PagePromise<CreditEntitlementsDefaultPageNumberPagination, CreditEntitlement> {
68
+ return this._client.getAPIList('/credit-entitlements', DefaultPageNumberPagination<CreditEntitlement>, {
69
+ query,
70
+ ...options,
71
+ });
72
+ }
73
+
36
74
  /**
37
75
  * Credit entitlements define reusable credit templates that can be attached to
38
76
  * products. Each entitlement defines how credits behave in terms of expiration,
@@ -112,6 +150,13 @@ export class CreditEntitlements extends APIResource {
112
150
  return this._client.get(path`/credit-entitlements/${id}`, options);
113
151
  }
114
152
 
153
+ delete(id: string, options?: RequestOptions): APIPromise<void> {
154
+ return this._client.delete(path`/credit-entitlements/${id}`, {
155
+ ...options,
156
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
157
+ });
158
+ }
159
+
115
160
  /**
116
161
  * Allows partial updates to a credit entitlement's configuration. Only the fields
117
162
  * provided in the request body will be updated; all other fields remain unchanged.
@@ -178,51 +223,6 @@ export class CreditEntitlements extends APIResource {
178
223
  });
179
224
  }
180
225
 
181
- /**
182
- * Returns a paginated list of credit entitlements, allowing filtering of deleted
183
- * entitlements. By default, only non-deleted entitlements are returned.
184
- *
185
- * # Authentication
186
- *
187
- * Requires an API key with `Viewer` role or higher.
188
- *
189
- * # Query Parameters
190
- *
191
- * - `page_size` - Number of items per page (default: 10, max: 100)
192
- * - `page_number` - Zero-based page number (default: 0)
193
- * - `deleted` - Boolean flag to list deleted entitlements instead of active ones
194
- * (default: false)
195
- *
196
- * # Responses
197
- *
198
- * - `200 OK` - Returns a list of credit entitlements wrapped in a response object
199
- * - `422 Unprocessable Entity` - Invalid query parameters (e.g., page_size > 100)
200
- * - `500 Internal Server Error` - Database or server error
201
- *
202
- * # Business Logic
203
- *
204
- * - Results are ordered by creation date in descending order (newest first)
205
- * - Only entitlements belonging to the authenticated business are returned
206
- * - The `deleted` parameter controls visibility of soft-deleted entitlements
207
- * - Pagination uses offset-based pagination (offset = page_number \* page_size)
208
- */
209
- list(
210
- query: CreditEntitlementListParams | null | undefined = {},
211
- options?: RequestOptions,
212
- ): PagePromise<CreditEntitlementsDefaultPageNumberPagination, CreditEntitlement> {
213
- return this._client.getAPIList('/credit-entitlements', DefaultPageNumberPagination<CreditEntitlement>, {
214
- query,
215
- ...options,
216
- });
217
- }
218
-
219
- delete(id: string, options?: RequestOptions): APIPromise<void> {
220
- return this._client.delete(path`/credit-entitlements/${id}`, {
221
- ...options,
222
- headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
223
- });
224
- }
225
-
226
226
  /**
227
227
  * Undeletes a soft-deleted credit entitlement by clearing `deleted_at`, making it
228
228
  * available again through standard list and get endpoints.
@@ -337,6 +337,13 @@ export interface CreditEntitlement {
337
337
  rollover_timeframe_interval?: SubscriptionsAPI.TimeInterval | null;
338
338
  }
339
339
 
340
+ export interface CreditEntitlementListParams extends DefaultPageNumberPaginationParams {
341
+ /**
342
+ * List deleted credit entitlements
343
+ */
344
+ deleted?: boolean;
345
+ }
346
+
340
347
  export interface CreditEntitlementCreateParams {
341
348
  /**
342
349
  * Name of the credit entitlement
@@ -487,13 +494,6 @@ export interface CreditEntitlementUpdateParams {
487
494
  unit?: string | null;
488
495
  }
489
496
 
490
- export interface CreditEntitlementListParams extends DefaultPageNumberPaginationParams {
491
- /**
492
- * List deleted credit entitlements
493
- */
494
- deleted?: boolean;
495
- }
496
-
497
497
  CreditEntitlements.Balances = Balances;
498
498
 
499
499
  export declare namespace CreditEntitlements {
@@ -501,9 +501,9 @@ export declare namespace CreditEntitlements {
501
501
  type CbbOverageBehavior as CbbOverageBehavior,
502
502
  type CreditEntitlement as CreditEntitlement,
503
503
  type CreditEntitlementsDefaultPageNumberPagination as CreditEntitlementsDefaultPageNumberPagination,
504
+ type CreditEntitlementListParams as CreditEntitlementListParams,
504
505
  type CreditEntitlementCreateParams as CreditEntitlementCreateParams,
505
506
  type CreditEntitlementUpdateParams as CreditEntitlementUpdateParams,
506
- type CreditEntitlementListParams as CreditEntitlementListParams,
507
507
  };
508
508
 
509
509
  export {
@@ -516,10 +516,10 @@ export declare namespace CreditEntitlements {
516
516
  type CustomerCreditBalancesDefaultPageNumberPagination as CustomerCreditBalancesDefaultPageNumberPagination,
517
517
  type BalanceListGrantsResponsesDefaultPageNumberPagination as BalanceListGrantsResponsesDefaultPageNumberPagination,
518
518
  type CreditLedgerEntriesDefaultPageNumberPagination as CreditLedgerEntriesDefaultPageNumberPagination,
519
- type BalanceRetrieveParams as BalanceRetrieveParams,
520
519
  type BalanceListParams as BalanceListParams,
521
- type BalanceCreateLedgerEntryParams as BalanceCreateLedgerEntryParams,
520
+ type BalanceRetrieveParams as BalanceRetrieveParams,
522
521
  type BalanceListGrantsParams as BalanceListGrantsParams,
523
522
  type BalanceListLedgerParams as BalanceListLedgerParams,
523
+ type BalanceCreateLedgerEntryParams as BalanceCreateLedgerEntryParams,
524
524
  };
525
525
  }
@@ -7,11 +7,11 @@ export {
7
7
  type LedgerEntryType,
8
8
  type BalanceCreateLedgerEntryResponse,
9
9
  type BalanceListGrantsResponse,
10
- type BalanceRetrieveParams,
11
10
  type BalanceListParams,
12
- type BalanceCreateLedgerEntryParams,
11
+ type BalanceRetrieveParams,
13
12
  type BalanceListGrantsParams,
14
13
  type BalanceListLedgerParams,
14
+ type BalanceCreateLedgerEntryParams,
15
15
  type CustomerCreditBalancesDefaultPageNumberPagination,
16
16
  type BalanceListGrantsResponsesDefaultPageNumberPagination,
17
17
  type CreditLedgerEntriesDefaultPageNumberPagination,
@@ -20,8 +20,8 @@ export {
20
20
  CreditEntitlements,
21
21
  type CbbOverageBehavior,
22
22
  type CreditEntitlement,
23
+ type CreditEntitlementListParams,
23
24
  type CreditEntitlementCreateParams,
24
25
  type CreditEntitlementUpdateParams,
25
- type CreditEntitlementListParams,
26
26
  type CreditEntitlementsDefaultPageNumberPagination,
27
27
  } from './credit-entitlements';
@@ -22,26 +22,43 @@ export class Customers extends APIResource {
22
22
  customerPortal: CustomerPortalAPI.CustomerPortal = new CustomerPortalAPI.CustomerPortal(this._client);
23
23
  wallets: WalletsAPI.Wallets = new WalletsAPI.Wallets(this._client);
24
24
 
25
- create(body: CustomerCreateParams, options?: RequestOptions): APIPromise<Customer> {
26
- return this._client.post('/customers', { body, ...options });
25
+ list(
26
+ query: CustomerListParams | null | undefined = {},
27
+ options?: RequestOptions,
28
+ ): PagePromise<CustomersDefaultPageNumberPagination, Customer> {
29
+ return this._client.getAPIList('/customers', DefaultPageNumberPagination<Customer>, {
30
+ query,
31
+ ...options,
32
+ });
27
33
  }
28
34
 
29
35
  retrieve(customerID: string, options?: RequestOptions): APIPromise<Customer> {
30
36
  return this._client.get(path`/customers/${customerID}`, options);
31
37
  }
32
38
 
39
+ create(body: CustomerCreateParams, options?: RequestOptions): APIPromise<Customer> {
40
+ return this._client.post('/customers', { body, ...options });
41
+ }
42
+
33
43
  update(customerID: string, body: CustomerUpdateParams, options?: RequestOptions): APIPromise<Customer> {
34
44
  return this._client.patch(path`/customers/${customerID}`, { body, ...options });
35
45
  }
36
46
 
37
- list(
38
- query: CustomerListParams | null | undefined = {},
47
+ retrievePaymentMethods(
48
+ customerID: string,
39
49
  options?: RequestOptions,
40
- ): PagePromise<CustomersDefaultPageNumberPagination, Customer> {
41
- return this._client.getAPIList('/customers', DefaultPageNumberPagination<Customer>, {
42
- query,
43
- ...options,
44
- });
50
+ ): APIPromise<CustomerRetrievePaymentMethodsResponse> {
51
+ return this._client.get(path`/customers/${customerID}/payment-methods`, options);
52
+ }
53
+
54
+ /**
55
+ * List all credit entitlements for a customer with their current balances
56
+ */
57
+ listCreditEntitlements(
58
+ customerID: string,
59
+ options?: RequestOptions,
60
+ ): APIPromise<CustomerListCreditEntitlementsResponse> {
61
+ return this._client.get(path`/customers/${customerID}/credit-entitlements`, options);
45
62
  }
46
63
 
47
64
  deletePaymentMethod(
@@ -56,16 +73,6 @@ export class Customers extends APIResource {
56
73
  });
57
74
  }
58
75
 
59
- /**
60
- * List all credit entitlements for a customer with their current balances
61
- */
62
- listCreditEntitlements(
63
- customerID: string,
64
- options?: RequestOptions,
65
- ): APIPromise<CustomerListCreditEntitlementsResponse> {
66
- return this._client.get(path`/customers/${customerID}/credit-entitlements`, options);
67
- }
68
-
69
76
  /**
70
77
  * List all entitlement grants delivered (or in flight) to a customer.
71
78
  */
@@ -75,13 +82,6 @@ export class Customers extends APIResource {
75
82
  ): APIPromise<CustomerListEntitlementsResponse> {
76
83
  return this._client.get(path`/customers/${customerID}/entitlements`, options);
77
84
  }
78
-
79
- retrievePaymentMethods(
80
- customerID: string,
81
- options?: RequestOptions,
82
- ): APIPromise<CustomerRetrievePaymentMethodsResponse> {
83
- return this._client.get(path`/customers/${customerID}/payment-methods`, options);
84
- }
85
85
  }
86
86
 
87
87
  export type CustomersDefaultPageNumberPagination = DefaultPageNumberPagination<Customer>;
@@ -245,6 +245,28 @@ export namespace CustomerRetrievePaymentMethodsResponse {
245
245
  }
246
246
  }
247
247
 
248
+ export interface CustomerListParams extends DefaultPageNumberPaginationParams {
249
+ /**
250
+ * Filter customers created on or after this timestamp
251
+ */
252
+ created_at_gte?: string;
253
+
254
+ /**
255
+ * Filter customers created on or before this timestamp
256
+ */
257
+ created_at_lte?: string;
258
+
259
+ /**
260
+ * Filter by customer email
261
+ */
262
+ email?: string;
263
+
264
+ /**
265
+ * Filter by customer name (partial match, case-insensitive)
266
+ */
267
+ name?: string;
268
+ }
269
+
248
270
  export interface CustomerCreateParams {
249
271
  email: string;
250
272
 
@@ -271,28 +293,6 @@ export interface CustomerUpdateParams {
271
293
  phone_number?: string | null;
272
294
  }
273
295
 
274
- export interface CustomerListParams extends DefaultPageNumberPaginationParams {
275
- /**
276
- * Filter customers created on or after this timestamp
277
- */
278
- created_at_gte?: string;
279
-
280
- /**
281
- * Filter customers created on or before this timestamp
282
- */
283
- created_at_lte?: string;
284
-
285
- /**
286
- * Filter by customer email
287
- */
288
- email?: string;
289
-
290
- /**
291
- * Filter by customer name (partial match, case-insensitive)
292
- */
293
- name?: string;
294
- }
295
-
296
296
  export interface CustomerDeletePaymentMethodParams {
297
297
  /**
298
298
  * Customer Id
@@ -311,9 +311,9 @@ export declare namespace Customers {
311
311
  type CustomerListEntitlementsResponse as CustomerListEntitlementsResponse,
312
312
  type CustomerRetrievePaymentMethodsResponse as CustomerRetrievePaymentMethodsResponse,
313
313
  type CustomersDefaultPageNumberPagination as CustomersDefaultPageNumberPagination,
314
+ type CustomerListParams as CustomerListParams,
314
315
  type CustomerCreateParams as CustomerCreateParams,
315
316
  type CustomerUpdateParams as CustomerUpdateParams,
316
- type CustomerListParams as CustomerListParams,
317
317
  type CustomerDeletePaymentMethodParams as CustomerDeletePaymentMethodParams,
318
318
  };
319
319
 
@@ -8,9 +8,9 @@ export {
8
8
  type CustomerListCreditEntitlementsResponse,
9
9
  type CustomerListEntitlementsResponse,
10
10
  type CustomerRetrievePaymentMethodsResponse,
11
+ type CustomerListParams,
11
12
  type CustomerCreateParams,
12
13
  type CustomerUpdateParams,
13
- type CustomerListParams,
14
14
  type CustomerDeletePaymentMethodParams,
15
15
  type CustomersDefaultPageNumberPagination,
16
16
  } from './customers';
@@ -3,8 +3,8 @@
3
3
  export {
4
4
  LedgerEntries,
5
5
  type CustomerWalletTransaction,
6
- type LedgerEntryCreateParams,
7
6
  type LedgerEntryListParams,
7
+ type LedgerEntryCreateParams,
8
8
  type CustomerWalletTransactionsDefaultPageNumberPagination,
9
9
  } from './ledger-entries';
10
10
  export { Wallets, type CustomerWallet, type WalletListResponse } from './wallets';