@flexprice/sdk 2.1.24 → 2.1.26

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 (231) hide show
  1. package/docs/sdk/models/billing-period-behaviour.md +17 -0
  2. package/docs/sdk/models/billing-period-config.md +18 -0
  3. package/docs/sdk/models/create-entitlement-request.md +22 -21
  4. package/docs/sdk/models/create-entity-integration-mapping-request.md +1 -1
  5. package/docs/sdk/models/credit-grant-application-response.md +1 -1
  6. package/docs/sdk/models/entitlement-grant-allocation-behavior.md +17 -0
  7. package/docs/sdk/models/entitlement-grant-duration-unit.md +1 -1
  8. package/docs/sdk/models/entitlement-response.md +34 -33
  9. package/docs/sdk/models/entity-change-behaviour.md +2 -2
  10. package/docs/sdk/models/entity-change-policy.md +4 -4
  11. package/docs/sdk/models/entity-change-result.md +6 -6
  12. package/docs/sdk/models/integration-entity-type.md +2 -2
  13. package/docs/sdk/models/invoice-sync-settings.md +6 -3
  14. package/docs/sdk/models/link-integration-mapping-request.md +1 -1
  15. package/docs/sdk/models/list-usage-records-response.md +16 -0
  16. package/docs/sdk/models/metadata-custom-field-source.md +17 -0
  17. package/docs/sdk/models/metadata-custom-field.md +17 -0
  18. package/docs/sdk/models/on-pending-schedule-policy.md +15 -0
  19. package/docs/sdk/models/plan-price-sync-status-response.md +17 -0
  20. package/docs/sdk/models/plan-response.md +1 -0
  21. package/docs/sdk/models/price-feature-response.md +15 -0
  22. package/docs/sdk/models/price-response.md +1 -0
  23. package/docs/sdk/models/service-period-custom-fields.md +16 -0
  24. package/docs/sdk/models/subscription-change-billing-period-result.md +18 -0
  25. package/docs/sdk/models/subscription-change-conflict-policies.md +15 -0
  26. package/docs/sdk/models/subscription-change-entity-type.md +17 -0
  27. package/docs/sdk/models/subscription-change-v2-request.md +11 -7
  28. package/docs/sdk/models/subscription-change-v2-response.md +16 -11
  29. package/docs/sdk/models/update-entitlement-request.md +1 -0
  30. package/docs/sdk/models/usage-record-filter-order.md +15 -0
  31. package/docs/sdk/models/usage-record-filter.md +31 -0
  32. package/docs/sdk/models/usage-record-response.md +33 -0
  33. package/docs/sdk/models/usage-record-sync-entry.md +20 -0
  34. package/docs/sdks/costs/README.md +0 -72
  35. package/docs/sdks/integrations/README.md +4 -4
  36. package/docs/sdks/prices/README.md +1 -1
  37. package/docs/sdks/subscriptions/README.md +8 -0
  38. package/docs/sdks/usagerecords/README.md +78 -0
  39. package/esm/funcs/prices-get-price-by-lookup-key.js +1 -1
  40. package/esm/funcs/prices-get-price-by-lookup-key.js.map +1 -1
  41. package/esm/funcs/subscriptions-execute-subscription-plan-change-v2.d.ts +8 -0
  42. package/esm/funcs/subscriptions-execute-subscription-plan-change-v2.d.ts.map +1 -1
  43. package/esm/funcs/subscriptions-execute-subscription-plan-change-v2.js +8 -0
  44. package/esm/funcs/subscriptions-execute-subscription-plan-change-v2.js.map +1 -1
  45. package/esm/funcs/usage-records-post-usage-records-search.d.ts +17 -0
  46. package/esm/funcs/usage-records-post-usage-records-search.d.ts.map +1 -0
  47. package/esm/funcs/{costs-get-detailed-cost-analytics-v2.js → usage-records-post-usage-records-search.js} +8 -8
  48. package/esm/funcs/usage-records-post-usage-records-search.js.map +1 -0
  49. package/esm/lib/config.d.ts +3 -3
  50. package/esm/lib/config.js +3 -3
  51. package/esm/sdk/costs.d.ts +0 -7
  52. package/esm/sdk/costs.d.ts.map +1 -1
  53. package/esm/sdk/costs.js +0 -10
  54. package/esm/sdk/costs.js.map +1 -1
  55. package/esm/sdk/models/billing-period-behaviour.d.ts +13 -0
  56. package/esm/sdk/models/billing-period-behaviour.d.ts.map +1 -0
  57. package/esm/sdk/models/billing-period-behaviour.js +14 -0
  58. package/esm/sdk/models/billing-period-behaviour.js.map +1 -0
  59. package/esm/sdk/models/billing-period-config.d.ts +20 -0
  60. package/esm/sdk/models/billing-period-config.d.ts.map +1 -0
  61. package/esm/sdk/models/billing-period-config.js +25 -0
  62. package/esm/sdk/models/billing-period-config.js.map +1 -0
  63. package/esm/sdk/models/create-entitlement-request.d.ts +3 -0
  64. package/esm/sdk/models/create-entitlement-request.d.ts.map +1 -1
  65. package/esm/sdk/models/create-entitlement-request.js +3 -0
  66. package/esm/sdk/models/create-entitlement-request.js.map +1 -1
  67. package/esm/sdk/models/credit-grant-application-response.d.ts +1 -1
  68. package/esm/sdk/models/credit-grant-application-response.js +1 -1
  69. package/esm/sdk/models/entitlement-grant-allocation-behavior.d.ts +12 -0
  70. package/esm/sdk/models/entitlement-grant-allocation-behavior.d.ts.map +1 -0
  71. package/esm/sdk/models/entitlement-grant-allocation-behavior.js +13 -0
  72. package/esm/sdk/models/entitlement-grant-allocation-behavior.js.map +1 -0
  73. package/esm/sdk/models/entitlement-grant-duration-unit.d.ts +1 -0
  74. package/esm/sdk/models/entitlement-grant-duration-unit.d.ts.map +1 -1
  75. package/esm/sdk/models/entitlement-grant-duration-unit.js +1 -0
  76. package/esm/sdk/models/entitlement-grant-duration-unit.js.map +1 -1
  77. package/esm/sdk/models/entitlement-response.d.ts +3 -1
  78. package/esm/sdk/models/entitlement-response.d.ts.map +1 -1
  79. package/esm/sdk/models/entitlement-response.js +4 -1
  80. package/esm/sdk/models/entitlement-response.js.map +1 -1
  81. package/esm/sdk/models/entity-change-behaviour.d.ts +1 -0
  82. package/esm/sdk/models/entity-change-behaviour.d.ts.map +1 -1
  83. package/esm/sdk/models/entity-change-behaviour.js +1 -0
  84. package/esm/sdk/models/entity-change-behaviour.js.map +1 -1
  85. package/esm/sdk/models/entity-change-policy.d.ts +3 -0
  86. package/esm/sdk/models/entity-change-policy.d.ts.map +1 -1
  87. package/esm/sdk/models/entity-change-policy.js.map +1 -1
  88. package/esm/sdk/models/entity-change-result.d.ts +2 -2
  89. package/esm/sdk/models/entity-change-result.d.ts.map +1 -1
  90. package/esm/sdk/models/entity-change-result.js +2 -2
  91. package/esm/sdk/models/entity-change-result.js.map +1 -1
  92. package/esm/sdk/models/index.d.ts +16 -0
  93. package/esm/sdk/models/index.d.ts.map +1 -1
  94. package/esm/sdk/models/index.js +16 -0
  95. package/esm/sdk/models/index.js.map +1 -1
  96. package/esm/sdk/models/integration-entity-type.d.ts +1 -0
  97. package/esm/sdk/models/integration-entity-type.d.ts.map +1 -1
  98. package/esm/sdk/models/integration-entity-type.js +1 -0
  99. package/esm/sdk/models/integration-entity-type.js.map +1 -1
  100. package/esm/sdk/models/invoice-sync-settings.d.ts +19 -0
  101. package/esm/sdk/models/invoice-sync-settings.d.ts.map +1 -1
  102. package/esm/sdk/models/invoice-sync-settings.js +8 -0
  103. package/esm/sdk/models/invoice-sync-settings.js.map +1 -1
  104. package/esm/sdk/models/list-usage-records-response.d.ts +13 -0
  105. package/esm/sdk/models/list-usage-records-response.d.ts.map +1 -0
  106. package/esm/sdk/models/list-usage-records-response.js +17 -0
  107. package/esm/sdk/models/list-usage-records-response.js.map +1 -0
  108. package/esm/sdk/models/metadata-custom-field-source.d.ts +10 -0
  109. package/esm/sdk/models/metadata-custom-field-source.d.ts.map +1 -0
  110. package/esm/sdk/models/metadata-custom-field-source.js +11 -0
  111. package/esm/sdk/models/metadata-custom-field-source.js.map +1 -0
  112. package/esm/sdk/models/metadata-custom-field.d.ts +13 -0
  113. package/esm/sdk/models/metadata-custom-field.d.ts.map +1 -0
  114. package/esm/sdk/models/metadata-custom-field.js +22 -0
  115. package/esm/sdk/models/metadata-custom-field.js.map +1 -0
  116. package/esm/sdk/models/on-pending-schedule-policy.d.ts +10 -0
  117. package/esm/sdk/models/on-pending-schedule-policy.d.ts.map +1 -0
  118. package/esm/sdk/models/on-pending-schedule-policy.js +11 -0
  119. package/esm/sdk/models/on-pending-schedule-policy.js.map +1 -0
  120. package/esm/sdk/models/plan-price-sync-status-response.d.ts +12 -0
  121. package/esm/sdk/models/plan-price-sync-status-response.d.ts.map +1 -0
  122. package/esm/sdk/models/plan-price-sync-status-response.js +22 -0
  123. package/esm/sdk/models/plan-price-sync-status-response.js.map +1 -0
  124. package/esm/sdk/models/plan-response.d.ts +2 -0
  125. package/esm/sdk/models/plan-response.d.ts.map +1 -1
  126. package/esm/sdk/models/plan-response.js +3 -0
  127. package/esm/sdk/models/plan-response.js.map +1 -1
  128. package/esm/sdk/models/price-feature-response.d.ts +11 -0
  129. package/esm/sdk/models/price-feature-response.d.ts.map +1 -0
  130. package/esm/sdk/models/price-feature-response.js +20 -0
  131. package/esm/sdk/models/price-feature-response.js.map +1 -0
  132. package/esm/sdk/models/price-response.d.ts +2 -0
  133. package/esm/sdk/models/price-response.d.ts.map +1 -1
  134. package/esm/sdk/models/price-response.js +2 -0
  135. package/esm/sdk/models/price-response.js.map +1 -1
  136. package/esm/sdk/models/service-period-custom-fields.d.ts +11 -0
  137. package/esm/sdk/models/service-period-custom-fields.d.ts.map +1 -0
  138. package/esm/sdk/models/service-period-custom-fields.js +21 -0
  139. package/esm/sdk/models/service-period-custom-fields.js.map +1 -0
  140. package/esm/sdk/models/subscription-change-billing-period-result.d.ts +14 -0
  141. package/esm/sdk/models/subscription-change-billing-period-result.d.ts.map +1 -0
  142. package/esm/sdk/models/subscription-change-billing-period-result.js +25 -0
  143. package/esm/sdk/models/subscription-change-billing-period-result.js.map +1 -0
  144. package/esm/sdk/models/subscription-change-conflict-policies.d.ts +13 -0
  145. package/esm/sdk/models/subscription-change-conflict-policies.d.ts.map +1 -0
  146. package/esm/sdk/models/subscription-change-conflict-policies.js +18 -0
  147. package/esm/sdk/models/subscription-change-conflict-policies.js.map +1 -0
  148. package/esm/sdk/models/subscription-change-entity-type.d.ts +13 -0
  149. package/esm/sdk/models/subscription-change-entity-type.d.ts.map +1 -0
  150. package/esm/sdk/models/subscription-change-entity-type.js +14 -0
  151. package/esm/sdk/models/subscription-change-entity-type.js.map +1 -0
  152. package/esm/sdk/models/subscription-change-v2-request.d.ts +12 -0
  153. package/esm/sdk/models/subscription-change-v2-request.d.ts.map +1 -1
  154. package/esm/sdk/models/subscription-change-v2-request.js +12 -0
  155. package/esm/sdk/models/subscription-change-v2-request.js.map +1 -1
  156. package/esm/sdk/models/subscription-change-v2-response.d.ts +18 -0
  157. package/esm/sdk/models/subscription-change-v2-response.d.ts.map +1 -1
  158. package/esm/sdk/models/subscription-change-v2-response.js +11 -0
  159. package/esm/sdk/models/subscription-change-v2-response.js.map +1 -1
  160. package/esm/sdk/models/update-entitlement-request.d.ts +3 -0
  161. package/esm/sdk/models/update-entitlement-request.d.ts.map +1 -1
  162. package/esm/sdk/models/update-entitlement-request.js +3 -0
  163. package/esm/sdk/models/update-entitlement-request.js.map +1 -1
  164. package/esm/sdk/models/usage-record-filter.d.ts +67 -0
  165. package/esm/sdk/models/usage-record-filter.d.ts.map +1 -0
  166. package/esm/sdk/models/usage-record-filter.js +49 -0
  167. package/esm/sdk/models/usage-record-filter.js.map +1 -0
  168. package/esm/sdk/models/usage-record-response.d.ts +32 -0
  169. package/esm/sdk/models/usage-record-response.d.ts.map +1 -0
  170. package/esm/sdk/models/usage-record-response.js +50 -0
  171. package/esm/sdk/models/usage-record-response.js.map +1 -0
  172. package/esm/sdk/models/usage-record-sync-entry.d.ts +32 -0
  173. package/esm/sdk/models/usage-record-sync-entry.d.ts.map +1 -0
  174. package/esm/sdk/models/usage-record-sync-entry.js +28 -0
  175. package/esm/sdk/models/usage-record-sync-entry.js.map +1 -0
  176. package/esm/sdk/sdk.d.ts +3 -0
  177. package/esm/sdk/sdk.d.ts.map +1 -1
  178. package/esm/sdk/sdk.js +5 -0
  179. package/esm/sdk/sdk.js.map +1 -1
  180. package/esm/sdk/subscriptions.d.ts +8 -0
  181. package/esm/sdk/subscriptions.d.ts.map +1 -1
  182. package/esm/sdk/subscriptions.js +8 -0
  183. package/esm/sdk/subscriptions.js.map +1 -1
  184. package/esm/sdk/usage-records.d.ts +12 -0
  185. package/esm/sdk/usage-records.d.ts.map +1 -0
  186. package/esm/sdk/usage-records.js +18 -0
  187. package/esm/sdk/usage-records.js.map +1 -0
  188. package/jsr.json +1 -1
  189. package/package.json +1 -1
  190. package/src/funcs/prices-get-price-by-lookup-key.ts +1 -1
  191. package/src/funcs/subscriptions-execute-subscription-plan-change-v2.ts +8 -0
  192. package/src/funcs/{costs-get-detailed-cost-analytics-v2.ts → usage-records-post-usage-records-search.ts} +12 -12
  193. package/src/lib/config.ts +3 -3
  194. package/src/sdk/costs.ts +0 -18
  195. package/src/sdk/models/billing-period-behaviour.ts +25 -0
  196. package/src/sdk/models/billing-period-config.ts +57 -0
  197. package/src/sdk/models/create-entitlement-request.ts +10 -0
  198. package/src/sdk/models/credit-grant-application-response.ts +2 -2
  199. package/src/sdk/models/entitlement-grant-allocation-behavior.ts +26 -0
  200. package/src/sdk/models/entitlement-grant-duration-unit.ts +1 -0
  201. package/src/sdk/models/entitlement-response.ts +11 -2
  202. package/src/sdk/models/entity-change-behaviour.ts +1 -0
  203. package/src/sdk/models/entity-change-policy.ts +3 -0
  204. package/src/sdk/models/entity-change-result.ts +5 -5
  205. package/src/sdk/models/index.ts +16 -0
  206. package/src/sdk/models/integration-entity-type.ts +1 -0
  207. package/src/sdk/models/invoice-sync-settings.ts +35 -0
  208. package/src/sdk/models/list-usage-records-response.ts +41 -0
  209. package/src/sdk/models/metadata-custom-field-source.ts +21 -0
  210. package/src/sdk/models/metadata-custom-field.ts +47 -0
  211. package/src/sdk/models/on-pending-schedule-policy.ts +19 -0
  212. package/src/sdk/models/plan-price-sync-status-response.ts +44 -0
  213. package/src/sdk/models/plan-response.ts +9 -0
  214. package/src/sdk/models/price-feature-response.ts +43 -0
  215. package/src/sdk/models/price-response.ts +6 -0
  216. package/src/sdk/models/service-period-custom-fields.ts +42 -0
  217. package/src/sdk/models/subscription-change-billing-period-result.ts +52 -0
  218. package/src/sdk/models/subscription-change-conflict-policies.ts +44 -0
  219. package/src/sdk/models/subscription-change-entity-type.ts +24 -0
  220. package/src/sdk/models/subscription-change-v2-request.ts +35 -0
  221. package/src/sdk/models/subscription-change-v2-response.ts +33 -0
  222. package/src/sdk/models/update-entitlement-request.ts +10 -0
  223. package/src/sdk/models/usage-record-filter.ts +130 -0
  224. package/src/sdk/models/usage-record-response.ts +93 -0
  225. package/src/sdk/models/usage-record-sync-entry.ts +70 -0
  226. package/src/sdk/sdk.ts +6 -0
  227. package/src/sdk/subscriptions.ts +8 -0
  228. package/src/sdk/usage-records.ts +27 -0
  229. package/esm/funcs/costs-get-detailed-cost-analytics-v2.d.ts +0 -17
  230. package/esm/funcs/costs-get-detailed-cost-analytics-v2.d.ts.map +0 -1
  231. package/esm/funcs/costs-get-detailed-cost-analytics-v2.js.map +0 -1
@@ -0,0 +1,130 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { ClosedEnum } from "../../types/enums.js";
8
+ import {
9
+ FilterCondition,
10
+ FilterCondition$Outbound,
11
+ FilterCondition$outboundSchema,
12
+ } from "./filter-condition.js";
13
+ import {
14
+ SortCondition,
15
+ SortCondition$Outbound,
16
+ SortCondition$outboundSchema,
17
+ } from "./sort-condition.js";
18
+ import { Status, Status$outboundSchema } from "./status.js";
19
+
20
+ export const UsageRecordFilterOrder = {
21
+ Asc: "asc",
22
+ Desc: "desc",
23
+ } as const;
24
+ export type UsageRecordFilterOrder = ClosedEnum<typeof UsageRecordFilterOrder>;
25
+
26
+ export type UsageRecordFilter = {
27
+ currency?: string | undefined;
28
+ customerExternalId?: string | undefined;
29
+ customerId?: string | undefined;
30
+ endTime?: Date | undefined;
31
+ expand?: string | undefined;
32
+ /**
33
+ * Generic predicate and ordering escape hatch, for comparisons that have no dedicated field
34
+ *
35
+ * @remarks
36
+ * below — a range such as period_end at or after a cutoff goes here.
37
+ */
38
+ filters?: Array<FilterCondition> | undefined;
39
+ limit?: number | undefined;
40
+ offset?: number | undefined;
41
+ order?: UsageRecordFilterOrder | undefined;
42
+ periodEnd?: Date | undefined;
43
+ /**
44
+ * Exact-match on the window boundaries. Together with SubscriptionID these identify a single row:
45
+ *
46
+ * @remarks
47
+ * they are the columns the table's unique index is built on.
48
+ */
49
+ periodStart?: Date | undefined;
50
+ planId?: string | undefined;
51
+ sort?: Array<SortCondition> | undefined;
52
+ startTime?: Date | undefined;
53
+ status?: Status | undefined;
54
+ subscriptionId?: string | undefined;
55
+ synced?: boolean | undefined;
56
+ };
57
+
58
+ /** @internal */
59
+ export const UsageRecordFilterOrder$outboundSchema: z.ZodMiniEnum<
60
+ typeof UsageRecordFilterOrder
61
+ > = z.enum(UsageRecordFilterOrder);
62
+
63
+ /** @internal */
64
+ export type UsageRecordFilter$Outbound = {
65
+ currency?: string | undefined;
66
+ customer_external_id?: string | undefined;
67
+ customer_id?: string | undefined;
68
+ end_time?: string | undefined;
69
+ expand?: string | undefined;
70
+ filters?: Array<FilterCondition$Outbound> | undefined;
71
+ limit?: number | undefined;
72
+ offset?: number | undefined;
73
+ order?: string | undefined;
74
+ period_end?: string | undefined;
75
+ period_start?: string | undefined;
76
+ plan_id?: string | undefined;
77
+ sort?: Array<SortCondition$Outbound> | undefined;
78
+ start_time?: string | undefined;
79
+ status?: string | undefined;
80
+ subscription_id?: string | undefined;
81
+ synced?: boolean | undefined;
82
+ };
83
+
84
+ /** @internal */
85
+ export const UsageRecordFilter$outboundSchema: z.ZodMiniType<
86
+ UsageRecordFilter$Outbound,
87
+ UsageRecordFilter
88
+ > = z.pipe(
89
+ z.object({
90
+ currency: z.optional(z.string()),
91
+ customerExternalId: z.optional(z.string()),
92
+ customerId: z.optional(z.string()),
93
+ endTime: z.optional(z.pipe(z.date(), z.transform(v => v.toISOString()))),
94
+ expand: z.optional(z.string()),
95
+ filters: z.optional(z.array(FilterCondition$outboundSchema)),
96
+ limit: z.optional(z.int()),
97
+ offset: z.optional(z.int()),
98
+ order: z.optional(UsageRecordFilterOrder$outboundSchema),
99
+ periodEnd: z.optional(z.pipe(z.date(), z.transform(v => v.toISOString()))),
100
+ periodStart: z.optional(
101
+ z.pipe(z.date(), z.transform(v => v.toISOString())),
102
+ ),
103
+ planId: z.optional(z.string()),
104
+ sort: z.optional(z.array(SortCondition$outboundSchema)),
105
+ startTime: z.optional(z.pipe(z.date(), z.transform(v => v.toISOString()))),
106
+ status: z.optional(Status$outboundSchema),
107
+ subscriptionId: z.optional(z.string()),
108
+ synced: z.optional(z.boolean()),
109
+ }),
110
+ z.transform((v) => {
111
+ return remap$(v, {
112
+ customerExternalId: "customer_external_id",
113
+ customerId: "customer_id",
114
+ endTime: "end_time",
115
+ periodEnd: "period_end",
116
+ periodStart: "period_start",
117
+ planId: "plan_id",
118
+ startTime: "start_time",
119
+ subscriptionId: "subscription_id",
120
+ });
121
+ }),
122
+ );
123
+
124
+ export function usageRecordFilterToJSON(
125
+ usageRecordFilter: UsageRecordFilter,
126
+ ): string {
127
+ return JSON.stringify(
128
+ UsageRecordFilter$outboundSchema.parse(usageRecordFilter),
129
+ );
130
+ }
@@ -0,0 +1,93 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import * as types from "../../types/primitives.js";
10
+ import { SDKValidationError } from "./sdk-validation-error.js";
11
+ import { Status, Status$inboundSchema } from "./status.js";
12
+ import {
13
+ UsageRecordSyncEntry,
14
+ UsageRecordSyncEntry$inboundSchema,
15
+ } from "./usage-record-sync-entry.js";
16
+
17
+ export type UsageRecordResponse = {
18
+ amount?: number | undefined;
19
+ createdAt?: Date | undefined;
20
+ createdBy?: string | undefined;
21
+ currency?: string | undefined;
22
+ customerExternalId?: string | undefined;
23
+ customerId?: string | undefined;
24
+ environmentId?: string | undefined;
25
+ id?: string | undefined;
26
+ periodEnd?: Date | undefined;
27
+ periodStart?: Date | undefined;
28
+ planId?: string | undefined;
29
+ quantity?: number | undefined;
30
+ status?: Status | undefined;
31
+ subscriptionId?: string | undefined;
32
+ synced?: boolean | undefined;
33
+ syncs?: { [k: string]: UsageRecordSyncEntry } | undefined;
34
+ tenantId?: string | undefined;
35
+ updatedAt?: Date | undefined;
36
+ updatedBy?: string | undefined;
37
+ };
38
+
39
+ /** @internal */
40
+ export const UsageRecordResponse$inboundSchema: z.ZodMiniType<
41
+ UsageRecordResponse,
42
+ unknown
43
+ > = z.pipe(
44
+ z.object({
45
+ amount: types.optional(types.number()),
46
+ created_at: types.optional(types.date()),
47
+ created_by: types.optional(types.string()),
48
+ currency: types.optional(types.string()),
49
+ customer_external_id: types.optional(types.string()),
50
+ customer_id: types.optional(types.string()),
51
+ environment_id: types.optional(types.string()),
52
+ id: types.optional(types.string()),
53
+ period_end: types.optional(types.date()),
54
+ period_start: types.optional(types.date()),
55
+ plan_id: types.optional(types.string()),
56
+ quantity: types.optional(types.number()),
57
+ status: types.optional(Status$inboundSchema),
58
+ subscription_id: types.optional(types.string()),
59
+ synced: types.optional(types.boolean()),
60
+ syncs: types.optional(
61
+ z.record(z.string(), UsageRecordSyncEntry$inboundSchema),
62
+ ),
63
+ tenant_id: types.optional(types.string()),
64
+ updated_at: types.optional(types.date()),
65
+ updated_by: types.optional(types.string()),
66
+ }),
67
+ z.transform((v) => {
68
+ return remap$(v, {
69
+ "created_at": "createdAt",
70
+ "created_by": "createdBy",
71
+ "customer_external_id": "customerExternalId",
72
+ "customer_id": "customerId",
73
+ "environment_id": "environmentId",
74
+ "period_end": "periodEnd",
75
+ "period_start": "periodStart",
76
+ "plan_id": "planId",
77
+ "subscription_id": "subscriptionId",
78
+ "tenant_id": "tenantId",
79
+ "updated_at": "updatedAt",
80
+ "updated_by": "updatedBy",
81
+ });
82
+ }),
83
+ );
84
+
85
+ export function usageRecordResponseFromJSON(
86
+ jsonString: string,
87
+ ): SafeParseResult<UsageRecordResponse, SDKValidationError> {
88
+ return safeParse(
89
+ jsonString,
90
+ (x) => UsageRecordResponse$inboundSchema.parse(JSON.parse(x)),
91
+ `Failed to parse 'UsageRecordResponse' from JSON`,
92
+ );
93
+ }
@@ -0,0 +1,70 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import * as types from "../../types/primitives.js";
10
+ import { SDKValidationError } from "./sdk-validation-error.js";
11
+
12
+ export type UsageRecordSyncEntry = {
13
+ /**
14
+ * AgreementID is the subscription's identifier on this marketplace: license_arn on AWS,
15
+ *
16
+ * @remarks
17
+ * usage_reporting_id on GCP, resource_id on Azure. It records which agreement the usage was
18
+ * billed against, which stays meaningful after the connection that reported it is replaced.
19
+ */
20
+ agreementId?: string | undefined;
21
+ /**
22
+ * ConnectionID is the connection that reported this entry, kept for tracing which credentials
23
+ *
24
+ * @remarks
25
+ * were used. It is deliberately not part of the map key: a replaced connection must not make an
26
+ * already reported record look unreported.
27
+ */
28
+ connectionId?: string | undefined;
29
+ reportingId?: string | undefined;
30
+ skipReason?: string | undefined;
31
+ skipped?: boolean | undefined;
32
+ /**
33
+ * SyncedAt is when the marketplace accepted the record. Zero on a skip, since nothing was sent.
34
+ */
35
+ syncedAt?: Date | undefined;
36
+ };
37
+
38
+ /** @internal */
39
+ export const UsageRecordSyncEntry$inboundSchema: z.ZodMiniType<
40
+ UsageRecordSyncEntry,
41
+ unknown
42
+ > = z.pipe(
43
+ z.object({
44
+ agreement_id: types.optional(types.string()),
45
+ connection_id: types.optional(types.string()),
46
+ reporting_id: types.optional(types.string()),
47
+ skip_reason: types.optional(types.string()),
48
+ skipped: types.optional(types.boolean()),
49
+ synced_at: types.optional(types.date()),
50
+ }),
51
+ z.transform((v) => {
52
+ return remap$(v, {
53
+ "agreement_id": "agreementId",
54
+ "connection_id": "connectionId",
55
+ "reporting_id": "reportingId",
56
+ "skip_reason": "skipReason",
57
+ "synced_at": "syncedAt",
58
+ });
59
+ }),
60
+ );
61
+
62
+ export function usageRecordSyncEntryFromJSON(
63
+ jsonString: string,
64
+ ): SafeParseResult<UsageRecordSyncEntry, SDKValidationError> {
65
+ return safeParse(
66
+ jsonString,
67
+ (x) => UsageRecordSyncEntry$inboundSchema.parse(JSON.parse(x)),
68
+ `Failed to parse 'UsageRecordSyncEntry' from JSON`,
69
+ );
70
+ }
package/src/sdk/sdk.ts CHANGED
@@ -33,6 +33,7 @@ import { Tasks } from "./tasks.js";
33
33
  import { TaxAssociations } from "./tax-associations.js";
34
34
  import { TaxRates } from "./tax-rates.js";
35
35
  import { Tenants } from "./tenants.js";
36
+ import { UsageRecords } from "./usage-records.js";
36
37
  import { Users } from "./users.js";
37
38
  import { Wallets } from "./wallets.js";
38
39
  import { WebhookEvents } from "./webhook-events.js";
@@ -194,6 +195,11 @@ export class Flexprice extends ClientSDK {
194
195
  return (this._tenants ??= new Tenants(this._options));
195
196
  }
196
197
 
198
+ private _usageRecords?: UsageRecords;
199
+ get usageRecords(): UsageRecords {
200
+ return (this._usageRecords ??= new UsageRecords(this._options));
201
+ }
202
+
197
203
  private _users?: Users;
198
204
  get users(): Users {
199
205
  return (this._users ??= new Users(this._options));
@@ -314,6 +314,14 @@ export class Subscriptions extends ClientSDK {
314
314
  *
315
315
  * @remarks
316
316
  * Change a subscription's plan in place. Subscription id, billing anchor and period bounds are preserved; line items are sliced and settled in one transaction.
317
+ *
318
+ * change_at controls timing. Omitted or 'immediate' applies the change now. 'end_of_period' records a pending schedule that executes at the subscription's current period end: the response returns is_scheduled, schedule_id and scheduled_at instead of a completed change, and nothing is swapped or billed until the boundary.
319
+ *
320
+ * scheduled_at is resolved from the subscription's current period end at request time. If that period end is already in the past (a backdated start date, a resumed pause, or worker downtime can all leave a subscription behind), the change is due immediately and fires on the next billing scan rather than a period away — inspect scheduled_at to see this.
321
+ *
322
+ * Only one plan change may be pending per subscription. By default (on_conflict_policies.on_pending_schedule = 'reject') a second request returns 400; cancel the existing schedule via POST /subscriptions/schedules/{schedule_id}/cancel first. Pending schedules are listable via GET /subscriptions/{id}/schedules.
323
+ *
324
+ * Set on_conflict_policies.on_pending_schedule to 'supersede' to replace the queued change instead: the pending schedule is cancelled and this request applied in the same transaction, so both land or neither does. The cancelled schedule ids are returned in superseded_schedules, and preview reports the same list without writing.
317
325
  */
318
326
  async executeSubscriptionPlanChangeV2(
319
327
  id: string,
@@ -0,0 +1,27 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { usageRecordsPostUsageRecordsSearch } from "../funcs/usage-records-post-usage-records-search.js";
6
+ import { ClientSDK, RequestOptions } from "../lib/sdks.js";
7
+ import { unwrapAsync } from "../types/fp.js";
8
+ import * as models from "./models/index.js";
9
+
10
+ export class UsageRecords extends ClientSDK {
11
+ /**
12
+ * List usage records
13
+ *
14
+ * @remarks
15
+ * Lists usage records. Also accepts filters/sort for a filtered query.
16
+ */
17
+ async postUsageRecordsSearch(
18
+ request: models.UsageRecordFilter,
19
+ options?: RequestOptions,
20
+ ): Promise<models.ListUsageRecordsResponse> {
21
+ return unwrapAsync(usageRecordsPostUsageRecordsSearch(
22
+ this,
23
+ request,
24
+ options,
25
+ ));
26
+ }
27
+ }
@@ -1,17 +0,0 @@
1
- import { FlexpriceCore } from "../core.js";
2
- import { RequestOptions } from "../lib/sdks.js";
3
- import { FlexPriceError } from "../sdk/models/flex-price-error.js";
4
- import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError } from "../sdk/models/http-client-errors.js";
5
- import * as models from "../sdk/models/index.js";
6
- import { ResponseValidationError } from "../sdk/models/response-validation-error.js";
7
- import { SDKValidationError } from "../sdk/models/sdk-validation-error.js";
8
- import { APIPromise } from "../types/async.js";
9
- import { Result } from "../types/fp.js";
10
- /**
11
- * Get combined revenue and cost analytics (V2)
12
- *
13
- * @remarks
14
- * Use when you need the same revenue/cost/ROI analytics but computed from the costsheet usage-tracking pipeline (e.g. for consistency with usage-based cost data).
15
- */
16
- export declare function costsGetDetailedCostAnalyticsV2(client: FlexpriceCore, request: models.GetCostAnalyticsRequest, options?: RequestOptions): APIPromise<Result<models.GetDetailedCostAnalyticsResponse, models.ErrorsErrorResponse | FlexPriceError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
17
- //# sourceMappingURL=costs-get-detailed-cost-analytics-v2.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"costs-get-detailed-cost-analytics-v2.d.ts","sourceRoot":"","sources":["../../src/funcs/costs-get-detailed-cost-analytics-v2.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAM3C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAW,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,CAAC,uBAAuB,EACvC,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CACX,MAAM,CACJ,MAAM,CAAC,gCAAgC,EACrC,MAAM,CAAC,mBAAmB,GAC1B,cAAc,GACd,uBAAuB,GACvB,eAAe,GACf,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,qBAAqB,GACrB,kBAAkB,CACrB,CACF,CAMA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"costs-get-detailed-cost-analytics-v2.js","sourceRoot":"","sources":["../../src/funcs/costs-get-detailed-cost-analytics-v2.ts"],"names":[],"mappings":"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"}