@veilway/sdk 0.2.21-alpha → 0.3.0-alpha
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.
- package/dist/src/schema.d.ts +398 -0
- package/package.json +1 -1
package/dist/src/schema.d.ts
CHANGED
|
@@ -123,6 +123,26 @@ export interface paths {
|
|
|
123
123
|
patch?: never;
|
|
124
124
|
trace?: never;
|
|
125
125
|
};
|
|
126
|
+
"/v1/links/{tag}/api/{path}": {
|
|
127
|
+
parameters: {
|
|
128
|
+
query?: never;
|
|
129
|
+
header?: never;
|
|
130
|
+
path?: never;
|
|
131
|
+
cookie?: never;
|
|
132
|
+
};
|
|
133
|
+
/** Calls one route of the control API of the node at the other end of the node link `tag`, which must have manage peer here, through the link: GET. Only the routes a managed node serves are carried (status, config, validate and diff, users, usage reset, stats, sessions, exits, inbounds, links, the upstream routes and the replay reset), and only the method, the path with its query, If-Match and Content-Type go to the other node, and only the status, ETag and Content-Type come back. The body of a successful call is the other node's answer, as it gave it. */
|
|
134
|
+
get: operations["relayGet"];
|
|
135
|
+
/** The same call with PUT, which is how a config is pushed to a managed node. The node puts it on trial: 120 seconds after the push the config before is back, unless a request comes through the same link 10 seconds or more after the push, over a WireGuard session made after it. Both ends of the link make a new session under the config within seconds, so a config that breaks the next session is put back. A document that would cut the link this request came through is refused with 422 managing_link, except the removal of the node: no users and no such link, answered 202 once it is in the config file, and put in force 10 seconds later, since the answer goes back through that link. */
|
|
136
|
+
put: operations["relayPut"];
|
|
137
|
+
/** The same call with POST. */
|
|
138
|
+
post: operations["relayPost"];
|
|
139
|
+
/** The same call with DELETE. */
|
|
140
|
+
delete: operations["relayDelete"];
|
|
141
|
+
options?: never;
|
|
142
|
+
head?: never;
|
|
143
|
+
patch?: never;
|
|
144
|
+
trace?: never;
|
|
145
|
+
};
|
|
126
146
|
"/v1/openapi.json": {
|
|
127
147
|
parameters: {
|
|
128
148
|
query?: never;
|
|
@@ -669,6 +689,10 @@ export interface components {
|
|
|
669
689
|
*/
|
|
670
690
|
handshake_secs: number | null;
|
|
671
691
|
id: components["schemas"]["LinkId"];
|
|
692
|
+
/** @description Null for a link that is not managed. */
|
|
693
|
+
manage: components["schemas"]["LinkManage"] | null;
|
|
694
|
+
/** @description What the management connections of the link count. All zero on a link that is not managed. */
|
|
695
|
+
management: components["schemas"]["Management"];
|
|
672
696
|
role: components["schemas"]["LinkRole"];
|
|
673
697
|
/** @description The system refused an outer packet of the link for its size within the last 600 seconds, which suggests the link's mtu is too high for the path. Anyone on the path can forge such a report, so it only warns. */
|
|
674
698
|
size_warning: boolean;
|
|
@@ -694,6 +718,8 @@ export interface components {
|
|
|
694
718
|
LinkHalf: "entry" | "exit";
|
|
695
719
|
/** @description the id of a link: 22 characters of base64url without padding */
|
|
696
720
|
LinkId: string;
|
|
721
|
+
/** @description Which side of a managed link this node is. */
|
|
722
|
+
LinkManage: "peer" | "by_peer";
|
|
697
723
|
LinkRole: "listener" | "dialler";
|
|
698
724
|
LinkState: "up" | "connecting" | "unreachable" | "refused" | "ended";
|
|
699
725
|
Links: {
|
|
@@ -712,6 +738,50 @@ export interface components {
|
|
|
712
738
|
};
|
|
713
739
|
/** @description What `Load::by` measures. */
|
|
714
740
|
LoadBy: "flows" | "mbps";
|
|
741
|
+
/** @description The management connections of one link, which carry the control API of the other node, or this node's to it. Everything but `open` only grows, and none of it is in `traffic`'s numbers of a user. */
|
|
742
|
+
Management: {
|
|
743
|
+
/**
|
|
744
|
+
* Format: uint64
|
|
745
|
+
* @description Requests turned away because their route or method is not on the list a managed node serves.
|
|
746
|
+
*/
|
|
747
|
+
denied: number;
|
|
748
|
+
/** Format: uint64 */
|
|
749
|
+
down_bytes: number;
|
|
750
|
+
/**
|
|
751
|
+
* Format: uint64
|
|
752
|
+
* @description Packets that a full queue of a connection dropped.
|
|
753
|
+
*/
|
|
754
|
+
dropped: number;
|
|
755
|
+
/**
|
|
756
|
+
* Format: uint64
|
|
757
|
+
* @description Connections that were reset by the other node or got no answer within 10 seconds.
|
|
758
|
+
*/
|
|
759
|
+
failed: number;
|
|
760
|
+
/** Format: uint64 */
|
|
761
|
+
idled: number;
|
|
762
|
+
/** Format: uint64 */
|
|
763
|
+
open: number;
|
|
764
|
+
/**
|
|
765
|
+
* Format: uint64
|
|
766
|
+
* @description Connections taken, and open now.
|
|
767
|
+
*/
|
|
768
|
+
opened: number;
|
|
769
|
+
/**
|
|
770
|
+
* Format: uint64
|
|
771
|
+
* @description Refused: a fifth connection, a connection attempt from the other node to a node that manages (which has no listener), a node with no control API to serve, and a stray packet.
|
|
772
|
+
*/
|
|
773
|
+
refused: number;
|
|
774
|
+
/**
|
|
775
|
+
* Format: uint64
|
|
776
|
+
* @description Connections a reset ended, and those closed after 120 seconds of silence.
|
|
777
|
+
*/
|
|
778
|
+
reset: number;
|
|
779
|
+
/**
|
|
780
|
+
* Format: uint64
|
|
781
|
+
* @description Bytes of the requests this node sent through the link and of the answers it took out of it.
|
|
782
|
+
*/
|
|
783
|
+
up_bytes: number;
|
|
784
|
+
};
|
|
715
785
|
/**
|
|
716
786
|
* @description The counters of one outbound: those of the exits that leave through it, added up, with what the node knows of its proxy.
|
|
717
787
|
* The node learns whether a proxy relays UDP once for each exit, from the flows of that exit, so two exits through one proxy can know different things for a while. This is what they know together.
|
|
@@ -2123,6 +2193,334 @@ export interface operations {
|
|
|
2123
2193
|
};
|
|
2124
2194
|
};
|
|
2125
2195
|
};
|
|
2196
|
+
relayGet: {
|
|
2197
|
+
parameters: {
|
|
2198
|
+
query?: never;
|
|
2199
|
+
header?: never;
|
|
2200
|
+
path: {
|
|
2201
|
+
tag: string;
|
|
2202
|
+
path: string;
|
|
2203
|
+
};
|
|
2204
|
+
cookie?: never;
|
|
2205
|
+
};
|
|
2206
|
+
requestBody?: never;
|
|
2207
|
+
responses: {
|
|
2208
|
+
/** @description The answer. */
|
|
2209
|
+
200: {
|
|
2210
|
+
headers: {
|
|
2211
|
+
[name: string]: unknown;
|
|
2212
|
+
};
|
|
2213
|
+
content: {
|
|
2214
|
+
"application/json": unknown;
|
|
2215
|
+
};
|
|
2216
|
+
};
|
|
2217
|
+
/** @description not_managed: the link does not have manage peer on this node. Node 1's own, with the header veilway-relay: node1. */
|
|
2218
|
+
403: {
|
|
2219
|
+
headers: {
|
|
2220
|
+
[name: string]: unknown;
|
|
2221
|
+
};
|
|
2222
|
+
content: {
|
|
2223
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2224
|
+
};
|
|
2225
|
+
};
|
|
2226
|
+
/** @description no_such_link: the running config has no enabled node link of that tag. not_allowed_through_link: the route or the method is not on the list of routes a managed node serves. Node 1's own, with the header veilway-relay: node1. */
|
|
2227
|
+
404: {
|
|
2228
|
+
headers: {
|
|
2229
|
+
[name: string]: unknown;
|
|
2230
|
+
};
|
|
2231
|
+
content: {
|
|
2232
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2233
|
+
};
|
|
2234
|
+
};
|
|
2235
|
+
/** @description The answer of the other node itself: the relay keeps its own time, 30 seconds and 75 for the preview of an upstream. */
|
|
2236
|
+
408: {
|
|
2237
|
+
headers: {
|
|
2238
|
+
[name: string]: unknown;
|
|
2239
|
+
};
|
|
2240
|
+
content: {
|
|
2241
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2242
|
+
};
|
|
2243
|
+
};
|
|
2244
|
+
/** @description peer_refused: the other node reset the connection, because it does not serve management or has no control API. answer_too_large: the answer is over 8 MiB. bad_answer: the answer is not HTTP/1.1 with a length, or the connection ended before it was whole, and a change it was sent may still have been made: read its revision. Node 1's own, with the header veilway-relay: node1; any other 502 is the other node's own answer, with none of it. */
|
|
2245
|
+
502: {
|
|
2246
|
+
headers: {
|
|
2247
|
+
[name: string]: unknown;
|
|
2248
|
+
};
|
|
2249
|
+
content: {
|
|
2250
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2251
|
+
};
|
|
2252
|
+
};
|
|
2253
|
+
/** @description link_down: the link is not up, answered at once with nothing sent, and details name its state, since when and what the dialler's last attempt came to. busy: four connections of the link are open, or the node relays as many requests as it takes at once, and none was freed in 5 seconds. Node 1's own answers carry the header veilway-relay: node1; any other 503 is the other node's own, with none of it. */
|
|
2254
|
+
503: {
|
|
2255
|
+
headers: {
|
|
2256
|
+
[name: string]: unknown;
|
|
2257
|
+
};
|
|
2258
|
+
content: {
|
|
2259
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2260
|
+
};
|
|
2261
|
+
};
|
|
2262
|
+
/** @description peer_silent: no answer to the connection within 10 seconds, or none within the request's time. A change the other node was sent may still have been made. Node 1's own, with the header veilway-relay: node1. */
|
|
2263
|
+
504: {
|
|
2264
|
+
headers: {
|
|
2265
|
+
[name: string]: unknown;
|
|
2266
|
+
};
|
|
2267
|
+
content: {
|
|
2268
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2269
|
+
};
|
|
2270
|
+
};
|
|
2271
|
+
};
|
|
2272
|
+
};
|
|
2273
|
+
relayPut: {
|
|
2274
|
+
parameters: {
|
|
2275
|
+
query?: never;
|
|
2276
|
+
header: {
|
|
2277
|
+
/** @description The revision of the config the change was made on, as GET /v1/config gave it, with or without quotes. */
|
|
2278
|
+
"If-Match": string;
|
|
2279
|
+
};
|
|
2280
|
+
path: {
|
|
2281
|
+
tag: string;
|
|
2282
|
+
path: string;
|
|
2283
|
+
};
|
|
2284
|
+
cookie?: never;
|
|
2285
|
+
};
|
|
2286
|
+
requestBody?: {
|
|
2287
|
+
content: {
|
|
2288
|
+
"application/json": Record<string, never>;
|
|
2289
|
+
};
|
|
2290
|
+
};
|
|
2291
|
+
responses: {
|
|
2292
|
+
/** @description The answer. */
|
|
2293
|
+
200: {
|
|
2294
|
+
headers: {
|
|
2295
|
+
[name: string]: unknown;
|
|
2296
|
+
};
|
|
2297
|
+
content: {
|
|
2298
|
+
"application/json": unknown;
|
|
2299
|
+
};
|
|
2300
|
+
};
|
|
2301
|
+
/** @description not_managed: the link does not have manage peer on this node. Node 1's own, with the header veilway-relay: node1. */
|
|
2302
|
+
403: {
|
|
2303
|
+
headers: {
|
|
2304
|
+
[name: string]: unknown;
|
|
2305
|
+
};
|
|
2306
|
+
content: {
|
|
2307
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2308
|
+
};
|
|
2309
|
+
};
|
|
2310
|
+
/** @description no_such_link: the running config has no enabled node link of that tag. not_allowed_through_link: the route or the method is not on the list of routes a managed node serves. Node 1's own, with the header veilway-relay: node1. */
|
|
2311
|
+
404: {
|
|
2312
|
+
headers: {
|
|
2313
|
+
[name: string]: unknown;
|
|
2314
|
+
};
|
|
2315
|
+
content: {
|
|
2316
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2317
|
+
};
|
|
2318
|
+
};
|
|
2319
|
+
/** @description The answer of the other node itself: the relay keeps its own time, 30 seconds and 75 for the preview of an upstream. */
|
|
2320
|
+
408: {
|
|
2321
|
+
headers: {
|
|
2322
|
+
[name: string]: unknown;
|
|
2323
|
+
};
|
|
2324
|
+
content: {
|
|
2325
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2326
|
+
};
|
|
2327
|
+
};
|
|
2328
|
+
/** @description The answer of the other node itself: an apply of its config needs If-Match. */
|
|
2329
|
+
428: {
|
|
2330
|
+
headers: {
|
|
2331
|
+
[name: string]: unknown;
|
|
2332
|
+
};
|
|
2333
|
+
content: {
|
|
2334
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2335
|
+
};
|
|
2336
|
+
};
|
|
2337
|
+
/** @description peer_refused: the other node reset the connection, because it does not serve management or has no control API. answer_too_large: the answer is over 8 MiB. bad_answer: the answer is not HTTP/1.1 with a length, or the connection ended before it was whole, and a change it was sent may still have been made: read its revision. Node 1's own, with the header veilway-relay: node1; any other 502 is the other node's own answer, with none of it. */
|
|
2338
|
+
502: {
|
|
2339
|
+
headers: {
|
|
2340
|
+
[name: string]: unknown;
|
|
2341
|
+
};
|
|
2342
|
+
content: {
|
|
2343
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2344
|
+
};
|
|
2345
|
+
};
|
|
2346
|
+
/** @description link_down: the link is not up, answered at once with nothing sent, and details name its state, since when and what the dialler's last attempt came to. busy: four connections of the link are open, or the node relays as many requests as it takes at once, and none was freed in 5 seconds. Node 1's own answers carry the header veilway-relay: node1; any other 503 is the other node's own, with none of it. */
|
|
2347
|
+
503: {
|
|
2348
|
+
headers: {
|
|
2349
|
+
[name: string]: unknown;
|
|
2350
|
+
};
|
|
2351
|
+
content: {
|
|
2352
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2353
|
+
};
|
|
2354
|
+
};
|
|
2355
|
+
/** @description peer_silent: no answer to the connection within 10 seconds, or none within the request's time. A change the other node was sent may still have been made. Node 1's own, with the header veilway-relay: node1. */
|
|
2356
|
+
504: {
|
|
2357
|
+
headers: {
|
|
2358
|
+
[name: string]: unknown;
|
|
2359
|
+
};
|
|
2360
|
+
content: {
|
|
2361
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2362
|
+
};
|
|
2363
|
+
};
|
|
2364
|
+
};
|
|
2365
|
+
};
|
|
2366
|
+
relayPost: {
|
|
2367
|
+
parameters: {
|
|
2368
|
+
query?: never;
|
|
2369
|
+
header?: never;
|
|
2370
|
+
path: {
|
|
2371
|
+
tag: string;
|
|
2372
|
+
path: string;
|
|
2373
|
+
};
|
|
2374
|
+
cookie?: never;
|
|
2375
|
+
};
|
|
2376
|
+
requestBody?: {
|
|
2377
|
+
content: {
|
|
2378
|
+
"application/json": Record<string, never>;
|
|
2379
|
+
};
|
|
2380
|
+
};
|
|
2381
|
+
responses: {
|
|
2382
|
+
/** @description The answer. */
|
|
2383
|
+
200: {
|
|
2384
|
+
headers: {
|
|
2385
|
+
[name: string]: unknown;
|
|
2386
|
+
};
|
|
2387
|
+
content: {
|
|
2388
|
+
"application/json": unknown;
|
|
2389
|
+
};
|
|
2390
|
+
};
|
|
2391
|
+
/** @description not_managed: the link does not have manage peer on this node. Node 1's own, with the header veilway-relay: node1. */
|
|
2392
|
+
403: {
|
|
2393
|
+
headers: {
|
|
2394
|
+
[name: string]: unknown;
|
|
2395
|
+
};
|
|
2396
|
+
content: {
|
|
2397
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2398
|
+
};
|
|
2399
|
+
};
|
|
2400
|
+
/** @description no_such_link: the running config has no enabled node link of that tag. not_allowed_through_link: the route or the method is not on the list of routes a managed node serves. Node 1's own, with the header veilway-relay: node1. */
|
|
2401
|
+
404: {
|
|
2402
|
+
headers: {
|
|
2403
|
+
[name: string]: unknown;
|
|
2404
|
+
};
|
|
2405
|
+
content: {
|
|
2406
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2407
|
+
};
|
|
2408
|
+
};
|
|
2409
|
+
/** @description The answer of the other node itself: the relay keeps its own time, 30 seconds and 75 for the preview of an upstream. */
|
|
2410
|
+
408: {
|
|
2411
|
+
headers: {
|
|
2412
|
+
[name: string]: unknown;
|
|
2413
|
+
};
|
|
2414
|
+
content: {
|
|
2415
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2416
|
+
};
|
|
2417
|
+
};
|
|
2418
|
+
/** @description peer_refused: the other node reset the connection, because it does not serve management or has no control API. answer_too_large: the answer is over 8 MiB. bad_answer: the answer is not HTTP/1.1 with a length, or the connection ended before it was whole, and a change it was sent may still have been made: read its revision. Node 1's own, with the header veilway-relay: node1; any other 502 is the other node's own answer, with none of it. */
|
|
2419
|
+
502: {
|
|
2420
|
+
headers: {
|
|
2421
|
+
[name: string]: unknown;
|
|
2422
|
+
};
|
|
2423
|
+
content: {
|
|
2424
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2425
|
+
};
|
|
2426
|
+
};
|
|
2427
|
+
/** @description link_down: the link is not up, answered at once with nothing sent, and details name its state, since when and what the dialler's last attempt came to. busy: four connections of the link are open, or the node relays as many requests as it takes at once, and none was freed in 5 seconds. Node 1's own answers carry the header veilway-relay: node1; any other 503 is the other node's own, with none of it. */
|
|
2428
|
+
503: {
|
|
2429
|
+
headers: {
|
|
2430
|
+
[name: string]: unknown;
|
|
2431
|
+
};
|
|
2432
|
+
content: {
|
|
2433
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2434
|
+
};
|
|
2435
|
+
};
|
|
2436
|
+
/** @description peer_silent: no answer to the connection within 10 seconds, or none within the request's time. A change the other node was sent may still have been made. Node 1's own, with the header veilway-relay: node1. */
|
|
2437
|
+
504: {
|
|
2438
|
+
headers: {
|
|
2439
|
+
[name: string]: unknown;
|
|
2440
|
+
};
|
|
2441
|
+
content: {
|
|
2442
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2443
|
+
};
|
|
2444
|
+
};
|
|
2445
|
+
};
|
|
2446
|
+
};
|
|
2447
|
+
relayDelete: {
|
|
2448
|
+
parameters: {
|
|
2449
|
+
query?: never;
|
|
2450
|
+
header?: never;
|
|
2451
|
+
path: {
|
|
2452
|
+
tag: string;
|
|
2453
|
+
path: string;
|
|
2454
|
+
};
|
|
2455
|
+
cookie?: never;
|
|
2456
|
+
};
|
|
2457
|
+
requestBody?: never;
|
|
2458
|
+
responses: {
|
|
2459
|
+
/** @description The answer. */
|
|
2460
|
+
200: {
|
|
2461
|
+
headers: {
|
|
2462
|
+
[name: string]: unknown;
|
|
2463
|
+
};
|
|
2464
|
+
content: {
|
|
2465
|
+
"application/json": unknown;
|
|
2466
|
+
};
|
|
2467
|
+
};
|
|
2468
|
+
/** @description not_managed: the link does not have manage peer on this node. Node 1's own, with the header veilway-relay: node1. */
|
|
2469
|
+
403: {
|
|
2470
|
+
headers: {
|
|
2471
|
+
[name: string]: unknown;
|
|
2472
|
+
};
|
|
2473
|
+
content: {
|
|
2474
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2475
|
+
};
|
|
2476
|
+
};
|
|
2477
|
+
/** @description no_such_link: the running config has no enabled node link of that tag. not_allowed_through_link: the route or the method is not on the list of routes a managed node serves. Node 1's own, with the header veilway-relay: node1. */
|
|
2478
|
+
404: {
|
|
2479
|
+
headers: {
|
|
2480
|
+
[name: string]: unknown;
|
|
2481
|
+
};
|
|
2482
|
+
content: {
|
|
2483
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2484
|
+
};
|
|
2485
|
+
};
|
|
2486
|
+
/** @description The answer of the other node itself: the relay keeps its own time, 30 seconds and 75 for the preview of an upstream. */
|
|
2487
|
+
408: {
|
|
2488
|
+
headers: {
|
|
2489
|
+
[name: string]: unknown;
|
|
2490
|
+
};
|
|
2491
|
+
content: {
|
|
2492
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2493
|
+
};
|
|
2494
|
+
};
|
|
2495
|
+
/** @description peer_refused: the other node reset the connection, because it does not serve management or has no control API. answer_too_large: the answer is over 8 MiB. bad_answer: the answer is not HTTP/1.1 with a length, or the connection ended before it was whole, and a change it was sent may still have been made: read its revision. Node 1's own, with the header veilway-relay: node1; any other 502 is the other node's own answer, with none of it. */
|
|
2496
|
+
502: {
|
|
2497
|
+
headers: {
|
|
2498
|
+
[name: string]: unknown;
|
|
2499
|
+
};
|
|
2500
|
+
content: {
|
|
2501
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2502
|
+
};
|
|
2503
|
+
};
|
|
2504
|
+
/** @description link_down: the link is not up, answered at once with nothing sent, and details name its state, since when and what the dialler's last attempt came to. busy: four connections of the link are open, or the node relays as many requests as it takes at once, and none was freed in 5 seconds. Node 1's own answers carry the header veilway-relay: node1; any other 503 is the other node's own, with none of it. */
|
|
2505
|
+
503: {
|
|
2506
|
+
headers: {
|
|
2507
|
+
[name: string]: unknown;
|
|
2508
|
+
};
|
|
2509
|
+
content: {
|
|
2510
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2511
|
+
};
|
|
2512
|
+
};
|
|
2513
|
+
/** @description peer_silent: no answer to the connection within 10 seconds, or none within the request's time. A change the other node was sent may still have been made. Node 1's own, with the header veilway-relay: node1. */
|
|
2514
|
+
504: {
|
|
2515
|
+
headers: {
|
|
2516
|
+
[name: string]: unknown;
|
|
2517
|
+
};
|
|
2518
|
+
content: {
|
|
2519
|
+
"application/json": components["schemas"]["ErrorBody"];
|
|
2520
|
+
};
|
|
2521
|
+
};
|
|
2522
|
+
};
|
|
2523
|
+
};
|
|
2126
2524
|
openapi: {
|
|
2127
2525
|
parameters: {
|
|
2128
2526
|
query?: never;
|