@leaflow/sdk 0.0.0-dev.367.g5d66ccc → 0.0.0-dev.369.g4b81cd7

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 (120) hide show
  1. package/dist/account/v1/generated/functions.d.ts +76 -2
  2. package/dist/account/v1/generated/functions.js +77 -1
  3. package/dist/account/v1/generated/models.d.ts +88 -43
  4. package/dist/account/v1/generated/models.js +19 -9
  5. package/dist/account/v1/generated/schemas.zod.d.ts +15 -1
  6. package/dist/account/v1/generated/schemas.zod.js +14 -1
  7. package/dist/account/v1/generated/validators/accountDeletionObjectionResource.zod.d.ts +32 -0
  8. package/dist/account/v1/generated/validators/accountDeletionObjectionResource.zod.js +32 -0
  9. package/dist/account/v1/generated/validators/accountDeletionResource.zod.d.ts +69 -0
  10. package/dist/account/v1/generated/validators/accountDeletionResource.zod.js +53 -0
  11. package/dist/account/v1/generated/validators/accountDeletionState.zod.d.ts +34 -0
  12. package/dist/account/v1/generated/validators/accountDeletionState.zod.js +29 -0
  13. package/dist/account/v1/generated/validators/requestAccountDeletionRequestBody.zod.d.ts +31 -0
  14. package/dist/account/v1/generated/validators/requestAccountDeletionRequestBody.zod.js +31 -0
  15. package/dist/assistant/v1/generated/validators/platformListResponseBody.zod.d.ts +1 -1
  16. package/dist/assistant/v1/generated/validators/platformResource.zod.d.ts +1 -1
  17. package/dist/billing/type/order/v1/generated/models.d.ts +29 -0
  18. package/dist/billing/type/order/v1/generated/models.js +9 -0
  19. package/dist/billing/type/order/v1/generated/validators/accountDeletionObjection.zod.d.ts +19 -0
  20. package/dist/billing/type/order/v1/generated/validators/accountDeletionObjection.zod.js +19 -0
  21. package/dist/billing/type/order/v1/generated/validators/accountDeletionReadiness.zod.d.ts +45 -0
  22. package/dist/billing/type/order/v1/generated/validators/accountDeletionReadiness.zod.js +14 -0
  23. package/dist/billing/type/order/v1/generated/validators/accountDeletionReadinessItem.zod.d.ts +43 -0
  24. package/dist/billing/type/order/v1/generated/validators/accountDeletionReadinessItem.zod.js +19 -0
  25. package/dist/billing/type/order/v1/generated/validators/cancellation.zod.d.ts +2 -2
  26. package/dist/billing/type/order/v1/generated/validators/cancellationItem.zod.d.ts +1 -1
  27. package/dist/billing/type/order/v1/generated/validators/cancellationList.zod.d.ts +2 -2
  28. package/dist/billing/type/order/v1/generated/validators/contact.zod.d.ts +1 -1
  29. package/dist/billing/type/order/v1/generated/validators/contactList.zod.d.ts +1 -1
  30. package/dist/billing/type/order/v1/generated/validators/discount.zod.d.ts +1 -1
  31. package/dist/billing/type/order/v1/generated/validators/discountList.zod.d.ts +1 -1
  32. package/dist/billing/type/order/v1/generated/validators/featureGrant.zod.d.ts +1 -1
  33. package/dist/billing/type/order/v1/generated/validators/featureGrantList.zod.d.ts +1 -1
  34. package/dist/billing/type/order/v1/generated/validators/featureGrantStatus.zod.d.ts +1 -1
  35. package/dist/billing/type/order/v1/generated/validators/invoice.zod.d.ts +1 -1
  36. package/dist/billing/type/order/v1/generated/validators/invoiceList.zod.d.ts +1 -1
  37. package/dist/billing/type/order/v1/generated/validators/subscription.zod.d.ts +1 -1
  38. package/dist/billing/type/order/v1/generated/validators/subscriptionCancellation.zod.d.ts +1 -1
  39. package/dist/billing/type/order/v1/generated/validators/subscriptionList.zod.d.ts +1 -1
  40. package/dist/billing/v1/generated/functions.d.ts +27 -1
  41. package/dist/billing/v1/generated/functions.js +21 -0
  42. package/dist/billing/v1/generated/models.d.ts +29 -0
  43. package/dist/billing/v1/generated/models.js +9 -0
  44. package/dist/billing/v1/generated/schemas.zod.d.ts +2 -2
  45. package/dist/billing/v1/generated/validators/accountDeletionObjection.zod.d.ts +19 -0
  46. package/dist/billing/v1/generated/validators/accountDeletionObjection.zod.js +19 -0
  47. package/dist/billing/v1/generated/validators/accountDeletionReadiness.zod.d.ts +45 -0
  48. package/dist/billing/v1/generated/validators/accountDeletionReadiness.zod.js +14 -0
  49. package/dist/billing/v1/generated/validators/accountDeletionReadinessItem.zod.d.ts +43 -0
  50. package/dist/billing/v1/generated/validators/accountDeletionReadinessItem.zod.js +19 -0
  51. package/dist/billing/v1/generated/validators/cancellation.zod.d.ts +2 -2
  52. package/dist/billing/v1/generated/validators/cancellationItem.zod.d.ts +1 -1
  53. package/dist/billing/v1/generated/validators/cancellationList.zod.d.ts +2 -2
  54. package/dist/billing/v1/generated/validators/contact.zod.d.ts +1 -1
  55. package/dist/billing/v1/generated/validators/contactList.zod.d.ts +1 -1
  56. package/dist/billing/v1/generated/validators/discount.zod.d.ts +1 -1
  57. package/dist/billing/v1/generated/validators/discountList.zod.d.ts +1 -1
  58. package/dist/billing/v1/generated/validators/featureGrant.zod.d.ts +1 -1
  59. package/dist/billing/v1/generated/validators/featureGrantList.zod.d.ts +1 -1
  60. package/dist/billing/v1/generated/validators/featureGrantStatus.zod.d.ts +1 -1
  61. package/dist/billing/v1/generated/validators/invoice.zod.d.ts +1 -1
  62. package/dist/billing/v1/generated/validators/invoiceList.zod.d.ts +1 -1
  63. package/dist/billing/v1/generated/validators/listCancellationsParams.zod.d.ts +1 -1
  64. package/dist/billing/v1/generated/validators/listFeatureGrantsParams.zod.d.ts +1 -1
  65. package/dist/billing/v1/generated/validators/subscription.zod.d.ts +1 -1
  66. package/dist/billing/v1/generated/validators/subscriptionCancellation.zod.d.ts +1 -1
  67. package/dist/billing/v1/generated/validators/subscriptionList.zod.d.ts +1 -1
  68. package/dist/canopy/v1/generated/models.d.ts +29 -0
  69. package/dist/canopy/v1/generated/models.js +9 -0
  70. package/dist/canopy/v1/generated/validators/accountDeletionObjection.zod.d.ts +52 -0
  71. package/dist/canopy/v1/generated/validators/accountDeletionObjection.zod.js +52 -0
  72. package/dist/canopy/v1/generated/validators/accountDeletionReadiness.zod.d.ts +78 -0
  73. package/dist/canopy/v1/generated/validators/accountDeletionReadiness.zod.js +47 -0
  74. package/dist/canopy/v1/generated/validators/accountDeletionReadinessItem.zod.d.ts +76 -0
  75. package/dist/canopy/v1/generated/validators/accountDeletionReadinessItem.zod.js +52 -0
  76. package/dist/canopy/v1/generated/validators/cancellation.zod.d.ts +2 -2
  77. package/dist/canopy/v1/generated/validators/cancellationItem.zod.d.ts +1 -1
  78. package/dist/canopy/v1/generated/validators/cancellationList.zod.d.ts +2 -2
  79. package/dist/canopy/v1/generated/validators/contact.zod.d.ts +1 -1
  80. package/dist/canopy/v1/generated/validators/contactList.zod.d.ts +1 -1
  81. package/dist/canopy/v1/generated/validators/discount.zod.d.ts +1 -1
  82. package/dist/canopy/v1/generated/validators/discountList.zod.d.ts +1 -1
  83. package/dist/canopy/v1/generated/validators/featureGrant.zod.d.ts +1 -1
  84. package/dist/canopy/v1/generated/validators/featureGrantList.zod.d.ts +1 -1
  85. package/dist/canopy/v1/generated/validators/featureGrantStatus.zod.d.ts +1 -1
  86. package/dist/canopy/v1/generated/validators/invoice.zod.d.ts +1 -1
  87. package/dist/canopy/v1/generated/validators/invoiceList.zod.d.ts +1 -1
  88. package/dist/canopy/v1/generated/validators/subscription.zod.d.ts +1 -1
  89. package/dist/canopy/v1/generated/validators/subscriptionCancellation.zod.d.ts +1 -1
  90. package/dist/canopy/v1/generated/validators/subscriptionList.zod.d.ts +1 -1
  91. package/dist/membership/v1/generated/functions.d.ts +3 -3
  92. package/dist/membership/v1/generated/functions.js +3 -3
  93. package/dist/membership/v1/generated/models.d.ts +29 -0
  94. package/dist/membership/v1/generated/models.js +9 -0
  95. package/dist/membership/v1/generated/schemas.zod.d.ts +3 -3
  96. package/dist/membership/v1/generated/schemas.zod.js +3 -3
  97. package/dist/membership/v1/generated/validators/accountDeletionObjection.zod.d.ts +19 -0
  98. package/dist/membership/v1/generated/validators/accountDeletionObjection.zod.js +19 -0
  99. package/dist/membership/v1/generated/validators/accountDeletionReadiness.zod.d.ts +45 -0
  100. package/dist/membership/v1/generated/validators/accountDeletionReadiness.zod.js +14 -0
  101. package/dist/membership/v1/generated/validators/accountDeletionReadinessItem.zod.d.ts +43 -0
  102. package/dist/membership/v1/generated/validators/accountDeletionReadinessItem.zod.js +19 -0
  103. package/dist/membership/v1/generated/validators/cancellation.zod.d.ts +2 -2
  104. package/dist/membership/v1/generated/validators/cancellationItem.zod.d.ts +1 -1
  105. package/dist/membership/v1/generated/validators/cancellationList.zod.d.ts +2 -2
  106. package/dist/membership/v1/generated/validators/contact.zod.d.ts +1 -1
  107. package/dist/membership/v1/generated/validators/contactList.zod.d.ts +1 -1
  108. package/dist/membership/v1/generated/validators/discount.zod.d.ts +1 -1
  109. package/dist/membership/v1/generated/validators/discountList.zod.d.ts +1 -1
  110. package/dist/membership/v1/generated/validators/featureGrant.zod.d.ts +1 -1
  111. package/dist/membership/v1/generated/validators/featureGrantList.zod.d.ts +1 -1
  112. package/dist/membership/v1/generated/validators/featureGrantStatus.zod.d.ts +1 -1
  113. package/dist/membership/v1/generated/validators/invoice.zod.d.ts +1 -1
  114. package/dist/membership/v1/generated/validators/invoiceList.zod.d.ts +1 -1
  115. package/dist/membership/v1/generated/validators/subscription.zod.d.ts +1 -1
  116. package/dist/membership/v1/generated/validators/subscriptionCancellation.zod.d.ts +1 -1
  117. package/dist/membership/v1/generated/validators/subscriptionList.zod.d.ts +1 -1
  118. package/dist/routes.d.ts +32 -0
  119. package/dist/routes.js +36 -0
  120. package/package.json +1 -1
@@ -463,6 +463,27 @@ export const listPaymentOptions = async (accountId, params, options, fetchFn) =>
463
463
  const data = body ? JSON.parse(body) : {};
464
464
  return { data, status: res.status, headers: res.headers };
465
465
  };
466
+ export const getGetAccountDeletionReadinessUrl = () => {
467
+ return `https://billing.leaflow.cloud/api/v1/account-deletion/readiness`;
468
+ };
469
+ /**
470
+ * Lists every billing account you own that is not closed, with what stops each from closing. Deleting your Leaflow
471
+ * account closes all of them and is refused while any lists an objection. Balance and credits left on them are
472
+ * forfeited when they close; the accounts and their records are kept, closed.
473
+ *
474
+ * A preview that holds nothing: the same check runs again when you request deletion and once more when the grace
475
+ * period ends.
476
+ * @summary Check billing accounts before deleting your Leaflow account
477
+ */
478
+ export const getAccountDeletionReadiness = async (options, fetchFn) => {
479
+ const res = await (fetchFn ?? fetch)(getGetAccountDeletionReadinessUrl(), {
480
+ ...options,
481
+ method: "GET",
482
+ });
483
+ const body = [204, 205, 304].includes(res.status) ? null : await res.text();
484
+ const data = body ? JSON.parse(body) : {};
485
+ return { data, status: res.status, headers: res.headers };
486
+ };
466
487
  export const getListProjectAssignmentsUrl = (params) => {
467
488
  const normalizedParams = new URLSearchParams();
468
489
  Object.entries(params || {}).forEach(([key, value]) => {
@@ -691,6 +691,35 @@ export interface AccountBalance {
691
691
  due: Money;
692
692
  pending_returns_amount: Money;
693
693
  }
694
+ /**
695
+ * `ARREARS`: the balance is negative. `PROJECTS_ASSIGNED`: the account still pays for a project, yours or anyone
696
+ * else's. `ACTIVE_SUBSCRIPTION`: a subscription it bought has not ended. `OPEN_ORDER`: an order is not finished.
697
+ * `UNPAID_INVOICE`: an issued invoice is not settled. `UNBILLED_USAGE`: usage has not been invoiced yet; it is
698
+ * invoiced in the next billing run. `PENDING_TRANSACTION`: a top-up, refund or withdrawal is still pending.
699
+ */
700
+ export type AccountDeletionObjection = (typeof AccountDeletionObjection)[keyof typeof AccountDeletionObjection];
701
+ export declare const AccountDeletionObjection: {
702
+ readonly ARREARS: "ARREARS";
703
+ readonly PROJECTS_ASSIGNED: "PROJECTS_ASSIGNED";
704
+ readonly ACTIVE_SUBSCRIPTION: "ACTIVE_SUBSCRIPTION";
705
+ readonly OPEN_ORDER: "OPEN_ORDER";
706
+ readonly UNPAID_INVOICE: "UNPAID_INVOICE";
707
+ readonly UNBILLED_USAGE: "UNBILLED_USAGE";
708
+ readonly PENDING_TRANSACTION: "PENDING_TRANSACTION";
709
+ };
710
+ export interface AccountDeletionReadinessItem {
711
+ account: BillingAccount;
712
+ /** Topped-up funds, in the account's currency, forfeited when it closes. Negative means arrears. */
713
+ balance: Money;
714
+ /** Remaining credit, in the account's currency, forfeited when it closes. */
715
+ credits: Money;
716
+ /** What stops this account from closing; empty when it can close. */
717
+ objections: AccountDeletionObjection[];
718
+ }
719
+ export interface AccountDeletionReadiness {
720
+ /** Every billing account you own that is not closed; empty when you own none. */
721
+ accounts: AccountDeletionReadinessItem[];
722
+ }
694
723
  /**
695
724
  * A project's assignment to a billing account from effective_from until effective_to; an open assignment has no end.
696
725
  */
@@ -87,6 +87,15 @@ export const PurchaseOperation = {
87
87
  renew: "renew",
88
88
  modify: "modify",
89
89
  };
90
+ export const AccountDeletionObjection = {
91
+ ARREARS: "ARREARS",
92
+ PROJECTS_ASSIGNED: "PROJECTS_ASSIGNED",
93
+ ACTIVE_SUBSCRIPTION: "ACTIVE_SUBSCRIPTION",
94
+ OPEN_ORDER: "OPEN_ORDER",
95
+ UNPAID_INVOICE: "UNPAID_INVOICE",
96
+ UNBILLED_USAGE: "UNBILLED_USAGE",
97
+ PENDING_TRANSACTION: "PENDING_TRANSACTION",
98
+ };
90
99
  export const TopUpStatus = {
91
100
  pending: "pending",
92
101
  succeeded: "succeeded",
@@ -665,11 +665,11 @@ export declare const ListCancellationsQueryParams: zod.ZodObject<{
665
665
  billing_account_id: zod.ZodOptional<zod.ZodInt>;
666
666
  subscription_id: zod.ZodOptional<zod.ZodUUID>;
667
667
  status: zod.ZodOptional<zod.ZodEnum<{
668
+ scheduled: "scheduled";
668
669
  completed: "completed";
669
670
  failed: "failed";
670
671
  open: "open";
671
672
  requested: "requested";
672
- scheduled: "scheduled";
673
673
  releasing: "releasing";
674
674
  canceled: "canceled";
675
675
  }>>;
@@ -946,9 +946,9 @@ export declare const ListFeatureGrantsQueryParams: zod.ZodObject<{
946
946
  billing_account_id: zod.ZodOptional<zod.ZodInt>;
947
947
  product_id: zod.ZodOptional<zod.ZodString>;
948
948
  status: zod.ZodOptional<zod.ZodEnum<{
949
+ scheduled: "scheduled";
949
950
  active: "active";
950
951
  expired: "expired";
951
- scheduled: "scheduled";
952
952
  voided: "voided";
953
953
  }>>;
954
954
  }, zod.z.core.$strict>;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow Billing API
5
+ * Products, prices, orders, subscriptions and account billing. Financial operations require an account access token and billing-account authorization. Public catalogue operations declare no security requirement.
6
+ * OpenAPI spec version: v1
7
+ */
8
+ import * as zod from "zod";
9
+ export declare const AccountDeletionObjection: zod.ZodEnum<{
10
+ ARREARS: "ARREARS";
11
+ PROJECTS_ASSIGNED: "PROJECTS_ASSIGNED";
12
+ ACTIVE_SUBSCRIPTION: "ACTIVE_SUBSCRIPTION";
13
+ OPEN_ORDER: "OPEN_ORDER";
14
+ UNPAID_INVOICE: "UNPAID_INVOICE";
15
+ UNBILLED_USAGE: "UNBILLED_USAGE";
16
+ PENDING_TRANSACTION: "PENDING_TRANSACTION";
17
+ }>;
18
+ export type AccountDeletionObjection = zod.input<typeof AccountDeletionObjection>;
19
+ export type AccountDeletionObjectionOutput = zod.output<typeof AccountDeletionObjection>;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow Billing API
5
+ * Products, prices, orders, subscriptions and account billing. Financial operations require an account access token and billing-account authorization. Public catalogue operations declare no security requirement.
6
+ * OpenAPI spec version: v1
7
+ */
8
+ import * as zod from "zod";
9
+ export const AccountDeletionObjection = zod
10
+ .enum([
11
+ "ARREARS",
12
+ "PROJECTS_ASSIGNED",
13
+ "ACTIVE_SUBSCRIPTION",
14
+ "OPEN_ORDER",
15
+ "UNPAID_INVOICE",
16
+ "UNBILLED_USAGE",
17
+ "PENDING_TRANSACTION",
18
+ ])
19
+ .describe("`ARREARS`: the balance is negative. `PROJECTS_ASSIGNED`: the account still pays for a project, yours or anyone\nelse's. `ACTIVE_SUBSCRIPTION`: a subscription it bought has not ended. `OPEN_ORDER`: an order is not finished.\n`UNPAID_INVOICE`: an issued invoice is not settled. `UNBILLED_USAGE`: usage has not been invoiced yet; it is\ninvoiced in the next billing run. `PENDING_TRANSACTION`: a top-up, refund or withdrawal is still pending.");
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow Billing API
5
+ * Products, prices, orders, subscriptions and account billing. Financial operations require an account access token and billing-account authorization. Public catalogue operations declare no security requirement.
6
+ * OpenAPI spec version: v1
7
+ */
8
+ import * as zod from "zod";
9
+ export declare const AccountDeletionReadiness: zod.ZodObject<{
10
+ accounts: zod.ZodArray<zod.ZodObject<{
11
+ account: zod.ZodObject<{
12
+ invoice_contact_id: zod.ZodOptional<zod.ZodNullable<zod.ZodUUID>>;
13
+ id: zod.ZodInt;
14
+ name: zod.ZodOptional<zod.ZodString>;
15
+ currency: zod.ZodString;
16
+ status: zod.ZodEnum<{
17
+ active: "active";
18
+ suspended: "suspended";
19
+ closed: "closed";
20
+ }>;
21
+ suspended_by: zod.ZodEnum<{
22
+ none: "none";
23
+ operator: "operator";
24
+ owner: "owner";
25
+ }>;
26
+ grace_amount: zod.ZodOptional<zod.ZodString>;
27
+ grace_period_seconds: zod.ZodOptional<zod.ZodInt>;
28
+ closed_at: zod.ZodOptional<zod.ZodNullable<zod.z.ZodISODateTime>>;
29
+ created_at: zod.z.ZodISODateTime;
30
+ }, zod.z.core.$strict>;
31
+ balance: zod.ZodString;
32
+ credits: zod.ZodString;
33
+ objections: zod.ZodArray<zod.ZodEnum<{
34
+ ARREARS: "ARREARS";
35
+ PROJECTS_ASSIGNED: "PROJECTS_ASSIGNED";
36
+ ACTIVE_SUBSCRIPTION: "ACTIVE_SUBSCRIPTION";
37
+ OPEN_ORDER: "OPEN_ORDER";
38
+ UNPAID_INVOICE: "UNPAID_INVOICE";
39
+ UNBILLED_USAGE: "UNBILLED_USAGE";
40
+ PENDING_TRANSACTION: "PENDING_TRANSACTION";
41
+ }>>;
42
+ }, zod.z.core.$strict>>;
43
+ }, zod.z.core.$strict>;
44
+ export type AccountDeletionReadiness = zod.input<typeof AccountDeletionReadiness>;
45
+ export type AccountDeletionReadinessOutput = zod.output<typeof AccountDeletionReadiness>;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow Billing API
5
+ * Products, prices, orders, subscriptions and account billing. Financial operations require an account access token and billing-account authorization. Public catalogue operations declare no security requirement.
6
+ * OpenAPI spec version: v1
7
+ */
8
+ import * as zod from "zod";
9
+ import { AccountDeletionReadinessItem } from "./accountDeletionReadinessItem.zod.js";
10
+ export const AccountDeletionReadiness = zod.strictObject({
11
+ accounts: zod
12
+ .array(AccountDeletionReadinessItem)
13
+ .describe("Every billing account you own that is not closed; empty when you own none."),
14
+ });
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow Billing API
5
+ * Products, prices, orders, subscriptions and account billing. Financial operations require an account access token and billing-account authorization. Public catalogue operations declare no security requirement.
6
+ * OpenAPI spec version: v1
7
+ */
8
+ import * as zod from "zod";
9
+ export declare const AccountDeletionReadinessItem: zod.ZodObject<{
10
+ account: zod.ZodObject<{
11
+ invoice_contact_id: zod.ZodOptional<zod.ZodNullable<zod.ZodUUID>>;
12
+ id: zod.ZodInt;
13
+ name: zod.ZodOptional<zod.ZodString>;
14
+ currency: zod.ZodString;
15
+ status: zod.ZodEnum<{
16
+ active: "active";
17
+ suspended: "suspended";
18
+ closed: "closed";
19
+ }>;
20
+ suspended_by: zod.ZodEnum<{
21
+ none: "none";
22
+ operator: "operator";
23
+ owner: "owner";
24
+ }>;
25
+ grace_amount: zod.ZodOptional<zod.ZodString>;
26
+ grace_period_seconds: zod.ZodOptional<zod.ZodInt>;
27
+ closed_at: zod.ZodOptional<zod.ZodNullable<zod.z.ZodISODateTime>>;
28
+ created_at: zod.z.ZodISODateTime;
29
+ }, zod.z.core.$strict>;
30
+ balance: zod.ZodString;
31
+ credits: zod.ZodString;
32
+ objections: zod.ZodArray<zod.ZodEnum<{
33
+ ARREARS: "ARREARS";
34
+ PROJECTS_ASSIGNED: "PROJECTS_ASSIGNED";
35
+ ACTIVE_SUBSCRIPTION: "ACTIVE_SUBSCRIPTION";
36
+ OPEN_ORDER: "OPEN_ORDER";
37
+ UNPAID_INVOICE: "UNPAID_INVOICE";
38
+ UNBILLED_USAGE: "UNBILLED_USAGE";
39
+ PENDING_TRANSACTION: "PENDING_TRANSACTION";
40
+ }>>;
41
+ }, zod.z.core.$strict>;
42
+ export type AccountDeletionReadinessItem = zod.input<typeof AccountDeletionReadinessItem>;
43
+ export type AccountDeletionReadinessItemOutput = zod.output<typeof AccountDeletionReadinessItem>;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow Billing API
5
+ * Products, prices, orders, subscriptions and account billing. Financial operations require an account access token and billing-account authorization. Public catalogue operations declare no security requirement.
6
+ * OpenAPI spec version: v1
7
+ */
8
+ import * as zod from "zod";
9
+ import { AccountDeletionObjection } from "./accountDeletionObjection.zod.js";
10
+ import { BillingAccount } from "./billingAccount.zod.js";
11
+ import { Money } from "./money.zod.js";
12
+ export const AccountDeletionReadinessItem = zod.strictObject({
13
+ account: BillingAccount,
14
+ balance: Money.describe("Topped-up funds, in the account's currency, forfeited when it closes. Negative means arrears."),
15
+ credits: Money.describe("Remaining credit, in the account's currency, forfeited when it closes."),
16
+ objections: zod
17
+ .array(AccountDeletionObjection)
18
+ .describe("What stops this account from closing; empty when it can close."),
19
+ });
@@ -9,10 +9,10 @@ import * as zod from "zod";
9
9
  export declare const Cancellation: zod.ZodObject<{
10
10
  id: zod.ZodUUID;
11
11
  status: zod.ZodEnum<{
12
+ scheduled: "scheduled";
12
13
  completed: "completed";
13
14
  failed: "failed";
14
15
  requested: "requested";
15
- scheduled: "scheduled";
16
16
  releasing: "releasing";
17
17
  canceled: "canceled";
18
18
  }>;
@@ -48,10 +48,10 @@ export declare const Cancellation: zod.ZodObject<{
48
48
  metered: "metered";
49
49
  }>;
50
50
  status: zod.ZodEnum<{
51
+ scheduled: "scheduled";
51
52
  completed: "completed";
52
53
  failed: "failed";
53
54
  requested: "requested";
54
- scheduled: "scheduled";
55
55
  releasing: "releasing";
56
56
  canceled: "canceled";
57
57
  }>;
@@ -20,10 +20,10 @@ export declare const CancellationItem: zod.ZodObject<{
20
20
  metered: "metered";
21
21
  }>;
22
22
  status: zod.ZodEnum<{
23
+ scheduled: "scheduled";
23
24
  completed: "completed";
24
25
  failed: "failed";
25
26
  requested: "requested";
26
- scheduled: "scheduled";
27
27
  releasing: "releasing";
28
28
  canceled: "canceled";
29
29
  }>;
@@ -10,10 +10,10 @@ export declare const CancellationList: zod.ZodObject<{
10
10
  items: zod.ZodArray<zod.ZodObject<{
11
11
  id: zod.ZodUUID;
12
12
  status: zod.ZodEnum<{
13
+ scheduled: "scheduled";
13
14
  completed: "completed";
14
15
  failed: "failed";
15
16
  requested: "requested";
16
- scheduled: "scheduled";
17
17
  releasing: "releasing";
18
18
  canceled: "canceled";
19
19
  }>;
@@ -49,10 +49,10 @@ export declare const CancellationList: zod.ZodObject<{
49
49
  metered: "metered";
50
50
  }>;
51
51
  status: zod.ZodEnum<{
52
+ scheduled: "scheduled";
52
53
  completed: "completed";
53
54
  failed: "failed";
54
55
  requested: "requested";
55
- scheduled: "scheduled";
56
56
  releasing: "releasing";
57
57
  canceled: "canceled";
58
58
  }>;
@@ -30,8 +30,8 @@ export declare const Contact: zod.ZodObject<{
30
30
  address_postal_code: zod.ZodOptional<zod.ZodString>;
31
31
  address_country: zod.ZodOptional<zod.ZodString>;
32
32
  tax_exempt: zod.ZodEnum<{
33
- reverse: "reverse";
34
33
  none: "none";
34
+ reverse: "reverse";
35
35
  exempt: "exempt";
36
36
  }>;
37
37
  active: zod.ZodBoolean;
@@ -21,8 +21,8 @@ export declare const ContactList: zod.ZodObject<{
21
21
  address_postal_code: zod.ZodOptional<zod.ZodString>;
22
22
  address_country: zod.ZodOptional<zod.ZodString>;
23
23
  tax_exempt: zod.ZodEnum<{
24
- reverse: "reverse";
25
24
  none: "none";
25
+ reverse: "reverse";
26
26
  exempt: "exempt";
27
27
  }>;
28
28
  active: zod.ZodBoolean;
@@ -12,9 +12,9 @@ export declare const Discount: zod.ZodObject<{
12
12
  coupon_id: zod.ZodUUID;
13
13
  promotion_code_id: zod.ZodOptional<zod.ZodUUID>;
14
14
  status: zod.ZodEnum<{
15
+ scheduled: "scheduled";
15
16
  active: "active";
16
17
  expired: "expired";
17
- scheduled: "scheduled";
18
18
  voided: "voided";
19
19
  }>;
20
20
  voided_at: zod.ZodOptional<zod.z.ZodISODateTime>;
@@ -13,9 +13,9 @@ export declare const DiscountList: zod.ZodObject<{
13
13
  coupon_id: zod.ZodUUID;
14
14
  promotion_code_id: zod.ZodOptional<zod.ZodUUID>;
15
15
  status: zod.ZodEnum<{
16
+ scheduled: "scheduled";
16
17
  active: "active";
17
18
  expired: "expired";
18
- scheduled: "scheduled";
19
19
  voided: "voided";
20
20
  }>;
21
21
  voided_at: zod.ZodOptional<zod.z.ZodISODateTime>;
@@ -23,9 +23,9 @@ export declare const FeatureGrant: zod.ZodObject<{
23
23
  valid_from: zod.z.ZodISODateTime;
24
24
  valid_until: zod.ZodNullable<zod.z.ZodISODateTime>;
25
25
  status: zod.ZodEnum<{
26
+ scheduled: "scheduled";
26
27
  active: "active";
27
28
  expired: "expired";
28
- scheduled: "scheduled";
29
29
  voided: "voided";
30
30
  }>;
31
31
  }, zod.z.core.$strict>;
@@ -24,9 +24,9 @@ export declare const FeatureGrantList: zod.ZodObject<{
24
24
  valid_from: zod.z.ZodISODateTime;
25
25
  valid_until: zod.ZodNullable<zod.z.ZodISODateTime>;
26
26
  status: zod.ZodEnum<{
27
+ scheduled: "scheduled";
27
28
  active: "active";
28
29
  expired: "expired";
29
- scheduled: "scheduled";
30
30
  voided: "voided";
31
31
  }>;
32
32
  }, zod.z.core.$strict>>;
@@ -7,9 +7,9 @@
7
7
  */
8
8
  import * as zod from "zod";
9
9
  export declare const FeatureGrantStatus: zod.ZodEnum<{
10
+ scheduled: "scheduled";
10
11
  active: "active";
11
12
  expired: "expired";
12
- scheduled: "scheduled";
13
13
  voided: "voided";
14
14
  }>;
15
15
  export type FeatureGrantStatus = zod.input<typeof FeatureGrantStatus>;
@@ -46,8 +46,8 @@ export declare const Invoice: zod.ZodObject<{
46
46
  customer_email: zod.ZodOptional<zod.ZodString>;
47
47
  customer_tax_id: zod.ZodOptional<zod.ZodString>;
48
48
  customer_tax_exempt: zod.ZodOptional<zod.ZodEnum<{
49
- reverse: "reverse";
50
49
  none: "none";
50
+ reverse: "reverse";
51
51
  exempt: "exempt";
52
52
  }>>;
53
53
  customer_address_line1: zod.ZodOptional<zod.ZodString>;
@@ -47,8 +47,8 @@ export declare const InvoiceList: zod.ZodObject<{
47
47
  customer_email: zod.ZodOptional<zod.ZodString>;
48
48
  customer_tax_id: zod.ZodOptional<zod.ZodString>;
49
49
  customer_tax_exempt: zod.ZodOptional<zod.ZodEnum<{
50
- reverse: "reverse";
51
50
  none: "none";
51
+ reverse: "reverse";
52
52
  exempt: "exempt";
53
53
  }>>;
54
54
  customer_address_line1: zod.ZodOptional<zod.ZodString>;
@@ -17,11 +17,11 @@ export declare const ListCancellationsParams: zod.ZodObject<{
17
17
  billing_account_id: zod.ZodOptional<zod.ZodInt>;
18
18
  subscription_id: zod.ZodOptional<zod.ZodUUID>;
19
19
  status: zod.ZodOptional<zod.ZodEnum<{
20
+ scheduled: "scheduled";
20
21
  completed: "completed";
21
22
  failed: "failed";
22
23
  open: "open";
23
24
  requested: "requested";
24
- scheduled: "scheduled";
25
25
  releasing: "releasing";
26
26
  canceled: "canceled";
27
27
  }>>;
@@ -16,9 +16,9 @@ export declare const ListFeatureGrantsParams: zod.ZodObject<{
16
16
  billing_account_id: zod.ZodOptional<zod.ZodInt>;
17
17
  product_id: zod.ZodOptional<zod.ZodString>;
18
18
  status: zod.ZodOptional<zod.ZodEnum<{
19
+ scheduled: "scheduled";
19
20
  active: "active";
20
21
  expired: "expired";
21
- scheduled: "scheduled";
22
22
  voided: "voided";
23
23
  }>>;
24
24
  }, zod.z.core.$strict>;
@@ -61,10 +61,10 @@ export declare const Subscription: zod.ZodObject<{
61
61
  id: zod.ZodUUID;
62
62
  subscription_id: zod.ZodUUID;
63
63
  status: zod.ZodEnum<{
64
+ scheduled: "scheduled";
64
65
  completed: "completed";
65
66
  failed: "failed";
66
67
  requested: "requested";
67
- scheduled: "scheduled";
68
68
  releasing: "releasing";
69
69
  canceled: "canceled";
70
70
  }>;
@@ -12,10 +12,10 @@ export declare const SubscriptionCancellation: zod.ZodObject<{
12
12
  id: zod.ZodUUID;
13
13
  subscription_id: zod.ZodUUID;
14
14
  status: zod.ZodEnum<{
15
+ scheduled: "scheduled";
15
16
  completed: "completed";
16
17
  failed: "failed";
17
18
  requested: "requested";
18
- scheduled: "scheduled";
19
19
  releasing: "releasing";
20
20
  canceled: "canceled";
21
21
  }>;
@@ -61,10 +61,10 @@ export declare const SubscriptionList: zod.ZodObject<{
61
61
  id: zod.ZodUUID;
62
62
  subscription_id: zod.ZodUUID;
63
63
  status: zod.ZodEnum<{
64
+ scheduled: "scheduled";
64
65
  completed: "completed";
65
66
  failed: "failed";
66
67
  requested: "requested";
67
- scheduled: "scheduled";
68
68
  releasing: "releasing";
69
69
  canceled: "canceled";
70
70
  }>;
@@ -1597,6 +1597,35 @@ export interface AccountBalance {
1597
1597
  due: Money;
1598
1598
  pending_returns_amount: Money;
1599
1599
  }
1600
+ /**
1601
+ * `ARREARS`: the balance is negative. `PROJECTS_ASSIGNED`: the account still pays for a project, yours or anyone
1602
+ * else's. `ACTIVE_SUBSCRIPTION`: a subscription it bought has not ended. `OPEN_ORDER`: an order is not finished.
1603
+ * `UNPAID_INVOICE`: an issued invoice is not settled. `UNBILLED_USAGE`: usage has not been invoiced yet; it is
1604
+ * invoiced in the next billing run. `PENDING_TRANSACTION`: a top-up, refund or withdrawal is still pending.
1605
+ */
1606
+ export type AccountDeletionObjection = (typeof AccountDeletionObjection)[keyof typeof AccountDeletionObjection];
1607
+ export declare const AccountDeletionObjection: {
1608
+ readonly ARREARS: "ARREARS";
1609
+ readonly PROJECTS_ASSIGNED: "PROJECTS_ASSIGNED";
1610
+ readonly ACTIVE_SUBSCRIPTION: "ACTIVE_SUBSCRIPTION";
1611
+ readonly OPEN_ORDER: "OPEN_ORDER";
1612
+ readonly UNPAID_INVOICE: "UNPAID_INVOICE";
1613
+ readonly UNBILLED_USAGE: "UNBILLED_USAGE";
1614
+ readonly PENDING_TRANSACTION: "PENDING_TRANSACTION";
1615
+ };
1616
+ export interface AccountDeletionReadinessItem {
1617
+ account: BillingAccount;
1618
+ /** Topped-up funds, in the account's currency, forfeited when it closes. Negative means arrears. */
1619
+ balance: Money;
1620
+ /** Remaining credit, in the account's currency, forfeited when it closes. */
1621
+ credits: Money;
1622
+ /** What stops this account from closing; empty when it can close. */
1623
+ objections: AccountDeletionObjection[];
1624
+ }
1625
+ export interface AccountDeletionReadiness {
1626
+ /** Every billing account you own that is not closed; empty when you own none. */
1627
+ accounts: AccountDeletionReadinessItem[];
1628
+ }
1600
1629
  /**
1601
1630
  * A project's assignment to a billing account from effective_from until effective_to; an open assignment has no end.
1602
1631
  */
@@ -181,6 +181,15 @@ export const PurchaseOperation = {
181
181
  renew: "renew",
182
182
  modify: "modify",
183
183
  };
184
+ export const AccountDeletionObjection = {
185
+ ARREARS: "ARREARS",
186
+ PROJECTS_ASSIGNED: "PROJECTS_ASSIGNED",
187
+ ACTIVE_SUBSCRIPTION: "ACTIVE_SUBSCRIPTION",
188
+ OPEN_ORDER: "OPEN_ORDER",
189
+ UNPAID_INVOICE: "UNPAID_INVOICE",
190
+ UNBILLED_USAGE: "UNBILLED_USAGE",
191
+ PENDING_TRANSACTION: "PENDING_TRANSACTION",
192
+ };
184
193
  export const TopUpStatus = {
185
194
  pending: "pending",
186
195
  succeeded: "succeeded",
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow Canopy API
5
+ * Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
6
+ *
7
+ * Project inference is served on this host in each provider's own protocol:
8
+ *
9
+ * - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
10
+ * `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
11
+ * - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
12
+ * - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
13
+ *
14
+ * Canopy does not convert between protocols. A request is accepted only for a model whose
15
+ * `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
16
+ * the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
17
+ * through as written; a model's `capabilities` lists the values its upstream accepts.
18
+ *
19
+ * Management operations use `/api/v1`. The management model catalogue includes pricing;
20
+ * `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
21
+ *
22
+ * ## Authentication
23
+ *
24
+ * Every request carries a scoped token; see the `bearerAuth` security scheme.
25
+ *
26
+ * Management and project inference accept the same verified IAM scoped token. The token is the
27
+ * sole billing project authority; `OpenAI-Project` and historical identity headers cannot
28
+ * override it. These endpoints do not accept a Canopy API key. The separate API-key gateway
29
+ * accepts Canopy API keys and serves the same endpoints.
30
+ *
31
+ * ## Conventions
32
+ *
33
+ * - **The plaintext of an API key is returned once.** The `secret` appears in the response that issues it and is returned by no other endpoint. A key that has been lost has to be revoked and reissued.
34
+ * - **Disabling and revoking are distinct.** A disabled key may be enabled again at any time, while a revocation is irreversible and is intended for a key that has been exposed. Neither removes the record, and the usage the key accrued remains readable.
35
+ * - **A usage query must carry a time range**, spanning no more than 31 days. `from` and `to` carry a timezone offset, which the server does not infer.
36
+ * - **The request and response bodies do not appear in the ledger.** They are not recorded. Quote the `upstream_request_id` from the response when reporting a problem.
37
+ * - **Usage may be estimated.** The upstream provider does not report usage on every request. Where it does not, `usage_source` is `estimated` and the figures are derived from the character classes of the payload, to within roughly fifteen per cent.
38
+ * - **The service is enabled before use.** A project enables the model platform once, through `create-service`; the forwarding endpoints refuse its requests until the service is `active`. Requests are then billed under the service's subscription by the tokens they use, at the rates stated in each model's `pricing`.
39
+ * OpenAPI spec version: 1.0.0
40
+ */
41
+ import * as zod from "zod";
42
+ export declare const AccountDeletionObjection: zod.ZodEnum<{
43
+ ARREARS: "ARREARS";
44
+ PROJECTS_ASSIGNED: "PROJECTS_ASSIGNED";
45
+ ACTIVE_SUBSCRIPTION: "ACTIVE_SUBSCRIPTION";
46
+ OPEN_ORDER: "OPEN_ORDER";
47
+ UNPAID_INVOICE: "UNPAID_INVOICE";
48
+ UNBILLED_USAGE: "UNBILLED_USAGE";
49
+ PENDING_TRANSACTION: "PENDING_TRANSACTION";
50
+ }>;
51
+ export type AccountDeletionObjection = zod.input<typeof AccountDeletionObjection>;
52
+ export type AccountDeletionObjectionOutput = zod.output<typeof AccountDeletionObjection>;