@leaflow/sdk 0.0.0-dev.210.g700abef → 0.0.0-dev.214.g13f9d6c

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.
@@ -3,209 +3,6 @@
3
3
  * Do not make direct changes to the file.
4
4
  */
5
5
  export interface paths {
6
- "/api/v1/prices": {
7
- parameters: {
8
- query?: never;
9
- header?: never;
10
- path?: never;
11
- cookie?: never;
12
- };
13
- /**
14
- * List what is on sale, with prices
15
- * @description Every sellable thing and what it costs, in one request. A plan appears once per price.
16
- *
17
- * `currency` is required: a plan has a price in each currency it is sold in, so "what does
18
- * this cost" has no answer without one.
19
- *
20
- * Retired prices are left out. Existing subscriptions still reference them, so this is not
21
- * the place to look up what an existing purchase is paying.
22
- */
23
- get: operations["list-prices"];
24
- put?: never;
25
- post?: never;
26
- delete?: never;
27
- options?: never;
28
- head?: never;
29
- patch?: never;
30
- trace?: never;
31
- };
32
- "/api/v1/products": {
33
- parameters: {
34
- query?: never;
35
- header?: never;
36
- path?: never;
37
- cookie?: never;
38
- };
39
- /** List catalog products */
40
- get: operations["list-products"];
41
- put?: never;
42
- post?: never;
43
- delete?: never;
44
- options?: never;
45
- head?: never;
46
- patch?: never;
47
- trace?: never;
48
- };
49
- "/api/v1/products/{productId}": {
50
- parameters: {
51
- query?: never;
52
- header?: never;
53
- path: {
54
- productId: components["schemas"]["ProductID"];
55
- };
56
- cookie?: never;
57
- };
58
- /**
59
- * Get a service
60
- * @description Resolves an identifier that was stored elsewhere — on an order line, an invoice line, or
61
- * the terms of a credit — into something that can be displayed.
62
- */
63
- get: operations["get-product"];
64
- put?: never;
65
- post?: never;
66
- delete?: never;
67
- options?: never;
68
- head?: never;
69
- patch?: never;
70
- trace?: never;
71
- };
72
- "/api/v1/plans/{planId}": {
73
- parameters: {
74
- query?: never;
75
- header?: never;
76
- path: {
77
- planId: string;
78
- };
79
- cookie?: never;
80
- };
81
- /**
82
- * Get a sellable item
83
- * @description Resolves a stored identifier into something that can be displayed. Returns items that are
84
- * no longer on sale: an existing purchase still refers to one.
85
- */
86
- get: operations["get-plan"];
87
- put?: never;
88
- post?: never;
89
- delete?: never;
90
- options?: never;
91
- head?: never;
92
- patch?: never;
93
- trace?: never;
94
- };
95
- "/api/v1/prices/{priceId}": {
96
- parameters: {
97
- query?: never;
98
- header?: never;
99
- path: {
100
- priceId: string;
101
- };
102
- cookie?: never;
103
- };
104
- /**
105
- * Get a price
106
- * @description Returns the catalog price, including retired prices. Fixed purchase history and renewal agreements are shown on orders and subscriptions rather than reconstructed from today's catalog.
107
- */
108
- get: operations["get-price"];
109
- put?: never;
110
- post?: never;
111
- delete?: never;
112
- options?: never;
113
- head?: never;
114
- patch?: never;
115
- trace?: never;
116
- };
117
- "/api/v1/plans": {
118
- parameters: {
119
- query: {
120
- product_id: components["schemas"]["ProductID"];
121
- };
122
- header?: never;
123
- path?: never;
124
- cookie?: never;
125
- };
126
- /** List catalog plans */
127
- get: operations["list-plans"];
128
- put?: never;
129
- post?: never;
130
- delete?: never;
131
- options?: never;
132
- head?: never;
133
- patch?: never;
134
- trace?: never;
135
- };
136
- "/api/v1/plans/{planId}/prices": {
137
- parameters: {
138
- query?: never;
139
- header?: never;
140
- path: {
141
- planId: components["parameters"]["PlanId"];
142
- };
143
- cookie?: never;
144
- };
145
- /**
146
- * List catalog prices
147
- * @description Public list prices only. An account holding a negotiated agreement may be charged less;
148
- * it is never charged more.
149
- */
150
- get: operations["list-prices-by-plan"];
151
- put?: never;
152
- post?: never;
153
- delete?: never;
154
- options?: never;
155
- head?: never;
156
- patch?: never;
157
- trace?: never;
158
- };
159
- "/api/v1/rate-cards/{rateCardId}/rules": {
160
- parameters: {
161
- query?: never;
162
- header?: never;
163
- path: {
164
- rateCardId: components["parameters"]["RateCardId"];
165
- };
166
- cookie?: never;
167
- };
168
- /**
169
- * List catalog rates
170
- * @description Only public price lists are readable here. A list written for a single agreement is not,
171
- * and its identifier cannot be used to reach it.
172
- */
173
- get: operations["list-rates"];
174
- put?: never;
175
- post?: never;
176
- delete?: never;
177
- options?: never;
178
- head?: never;
179
- patch?: never;
180
- trace?: never;
181
- };
182
- "/api/v1/estimates": {
183
- parameters: {
184
- query?: never;
185
- header?: never;
186
- path?: never;
187
- cookie?: never;
188
- };
189
- get?: never;
190
- put?: never;
191
- /**
192
- * Estimate a basket
193
- * @description Uses public list prices. Nothing is reserved and nothing is recorded, so this may be
194
- * called as often as required.
195
- *
196
- * `POST` is used because the set of items to price does not fit in a query string. There is
197
- * no corresponding `GET`, and no estimate is stored to retrieve.
198
- *
199
- * An account holding a negotiated agreement may be charged less than this. Tax and
200
- * discounts are not included.
201
- */
202
- post: operations["create-estimate"];
203
- delete?: never;
204
- options?: never;
205
- head?: never;
206
- patch?: never;
207
- trace?: never;
208
- };
209
6
  "/account/v1/currencies": {
210
7
  parameters: {
211
8
  query?: never;
@@ -1152,124 +949,6 @@ export interface components {
1152
949
  };
1153
950
  /** @description Immutable platform service identifier, such as compute, canopy or assistant. */
1154
951
  ProductID: string;
1155
- ProductList: {
1156
- items: components["schemas"]["Product"][];
1157
- /** Format: int64 */
1158
- total_count?: number;
1159
- };
1160
- Plan: {
1161
- enabled: boolean;
1162
- lookup_key?: string;
1163
- product: components["schemas"]["Product"];
1164
- features: components["schemas"]["PlanFeature"][];
1165
- /** Format: uuid */
1166
- id: string;
1167
- product_id: components["schemas"]["ProductID"];
1168
- name: string;
1169
- description?: string;
1170
- };
1171
- PlanList: {
1172
- items: components["schemas"]["Plan"][];
1173
- /** Format: int64 */
1174
- total_count?: number;
1175
- };
1176
- Price: {
1177
- rate_card?: components["schemas"]["ObjectIdentity"];
1178
- lookup_key?: string;
1179
- product: components["schemas"]["Product"];
1180
- plan: components["schemas"]["ObjectIdentity"];
1181
- /** Format: uuid */
1182
- meter_id?: string;
1183
- meter?: components["schemas"]["ObjectIdentity"];
1184
- unit_quantity: string;
1185
- enabled?: boolean;
1186
- termination_policy?: components["schemas"]["TerminationPolicy"];
1187
- refund_policy?: components["schemas"]["RefundPolicy"];
1188
- product_id?: components["schemas"]["ProductID"];
1189
- /** Format: uuid */
1190
- id: string;
1191
- /** Format: uuid */
1192
- plan_id: string;
1193
- currency: string;
1194
- /**
1195
- * @description `postpaid` charges for what is used, `prepaid` buys a period in advance, `one_time`
1196
- * charges once.
1197
- * @enum {string}
1198
- */
1199
- type: "postpaid" | "prepaid" | "one_time";
1200
- /**
1201
- * @description How the amount is arrived at. `rated` means the rate depends on attributes such as
1202
- * region or machine type, and is looked up on a price list.
1203
- * @enum {string}
1204
- */
1205
- billing_scheme: "per_unit" | "tiered" | "rated";
1206
- /** @description Present for `per_unit`. */
1207
- unit_amount?: components["schemas"]["Money"];
1208
- /**
1209
- * @description `none` for a price that is not tiered, which is most of them.
1210
- *
1211
- * Otherwise `graduated` charges each band at its own rate, and `volume` charges
1212
- * everything at the rate of the band the total falls in.
1213
- * @enum {string}
1214
- */
1215
- tiers_mode?: "none" | "graduated" | "volume";
1216
- /** @description Present for `tiered`, in ascending order. */
1217
- tiers?: components["schemas"]["Tier"][];
1218
- /**
1219
- * Format: uuid
1220
- * @description For `rated` prices, the price list the rates are read from.
1221
- */
1222
- rate_card_id?: string;
1223
- /** @description The smallest quantity that can be bought. Absent means no lower bound. */
1224
- min_quantity?: string;
1225
- /**
1226
- * @description The largest purchasable quantity. Omitted when no maximum applies. A quantity above this limit is
1227
- * rejected with BILLING_PRICE_INVALID and field=max_quantity.
1228
- */
1229
- max_quantity?: string;
1230
- /** @description Quantities must be a multiple of this. Absent means any quantity within the bounds. */
1231
- quantity_step?: string;
1232
- /** @description For prepaid prices, how many periods one purchase covers. */
1233
- interval_count?: number;
1234
- /** @enum {string} */
1235
- interval: "none" | "day" | "month" | "year";
1236
- setup_fee?: components["schemas"]["Money"];
1237
- };
1238
- PriceList: {
1239
- items: components["schemas"]["Price"][];
1240
- /** Format: int64 */
1241
- total_count?: number;
1242
- };
1243
- Rate: {
1244
- meter: components["schemas"]["ObjectIdentity"];
1245
- /** @description The unit readings arrive in, such as `core-second`. */
1246
- unit?: string;
1247
- /** @description The attributes this rate applies to, such as region and machine type. */
1248
- dimensions: {
1249
- [key: string]: string;
1250
- };
1251
- /** @enum {string} */
1252
- pricing_model: "per_unit" | "graduated" | "volume";
1253
- /** @description Present for `per_unit`. Tiered rates carry their amounts on the tiers. */
1254
- unit_amount?: components["schemas"]["Money"];
1255
- /** @description Present for `graduated` and `volume`, in ascending order. */
1256
- tiers?: components["schemas"]["Tier"][];
1257
- /**
1258
- * @description How many measured units one amount covers. An hourly rate on a per-second meter is
1259
- * `"3600"`.
1260
- */
1261
- unit_quantity?: string;
1262
- currency: string;
1263
- /** Format: date-time */
1264
- effective_from: string;
1265
- /** Format: date-time */
1266
- effective_to?: string | null;
1267
- };
1268
- RateList: {
1269
- items: components["schemas"]["Rate"][];
1270
- /** Format: int64 */
1271
- total_count?: number;
1272
- };
1273
952
  /**
1274
953
  * @description Identify a price directly, or select a price for a plan. For each resource give its ID or lookup key, never both. Lookup keys require product_id.
1275
954
  *
@@ -1321,68 +1000,6 @@ export interface components {
1321
1000
  */
1322
1001
  duration_seconds?: number;
1323
1002
  };
1324
- EstimateRequest: {
1325
- /** @description Must be one the catalogue publishes. */
1326
- currency: string;
1327
- lines: components["schemas"]["QuoteLine"][];
1328
- };
1329
- QuoteLineResult: {
1330
- /** @description Tax included in the account quote. Absent in public catalogue estimates. */
1331
- tax_amount?: components["schemas"]["Money"];
1332
- /** @description Tax already included in the displayed price. */
1333
- tax_included_amount?: components["schemas"]["Money"];
1334
- /** @description Which line of the request this answers. */
1335
- index: number;
1336
- /**
1337
- * @description Whether a price was found for this line. Read this before anything else.
1338
- *
1339
- * A single item with no price no longer fails the whole request. A catalogue
1340
- * almost always has something not yet priced, and refusing the request would
1341
- * leave no way to render a list in which a few entries are simply not on sale.
1342
- *
1343
- * When false, `price_id`, `unit_amount` and `amount` are absent and
1344
- * `unpriced_reason` states what is missing.
1345
- */
1346
- priced: boolean;
1347
- /**
1348
- * @description Why no price was found; `none` while `priced` is true.
1349
- *
1350
- * The last four are told apart because their remedies differ: the price points
1351
- * at no price list, the list holds no rate for that meter, that exact combination
1352
- * of attributes is not configured, or it is configured but nothing is in effect
1353
- * at the moment asked about.
1354
- * @enum {string}
1355
- */
1356
- unpriced_reason?: "none" | "no_price" | "no_rate_card" | "no_meter" | "no_dimensions" | "no_effective_rule";
1357
- /**
1358
- * Format: uuid
1359
- * @description The price selected. Returned whenever `priced` is true, including when the
1360
- * request identified the item indirectly, so that the choice can be confirmed.
1361
- */
1362
- price_id?: string;
1363
- plan_name?: string;
1364
- unit_amount?: components["schemas"]["Money"];
1365
- /**
1366
- * @description The quantity actually priced. When `duration_seconds` is given, it is the requested
1367
- * `quantity` multiplied by that duration.
1368
- */
1369
- quantity?: string;
1370
- /** @description Not rounded. Round only for display. */
1371
- amount?: components["schemas"]["Money"];
1372
- currency: string;
1373
- };
1374
- Quote: {
1375
- lines?: components["schemas"]["QuoteLineResult"][];
1376
- /**
1377
- * @description What would be owed in total. Amounts to be returned are not netted off it.
1378
- *
1379
- * Null when any line could not be priced. What would be owed is not knowable then, and a
1380
- * total that silently left the unpriced lines out would read as a smaller bill rather than
1381
- * an incomplete one — the per-line `priced` flag is easy to skip, a missing total is not.
1382
- */
1383
- total?: components["schemas"]["Money"] | null;
1384
- currency: string;
1385
- };
1386
1003
  BillingAccount: {
1387
1004
  /** Format: int64 */
1388
1005
  id: number;
@@ -1542,9 +1159,11 @@ export interface components {
1542
1159
  /**
1543
1160
  * @description `pending` until the payment gateway reaches a result. The balance increases on `succeeded`.
1544
1161
  *
1545
- * `failed` means the gateway declined the payment. `canceled` means the attempt was withdrawn
1546
- * without collecting money; `cancellation_reason` says why. Unknown gateway outcomes remain
1547
- * `pending`, and a browser redirect is not proof of payment.
1162
+ * `failed` means the gateway declined the payment. A declined attempt ends the top-up at once
1163
+ * and the payment is withdrawn at the gateway; to pay another way, create a new top-up.
1164
+ * `canceled` means the attempt was withdrawn without collecting money; `cancellation_reason`
1165
+ * says why. Unknown gateway outcomes remain `pending`, and a browser redirect is not proof of
1166
+ * payment.
1548
1167
  *
1549
1168
  * `failed` and `canceled` are final. If the gateway nevertheless collects payment for such an
1550
1169
  * attempt, the amount is credited as a separate `succeeded` top-up.
@@ -1567,7 +1186,13 @@ export interface components {
1567
1186
  * the figure that appears on the customer's card or wallet statement.
1568
1187
  */
1569
1188
  presentment_amount?: components["schemas"]["Money"];
1570
- /** @description Why the gateway declined it. Present with `failed`. */
1189
+ /**
1190
+ * @description Why the gateway declined it. Present with `failed`. The value is the gateway's own code,
1191
+ * passed on unchanged: the card issuer's decline code when there is one (Stripe's decline_code,
1192
+ * such as insufficient_funds or lost_card), otherwise the gateway's error code (Stripe's code,
1193
+ * such as card_declined, expired_card or payment_intent_authentication_failure). Clients map it
1194
+ * to their own wording and treat an unknown value as a generic decline.
1195
+ */
1571
1196
  failure_reason?: string;
1572
1197
  /**
1573
1198
  * @description The customer's next step while the top-up is `pending` and the gateway still awaits them. Returned
@@ -1746,7 +1371,9 @@ export interface components {
1746
1371
  *
1747
1372
  * succeeded means payment is complete. processing means confirmation is pending; poll the invoice or
1748
1373
  * order rather than submitting another payment. requires_action means the customer must complete the
1749
- * supplied action. failed means the attempt did not succeed and failure_reason explains the outcome.
1374
+ * supplied action. failed means the attempt did not succeed and failure_reason explains the outcome; a
1375
+ * declined gateway payment is withdrawn at the gateway, and paying again starts a new payment with the
1376
+ * same or another method.
1750
1377
  * @enum {string}
1751
1378
  */
1752
1379
  PaymentStatus: "succeeded" | "processing" | "requires_action" | "failed";
@@ -1787,6 +1414,14 @@ export interface components {
1787
1414
  invoice_id?: string | null;
1788
1415
  /** Format: uuid */
1789
1416
  order_id?: string | null;
1417
+ /**
1418
+ * @description Why the payment did not go through. Present with `failed`. For a declined gateway payment the
1419
+ * value is the gateway's own code, passed on unchanged: the card issuer's decline code when
1420
+ * there is one (Stripe's decline_code, such as insufficient_funds or lost_card), otherwise the
1421
+ * gateway's error code (Stripe's code, such as card_declined, expired_card or
1422
+ * payment_intent_authentication_failure). Clients map it to their own wording and treat an
1423
+ * unknown value as a generic decline.
1424
+ */
1790
1425
  failure_reason?: string;
1791
1426
  };
1792
1427
  /**
@@ -1921,9 +1556,9 @@ export interface components {
1921
1556
  /** Format: uuid */
1922
1557
  refund_id?: string;
1923
1558
  /**
1924
- * @description `failed` means the operation did not succeed; for a gateway payment, that the gateway declined it.
1925
- * `canceled` means a gateway payment was withdrawn without collecting money; an invoice it was meant
1926
- * to pay remains open for another payment.
1559
+ * @description `failed` means the operation did not succeed; for a gateway payment, that the gateway declined
1560
+ * it. `canceled` means a gateway payment was withdrawn without collecting money. After either,
1561
+ * an invoice the payment was meant to pay remains open for another payment.
1927
1562
  * @enum {string}
1928
1563
  */
1929
1564
  status?: "pending" | "succeeded" | "failed" | "canceled";
@@ -1931,7 +1566,14 @@ export interface components {
1931
1566
  cancellation_reason?: components["schemas"]["PaymentCancellationReason"];
1932
1567
  payment_gateway?: string;
1933
1568
  method_type?: string;
1934
- /** @description Why it failed. Present with `failed`. */
1569
+ /**
1570
+ * @description Why it failed. Present with `failed`. For a declined gateway payment the value is the
1571
+ * gateway's own code, passed on unchanged: the card issuer's decline code when there is one
1572
+ * (Stripe's decline_code, such as insufficient_funds or lost_card), otherwise the gateway's
1573
+ * error code (Stripe's code, such as card_declined, expired_card or
1574
+ * payment_intent_authentication_failure). Clients map it to their own wording and treat an
1575
+ * unknown value as a generic decline.
1576
+ */
1935
1577
  failure_reason?: string;
1936
1578
  /** Format: date-time */
1937
1579
  settled_at?: string;
@@ -2463,13 +2105,6 @@ export interface components {
2463
2105
  /** @description The longest term a purchase may have, in months. */
2464
2106
  max_term_months?: number;
2465
2107
  };
2466
- Tier: {
2467
- /** @description The upper bound of this band. Null on the last band, which has no bound. */
2468
- up_to?: string | null;
2469
- unit_amount: components["schemas"]["Money"];
2470
- /** @description Charged once when this band is reached, in addition to the per-unit amount. */
2471
- flat_amount?: components["schemas"]["Money"];
2472
- };
2473
2108
  /** @description Frozen purchase terms. Monetary fields come from related invoice-line snapshots and are absent when there is no immediate invoice. Later catalog changes do not reprice this line. */
2474
2109
  OrderItem: {
2475
2110
  position?: number;
@@ -2576,10 +2211,6 @@ export interface components {
2576
2211
  /** Format: int64 */
2577
2212
  total_count?: number;
2578
2213
  };
2579
- PlanFeature: {
2580
- feature: components["schemas"]["ObjectIdentity"];
2581
- name: string;
2582
- };
2583
2214
  Entitlement: {
2584
2215
  product: components["schemas"]["Product"];
2585
2216
  feature: components["schemas"]["ObjectIdentity"];
@@ -2655,15 +2286,6 @@ export interface components {
2655
2286
  Money: string;
2656
2287
  };
2657
2288
  responses: {
2658
- /** @description Unchanged since the `ETag` that was sent. No body. */
2659
- NotModified: {
2660
- headers: {
2661
- /** @description The same entity tag that was sent. */
2662
- ETag?: string;
2663
- [name: string]: unknown;
2664
- };
2665
- content?: never;
2666
- };
2667
2289
  /** @description Error */
2668
2290
  Error: {
2669
2291
  headers: {
@@ -2675,13 +2297,6 @@ export interface components {
2675
2297
  };
2676
2298
  };
2677
2299
  parameters: {
2678
- /**
2679
- * @description The `ETag` from an earlier reply. When the catalogue has not changed since, the
2680
- * answer is `304` with no body.
2681
- *
2682
- * Send it on every catalogue read. An unchanged catalogue is answered without a body.
2683
- */
2684
- IfNoneMatch: string;
2685
2300
  /** @description 1-based page number; the first page when omitted. */
2686
2301
  Page: number;
2687
2302
  /** @description How many per page, 100 at most. */
@@ -2693,8 +2308,6 @@ export interface components {
2693
2308
  AccountIdQuery: number;
2694
2309
  AccountId: number;
2695
2310
  ProjectId: string;
2696
- PlanId: string;
2697
- RateCardId: string;
2698
2311
  InvoiceId: string;
2699
2312
  OrderId: string;
2700
2313
  CancellationRequestId: string;
@@ -2707,369 +2320,6 @@ export interface components {
2707
2320
  }
2708
2321
  export type $defs = Record<string, never>;
2709
2322
  export interface operations {
2710
- "list-prices": {
2711
- parameters: {
2712
- query: {
2713
- /** @description 1-based page number; the first page when omitted. */
2714
- page?: components["parameters"]["Page"];
2715
- /** @description How many per page, 100 at most. */
2716
- page_size?: components["parameters"]["PageSize"];
2717
- /** @description ISO 4217, three uppercase letters. */
2718
- currency: string;
2719
- product_id?: components["schemas"]["ProductID"];
2720
- /** @description Narrows to one payment timing. */
2721
- type?: "postpaid" | "prepaid" | "one_time";
2722
- };
2723
- header?: {
2724
- /**
2725
- * @description The `ETag` from an earlier reply. When the catalogue has not changed since, the
2726
- * answer is `304` with no body.
2727
- *
2728
- * Send it on every catalogue read. An unchanged catalogue is answered without a body.
2729
- */
2730
- "If-None-Match"?: components["parameters"]["IfNoneMatch"];
2731
- };
2732
- path?: never;
2733
- cookie?: never;
2734
- };
2735
- requestBody?: never;
2736
- responses: {
2737
- /** @description OK */
2738
- 200: {
2739
- headers: {
2740
- /** @description Changes whenever this catalog representation changes. */
2741
- ETag?: string;
2742
- [name: string]: unknown;
2743
- };
2744
- content: {
2745
- "application/json": components["schemas"]["PriceList"];
2746
- };
2747
- };
2748
- /** @description Not Modified */
2749
- 304: {
2750
- headers: {
2751
- [name: string]: unknown;
2752
- };
2753
- content?: never;
2754
- };
2755
- default: components["responses"]["Error"];
2756
- };
2757
- };
2758
- "list-products": {
2759
- parameters: {
2760
- query?: {
2761
- /** @description 1-based page number; the first page when omitted. */
2762
- page?: components["parameters"]["Page"];
2763
- /** @description How many per page, 100 at most. */
2764
- page_size?: components["parameters"]["PageSize"];
2765
- };
2766
- header?: {
2767
- /**
2768
- * @description The `ETag` from an earlier reply. When the catalogue has not changed since, the
2769
- * answer is `304` with no body.
2770
- *
2771
- * Send it on every catalogue read. An unchanged catalogue is answered without a body.
2772
- */
2773
- "If-None-Match"?: components["parameters"]["IfNoneMatch"];
2774
- };
2775
- path?: never;
2776
- cookie?: never;
2777
- };
2778
- requestBody?: never;
2779
- responses: {
2780
- /** @description OK */
2781
- 200: {
2782
- headers: {
2783
- /**
2784
- * @description Changes whenever the catalogue changes. Send it back as `If-None-Match`
2785
- * to be told `304` instead of receiving the same listing again.
2786
- */
2787
- ETag?: string;
2788
- [name: string]: unknown;
2789
- };
2790
- content: {
2791
- "application/json": components["schemas"]["ProductList"];
2792
- };
2793
- };
2794
- 304: components["responses"]["NotModified"];
2795
- default: components["responses"]["Error"];
2796
- };
2797
- };
2798
- "get-product": {
2799
- parameters: {
2800
- query?: never;
2801
- header?: {
2802
- /**
2803
- * @description The `ETag` from an earlier reply. When the catalogue has not changed since, the
2804
- * answer is `304` with no body.
2805
- *
2806
- * Send it on every catalogue read. An unchanged catalogue is answered without a body.
2807
- */
2808
- "If-None-Match"?: components["parameters"]["IfNoneMatch"];
2809
- };
2810
- path: {
2811
- productId: components["schemas"]["ProductID"];
2812
- };
2813
- cookie?: never;
2814
- };
2815
- requestBody?: never;
2816
- responses: {
2817
- /** @description OK */
2818
- 200: {
2819
- headers: {
2820
- /** @description Changes whenever this catalog representation changes. */
2821
- ETag?: string;
2822
- [name: string]: unknown;
2823
- };
2824
- content: {
2825
- "application/json": components["schemas"]["Product"];
2826
- };
2827
- };
2828
- /** @description Not Modified */
2829
- 304: {
2830
- headers: {
2831
- [name: string]: unknown;
2832
- };
2833
- content?: never;
2834
- };
2835
- default: components["responses"]["Error"];
2836
- };
2837
- };
2838
- "get-plan": {
2839
- parameters: {
2840
- query?: never;
2841
- header?: {
2842
- /**
2843
- * @description The `ETag` from an earlier reply. When the catalogue has not changed since, the
2844
- * answer is `304` with no body.
2845
- *
2846
- * Send it on every catalogue read. An unchanged catalogue is answered without a body.
2847
- */
2848
- "If-None-Match"?: components["parameters"]["IfNoneMatch"];
2849
- };
2850
- path: {
2851
- planId: string;
2852
- };
2853
- cookie?: never;
2854
- };
2855
- requestBody?: never;
2856
- responses: {
2857
- /** @description OK */
2858
- 200: {
2859
- headers: {
2860
- /** @description Changes whenever this catalog representation changes. */
2861
- ETag?: string;
2862
- [name: string]: unknown;
2863
- };
2864
- content: {
2865
- "application/json": components["schemas"]["Plan"];
2866
- };
2867
- };
2868
- /** @description Not Modified */
2869
- 304: {
2870
- headers: {
2871
- [name: string]: unknown;
2872
- };
2873
- content?: never;
2874
- };
2875
- default: components["responses"]["Error"];
2876
- };
2877
- };
2878
- "get-price": {
2879
- parameters: {
2880
- query?: never;
2881
- header?: {
2882
- /**
2883
- * @description The `ETag` from an earlier reply. When the catalogue has not changed since, the
2884
- * answer is `304` with no body.
2885
- *
2886
- * Send it on every catalogue read. An unchanged catalogue is answered without a body.
2887
- */
2888
- "If-None-Match"?: components["parameters"]["IfNoneMatch"];
2889
- };
2890
- path: {
2891
- priceId: string;
2892
- };
2893
- cookie?: never;
2894
- };
2895
- requestBody?: never;
2896
- responses: {
2897
- /** @description OK */
2898
- 200: {
2899
- headers: {
2900
- /** @description Changes whenever this catalog listing changes. */
2901
- ETag?: string;
2902
- [name: string]: unknown;
2903
- };
2904
- content: {
2905
- "application/json": components["schemas"]["Price"];
2906
- };
2907
- };
2908
- /** @description Not Modified */
2909
- 304: {
2910
- headers: {
2911
- [name: string]: unknown;
2912
- };
2913
- content?: never;
2914
- };
2915
- default: components["responses"]["Error"];
2916
- };
2917
- };
2918
- "list-plans": {
2919
- parameters: {
2920
- query: {
2921
- product_id: components["schemas"]["ProductID"];
2922
- /** @description 1-based page number; the first page when omitted. */
2923
- page?: components["parameters"]["Page"];
2924
- /** @description How many per page, 100 at most. */
2925
- page_size?: components["parameters"]["PageSize"];
2926
- };
2927
- header?: {
2928
- /**
2929
- * @description The `ETag` from an earlier reply. When the catalogue has not changed since, the
2930
- * answer is `304` with no body.
2931
- *
2932
- * Send it on every catalogue read. An unchanged catalogue is answered without a body.
2933
- */
2934
- "If-None-Match"?: components["parameters"]["IfNoneMatch"];
2935
- };
2936
- path?: never;
2937
- cookie?: never;
2938
- };
2939
- requestBody?: never;
2940
- responses: {
2941
- /** @description OK */
2942
- 200: {
2943
- headers: {
2944
- /**
2945
- * @description Changes whenever the catalogue changes. Send it back as `If-None-Match`
2946
- * to be told `304` instead of receiving the same listing again.
2947
- */
2948
- ETag?: string;
2949
- [name: string]: unknown;
2950
- };
2951
- content: {
2952
- "application/json": components["schemas"]["PlanList"];
2953
- };
2954
- };
2955
- 304: components["responses"]["NotModified"];
2956
- default: components["responses"]["Error"];
2957
- };
2958
- };
2959
- "list-prices-by-plan": {
2960
- parameters: {
2961
- query?: {
2962
- /** @description 1-based page number; the first page when omitted. */
2963
- page?: components["parameters"]["Page"];
2964
- /** @description How many per page, 100 at most. */
2965
- page_size?: components["parameters"]["PageSize"];
2966
- currency?: string;
2967
- };
2968
- header?: {
2969
- /**
2970
- * @description The `ETag` from an earlier reply. When the catalogue has not changed since, the
2971
- * answer is `304` with no body.
2972
- *
2973
- * Send it on every catalogue read. An unchanged catalogue is answered without a body.
2974
- */
2975
- "If-None-Match"?: components["parameters"]["IfNoneMatch"];
2976
- };
2977
- path: {
2978
- planId: components["parameters"]["PlanId"];
2979
- };
2980
- cookie?: never;
2981
- };
2982
- requestBody?: never;
2983
- responses: {
2984
- /** @description OK */
2985
- 200: {
2986
- headers: {
2987
- /**
2988
- * @description Changes whenever the catalogue changes. Send it back as `If-None-Match`
2989
- * to be told `304` instead of receiving the same listing again.
2990
- */
2991
- ETag?: string;
2992
- [name: string]: unknown;
2993
- };
2994
- content: {
2995
- "application/json": components["schemas"]["PriceList"];
2996
- };
2997
- };
2998
- 304: components["responses"]["NotModified"];
2999
- default: components["responses"]["Error"];
3000
- };
3001
- };
3002
- "list-rates": {
3003
- parameters: {
3004
- query?: {
3005
- /** @description 1-based page number; the first page when omitted. */
3006
- page?: components["parameters"]["Page"];
3007
- /** @description How many per page, 100 at most. */
3008
- page_size?: components["parameters"]["PageSize"];
3009
- /** @description Filter by the meter UUID. */
3010
- meter_id?: string;
3011
- /** @description Return the rates in effect at this moment. Defaults to now. */
3012
- at?: string;
3013
- };
3014
- header?: {
3015
- /**
3016
- * @description The `ETag` from an earlier reply. When the catalogue has not changed since, the
3017
- * answer is `304` with no body.
3018
- *
3019
- * Send it on every catalogue read. An unchanged catalogue is answered without a body.
3020
- */
3021
- "If-None-Match"?: components["parameters"]["IfNoneMatch"];
3022
- };
3023
- path: {
3024
- rateCardId: components["parameters"]["RateCardId"];
3025
- };
3026
- cookie?: never;
3027
- };
3028
- requestBody?: never;
3029
- responses: {
3030
- /** @description OK */
3031
- 200: {
3032
- headers: {
3033
- /**
3034
- * @description Changes whenever the catalogue changes. Send it back as `If-None-Match`
3035
- * to be told `304` instead of receiving the same listing again.
3036
- */
3037
- ETag?: string;
3038
- [name: string]: unknown;
3039
- };
3040
- content: {
3041
- "application/json": components["schemas"]["RateList"];
3042
- };
3043
- };
3044
- 304: components["responses"]["NotModified"];
3045
- default: components["responses"]["Error"];
3046
- };
3047
- };
3048
- "create-estimate": {
3049
- parameters: {
3050
- query?: never;
3051
- header?: never;
3052
- path?: never;
3053
- cookie?: never;
3054
- };
3055
- requestBody: {
3056
- content: {
3057
- "application/json": components["schemas"]["EstimateRequest"];
3058
- };
3059
- };
3060
- responses: {
3061
- /** @description OK */
3062
- 200: {
3063
- headers: {
3064
- [name: string]: unknown;
3065
- };
3066
- content: {
3067
- "application/json": components["schemas"]["Quote"];
3068
- };
3069
- };
3070
- default: components["responses"]["Error"];
3071
- };
3072
- };
3073
2323
  "list-currencies": {
3074
2324
  parameters: {
3075
2325
  query?: never;