@leaflow/sdk 0.54.3 → 0.55.0

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.
@@ -62,6 +62,10 @@ export type SetDefaultPaymentMethodResult = operations["set-default-payment-meth
62
62
  export type PayInvoiceResult = operations["pay-invoice"]["responses"][200]["content"]["application/json"];
63
63
  /** `POST /account/v1/invoices/{invoiceId}/pay` 的请求体。 */
64
64
  export type PayInvoiceBody = NonNullable<operations["pay-invoice"]["requestBody"]>["content"]["application/json"];
65
+ /** `POST /account/v1/payments` 成功时的响应体。 */
66
+ export type PayTogetherResult = operations["pay-together"]["responses"][200]["content"]["application/json"];
67
+ /** `POST /account/v1/payments` 的请求体。 */
68
+ export type PayTogetherBody = NonNullable<operations["pay-together"]["requestBody"]>["content"]["application/json"];
65
69
  /** `POST /account/v1/orders/{orderId}/pay` 成功时的响应体。 */
66
70
  export type PayOrderResult = operations["pay-order"]["responses"][200]["content"]["application/json"];
67
71
  /** `POST /account/v1/orders/{orderId}/pay` 的请求体。 */
@@ -86,12 +90,12 @@ export type ListCreditGrantsQuery = operations["list-credit-grants"]["parameters
86
90
  export type ListAllocationsResult = operations["list-allocations"]["responses"][200]["content"]["application/json"];
87
91
  /** `GET /account/v1/allocations` 的查询参数。 */
88
92
  export type ListAllocationsQuery = operations["list-allocations"]["parameters"]["query"];
93
+ /** `GET /account/v1/refunds` 成功时的响应体。 */
94
+ export type ListRefundsResult = operations["list-refunds"]["responses"][200]["content"]["application/json"];
89
95
  /** `POST /account/v1/refunds` 成功时的响应体。 */
90
96
  export type RequestRefundResult = operations["request-refund"]["responses"][201]["content"]["application/json"];
91
97
  /** `POST /account/v1/refunds` 的请求体。 */
92
98
  export type RequestRefundBody = NonNullable<operations["request-refund"]["requestBody"]>["content"]["application/json"];
93
- /** `GET /account/v1/refunds` 成功时的响应体。 */
94
- export type ListRefundsResult = operations["list-refunds"]["responses"][200]["content"]["application/json"];
95
99
  /** `GET /account/v1/usage-charges` 成功时的响应体。 */
96
100
  export type ListUsageChargesResult = operations["list-usage-charges"]["responses"][200]["content"]["application/json"];
97
101
  /** `GET /account/v1/usage-charges` 的查询参数。 */
@@ -166,6 +170,8 @@ export type ListOrdersResult = operations["list-orders"]["responses"][200]["cont
166
170
  export type ListOrdersQuery = operations["list-orders"]["parameters"]["query"];
167
171
  /** `GET /account/v1/orders/{orderId}` 成功时的响应体。 */
168
172
  export type GetOrderResult = operations["get-order"]["responses"][200]["content"]["application/json"];
173
+ /** `POST /account/v1/orders/{orderId}/cancel` 成功时的响应体。 */
174
+ export type CancelScheduledChangeResult = operations["cancel-scheduled-change"]["responses"][200]["content"]["application/json"];
169
175
  /** `GET /account/v1/orders/{orderId}/items` 成功时的响应体。 */
170
176
  export type ListOrderItemsResult = operations["list-order-items"]["responses"][200]["content"]["application/json"];
171
177
  /** `GET /account/v1/orders/{orderId}/refund-quote` 成功时的响应体。 */
@@ -419,6 +419,38 @@ export interface paths {
419
419
  patch?: never;
420
420
  trace?: never;
421
421
  };
422
+ "/account/v1/payments": {
423
+ parameters: {
424
+ query?: never;
425
+ header?: never;
426
+ path?: never;
427
+ cookie?: never;
428
+ };
429
+ get?: never;
430
+ put?: never;
431
+ /**
432
+ * Pay several outstanding invoices and orders at once
433
+ * @description All of them or none. Nothing is settled unless everything named here can be, so a
434
+ * partial result is not a state this can leave behind.
435
+ *
436
+ * The balance is not split across the two cases: either it covers the whole total and
437
+ * everything is settled from it, or it is left untouched and the full total is collected
438
+ * through the provider. It is never partly spent against an unpaid remainder.
439
+ *
440
+ * When the provider is needed, this returns a checkout address and settles nothing.
441
+ * Call it again once the payment has landed — the balance then covers the total and the
442
+ * same call settles everything.
443
+ *
444
+ * Anything already paid is skipped rather than refused, so a repeated call after a
445
+ * partial success is safe.
446
+ */
447
+ post: operations["pay-together"];
448
+ delete?: never;
449
+ options?: never;
450
+ head?: never;
451
+ patch?: never;
452
+ trace?: never;
453
+ };
422
454
  "/account/v1/orders/{orderId}/pay": {
423
455
  parameters: {
424
456
  query?: never;
@@ -1086,6 +1118,33 @@ export interface paths {
1086
1118
  patch?: never;
1087
1119
  trace?: never;
1088
1120
  };
1121
+ "/account/v1/orders/{orderId}/cancel": {
1122
+ parameters: {
1123
+ query?: never;
1124
+ header?: never;
1125
+ path: {
1126
+ orderId: components["parameters"]["OrderId"];
1127
+ };
1128
+ cookie?: never;
1129
+ };
1130
+ get?: never;
1131
+ put?: never;
1132
+ /**
1133
+ * Call off a plan change that has not taken effect yet
1134
+ * @description Only for a change scheduled for the end of the period, and only while it is still
1135
+ * pending. An immediate change has already happened by the time it is placed, and there is
1136
+ * nothing to call off.
1137
+ *
1138
+ * Nothing was charged or returned when it was scheduled, so nothing moves here either. The
1139
+ * subscription keeps running on what it is on now, and the item is free to be changed again.
1140
+ */
1141
+ post: operations["cancel-scheduled-change"];
1142
+ delete?: never;
1143
+ options?: never;
1144
+ head?: never;
1145
+ patch?: never;
1146
+ trace?: never;
1147
+ };
1089
1148
  "/account/v1/orders/{orderId}/items": {
1090
1149
  parameters: {
1091
1150
  query?: never;
@@ -1240,6 +1299,10 @@ export interface components {
1240
1299
  Error: {
1241
1300
  code?: string;
1242
1301
  message: string;
1302
+ /**
1303
+ * @description What a given `code` carries alongside the message. The keys depend on the code,
1304
+ * and a client that does not recognise one ignores it.
1305
+ */
1243
1306
  meta?: {
1244
1307
  [key: string]: unknown;
1245
1308
  };
@@ -1542,8 +1605,14 @@ export interface components {
1542
1605
  Quote: {
1543
1606
  lines?: components["schemas"]["QuoteLineResult"][];
1544
1607
  changes?: components["schemas"]["QuoteChangeResult"][];
1545
- /** @description What would be owed in total. Amounts to be returned are not netted off it. */
1546
- total: components["schemas"]["Money"];
1608
+ /**
1609
+ * @description What would be owed in total. Amounts to be returned are not netted off it.
1610
+ *
1611
+ * Null when any line could not be priced. What would be owed is not knowable then, and a
1612
+ * total that silently left the unpriced lines out would read as a smaller bill rather than
1613
+ * an incomplete one — the per-line `priced` flag is easy to skip, a missing total is not.
1614
+ */
1615
+ total?: components["schemas"]["Money"] | null;
1547
1616
  /** @description What would be returned in total. */
1548
1617
  total_refundable?: components["schemas"]["Money"];
1549
1618
  currency: string;
@@ -1569,6 +1638,17 @@ export interface components {
1569
1638
  currency: string;
1570
1639
  /** @enum {string} */
1571
1640
  status: "active" | "suspended" | "closed";
1641
+ /**
1642
+ * @description How far past the suspension threshold this account may go before its resources are
1643
+ * suspended. "0" means none: the account is suspended as soon as it crosses the threshold.
1644
+ */
1645
+ grace_amount?: string;
1646
+ /**
1647
+ * Format: int64
1648
+ * @description How long this account has to top up after crossing the suspension threshold.
1649
+ * 0 means none. Whichever runs out first — this or grace_amount — ends the grace.
1650
+ */
1651
+ grace_period_seconds?: number;
1572
1652
  /** Format: date-time */
1573
1653
  created_at: string;
1574
1654
  };
@@ -1830,6 +1910,20 @@ export interface components {
1830
1910
  use_balance?: boolean;
1831
1911
  return_url?: string;
1832
1912
  };
1913
+ /**
1914
+ * @description Name at least one invoice or order. They must all belong to the same account and share
1915
+ * its currency; anything else is refused rather than partly paid.
1916
+ */
1917
+ PayTogetherRequest: {
1918
+ invoice_ids?: string[];
1919
+ order_ids?: string[];
1920
+ return_url?: string;
1921
+ /**
1922
+ * @description Required when the provider is involved, because that is where the money moves. The
1923
+ * same key returns the same checkout address instead of opening a second one.
1924
+ */
1925
+ idempotency_key?: string;
1926
+ };
1833
1927
  /**
1834
1928
  * @description Where the payment has got to.
1835
1929
  *
@@ -2373,11 +2467,23 @@ export interface components {
2373
2467
  amount: components["schemas"]["Money"];
2374
2468
  /** @description What is still outstanding. Zero once paid. */
2375
2469
  amount_due?: components["schemas"]["Money"];
2470
+ /** @description How much of `refundable_amount` has already gone back. */
2471
+ refunded_amount?: components["schemas"]["Money"];
2472
+ /**
2473
+ * @description When a plan change takes effect. `none` on anything that is not a change.
2474
+ *
2475
+ * `period_end` orders stay pending until the current paid period runs out. Renewing in
2476
+ * the meantime moves that moment along with it.
2477
+ * @enum {string}
2478
+ */
2479
+ change_effective?: "none" | "immediate" | "period_end";
2376
2480
  /**
2377
- * @description Returned as part of a downgrade. It is returned to the sources that originally paid
2378
- * rather than deducted from `amount`.
2481
+ * @description What a downgrade gives back. It is returned to the sources that originally paid
2482
+ * rather than deducted from `amount`, so paying with granted credit gives back credit.
2483
+ *
2484
+ * Always "0" on a `period_end` change: nothing is left of the period at its end.
2379
2485
  */
2380
- refunded_amount?: components["schemas"]["Money"];
2486
+ refundable_amount?: components["schemas"]["Money"];
2381
2487
  /**
2382
2488
  * Format: date-time
2383
2489
  * @description When the funds and any stock held for this order are released. After this it can no
@@ -2386,6 +2492,11 @@ export interface components {
2386
2492
  reservation_expires_at?: string | null;
2387
2493
  /** Format: date-time */
2388
2494
  created_at: string;
2495
+ /**
2496
+ * @description What was bought. Present on a single order and on every order in a list, so a list
2497
+ * can be rendered without a further request per row.
2498
+ */
2499
+ items?: components["schemas"]["OrderItem"][];
2389
2500
  };
2390
2501
  OrderList: {
2391
2502
  items: components["schemas"]["Order"][];
@@ -2547,6 +2658,16 @@ export interface components {
2547
2658
  order_id?: string;
2548
2659
  /** Format: uuid */
2549
2660
  price_id: string;
2661
+ /**
2662
+ * Format: uuid
2663
+ * @description Which service this line belongs to.
2664
+ */
2665
+ product_id?: string;
2666
+ /**
2667
+ * Format: uuid
2668
+ * @description Which plan was bought.
2669
+ */
2670
+ plan_id?: string;
2550
2671
  /**
2551
2672
  * @description What it was called when bought. It does not follow later catalogue renames and is
2552
2673
  * not translated.
@@ -3409,6 +3530,31 @@ export interface operations {
3409
3530
  default: components["responses"]["Error"];
3410
3531
  };
3411
3532
  };
3533
+ "pay-together": {
3534
+ parameters: {
3535
+ query?: never;
3536
+ header?: never;
3537
+ path?: never;
3538
+ cookie?: never;
3539
+ };
3540
+ requestBody: {
3541
+ content: {
3542
+ "application/json": components["schemas"]["PayTogetherRequest"];
3543
+ };
3544
+ };
3545
+ responses: {
3546
+ /** @description OK */
3547
+ 200: {
3548
+ headers: {
3549
+ [name: string]: unknown;
3550
+ };
3551
+ content: {
3552
+ "application/json": components["schemas"]["PaymentResult"];
3553
+ };
3554
+ };
3555
+ default: components["responses"]["Error"];
3556
+ };
3557
+ };
3412
3558
  "pay-order": {
3413
3559
  parameters: {
3414
3560
  query?: never;
@@ -4297,6 +4443,29 @@ export interface operations {
4297
4443
  default: components["responses"]["Error"];
4298
4444
  };
4299
4445
  };
4446
+ "cancel-scheduled-change": {
4447
+ parameters: {
4448
+ query?: never;
4449
+ header?: never;
4450
+ path: {
4451
+ orderId: components["parameters"]["OrderId"];
4452
+ };
4453
+ cookie?: never;
4454
+ };
4455
+ requestBody?: never;
4456
+ responses: {
4457
+ /** @description OK */
4458
+ 200: {
4459
+ headers: {
4460
+ [name: string]: unknown;
4461
+ };
4462
+ content: {
4463
+ "application/json": components["schemas"]["Order"];
4464
+ };
4465
+ };
4466
+ default: components["responses"]["Error"];
4467
+ };
4468
+ };
4300
4469
  "list-order-items": {
4301
4470
  parameters: {
4302
4471
  query?: {