@flexprice/sdk 2.1.38 → 2.1.39

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 (74) hide show
  1. package/docs/sdk/models/invoice-billing-reason.md +2 -2
  2. package/docs/sdk/models/pause-subscription-request-request.md +19 -0
  3. package/docs/sdk/models/pause-subscription-request.md +19 -0
  4. package/docs/sdk/models/pause-subscription-response.md +127 -0
  5. package/docs/sdk/models/resume-subscription-request-request.md +19 -0
  6. package/docs/sdk/models/resume-subscription-request.md +18 -0
  7. package/docs/sdk/models/resume-subscription-response.md +127 -0
  8. package/docs/sdk/models/subscription-pause-response.md +35 -0
  9. package/docs/sdks/subscriptions/README.md +146 -0
  10. package/esm/funcs/subscriptions-pause-subscription.d.ts +17 -0
  11. package/esm/funcs/subscriptions-pause-subscription.d.ts.map +1 -0
  12. package/esm/funcs/subscriptions-pause-subscription.js +93 -0
  13. package/esm/funcs/subscriptions-pause-subscription.js.map +1 -0
  14. package/esm/funcs/subscriptions-resume-subscription.d.ts +17 -0
  15. package/esm/funcs/subscriptions-resume-subscription.d.ts.map +1 -0
  16. package/esm/funcs/subscriptions-resume-subscription.js +93 -0
  17. package/esm/funcs/subscriptions-resume-subscription.js.map +1 -0
  18. package/esm/lib/config.d.ts +2 -2
  19. package/esm/lib/config.js +2 -2
  20. package/esm/sdk/models/index.d.ts +7 -0
  21. package/esm/sdk/models/index.d.ts.map +1 -1
  22. package/esm/sdk/models/index.js +7 -0
  23. package/esm/sdk/models/index.js.map +1 -1
  24. package/esm/sdk/models/invoice-billing-reason.d.ts +2 -0
  25. package/esm/sdk/models/invoice-billing-reason.d.ts.map +1 -1
  26. package/esm/sdk/models/invoice-billing-reason.js +2 -0
  27. package/esm/sdk/models/invoice-billing-reason.js.map +1 -1
  28. package/esm/sdk/models/pause-subscription-op.d.ts +21 -0
  29. package/esm/sdk/models/pause-subscription-op.d.ts.map +1 -0
  30. package/esm/sdk/models/pause-subscription-op.js +14 -0
  31. package/esm/sdk/models/pause-subscription-op.js.map +1 -0
  32. package/esm/sdk/models/pause-subscription-request.d.ts +37 -0
  33. package/esm/sdk/models/pause-subscription-request.d.ts.map +1 -0
  34. package/esm/sdk/models/pause-subscription-request.js +20 -0
  35. package/esm/sdk/models/pause-subscription-request.js.map +1 -0
  36. package/esm/sdk/models/pause-subscription-response.d.ts +19 -0
  37. package/esm/sdk/models/pause-subscription-response.d.ts.map +1 -0
  38. package/esm/sdk/models/pause-subscription-response.js +17 -0
  39. package/esm/sdk/models/pause-subscription-response.js.map +1 -0
  40. package/esm/sdk/models/resume-subscription-op.d.ts +21 -0
  41. package/esm/sdk/models/resume-subscription-op.d.ts.map +1 -0
  42. package/esm/sdk/models/resume-subscription-op.js +14 -0
  43. package/esm/sdk/models/resume-subscription-op.js.map +1 -0
  44. package/esm/sdk/models/resume-subscription-request.d.ts +28 -0
  45. package/esm/sdk/models/resume-subscription-request.d.ts.map +1 -0
  46. package/esm/sdk/models/resume-subscription-request.js +19 -0
  47. package/esm/sdk/models/resume-subscription-request.js.map +1 -0
  48. package/esm/sdk/models/resume-subscription-response.d.ts +19 -0
  49. package/esm/sdk/models/resume-subscription-response.d.ts.map +1 -0
  50. package/esm/sdk/models/resume-subscription-response.js +17 -0
  51. package/esm/sdk/models/resume-subscription-response.js.map +1 -0
  52. package/esm/sdk/models/subscription-pause-response.d.ts +64 -0
  53. package/esm/sdk/models/subscription-pause-response.d.ts.map +1 -0
  54. package/esm/sdk/models/subscription-pause-response.js +55 -0
  55. package/esm/sdk/models/subscription-pause-response.js.map +1 -0
  56. package/esm/sdk/subscriptions.d.ts +14 -0
  57. package/esm/sdk/subscriptions.d.ts.map +1 -1
  58. package/esm/sdk/subscriptions.js +20 -0
  59. package/esm/sdk/subscriptions.js.map +1 -1
  60. package/jsr.json +1 -1
  61. package/package.json +1 -1
  62. package/src/funcs/subscriptions-pause-subscription.ts +187 -0
  63. package/src/funcs/subscriptions-resume-subscription.ts +187 -0
  64. package/src/lib/config.ts +2 -2
  65. package/src/sdk/models/index.ts +7 -0
  66. package/src/sdk/models/invoice-billing-reason.ts +2 -0
  67. package/src/sdk/models/pause-subscription-op.ts +46 -0
  68. package/src/sdk/models/pause-subscription-request.ts +64 -0
  69. package/src/sdk/models/pause-subscription-response.ts +47 -0
  70. package/src/sdk/models/resume-subscription-op.ts +46 -0
  71. package/src/sdk/models/resume-subscription-request.ts +54 -0
  72. package/src/sdk/models/resume-subscription-response.ts +47 -0
  73. package/src/sdk/models/subscription-pause-response.ts +123 -0
  74. package/src/sdk/subscriptions.ts +40 -0
@@ -0,0 +1,47 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+ import { safeParse } from "../../lib/schemas.js";
7
+ import { Result as SafeParseResult } from "../../types/fp.js";
8
+ import * as types from "../../types/primitives.js";
9
+ import { SDKValidationError } from "./sdk-validation-error.js";
10
+ import {
11
+ SubscriptionPauseResponse,
12
+ SubscriptionPauseResponse$inboundSchema,
13
+ } from "./subscription-pause-response.js";
14
+ import {
15
+ SubscriptionResponse,
16
+ SubscriptionResponse$inboundSchema,
17
+ } from "./subscription-response.js";
18
+
19
+ /**
20
+ * The resumed subscription and the pause it ended
21
+ */
22
+ export type ResumeSubscriptionResponse = {
23
+ /**
24
+ * Response object containing subscription pause information
25
+ */
26
+ pause?: SubscriptionPauseResponse | undefined;
27
+ subscription?: SubscriptionResponse | undefined;
28
+ };
29
+
30
+ /** @internal */
31
+ export const ResumeSubscriptionResponse$inboundSchema: z.ZodMiniType<
32
+ ResumeSubscriptionResponse,
33
+ unknown
34
+ > = z.object({
35
+ pause: types.optional(SubscriptionPauseResponse$inboundSchema),
36
+ subscription: types.optional(SubscriptionResponse$inboundSchema),
37
+ });
38
+
39
+ export function resumeSubscriptionResponseFromJSON(
40
+ jsonString: string,
41
+ ): SafeParseResult<ResumeSubscriptionResponse, SDKValidationError> {
42
+ return safeParse(
43
+ jsonString,
44
+ (x) => ResumeSubscriptionResponse$inboundSchema.parse(JSON.parse(x)),
45
+ `Failed to parse 'ResumeSubscriptionResponse' from JSON`,
46
+ );
47
+ }
@@ -0,0 +1,123 @@
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 { PauseMode, PauseMode$inboundSchema } from "./pause-mode.js";
11
+ import { PauseStatus, PauseStatus$inboundSchema } from "./pause-status.js";
12
+ import { ResumeMode, ResumeMode$inboundSchema } from "./resume-mode.js";
13
+ import { SDKValidationError } from "./sdk-validation-error.js";
14
+ import { Status, Status$inboundSchema } from "./status.js";
15
+
16
+ /**
17
+ * Response object containing subscription pause information
18
+ */
19
+ export type SubscriptionPauseResponse = {
20
+ createdAt?: Date | undefined;
21
+ createdBy?: string | undefined;
22
+ /**
23
+ * EnvironmentID is the environment identifier for the pause
24
+ */
25
+ environmentId?: string | undefined;
26
+ /**
27
+ * ID is the unique identifier for the subscription pause
28
+ */
29
+ id?: string | undefined;
30
+ metadata?: { [k: string]: string } | undefined;
31
+ /**
32
+ * OriginalPeriodEnd is the end of the billing period when the pause was created
33
+ */
34
+ originalPeriodEnd?: Date | undefined;
35
+ /**
36
+ * OriginalPeriodStart is the start of the billing period when the pause was created
37
+ */
38
+ originalPeriodStart?: Date | undefined;
39
+ /**
40
+ * PauseEnd is when the pause will end (null for indefinite)
41
+ */
42
+ pauseEnd?: Date | undefined;
43
+ pauseMode?: PauseMode | undefined;
44
+ /**
45
+ * PauseStart is when the pause actually started
46
+ */
47
+ pauseStart?: Date | undefined;
48
+ pauseStatus?: PauseStatus | undefined;
49
+ /**
50
+ * Reason is the reason for pausing
51
+ */
52
+ reason?: string | undefined;
53
+ resumeMode?: ResumeMode | undefined;
54
+ /**
55
+ * ResumedAt is when the pause was actually ended (if manually resumed)
56
+ */
57
+ resumedAt?: Date | undefined;
58
+ status?: Status | undefined;
59
+ /**
60
+ * SubscriptionID is the identifier for the subscription
61
+ */
62
+ subscriptionId?: string | undefined;
63
+ tenantId?: string | undefined;
64
+ updatedAt?: Date | undefined;
65
+ updatedBy?: string | undefined;
66
+ };
67
+
68
+ /** @internal */
69
+ export const SubscriptionPauseResponse$inboundSchema: z.ZodMiniType<
70
+ SubscriptionPauseResponse,
71
+ unknown
72
+ > = z.pipe(
73
+ z.object({
74
+ created_at: types.optional(types.date()),
75
+ created_by: types.optional(types.string()),
76
+ environment_id: types.optional(types.string()),
77
+ id: types.optional(types.string()),
78
+ metadata: types.optional(z.record(z.string(), types.string())),
79
+ original_period_end: types.optional(types.date()),
80
+ original_period_start: types.optional(types.date()),
81
+ pause_end: types.optional(types.date()),
82
+ pause_mode: types.optional(PauseMode$inboundSchema),
83
+ pause_start: types.optional(types.date()),
84
+ pause_status: types.optional(PauseStatus$inboundSchema),
85
+ reason: types.optional(types.string()),
86
+ resume_mode: types.optional(ResumeMode$inboundSchema),
87
+ resumed_at: types.optional(types.date()),
88
+ status: types.optional(Status$inboundSchema),
89
+ subscription_id: types.optional(types.string()),
90
+ tenant_id: types.optional(types.string()),
91
+ updated_at: types.optional(types.date()),
92
+ updated_by: types.optional(types.string()),
93
+ }),
94
+ z.transform((v) => {
95
+ return remap$(v, {
96
+ "created_at": "createdAt",
97
+ "created_by": "createdBy",
98
+ "environment_id": "environmentId",
99
+ "original_period_end": "originalPeriodEnd",
100
+ "original_period_start": "originalPeriodStart",
101
+ "pause_end": "pauseEnd",
102
+ "pause_mode": "pauseMode",
103
+ "pause_start": "pauseStart",
104
+ "pause_status": "pauseStatus",
105
+ "resume_mode": "resumeMode",
106
+ "resumed_at": "resumedAt",
107
+ "subscription_id": "subscriptionId",
108
+ "tenant_id": "tenantId",
109
+ "updated_at": "updatedAt",
110
+ "updated_by": "updatedBy",
111
+ });
112
+ }),
113
+ );
114
+
115
+ export function subscriptionPauseResponseFromJSON(
116
+ jsonString: string,
117
+ ): SafeParseResult<SubscriptionPauseResponse, SDKValidationError> {
118
+ return safeParse(
119
+ jsonString,
120
+ (x) => SubscriptionPauseResponse$inboundSchema.parse(JSON.parse(x)),
121
+ `Failed to parse 'SubscriptionPauseResponse' from JSON`,
122
+ );
123
+ }
@@ -21,12 +21,14 @@ import { subscriptionsGetSubscriptionV2 } from "../funcs/subscriptions-get-subsc
21
21
  import { subscriptionsGetSubscription } from "../funcs/subscriptions-get-subscription.js";
22
22
  import { subscriptionsListAllSubscriptionSchedules } from "../funcs/subscriptions-list-all-subscription-schedules.js";
23
23
  import { subscriptionsListSubscriptionSchedules } from "../funcs/subscriptions-list-subscription-schedules.js";
24
+ import { subscriptionsPauseSubscription } from "../funcs/subscriptions-pause-subscription.js";
24
25
  import { subscriptionsPreviewSubscriptionChange } from "../funcs/subscriptions-preview-subscription-change.js";
25
26
  import { subscriptionsPreviewSubscriptionModify } from "../funcs/subscriptions-preview-subscription-modify.js";
26
27
  import { subscriptionsPreviewSubscriptionPlanChangeV2 } from "../funcs/subscriptions-preview-subscription-plan-change-v2.js";
27
28
  import { subscriptionsQuerySubscriptionLineItems } from "../funcs/subscriptions-query-subscription-line-items.js";
28
29
  import { subscriptionsQuerySubscription } from "../funcs/subscriptions-query-subscription.js";
29
30
  import { subscriptionsRemoveSubscriptionAddon } from "../funcs/subscriptions-remove-subscription-addon.js";
31
+ import { subscriptionsResumeSubscription } from "../funcs/subscriptions-resume-subscription.js";
30
32
  import { subscriptionsUpdateSubscriptionLineItem } from "../funcs/subscriptions-update-subscription-line-item.js";
31
33
  import { subscriptionsUpdateSubscription } from "../funcs/subscriptions-update-subscription.js";
32
34
  import { ClientSDK, RequestOptions } from "../lib/sdks.js";
@@ -503,6 +505,44 @@ export class Subscriptions extends ClientSDK {
503
505
  ));
504
506
  }
505
507
 
508
+ /**
509
+ * Pause subscription
510
+ *
511
+ * @remarks
512
+ * Use when a customer stops temporarily. Pauses an active subscription now: usage and arrear fixed charges up to the pause are billed on a closing invoice, and every paused period after it gets a $0 skipped invoice.
513
+ */
514
+ async pauseSubscription(
515
+ id: string,
516
+ body: models.PauseSubscriptionRequest,
517
+ options?: RequestOptions,
518
+ ): Promise<models.PauseSubscriptionResponse> {
519
+ return unwrapAsync(subscriptionsPauseSubscription(
520
+ this,
521
+ id,
522
+ body,
523
+ options,
524
+ ));
525
+ }
526
+
527
+ /**
528
+ * Resume subscription
529
+ *
530
+ * @remarks
531
+ * Use when a paused customer comes back. Resumes a paused subscription now on its existing billing anchor: the first period runs from the resume to the next billing date and its advance charges are invoiced at once.
532
+ */
533
+ async resumeSubscription(
534
+ id: string,
535
+ body: models.ResumeSubscriptionRequest,
536
+ options?: RequestOptions,
537
+ ): Promise<models.ResumeSubscriptionResponse> {
538
+ return unwrapAsync(subscriptionsResumeSubscription(
539
+ this,
540
+ id,
541
+ body,
542
+ options,
543
+ ));
544
+ }
545
+
506
546
  /**
507
547
  * List subscription schedules
508
548
  *