@stigg/typescript 0.1.0-alpha.1 → 0.1.0-alpha.10

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 (308) hide show
  1. package/CHANGELOG.md +148 -0
  2. package/README.md +40 -0
  3. package/client.d.mts +6 -8
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +6 -8
  6. package/client.d.ts.map +1 -1
  7. package/client.js +23 -21
  8. package/client.js.map +1 -1
  9. package/client.mjs +24 -22
  10. package/client.mjs.map +1 -1
  11. package/core/pagination.d.mts +11 -5
  12. package/core/pagination.d.mts.map +1 -1
  13. package/core/pagination.d.ts +11 -5
  14. package/core/pagination.d.ts.map +1 -1
  15. package/core/pagination.js +9 -9
  16. package/core/pagination.js.map +1 -1
  17. package/core/pagination.mjs +9 -9
  18. package/core/pagination.mjs.map +1 -1
  19. package/internal/parse.d.mts.map +1 -1
  20. package/internal/parse.d.ts.map +1 -1
  21. package/internal/parse.js +5 -0
  22. package/internal/parse.js.map +1 -1
  23. package/internal/parse.mjs +5 -0
  24. package/internal/parse.mjs.map +1 -1
  25. package/internal/qs/formats.d.mts +7 -0
  26. package/internal/qs/formats.d.mts.map +1 -0
  27. package/internal/qs/formats.d.ts +7 -0
  28. package/internal/qs/formats.d.ts.map +1 -0
  29. package/internal/qs/formats.js +13 -0
  30. package/internal/qs/formats.js.map +1 -0
  31. package/internal/qs/formats.mjs +9 -0
  32. package/internal/qs/formats.mjs.map +1 -0
  33. package/internal/qs/index.d.mts +10 -0
  34. package/internal/qs/index.d.mts.map +1 -0
  35. package/internal/qs/index.d.ts +10 -0
  36. package/internal/qs/index.d.ts.map +1 -0
  37. package/internal/qs/index.js +14 -0
  38. package/internal/qs/index.js.map +1 -0
  39. package/internal/qs/index.mjs +10 -0
  40. package/internal/qs/index.mjs.map +1 -0
  41. package/internal/qs/stringify.d.mts +3 -0
  42. package/internal/qs/stringify.d.mts.map +1 -0
  43. package/internal/qs/stringify.d.ts +3 -0
  44. package/internal/qs/stringify.d.ts.map +1 -0
  45. package/internal/qs/stringify.js +277 -0
  46. package/internal/qs/stringify.js.map +1 -0
  47. package/internal/qs/stringify.mjs +274 -0
  48. package/internal/qs/stringify.mjs.map +1 -0
  49. package/internal/qs/types.d.mts +57 -0
  50. package/internal/qs/types.d.mts.map +1 -0
  51. package/internal/qs/types.d.ts +57 -0
  52. package/internal/qs/types.d.ts.map +1 -0
  53. package/internal/qs/types.js +3 -0
  54. package/internal/qs/types.js.map +1 -0
  55. package/internal/qs/types.mjs +2 -0
  56. package/internal/qs/types.mjs.map +1 -0
  57. package/internal/qs/utils.d.mts +15 -0
  58. package/internal/qs/utils.d.mts.map +1 -0
  59. package/internal/qs/utils.d.ts +15 -0
  60. package/internal/qs/utils.d.ts.map +1 -0
  61. package/internal/qs/utils.js +230 -0
  62. package/internal/qs/utils.js.map +1 -0
  63. package/internal/qs/utils.mjs +217 -0
  64. package/internal/qs/utils.mjs.map +1 -0
  65. package/package.json +1 -1
  66. package/resources/index.d.mts +1 -1
  67. package/resources/index.d.mts.map +1 -1
  68. package/resources/index.d.ts +1 -1
  69. package/resources/index.d.ts.map +1 -1
  70. package/resources/index.js.map +1 -1
  71. package/resources/index.mjs +1 -1
  72. package/resources/index.mjs.map +1 -1
  73. package/resources/v1/coupons.d.mts +154 -157
  74. package/resources/v1/coupons.d.mts.map +1 -1
  75. package/resources/v1/coupons.d.ts +154 -157
  76. package/resources/v1/coupons.d.ts.map +1 -1
  77. package/resources/v1/coupons.js +21 -4
  78. package/resources/v1/coupons.js.map +1 -1
  79. package/resources/v1/coupons.mjs +21 -4
  80. package/resources/v1/coupons.mjs.map +1 -1
  81. package/resources/v1/customers/customers.d.mts +247 -118
  82. package/resources/v1/customers/customers.d.mts.map +1 -1
  83. package/resources/v1/customers/customers.d.ts +247 -118
  84. package/resources/v1/customers/customers.d.ts.map +1 -1
  85. package/resources/v1/customers/customers.js +37 -16
  86. package/resources/v1/customers/customers.js.map +1 -1
  87. package/resources/v1/customers/customers.mjs +37 -16
  88. package/resources/v1/customers/customers.mjs.map +1 -1
  89. package/resources/v1/customers/index.d.mts +2 -2
  90. package/resources/v1/customers/index.d.mts.map +1 -1
  91. package/resources/v1/customers/index.d.ts +2 -2
  92. package/resources/v1/customers/index.d.ts.map +1 -1
  93. package/resources/v1/customers/index.js +3 -3
  94. package/resources/v1/customers/index.js.map +1 -1
  95. package/resources/v1/customers/index.mjs +1 -1
  96. package/resources/v1/customers/index.mjs.map +1 -1
  97. package/resources/v1/customers/payment-method.d.mts +7 -2
  98. package/resources/v1/customers/payment-method.d.mts.map +1 -1
  99. package/resources/v1/customers/payment-method.d.ts +7 -2
  100. package/resources/v1/customers/payment-method.d.ts.map +1 -1
  101. package/resources/v1/customers/payment-method.js +4 -2
  102. package/resources/v1/customers/payment-method.js.map +1 -1
  103. package/resources/v1/customers/payment-method.mjs +4 -2
  104. package/resources/v1/customers/payment-method.mjs.map +1 -1
  105. package/resources/v1/customers/promotional-entitlements.d.mts +498 -0
  106. package/resources/v1/customers/promotional-entitlements.d.mts.map +1 -0
  107. package/resources/v1/customers/promotional-entitlements.d.ts +498 -0
  108. package/resources/v1/customers/promotional-entitlements.d.ts.map +1 -0
  109. package/resources/v1/customers/promotional-entitlements.js +32 -0
  110. package/resources/v1/customers/promotional-entitlements.js.map +1 -0
  111. package/resources/v1/customers/promotional-entitlements.mjs +28 -0
  112. package/resources/v1/customers/promotional-entitlements.mjs.map +1 -0
  113. package/resources/v1/events/addons/addons.d.mts +605 -0
  114. package/resources/v1/events/addons/addons.d.mts.map +1 -0
  115. package/resources/v1/events/addons/addons.d.ts +605 -0
  116. package/resources/v1/events/addons/addons.d.ts.map +1 -0
  117. package/resources/v1/events/addons/addons.js +60 -0
  118. package/resources/v1/events/addons/addons.js.map +1 -0
  119. package/resources/v1/events/addons/addons.mjs +55 -0
  120. package/resources/v1/events/addons/addons.mjs.map +1 -0
  121. package/resources/v1/events/addons/draft.d.mts +121 -0
  122. package/resources/v1/events/addons/draft.d.mts.map +1 -0
  123. package/resources/v1/events/addons/draft.d.ts +121 -0
  124. package/resources/v1/events/addons/draft.d.ts.map +1 -0
  125. package/resources/v1/events/addons/draft.js +22 -0
  126. package/resources/v1/events/addons/draft.js.map +1 -0
  127. package/resources/v1/events/addons/draft.mjs +18 -0
  128. package/resources/v1/events/addons/draft.mjs.map +1 -0
  129. package/resources/v1/events/addons/index.d.mts +3 -0
  130. package/resources/v1/events/addons/index.d.mts.map +1 -0
  131. package/resources/v1/events/addons/index.d.ts +3 -0
  132. package/resources/v1/events/addons/index.d.ts.map +1 -0
  133. package/resources/v1/events/addons/index.js +9 -0
  134. package/resources/v1/events/addons/index.js.map +1 -0
  135. package/resources/v1/events/addons/index.mjs +4 -0
  136. package/resources/v1/events/addons/index.mjs.map +1 -0
  137. package/resources/v1/events/addons.d.mts +2 -0
  138. package/resources/v1/events/addons.d.mts.map +1 -0
  139. package/resources/v1/events/addons.d.ts +2 -0
  140. package/resources/v1/events/addons.d.ts.map +1 -0
  141. package/resources/v1/events/addons.js +6 -0
  142. package/resources/v1/events/addons.js.map +1 -0
  143. package/resources/v1/events/addons.mjs +3 -0
  144. package/resources/v1/events/addons.mjs.map +1 -0
  145. package/resources/v1/events/events.d.mts +75 -0
  146. package/resources/v1/events/events.d.mts.map +1 -0
  147. package/resources/v1/events/events.d.ts +75 -0
  148. package/resources/v1/events/events.d.ts.map +1 -0
  149. package/resources/v1/events/events.js +32 -0
  150. package/resources/v1/events/events.js.map +1 -0
  151. package/resources/v1/events/events.mjs +27 -0
  152. package/resources/v1/events/events.mjs.map +1 -0
  153. package/resources/v1/events/features.d.mts +856 -0
  154. package/resources/v1/events/features.d.mts.map +1 -0
  155. package/resources/v1/events/features.d.ts +856 -0
  156. package/resources/v1/events/features.d.ts.map +1 -0
  157. package/resources/v1/events/features.js +51 -0
  158. package/resources/v1/events/features.js.map +1 -0
  159. package/resources/v1/events/features.mjs +47 -0
  160. package/resources/v1/events/features.mjs.map +1 -0
  161. package/resources/v1/events/index.d.mts +5 -0
  162. package/resources/v1/events/index.d.mts.map +1 -0
  163. package/resources/v1/events/index.d.ts +5 -0
  164. package/resources/v1/events/index.d.ts.map +1 -0
  165. package/resources/v1/events/index.js +13 -0
  166. package/resources/v1/events/index.js.map +1 -0
  167. package/resources/v1/events/index.mjs +6 -0
  168. package/resources/v1/events/index.mjs.map +1 -0
  169. package/resources/v1/events/plans.d.mts +348 -0
  170. package/resources/v1/events/plans.d.mts.map +1 -0
  171. package/resources/v1/events/plans.d.ts +348 -0
  172. package/resources/v1/events/plans.d.ts.map +1 -0
  173. package/resources/v1/events/plans.js +30 -0
  174. package/resources/v1/events/plans.js.map +1 -0
  175. package/resources/v1/events/plans.mjs +26 -0
  176. package/resources/v1/events/plans.mjs.map +1 -0
  177. package/resources/v1/events.d.mts +2 -0
  178. package/resources/v1/events.d.mts.map +1 -0
  179. package/resources/v1/events.d.ts +2 -0
  180. package/resources/v1/events.d.ts.map +1 -0
  181. package/resources/v1/events.js +6 -0
  182. package/resources/v1/events.js.map +1 -0
  183. package/resources/v1/events.mjs +3 -0
  184. package/resources/v1/events.mjs.map +1 -0
  185. package/resources/v1/index.d.mts +7 -4
  186. package/resources/v1/index.d.mts.map +1 -1
  187. package/resources/v1/index.d.ts +7 -4
  188. package/resources/v1/index.d.ts.map +1 -1
  189. package/resources/v1/index.js +9 -3
  190. package/resources/v1/index.js.map +1 -1
  191. package/resources/v1/index.mjs +4 -1
  192. package/resources/v1/index.mjs.map +1 -1
  193. package/resources/v1/products.d.mts +676 -0
  194. package/resources/v1/products.d.mts.map +1 -0
  195. package/resources/v1/products.d.ts +676 -0
  196. package/resources/v1/products.d.ts.map +1 -0
  197. package/resources/v1/products.js +52 -0
  198. package/resources/v1/products.js.map +1 -0
  199. package/resources/v1/products.mjs +48 -0
  200. package/resources/v1/products.mjs.map +1 -0
  201. package/resources/v1/subscriptions/future-update.d.mts +12 -19
  202. package/resources/v1/subscriptions/future-update.d.mts.map +1 -1
  203. package/resources/v1/subscriptions/future-update.d.ts +12 -19
  204. package/resources/v1/subscriptions/future-update.d.ts.map +1 -1
  205. package/resources/v1/subscriptions/future-update.js +3 -2
  206. package/resources/v1/subscriptions/future-update.js.map +1 -1
  207. package/resources/v1/subscriptions/future-update.mjs +3 -2
  208. package/resources/v1/subscriptions/future-update.mjs.map +1 -1
  209. package/resources/v1/subscriptions/index.d.mts +4 -2
  210. package/resources/v1/subscriptions/index.d.mts.map +1 -1
  211. package/resources/v1/subscriptions/index.d.ts +4 -2
  212. package/resources/v1/subscriptions/index.d.ts.map +1 -1
  213. package/resources/v1/subscriptions/index.js +5 -1
  214. package/resources/v1/subscriptions/index.js.map +1 -1
  215. package/resources/v1/subscriptions/index.mjs +3 -1
  216. package/resources/v1/subscriptions/index.mjs.map +1 -1
  217. package/resources/v1/subscriptions/invoice.d.mts +34 -0
  218. package/resources/v1/subscriptions/invoice.d.mts.map +1 -0
  219. package/resources/v1/subscriptions/invoice.d.ts +34 -0
  220. package/resources/v1/subscriptions/invoice.d.ts.map +1 -0
  221. package/resources/v1/subscriptions/invoice.js +17 -0
  222. package/resources/v1/subscriptions/invoice.js.map +1 -0
  223. package/resources/v1/subscriptions/invoice.mjs +13 -0
  224. package/resources/v1/subscriptions/invoice.mjs.map +1 -0
  225. package/resources/v1/subscriptions/subscriptions.d.mts +1545 -518
  226. package/resources/v1/subscriptions/subscriptions.d.mts.map +1 -1
  227. package/resources/v1/subscriptions/subscriptions.d.ts +1545 -518
  228. package/resources/v1/subscriptions/subscriptions.d.ts.map +1 -1
  229. package/resources/v1/subscriptions/subscriptions.js +52 -12
  230. package/resources/v1/subscriptions/subscriptions.js.map +1 -1
  231. package/resources/v1/subscriptions/subscriptions.mjs +53 -13
  232. package/resources/v1/subscriptions/subscriptions.mjs.map +1 -1
  233. package/resources/v1/subscriptions/usage.d.mts +98 -0
  234. package/resources/v1/subscriptions/usage.d.mts.map +1 -0
  235. package/resources/v1/subscriptions/usage.d.ts +98 -0
  236. package/resources/v1/subscriptions/usage.d.ts.map +1 -0
  237. package/resources/v1/subscriptions/usage.js +24 -0
  238. package/resources/v1/subscriptions/usage.js.map +1 -0
  239. package/resources/v1/subscriptions/usage.mjs +20 -0
  240. package/resources/v1/subscriptions/usage.mjs.map +1 -0
  241. package/resources/v1/usage.d.mts +230 -0
  242. package/resources/v1/usage.d.mts.map +1 -0
  243. package/resources/v1/usage.d.ts +230 -0
  244. package/resources/v1/usage.d.ts.map +1 -0
  245. package/resources/v1/usage.js +24 -0
  246. package/resources/v1/usage.js.map +1 -0
  247. package/resources/v1/usage.mjs +20 -0
  248. package/resources/v1/usage.mjs.map +1 -0
  249. package/resources/v1/v1.d.mts +18 -149
  250. package/resources/v1/v1.d.mts.map +1 -1
  251. package/resources/v1/v1.d.ts +18 -149
  252. package/resources/v1/v1.d.ts.map +1 -1
  253. package/resources/v1/v1.js +12 -12
  254. package/resources/v1/v1.js.map +1 -1
  255. package/resources/v1/v1.mjs +12 -12
  256. package/resources/v1/v1.mjs.map +1 -1
  257. package/src/client.ts +33 -40
  258. package/src/core/pagination.ts +24 -18
  259. package/src/internal/parse.ts +6 -0
  260. package/src/internal/qs/LICENSE.md +13 -0
  261. package/src/internal/qs/README.md +3 -0
  262. package/src/internal/qs/formats.ts +10 -0
  263. package/src/internal/qs/index.ts +13 -0
  264. package/src/internal/qs/stringify.ts +385 -0
  265. package/src/internal/qs/types.ts +71 -0
  266. package/src/internal/qs/utils.ts +265 -0
  267. package/src/resources/index.ts +1 -7
  268. package/src/resources/v1/coupons.ts +311 -436
  269. package/src/resources/v1/customers/customers.ts +334 -153
  270. package/src/resources/v1/customers/index.ts +17 -2
  271. package/src/resources/v1/customers/payment-method.ts +7 -2
  272. package/src/resources/v1/customers/promotional-entitlements.ts +669 -0
  273. package/src/resources/v1/events/addons/addons.ts +761 -0
  274. package/src/resources/v1/events/addons/draft.ts +151 -0
  275. package/src/resources/v1/events/addons/index.ts +17 -0
  276. package/src/resources/v1/events/addons.ts +3 -0
  277. package/src/resources/v1/events/events.ts +160 -0
  278. package/src/resources/v1/events/features.ts +1066 -0
  279. package/src/resources/v1/events/index.ts +39 -0
  280. package/src/resources/v1/events/plans.ts +429 -0
  281. package/src/resources/v1/events.ts +3 -0
  282. package/src/resources/v1/index.ts +40 -15
  283. package/src/resources/v1/products.ts +834 -0
  284. package/src/resources/v1/subscriptions/future-update.ts +12 -27
  285. package/src/resources/v1/subscriptions/index.ts +16 -11
  286. package/src/resources/v1/subscriptions/invoice.ts +42 -0
  287. package/src/resources/v1/subscriptions/subscriptions.ts +3316 -832
  288. package/src/resources/v1/subscriptions/usage.ts +126 -0
  289. package/src/resources/v1/usage.ts +284 -0
  290. package/src/resources/v1/v1.ts +96 -197
  291. package/src/version.ts +1 -1
  292. package/version.d.mts +1 -1
  293. package/version.d.mts.map +1 -1
  294. package/version.d.ts +1 -1
  295. package/version.d.ts.map +1 -1
  296. package/version.js +1 -1
  297. package/version.js.map +1 -1
  298. package/version.mjs +1 -1
  299. package/version.mjs.map +1 -1
  300. package/resources/v1/customers/usage.d.mts +0 -98
  301. package/resources/v1/customers/usage.d.mts.map +0 -1
  302. package/resources/v1/customers/usage.d.ts +0 -98
  303. package/resources/v1/customers/usage.d.ts.map +0 -1
  304. package/resources/v1/customers/usage.js +0 -20
  305. package/resources/v1/customers/usage.js.map +0 -1
  306. package/resources/v1/customers/usage.mjs +0 -16
  307. package/resources/v1/customers/usage.mjs.map +0 -1
  308. package/src/resources/v1/customers/usage.ts +0 -132
@@ -0,0 +1,126 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../../core/resource';
4
+ import { APIPromise } from '../../../core/api-promise';
5
+ import { RequestOptions } from '../../../internal/request-options';
6
+ import { path } from '../../../internal/utils/path';
7
+
8
+ export class Usage extends APIResource {
9
+ /**
10
+ * Immediately charges usage for a subscription via the billing integration.
11
+ * Calculates usage since the last charge and creates an invoice.
12
+ */
13
+ chargeUsage(
14
+ id: string,
15
+ body: UsageChargeUsageParams,
16
+ options?: RequestOptions,
17
+ ): APIPromise<UsageChargeUsageResponse> {
18
+ return this._client.post(path`/api/v1/subscriptions/${id}/usage/charge`, { body, ...options });
19
+ }
20
+
21
+ /**
22
+ * Triggers a usage sync for a subscription, reporting current usage to the billing
23
+ * provider.
24
+ */
25
+ sync(id: string, options?: RequestOptions): APIPromise<UsageSyncResponse> {
26
+ return this._client.post(path`/api/v1/subscriptions/${id}/usage/sync`, options);
27
+ }
28
+ }
29
+
30
+ /**
31
+ * Response object
32
+ */
33
+ export interface UsageChargeUsageResponse {
34
+ /**
35
+ * Result of charging subscription usage including the billing period and charged
36
+ * items.
37
+ */
38
+ data: UsageChargeUsageResponse.Data;
39
+ }
40
+
41
+ export namespace UsageChargeUsageResponse {
42
+ /**
43
+ * Result of charging subscription usage including the billing period and charged
44
+ * items.
45
+ */
46
+ export interface Data {
47
+ /**
48
+ * The invoice ID in the billing integration
49
+ */
50
+ invoiceBillingId: string | null;
51
+
52
+ /**
53
+ * End of the usage billing period
54
+ */
55
+ periodEnd: string;
56
+
57
+ /**
58
+ * Start of the usage billing period
59
+ */
60
+ periodStart: string;
61
+
62
+ /**
63
+ * The subscription ID for which usage was charged
64
+ */
65
+ subscriptionId: string;
66
+
67
+ /**
68
+ * Usage items that were charged
69
+ */
70
+ usageCharged: Array<Data.UsageCharged>;
71
+ }
72
+
73
+ export namespace Data {
74
+ /**
75
+ * A single usage item that was charged.
76
+ */
77
+ export interface UsageCharged {
78
+ /**
79
+ * The feature ID for which usage was charged
80
+ */
81
+ featureId: string | null;
82
+
83
+ /**
84
+ * The number of units charged
85
+ */
86
+ usageAmount: number;
87
+ }
88
+ }
89
+ }
90
+
91
+ /**
92
+ * Response object
93
+ */
94
+ export interface UsageSyncResponse {
95
+ /**
96
+ * Result of triggering a subscription usage sync.
97
+ */
98
+ data: UsageSyncResponse.Data;
99
+ }
100
+
101
+ export namespace UsageSyncResponse {
102
+ /**
103
+ * Result of triggering a subscription usage sync.
104
+ */
105
+ export interface Data {
106
+ /**
107
+ * Whether usage was synced to the billing provider
108
+ */
109
+ triggered: boolean;
110
+ }
111
+ }
112
+
113
+ export interface UsageChargeUsageParams {
114
+ /**
115
+ * Cutoff date for usage calculation. If not provided, the current time is used.
116
+ */
117
+ untilDate?: string;
118
+ }
119
+
120
+ export declare namespace Usage {
121
+ export {
122
+ type UsageChargeUsageResponse as UsageChargeUsageResponse,
123
+ type UsageSyncResponse as UsageSyncResponse,
124
+ type UsageChargeUsageParams as UsageChargeUsageParams,
125
+ };
126
+ }
@@ -0,0 +1,284 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../core/resource';
4
+ import { APIPromise } from '../../core/api-promise';
5
+ import { RequestOptions } from '../../internal/request-options';
6
+ import { path } from '../../internal/utils/path';
7
+
8
+ export class Usage extends APIResource {
9
+ /**
10
+ * Retrieves historical usage data for a customer's metered feature over time.
11
+ */
12
+ history(
13
+ featureID: string,
14
+ params: UsageHistoryParams,
15
+ options?: RequestOptions,
16
+ ): APIPromise<UsageHistoryResponse> {
17
+ const { customerId, ...query } = params;
18
+ return this._client.get(path`/api/v1/usage/${customerId}/history/${featureID}`, { query, ...options });
19
+ }
20
+
21
+ /**
22
+ * Reports usage measurements for metered features. The reported usage is used to
23
+ * track, limit, and bill customer consumption.
24
+ */
25
+ report(body: UsageReportParams, options?: RequestOptions): APIPromise<UsageReportResponse> {
26
+ return this._client.post('/api/v1/usage', { body, ...options });
27
+ }
28
+ }
29
+
30
+ /**
31
+ * Response object
32
+ */
33
+ export interface UsageHistoryResponse {
34
+ /**
35
+ * Historical usage time series
36
+ */
37
+ data: UsageHistoryResponse.Data;
38
+ }
39
+
40
+ export namespace UsageHistoryResponse {
41
+ /**
42
+ * Historical usage time series
43
+ */
44
+ export interface Data {
45
+ /**
46
+ * Markers for events that affecting feature usage
47
+ */
48
+ markers: Array<Data.Marker>;
49
+
50
+ /**
51
+ * Series of usage history
52
+ */
53
+ series: Array<Data.Series>;
54
+ }
55
+
56
+ export namespace Data {
57
+ /**
58
+ * Usage reset or change marker
59
+ */
60
+ export interface Marker {
61
+ /**
62
+ * Timestamp of the marker
63
+ */
64
+ timestamp: string;
65
+
66
+ /**
67
+ * Type of marker for a usage history point
68
+ */
69
+ type: 'PERIODIC_RESET' | 'SUBSCRIPTION_CHANGE_RESET';
70
+ }
71
+
72
+ /**
73
+ * Usage data points with tags
74
+ */
75
+ export interface Series {
76
+ /**
77
+ * Points in the usage history series
78
+ */
79
+ points: Array<Series.Point>;
80
+
81
+ /**
82
+ * Tags for the usage history series
83
+ */
84
+ tags: Array<Series.Tag>;
85
+ }
86
+
87
+ export namespace Series {
88
+ /**
89
+ * Single usage data point
90
+ */
91
+ export interface Point {
92
+ /**
93
+ * Indicates whether there was usage reset in this point, see `markers` for details
94
+ */
95
+ isResetPoint: boolean;
96
+
97
+ /**
98
+ * Timestamp of the usage history point
99
+ */
100
+ timestamp: string;
101
+
102
+ /**
103
+ * Value of the usage history point
104
+ */
105
+ value: number;
106
+ }
107
+
108
+ /**
109
+ * Grouping tag key-value
110
+ */
111
+ export interface Tag {
112
+ /**
113
+ * Key of the tag
114
+ */
115
+ key: string;
116
+
117
+ /**
118
+ * Value of the tag
119
+ */
120
+ value: string;
121
+ }
122
+ }
123
+ }
124
+ }
125
+
126
+ /**
127
+ * Response containing reported usage measurements with current usage values,
128
+ * period information, and reset dates for each measurement.
129
+ */
130
+ export interface UsageReportResponse {
131
+ /**
132
+ * Array of usage measurements with current values and period info
133
+ */
134
+ data: Array<UsageReportResponse.Data>;
135
+ }
136
+
137
+ export namespace UsageReportResponse {
138
+ /**
139
+ * Recorded usage with period info
140
+ */
141
+ export interface Data {
142
+ /**
143
+ * Unique identifier for the entity
144
+ */
145
+ id: string;
146
+
147
+ /**
148
+ * Timestamp of when the record was created
149
+ */
150
+ createdAt: string;
151
+
152
+ /**
153
+ * Customer id
154
+ */
155
+ customerId: string;
156
+
157
+ /**
158
+ * Feature id
159
+ */
160
+ featureId: string;
161
+
162
+ /**
163
+ * Timestamp
164
+ */
165
+ timestamp: string;
166
+
167
+ /**
168
+ * The usage measurement record
169
+ */
170
+ value: number;
171
+
172
+ /**
173
+ * The current measured usage value
174
+ */
175
+ currentUsage?: number | null;
176
+
177
+ /**
178
+ * The date when the next usage reset will occur
179
+ */
180
+ nextResetDate?: string | null;
181
+
182
+ /**
183
+ * Resource id
184
+ */
185
+ resourceId?: string | null;
186
+
187
+ /**
188
+ * The end date of the usage period in which this measurement resides (for
189
+ * entitlements with a reset period)
190
+ */
191
+ usagePeriodEnd?: string | null;
192
+
193
+ /**
194
+ * The start date of the usage period in which this measurement resides (for
195
+ * entitlements with a reset period)
196
+ */
197
+ usagePeriodStart?: string | null;
198
+ }
199
+ }
200
+
201
+ export interface UsageHistoryParams {
202
+ /**
203
+ * Path param: Customer id
204
+ */
205
+ customerId: string;
206
+
207
+ /**
208
+ * Query param: The start date of the range
209
+ */
210
+ startDate: string;
211
+
212
+ /**
213
+ * Query param: The end date of the range
214
+ */
215
+ endDate?: string;
216
+
217
+ /**
218
+ * Query param
219
+ */
220
+ groupBy?: string;
221
+
222
+ /**
223
+ * Query param: Resource id
224
+ */
225
+ resourceId?: string | null;
226
+ }
227
+
228
+ export interface UsageReportParams {
229
+ /**
230
+ * A list of usage reports to be submitted in bulk
231
+ */
232
+ usages: Array<UsageReportParams.Usage>;
233
+ }
234
+
235
+ export namespace UsageReportParams {
236
+ /**
237
+ * Single usage measurement
238
+ */
239
+ export interface Usage {
240
+ /**
241
+ * Customer id
242
+ */
243
+ customerId: string;
244
+
245
+ /**
246
+ * Feature id
247
+ */
248
+ featureId: string;
249
+
250
+ /**
251
+ * The value to report for usage
252
+ */
253
+ value: number;
254
+
255
+ /**
256
+ * Timestamp of when the record was created
257
+ */
258
+ createdAt?: string;
259
+
260
+ /**
261
+ * Additional dimensions for the usage report
262
+ */
263
+ dimensions?: { [key: string]: string | number | boolean };
264
+
265
+ /**
266
+ * Resource id
267
+ */
268
+ resourceId?: string | null;
269
+
270
+ /**
271
+ * The method by which the usage value should be updated
272
+ */
273
+ updateBehavior?: 'DELTA' | 'SET';
274
+ }
275
+ }
276
+
277
+ export declare namespace Usage {
278
+ export {
279
+ type UsageHistoryResponse as UsageHistoryResponse,
280
+ type UsageReportResponse as UsageReportResponse,
281
+ type UsageHistoryParams as UsageHistoryParams,
282
+ type UsageReportParams as UsageReportParams,
283
+ };
284
+ }