@runpod/typescript-api-sdk 0.1.1 → 0.3.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.
Files changed (3) hide show
  1. package/dist/index.d.cts +1166 -57
  2. package/dist/index.d.ts +1166 -57
  3. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -5,6 +5,26 @@ import { Client } from 'openapi-fetch';
5
5
  * Do not make direct changes to the file.
6
6
  */
7
7
  interface paths {
8
+ "/v2/organization": {
9
+ parameters: {
10
+ query?: never;
11
+ header?: never;
12
+ path?: never;
13
+ cookie?: never;
14
+ };
15
+ /**
16
+ * Get your current organization
17
+ * @description Returns the authenticated caller's current organization. Organization context comes from the caller's membership; no organization selector is required. Returns 404 when the caller does not belong to an organization, or 403 when organizations are unavailable to the caller.
18
+ */
19
+ get: operations["getOrganization"];
20
+ put?: never;
21
+ post?: never;
22
+ delete?: never;
23
+ options?: never;
24
+ head?: never;
25
+ patch?: never;
26
+ trace?: never;
27
+ };
8
28
  "/v2/account/ssh-keys": {
9
29
  parameters: {
10
30
  query?: never;
@@ -29,6 +49,86 @@ interface paths {
29
49
  patch?: never;
30
50
  trace?: never;
31
51
  };
52
+ "/v2/account/secrets": {
53
+ parameters: {
54
+ query?: never;
55
+ header?: never;
56
+ path?: never;
57
+ cookie?: never;
58
+ };
59
+ /**
60
+ * List secrets
61
+ * @description Returns the account's secrets — encrypted strings referenced from pod, serverless, and template environment variables with the `{{ RUNPOD_SECRET_<name> }}` placeholder syntax, substituted with the secret's value when the pod or worker boots. Secret values are write-only and are never returned.
62
+ */
63
+ get: operations["listSecrets"];
64
+ put?: never;
65
+ /**
66
+ * Create a secret
67
+ * @description Stores a new account-scoped encrypted string. `name` must be unique
68
+ * across the account's secrets and is immutable; `value` is write-only
69
+ * and can never be read back through the API.
70
+ *
71
+ * Use the secret from pods, serverless endpoints, and templates by
72
+ * setting an environment variable's value to
73
+ * `{{ RUNPOD_SECRET_<name> }}` — Runpod substitutes the stored value
74
+ * when the pod or worker boots.
75
+ *
76
+ * Returns `201` with the created secret's metadata, or `409` when the
77
+ * name is already taken.
78
+ */
79
+ post: operations["createSecret"];
80
+ delete?: never;
81
+ options?: never;
82
+ head?: never;
83
+ patch?: never;
84
+ trace?: never;
85
+ };
86
+ "/v2/account/secrets/{id}": {
87
+ parameters: {
88
+ query?: never;
89
+ header?: never;
90
+ path: {
91
+ /**
92
+ * @description Secret identifier
93
+ * @example 2q9m7x4cavgd
94
+ */
95
+ id: string;
96
+ };
97
+ cookie?: never;
98
+ };
99
+ /**
100
+ * Get a secret
101
+ * @description Returns a single secret's metadata by ID. The value is write-only and never returned.
102
+ */
103
+ get: operations["getSecret"];
104
+ put?: never;
105
+ post?: never;
106
+ /**
107
+ * Delete a secret
108
+ * @description Permanently deletes a secret. Environment variables referencing the
109
+ * deleted secret's name will no longer resolve to a value.
110
+ */
111
+ delete: operations["deleteSecret"];
112
+ options?: never;
113
+ head?: never;
114
+ /**
115
+ * Update a secret
116
+ * @description Rotates a secret's value and/or updates its description. Only the
117
+ * provided fields are changed and at least one field is required; the
118
+ * `name` is immutable.
119
+ *
120
+ * Pods and workers receive the new value at their next boot — running
121
+ * instances keep the value they were started with.
122
+ *
123
+ * When both fields are sent, the value is applied first, then the
124
+ * description. The two updates are not atomic: if the description
125
+ * update fails after the value was rotated, the response is an error
126
+ * but the new value has already taken effect. Send the fields in
127
+ * separate requests when that partial outcome matters.
128
+ */
129
+ patch: operations["updateSecret"];
130
+ trace?: never;
131
+ };
32
132
  "/v2/pods": {
33
133
  parameters: {
34
134
  query?: never;
@@ -41,6 +141,11 @@ interface paths {
41
141
  * @description Returns pods owned by the authenticated user. Cluster member
42
142
  * pods are excluded by default; set `includeClusterPods=true` to include
43
143
  * them (each carries a non-null `cluster` membership block).
144
+ *
145
+ * Results are cursor-paginated newest-first; an omitted `limit`
146
+ * defaults to 1000. The cluster-member exclusion is applied before the
147
+ * page is cut, so a page holds `limit` pods whenever that many remain.
148
+ * Follow `pagination.nextCursor` until `hasNextPage` is false.
44
149
  */
45
150
  get: operations["listPods"];
46
151
  put?: never;
@@ -102,6 +207,15 @@ interface paths {
102
207
  * | `429` | Rate limited. | Back off using `Retry-After`, then resume. |
103
208
  * | `5xx` | Transient upstream failure. | Retry the same candidate with backoff. |
104
209
  *
210
+ * Requests larger than 102400 bytes receive `413` before authentication
211
+ * or processing. Reduce the serialized JSON request body and retry.
212
+ *
213
+ * This limit also applies to the deployment request built from your input
214
+ * and any referenced template. A small request can therefore receive `413`
215
+ * if inherited template settings make the combined request too large.
216
+ * Reduce environment variables or command values in your request or template
217
+ * and retry.
218
+ *
105
219
  * `400` covers both "your request breaks a rule" and "no capacity",
106
220
  * because capacity exhaustion currently carries no machine-readable code
107
221
  * of its own — only a human-readable `detail`. A rule violation is
@@ -255,7 +369,9 @@ interface paths {
255
369
  };
256
370
  /**
257
371
  * List clusters
258
- * @description Returns all clusters owned by the authenticated user.
372
+ * @description Returns clusters owned by the authenticated user, cursor-paginated
373
+ * newest-first; an omitted `limit` defaults to 1000. Follow
374
+ * `pagination.nextCursor` until `hasNextPage` is false.
259
375
  */
260
376
  get: operations["listClusters"];
261
377
  put?: never;
@@ -343,7 +459,9 @@ interface paths {
343
459
  };
344
460
  /**
345
461
  * List serverless endpoints
346
- * @description Returns all serverless endpoints owned by the authenticated user.
462
+ * @description Returns serverless endpoints owned by the authenticated user,
463
+ * cursor-paginated newest-first; an omitted `limit` defaults to 1000.
464
+ * Follow `pagination.nextCursor` until `hasNextPage` is false.
347
465
  */
348
466
  get: operations["listEndpoints"];
349
467
  put?: never;
@@ -439,8 +557,9 @@ interface paths {
439
557
  *
440
558
  * Mutable fields: `name`, `gpu`, `cpu`, `workers` (`min`/`max`),
441
559
  * `scaling` (`type`/`value`/`idleTimeout`), `dataCenterIds`,
442
- * `networkVolumes`, `timeout`, `flashboot`, and the container settings
443
- * (`image`, `args`, `disk`, `ports`, `env`, `registry`).
560
+ * `networkVolumes`, `timeout`, `flashboot`, and the
561
+ * container settings (`image`, `args`, `disk`, `ports`, `env`,
562
+ * `registry`).
444
563
  *
445
564
  * Omitted compute preserves the current selection. `cpu` completely
446
565
  * replaces a CPU endpoint's selection; compute family is immutable.
@@ -516,6 +635,10 @@ interface paths {
516
635
  * release is a versioned configuration snapshot with a `diff` of what
517
636
  * changed; build-driven releases carry a `buildId` (fetch build detail via
518
637
  * the builds sub-routes).
638
+ *
639
+ * Releases are cursor-paginated newest-first; an omitted `limit`
640
+ * defaults to 1000. The rollout summary always describes the endpoint's
641
+ * current state, independent of the page requested.
519
642
  */
520
643
  get: operations["listEndpointReleases"];
521
644
  put?: never;
@@ -541,9 +664,10 @@ interface paths {
541
664
  };
542
665
  /**
543
666
  * List serverless endpoint builds
544
- * @description Returns the endpoint's GitHub build history, newest first (RunPod
545
- * GitHub-build integration). At most the 100 most recent builds are
546
- * returned; any older build can still be fetched by id via
667
+ * @description Returns the endpoint's GitHub build history, newest first (Runpod
668
+ * GitHub-build integration), cursor-paginated; an omitted `limit`
669
+ * defaults to 100, so a bare request returns at most the 100 most
670
+ * recent builds. Any build can also be fetched by id via
547
671
  * `GET /v2/serverless/{id}/builds/{buildId}`. Stream a build's logs via
548
672
  * `/v2/serverless/{id}/builds/{buildId}/logs`.
549
673
  */
@@ -577,7 +701,7 @@ interface paths {
577
701
  /**
578
702
  * Get a serverless endpoint build
579
703
  * @description Returns one of the endpoint's GitHub builds by id, regardless of age —
580
- * unlike the list, which is capped to recent history.
704
+ * no need to page through `GET /v2/serverless/{id}/builds` to reach it.
581
705
  */
582
706
  get: operations["getEndpointBuild"];
583
707
  put?: never;
@@ -634,7 +758,10 @@ interface paths {
634
758
  };
635
759
  /**
636
760
  * List templates
637
- * @description Returns all templates owned by the authenticated user.
761
+ * @description Returns templates owned by the authenticated user (including
762
+ * team/organization-scoped ones), cursor-paginated; an omitted `limit`
763
+ * defaults to 1000. Follow `pagination.nextCursor` until `hasNextPage`
764
+ * is false.
638
765
  */
639
766
  get: operations["listTemplates"];
640
767
  put?: never;
@@ -709,7 +836,9 @@ interface paths {
709
836
  };
710
837
  /**
711
838
  * List network volumes
712
- * @description Returns all network volumes owned by the authenticated user.
839
+ * @description Returns network volumes owned by the authenticated user,
840
+ * cursor-paginated newest-first; an omitted `limit` defaults to 1000.
841
+ * Follow `pagination.nextCursor` until `hasNextPage` is false.
713
842
  */
714
843
  get: operations["listNetworkVolumes"];
715
844
  put?: never;
@@ -768,6 +897,75 @@ interface paths {
768
897
  patch: operations["updateNetworkVolume"];
769
898
  trace?: never;
770
899
  };
900
+ "/v2/global-volumes": {
901
+ parameters: {
902
+ query?: never;
903
+ header?: never;
904
+ path?: never;
905
+ cookie?: never;
906
+ };
907
+ /**
908
+ * List global volumes
909
+ * @description Returns global volumes owned by the authenticated user,
910
+ * cursor-paginated newest-first; an omitted `limit` defaults to 1000.
911
+ * Follow `pagination.nextCursor` until `hasNextPage` is false.
912
+ */
913
+ get: operations["listGlobalVolumes"];
914
+ put?: never;
915
+ /**
916
+ * Create a global volume
917
+ * @description Provisions a new global volume — storage that mounts into workloads
918
+ * in any data center. Only a `name` is required; storage is provisioned
919
+ * for you. Accounts have a cap on how many global volumes they can
920
+ * hold; creating one past it fails with `400`.
921
+ *
922
+ * Returns `201` with the created global volume, including its assigned
923
+ * `id`.
924
+ */
925
+ post: operations["createGlobalVolume"];
926
+ delete?: never;
927
+ options?: never;
928
+ head?: never;
929
+ patch?: never;
930
+ trace?: never;
931
+ };
932
+ "/v2/global-volumes/{id}": {
933
+ parameters: {
934
+ query?: never;
935
+ header?: never;
936
+ path: {
937
+ /**
938
+ * @description Global volume identifier
939
+ * @example gsb_abc
940
+ */
941
+ id: string;
942
+ };
943
+ cookie?: never;
944
+ };
945
+ /**
946
+ * Get a global volume
947
+ * @description Returns a single global volume by ID.
948
+ */
949
+ get: operations["getGlobalVolume"];
950
+ put?: never;
951
+ post?: never;
952
+ /**
953
+ * Delete a global volume
954
+ * @description Permanently deletes a global volume and its stored data. Fails with
955
+ * `409` while the volume is still mounted: terminate every pod that
956
+ * mounts it (stopped pods count) and detach it from every serverless
957
+ * endpoint first. Nothing is detached or terminated on your behalf.
958
+ */
959
+ delete: operations["deleteGlobalVolume"];
960
+ options?: never;
961
+ head?: never;
962
+ /**
963
+ * Update a global volume
964
+ * @description Updates mutable fields on a global volume. Only provided fields are changed.
965
+ */
966
+ patch: operations["updateGlobalVolume"];
967
+ trace?: never;
968
+ };
771
969
  "/v2/registries": {
772
970
  parameters: {
773
971
  query?: never;
@@ -1010,7 +1208,9 @@ interface paths {
1010
1208
  * templates (public or private) are managed under `/v2/templates`; fetch
1011
1209
  * any individual template — catalog or owned — via `/v2/templates/{id}`.
1012
1210
  *
1013
- * At most 100 templates are returned. Pagination is not yet supported.
1211
+ * At most 100 templates are returned. Cursor pagination is not yet
1212
+ * supported here; `pagination` is always the exhausted marker
1213
+ * (`nextCursor: null`, `hasNextPage: false`).
1014
1214
  */
1015
1215
  get: operations["listPublicTemplates"];
1016
1216
  put?: never;
@@ -1070,7 +1270,7 @@ interface paths {
1070
1270
  };
1071
1271
  /**
1072
1272
  * Get serverless billing history
1073
- * @description Returns serverless endpoint billing detail for the authenticated user, split into time buckets by startTime/endTime with bucketSize or by lastN recent buckets. Use serverlessId to filter to one endpoint; without it, records are emitted per serverless endpoint per bucket. Each record reports endpoint-level GPU, CPU, disk, platform fee, and total amounts. This is distinct from pod billing, which covers standalone GPU and CPU pod costs rather than serverless endpoint workloads.
1273
+ * @description Returns serverless endpoint billing detail for the authenticated user, split into time buckets by startTime/endTime with bucketSize or by lastN recent buckets. Use serverlessId to filter to one endpoint; without it, records are emitted per serverless endpoint per bucket. Each record reports endpoint-level GPU, CPU, disk, and total amounts. This is distinct from pod billing, which covers standalone GPU and CPU pod costs rather than serverless endpoint workloads.
1074
1274
  */
1075
1275
  get: operations["listServerlessBilling"];
1076
1276
  put?: never;
@@ -1144,13 +1344,67 @@ interface paths {
1144
1344
  }
1145
1345
  interface components {
1146
1346
  schemas: {
1147
- /** @description Container configuration universal to every containerized resource. Compose ContainerConfig instead unless the resource cannot support private registries (clusters, until the upstream input accepts a registry credential). */
1347
+ /** @description The authenticated caller's current organization. */
1348
+ Organization: {
1349
+ /**
1350
+ * @description Organization ID.
1351
+ * @example org_id_abc_123
1352
+ */
1353
+ id: string;
1354
+ /**
1355
+ * @description Organization name.
1356
+ * @example my-org
1357
+ */
1358
+ name: string;
1359
+ };
1360
+ /** @description Cursor-pagination metadata, uniform across list endpoints. Every response carries it: follow `nextCursor` while `hasNextPage` is true to walk the full result set. */
1361
+ Pagination: {
1362
+ /**
1363
+ * @description Pass as the `cursor` query parameter to fetch the next page. Null on the last page.
1364
+ * @example null
1365
+ */
1366
+ nextCursor: string | null;
1367
+ /**
1368
+ * @description Whether more items exist after this page.
1369
+ * @example false
1370
+ */
1371
+ hasNextPage: boolean;
1372
+ };
1373
+ /** @description Mixin for cursor-paginated list responses. Compose it with `allOf` next to the resource's bare list schema so that a list shape shared with a non-paginated endpoint (e.g. a cluster's member pods) does not inherit a pagination block it cannot honour. */
1374
+ Paginated: {
1375
+ pagination: components["schemas"]["Pagination"];
1376
+ };
1377
+ /** @description Container configuration universal to every containerized resource. Compose ContainerConfig instead unless the resource cannot support a direct registry credential (clusters — there the registry credential arrives via a pod template, see CreateClusterRequest.templateId). */
1148
1378
  BaseContainerConfig: {
1149
1379
  /**
1150
- * @description Arguments passed to the container entrypoint
1380
+ * @description The container's command, as a single raw string. This is the field `entrypoint` and `cmd` encode into, exposed in its stored form.
1381
+ *
1382
+ * Two shapes are accepted. A bare shell string is treated as CMD and split into arguments, which is what the console's "Container start command" field writes. A JSON object of the form `{"entrypoint":[...],"cmd":[...]}` sets either or both explicitly.
1383
+ *
1384
+ * Responses always return both representations: `args` exactly as stored, plus the deconstructed `entrypoint` and `cmd`. Supplying `args` together with `entrypoint` or `cmd` is allowed only when they describe the same command, so a read-modify-write client can send back everything it received. Send `""` to clear, omit to leave unchanged.
1385
+ * @example --model meta-llama/Llama-3-8B --max-model-len 8192
1386
+ * @example {"entrypoint":["/bin/bash","-c"],"cmd":["python -u main.py"]}
1151
1387
  * @example
1152
1388
  */
1153
1389
  args?: string;
1390
+ /**
1391
+ * @description Container CMD in exec form. When the image defines an ENTRYPOINT, this is the argument list passed to it. Encoded into the `args` field; supplying both is allowed only when they describe the same command. Send `[]` to clear, omit to leave unchanged.
1392
+ * @example [
1393
+ * "--model",
1394
+ * "meta-llama/Llama-3-8B",
1395
+ * "--max-model-len",
1396
+ * "8192"
1397
+ * ]
1398
+ */
1399
+ cmd?: string[];
1400
+ /**
1401
+ * @description Container ENTRYPOINT in exec form, overriding the image's own. Encoded into `args` field; supplying both is allowed only when they describe the same command. Send `[]` to clear, omit to leave unchanged.
1402
+ * @example [
1403
+ * "/bin/bash",
1404
+ * "-c"
1405
+ * ]
1406
+ */
1407
+ entrypoint?: string[];
1154
1408
  /**
1155
1409
  * @description Container disk in GB (ephemeral, wiped on restart)
1156
1410
  * @example 50
@@ -1188,9 +1442,25 @@ interface components {
1188
1442
  registry?: string | null;
1189
1443
  };
1190
1444
  /**
1191
- * @description Storage mounts attached to a pod. At most one of `persistent` or
1192
- * `network` may be set: sending both is rejected with 400. The
1193
- * `network` field is an array for forward compatibility with
1445
+ * @description The mount kinds every resource that takes `mounts` shares. At most one
1446
+ * of `persistent` or `network` may be set: combining them is rejected
1447
+ * with 400. The `network` field is an array for forward compatibility
1448
+ * with multi-network-volume support; `maxItems` is 1.
1449
+ */
1450
+ BaseMounts: {
1451
+ persistent?: components["schemas"]["PersistentMount"];
1452
+ network?: components["schemas"]["NetworkMount"][];
1453
+ };
1454
+ /**
1455
+ * @description Storage mounts for a cluster create: `persistent` or `network`, not
1456
+ * both. Clusters cannot mount global volumes, so `global` is rejected
1457
+ * with 422.
1458
+ */
1459
+ ClusterMounts: components["schemas"]["BaseMounts"];
1460
+ /**
1461
+ * @description Storage mounts attached to a pod. `persistent` is mutually exclusive
1462
+ * with both `network` and `global`: combining them is rejected with 400.
1463
+ * The `network` field is an array for forward compatibility with
1194
1464
  * multi-network-volume support; `maxItems` is 1.
1195
1465
  *
1196
1466
  * PATCH semantics:
@@ -1208,9 +1478,17 @@ interface components {
1208
1478
  * include the full schema (`size` + `path` for persistent,
1209
1479
  * `volumeId` + `path` for network). Missing required fields → 422.
1210
1480
  */
1211
- Mounts: {
1212
- persistent?: components["schemas"]["PersistentMount"];
1213
- network?: components["schemas"]["NetworkMount"][];
1481
+ Mounts: components["schemas"]["BaseMounts"] & {
1482
+ /**
1483
+ * @description At most one global volume, on GPU and CPU pods, with no data
1484
+ * center constraint. Combinable with `network` but not with
1485
+ * `persistent` (rejected with 400): upstream drops a persistent
1486
+ * disk whenever a volume is attached. Same PATCH rules as
1487
+ * `network`: global mounts are fixed at create, `global: []` is
1488
+ * rejected with 400, and `volumeId` is immutable; only `path` may
1489
+ * change.
1490
+ */
1491
+ global?: components["schemas"]["GlobalMount"][];
1214
1492
  };
1215
1493
  /**
1216
1494
  * @description Storage mounts attached to a template. Templates support a single
@@ -1257,6 +1535,23 @@ interface components {
1257
1535
  */
1258
1536
  path: string;
1259
1537
  };
1538
+ /**
1539
+ * @description Reference to a GlobalVolume. Usage-billed, so it has no size. The
1540
+ * underlying `volumeId` is immutable post-create; the mount `path` may be
1541
+ * changed via PATCH.
1542
+ */
1543
+ GlobalMount: {
1544
+ /**
1545
+ * @description ID of an existing GlobalVolume.
1546
+ * @example gsb_abc
1547
+ */
1548
+ volumeId: string;
1549
+ /**
1550
+ * @description Mount path inside the container. Optional on create, where a default is chosen for you; a PATCH that omits it leaves the path unchanged.
1551
+ * @example /data
1552
+ */
1553
+ path?: string;
1554
+ };
1260
1555
  BaseGpuConfig: {
1261
1556
  /**
1262
1557
  * @description GPU type identifier
@@ -1459,6 +1754,21 @@ interface components {
1459
1754
  * @description Serverless GPU pool IDs (as returned by `GET /v2/catalog/gpus` in
1460
1755
  * `pool`). Workers are placed on whichever listed pool has capacity.
1461
1756
  * Narrow a pool down to specific cards with `excludedTypes`.
1757
+ *
1758
+ * On `PATCH`, `pools` and `excludedTypes` are one selection and are
1759
+ * replaced together, so sending `pools` by itself **clears the
1760
+ * exclusions**. Two cases:
1761
+ *
1762
+ * - **Changing pools, keeping exclusions** — send both fields in one
1763
+ * request: `{"gpu": {"pools": ["ADA_24"], "excludedTypes":
1764
+ * ["NVIDIA L40"]}}`. `GET` the endpoint first to read the current
1765
+ * `excludedTypes` and resend the ones that still apply to the new
1766
+ * pools; an exclusion naming a type outside `pools` is a 400.
1767
+ * - **Changing only `count` or a CUDA constraint** — omit `pools`:
1768
+ * `{"gpu": {"minCudaVersion": "12.4"}}`. The pool list and the
1769
+ * exclusions are both left exactly as they are.
1770
+ *
1771
+ * `excludedTypes` documents the full rule.
1462
1772
  * @example [
1463
1773
  * "ADA_24"
1464
1774
  * ]
@@ -1503,6 +1813,21 @@ interface components {
1503
1813
  * @description Serverless GPU pool IDs (as returned by `GET /v2/catalog/gpus` in
1504
1814
  * `pool`). Workers are placed on whichever listed pool has capacity.
1505
1815
  * Narrow a pool down to specific cards with `excludedTypes`.
1816
+ *
1817
+ * On `PATCH`, `pools` and `excludedTypes` are one selection and are
1818
+ * replaced together, so sending `pools` by itself **clears the
1819
+ * exclusions**. Two cases:
1820
+ *
1821
+ * - **Changing pools, keeping exclusions** — send both fields in one
1822
+ * request: `{"gpu": {"pools": ["ADA_24"], "excludedTypes":
1823
+ * ["NVIDIA L40"]}}`. `GET` the endpoint first to read the current
1824
+ * `excludedTypes` and resend the ones that still apply to the new
1825
+ * pools; an exclusion naming a type outside `pools` is a 400.
1826
+ * - **Changing only `count` or a CUDA constraint** — omit `pools`:
1827
+ * `{"gpu": {"minCudaVersion": "12.4"}}`. The pool list and the
1828
+ * exclusions are both left exactly as they are.
1829
+ *
1830
+ * `excludedTypes` documents the full rule.
1506
1831
  * @example [
1507
1832
  * "ADA_24"
1508
1833
  * ]
@@ -1530,6 +1855,21 @@ interface components {
1530
1855
  * @description Serverless GPU pool IDs (as returned by `GET /v2/catalog/gpus` in
1531
1856
  * `pool`). Workers are placed on whichever listed pool has capacity.
1532
1857
  * Narrow a pool down to specific cards with `excludedTypes`.
1858
+ *
1859
+ * On `PATCH`, `pools` and `excludedTypes` are one selection and are
1860
+ * replaced together, so sending `pools` by itself **clears the
1861
+ * exclusions**. Two cases:
1862
+ *
1863
+ * - **Changing pools, keeping exclusions** — send both fields in one
1864
+ * request: `{"gpu": {"pools": ["ADA_24"], "excludedTypes":
1865
+ * ["NVIDIA L40"]}}`. `GET` the endpoint first to read the current
1866
+ * `excludedTypes` and resend the ones that still apply to the new
1867
+ * pools; an exclusion naming a type outside `pools` is a 400.
1868
+ * - **Changing only `count` or a CUDA constraint** — omit `pools`:
1869
+ * `{"gpu": {"minCudaVersion": "12.4"}}`. The pool list and the
1870
+ * exclusions are both left exactly as they are.
1871
+ *
1872
+ * `excludedTypes` documents the full rule.
1533
1873
  * @example [
1534
1874
  * "ADA_24"
1535
1875
  * ]
@@ -1693,11 +2033,13 @@ interface components {
1693
2033
  */
1694
2034
  dataCenterIds: string[];
1695
2035
  /**
2036
+ * @deprecated
1696
2037
  * @example [
1697
2038
  * "vol_abc"
1698
2039
  * ]
1699
2040
  */
1700
2041
  networkVolumes: string[];
2042
+ mounts: components["schemas"]["EndpointMounts"];
1701
2043
  /**
1702
2044
  * @description Per-request execution timeout in milliseconds
1703
2045
  * @example 300000
@@ -1712,6 +2054,7 @@ interface components {
1712
2054
  };
1713
2055
  ListEndpointsResponse: {
1714
2056
  endpoints: components["schemas"]["Endpoint"][];
2057
+ pagination: components["schemas"]["Pagination"];
1715
2058
  };
1716
2059
  /**
1717
2060
  * @description Derived worker state, reconciled from the worker pod's lifecycle status
@@ -1881,11 +2224,13 @@ interface components {
1881
2224
  };
1882
2225
  ListEndpointBuildsResponse: {
1883
2226
  /**
1884
- * @description Build history, newest first. At most the 100 most recent builds
1885
- * are returned; any older build can still be fetched by id via
2227
+ * @description Build history, newest first, cursor-paginated (an omitted `limit`
2228
+ * defaults to 100). Page with `cursor`/`limit` to walk the full
2229
+ * history, or fetch any build by id via
1886
2230
  * `GET /v2/serverless/{id}/builds/{buildId}`.
1887
2231
  */
1888
2232
  builds: components["schemas"]["Build"][];
2233
+ pagination: components["schemas"]["Pagination"];
1889
2234
  };
1890
2235
  ReleaseDiffEntry: {
1891
2236
  /**
@@ -1962,6 +2307,7 @@ interface components {
1962
2307
  rollout: components["schemas"]["RolloutSummary"];
1963
2308
  /** @description Release history, newest first. */
1964
2309
  releases: components["schemas"]["Release"][];
2310
+ pagination: components["schemas"]["Pagination"];
1965
2311
  };
1966
2312
  CreateEndpointRequest: components["schemas"]["ContainerConfig"] & unknown & {
1967
2313
  gpu?: components["schemas"]["CreateEndpointGpuConfig"];
@@ -1983,7 +2329,12 @@ interface components {
1983
2329
  dataCenterIds?: string[];
1984
2330
  /** @default OFF */
1985
2331
  flashboot?: components["schemas"]["FlashBoot"];
2332
+ /**
2333
+ * @deprecated
2334
+ * @description Network volume IDs.
2335
+ */
1986
2336
  networkVolumes?: string[];
2337
+ mounts?: components["schemas"]["EndpointMountsInput"];
1987
2338
  /**
1988
2339
  * @description ID of a serverless template to base this endpoint on. The
1989
2340
  * template is resolved at create time into the same container
@@ -2027,7 +2378,12 @@ interface components {
2027
2378
  flashboot?: components["schemas"]["FlashBoot"];
2028
2379
  gpu?: components["schemas"]["UpdateEndpointGpuConfig"];
2029
2380
  name?: string;
2381
+ /**
2382
+ * @deprecated
2383
+ * @description Network volume IDs. Pass `[]` to detach.
2384
+ */
2030
2385
  networkVolumes?: string[];
2386
+ mounts?: components["schemas"]["EndpointMountsInput"];
2031
2387
  scaling?: components["schemas"]["EndpointScaling"];
2032
2388
  /**
2033
2389
  * @description ID of a serverless template whose container settings are
@@ -2189,6 +2545,61 @@ interface components {
2189
2545
  */
2190
2546
  keys: string[];
2191
2547
  };
2548
+ /** @description An account-scoped secret: an encrypted string stored by Runpod, referenced from pod, serverless, and template environment variables with the `{{ RUNPOD_SECRET_<name> }}` placeholder, substituted with the secret's value when the pod or worker boots. The value is write-only and never returned by the API. */
2549
+ Secret: {
2550
+ /**
2551
+ * @description Unique secret identifier
2552
+ * @example 2q9m7x4cavgd
2553
+ */
2554
+ id: string;
2555
+ /**
2556
+ * @description Unique, human-readable name — the `<name>` referenced by the `RUNPOD_SECRET_<name>` placeholder. Immutable after creation.
2557
+ * @example hf-token
2558
+ */
2559
+ name: string;
2560
+ /**
2561
+ * @description Human-readable description
2562
+ * @example Hugging Face read token
2563
+ */
2564
+ description?: string | null;
2565
+ /**
2566
+ * Format: date-time
2567
+ * @description When the secret was created
2568
+ */
2569
+ createdAt: string;
2570
+ /**
2571
+ * Format: date-time
2572
+ * @description When the secret's value was last set (creation or rotation)
2573
+ */
2574
+ valueLastUpdatedAt?: string | null;
2575
+ };
2576
+ CreateSecretRequest: {
2577
+ /**
2578
+ * @description Unique name for the secret — referenced from environment variables as `{{ RUNPOD_SECRET_<name> }}`; immutable after creation. Maximum 191 characters, must start with a letter or underscore, and may contain letters, digits, and `_.-/`. Names beginning with the reserved prefix `RUNPOD` are rejected (case-insensitive).
2579
+ * @example hf-token
2580
+ */
2581
+ name: string;
2582
+ /** @description The secret value. Write-only — never returned by the API. Must be smaller than 16 MiB of UTF-8 text (strictly under 16,777,216 bytes). */
2583
+ value: string;
2584
+ /**
2585
+ * @description Optional human-readable description, at most 65,535 bytes of UTF-8 text.
2586
+ * @example Hugging Face read token
2587
+ */
2588
+ description?: string;
2589
+ };
2590
+ /**
2591
+ * @description Only the provided fields are updated; at least one field is required.
2592
+ * The secret's `name` is immutable.
2593
+ */
2594
+ UpdateSecretRequest: {
2595
+ /** @description New secret value, replacing the current one. Write-only. Must be smaller than 16 MiB of UTF-8 text (strictly under 16,777,216 bytes). */
2596
+ value?: string;
2597
+ /** @description New human-readable description, at most 65,535 bytes of UTF-8 text. Send `""` to clear. */
2598
+ description?: string;
2599
+ };
2600
+ ListSecretsResponse: {
2601
+ secrets: components["schemas"]["Secret"][];
2602
+ };
2192
2603
  Pod: {
2193
2604
  /**
2194
2605
  * @description Docker image reference
@@ -2196,7 +2607,13 @@ interface components {
2196
2607
  */
2197
2608
  image: string;
2198
2609
  /**
2199
- * @description Arguments passed to the container entrypoint
2610
+ * @description The container's command, as a single raw string. This is the field `entrypoint` and `cmd` encode into, exposed in its stored form.
2611
+ *
2612
+ * Two shapes are accepted. A bare shell string is treated as CMD and split into arguments, which is what the console's "Container start command" field writes. A JSON object of the form `{"entrypoint":[...],"cmd":[...]}` sets either or both explicitly.
2613
+ *
2614
+ * Responses always return both representations: `args` exactly as stored, plus the deconstructed `entrypoint` and `cmd`. Supplying `args` together with `entrypoint` or `cmd` is allowed only when they describe the same command, so a read-modify-write client can send back everything it received. Send `""` to clear, omit to leave unchanged.
2615
+ * @example --model meta-llama/Llama-3-8B --max-model-len 8192
2616
+ * @example {"entrypoint":["/bin/bash","-c"],"cmd":["python -u main.py"]}
2200
2617
  * @example
2201
2618
  */
2202
2619
  args: string;
@@ -2314,7 +2731,7 @@ interface components {
2314
2731
  * @description Create-time flag telling the provisioner to start JupyterLab:
2315
2732
  * injects a generated `JUPYTER_PASSWORD` environment variable,
2316
2733
  * unless the request already sets one. Only images that honor
2317
- * the convention start Jupyter from it (RunPod official images
2734
+ * the convention start Jupyter from it (Runpod official images
2318
2735
  * do); expose `8888/http` in `ports` to reach it.
2319
2736
  *
2320
2737
  * Not part of the pod's readable config — never returned by
@@ -2330,7 +2747,7 @@ interface components {
2330
2747
  * already sets one. **Requires registered keys** (`PUT
2331
2748
  * /v2/account/ssh-keys`) — with none registered the flag does
2332
2749
  * nothing and the pod has no SSH access. Only images that honor
2333
- * the convention start sshd from it (all RunPod official images
2750
+ * the convention start sshd from it (all Runpod official images
2334
2751
  * do). Connect using the pod's `ssh` block; the `ssh.direct`
2335
2752
  * variant additionally needs a `22/tcp` entry in `ports`.
2336
2753
  *
@@ -2386,9 +2803,11 @@ interface components {
2386
2803
  PodActionRequest: {
2387
2804
  action: components["schemas"]["PodAction"];
2388
2805
  };
2389
- ListPodsResponse: {
2806
+ /** @description A bare list of pods. `GET /v2/clusters/{id}/pods` returns it as-is (a cluster's members are a small, complete set); `GET /v2/pods` composes it with the pagination block via ListPodsResponse. */
2807
+ PodList: {
2390
2808
  pods: components["schemas"]["Pod"][];
2391
2809
  };
2810
+ ListPodsResponse: components["schemas"]["PodList"] & components["schemas"]["Paginated"];
2392
2811
  /**
2393
2812
  * @description Cluster type. TRAINING is the generic distributed-training cluster; SLURM provisions a managed Slurm controller/compute topology; RAY provisions a managed Ray head/worker topology; APPLICATION is a general multi-node application cluster.
2394
2813
  * @example TRAINING
@@ -2522,6 +2941,18 @@ interface components {
2522
2941
  /** @example my-training-cluster */
2523
2942
  name: string;
2524
2943
  type: components["schemas"]["ClusterType"];
2944
+ /**
2945
+ * @description ID of a pod template to provision every member pod from. The
2946
+ * template supplies the container settings (image, args, disk,
2947
+ * env, ports) and the container registry credential for private
2948
+ * images — the only private-image path for clusters. Mutually
2949
+ * exclusive with `image`, `args`, `entrypoint`, `cmd`, `disk`,
2950
+ * `env`, `ports`, and `mounts` (rejected with 400). The cluster
2951
+ * retains the link: the `template` response field is set. Must be
2952
+ * a non-serverless pod template accessible to the caller.
2953
+ * @example 30zmvf89kd
2954
+ */
2955
+ templateId?: string;
2525
2956
  /**
2526
2957
  * @description Preferred data centers for placement. Omit or pass an empty
2527
2958
  * array to let the scheduler choose. A cluster is always placed
@@ -2531,7 +2962,7 @@ interface components {
2531
2962
  * ]
2532
2963
  */
2533
2964
  dataCenterIds?: string[];
2534
- mounts?: components["schemas"]["Mounts"];
2965
+ mounts?: components["schemas"]["ClusterMounts"];
2535
2966
  /**
2536
2967
  * @description Start Jupyter on every member pod, as on pod create.
2537
2968
  * @default false
@@ -2554,6 +2985,7 @@ interface components {
2554
2985
  };
2555
2986
  ListClustersResponse: {
2556
2987
  clusters: components["schemas"]["Cluster"][];
2988
+ pagination: components["schemas"]["Pagination"];
2557
2989
  };
2558
2990
  Template: {
2559
2991
  /**
@@ -2562,7 +2994,13 @@ interface components {
2562
2994
  */
2563
2995
  image: string;
2564
2996
  /**
2565
- * @description Arguments passed to the container entrypoint
2997
+ * @description The container's command, as a single raw string. This is the field `entrypoint` and `cmd` encode into, exposed in its stored form.
2998
+ *
2999
+ * Two shapes are accepted. A bare shell string is treated as CMD and split into arguments, which is what the console's "Container start command" field writes. A JSON object of the form `{"entrypoint":[...],"cmd":[...]}` sets either or both explicitly.
3000
+ *
3001
+ * Responses always return both representations: `args` exactly as stored, plus the deconstructed `entrypoint` and `cmd`. Supplying `args` together with `entrypoint` or `cmd` is allowed only when they describe the same command, so a read-modify-write client can send back everything it received. Send `""` to clear, omit to leave unchanged.
3002
+ * @example --model meta-llama/Llama-3-8B --max-model-len 8192
3003
+ * @example {"entrypoint":["/bin/bash","-c"],"cmd":["python -u main.py"]}
2566
3004
  * @example
2567
3005
  */
2568
3006
  args: string;
@@ -2661,7 +3099,7 @@ interface components {
2661
3099
  * @description Start JupyterLab in containers created from this template:
2662
3100
  * injects a generated `JUPYTER_PASSWORD` environment variable,
2663
3101
  * unless `env` already sets one. Only images that honor the
2664
- * convention start Jupyter from it (RunPod official images do);
3102
+ * convention start Jupyter from it (Runpod official images do);
2665
3103
  * expose `8888/http` in `ports` to reach it. Defaults to `true`
2666
3104
  * when omitted, matching console-created templates.
2667
3105
  * @default true
@@ -2674,7 +3112,7 @@ interface components {
2674
3112
  * deployer's registered SSH public keys (`PUT
2675
3113
  * /v2/account/ssh-keys` — with none registered the flag does
2676
3114
  * nothing), unless `env` already sets one. Only images that
2677
- * honor the convention start sshd from it (all RunPod official
3115
+ * honor the convention start sshd from it (all Runpod official
2678
3116
  * images do); direct SSH also needs a `22/tcp` entry in
2679
3117
  * `ports`. Defaults to `true` when omitted, matching
2680
3118
  * console-created templates.
@@ -2696,9 +3134,11 @@ interface components {
2696
3134
  /** @description Provision SSH access at container startup (`PUBLIC_KEY` env injection). See the create-time field for details. */
2697
3135
  startSsh?: boolean;
2698
3136
  };
2699
- ListTemplatesResponse: {
3137
+ /** @description A bare list of templates. `GET /v2/catalog/templates` returns it as-is (the catalog is a capped, curated set); `GET /v2/templates` composes it with the pagination block via ListTemplatesResponse. */
3138
+ TemplateList: {
2700
3139
  templates: components["schemas"]["Template"][];
2701
3140
  };
3141
+ ListTemplatesResponse: components["schemas"]["TemplateList"] & components["schemas"]["Paginated"];
2702
3142
  NetworkVolume: {
2703
3143
  /**
2704
3144
  * @description Unique network volume identifier
@@ -2767,6 +3207,79 @@ interface components {
2767
3207
  };
2768
3208
  ListNetworkVolumesResponse: {
2769
3209
  networkVolumes: components["schemas"]["NetworkVolume"][];
3210
+ pagination: components["schemas"]["Pagination"];
3211
+ };
3212
+ GlobalVolume: {
3213
+ /**
3214
+ * @description Unique global volume identifier
3215
+ * @example gsb_abc
3216
+ */
3217
+ id: string;
3218
+ /**
3219
+ * @description Human-readable name (not required to be unique)
3220
+ * @example training-data
3221
+ */
3222
+ name: string;
3223
+ /**
3224
+ * Format: date-time
3225
+ * @description When the volume was created
3226
+ */
3227
+ createdAt: string;
3228
+ /**
3229
+ * @description ID of the user who created the volume, if known
3230
+ * @example user_123
3231
+ */
3232
+ createdByUserId: string | null;
3233
+ };
3234
+ CreateGlobalVolumeRequest: {
3235
+ /**
3236
+ * @description Human-readable name, 1–191 characters with at least one non-whitespace character. Leading and trailing whitespace is trimmed.
3237
+ * @example training-data
3238
+ */
3239
+ name: string;
3240
+ };
3241
+ /**
3242
+ * @description Only the provided fields are updated. At least one field must be
3243
+ * present; an empty body is rejected.
3244
+ */
3245
+ UpdateGlobalVolumeRequest: {
3246
+ /**
3247
+ * @description New human-readable name, 1–191 characters with at least one non-whitespace character. Leading and trailing whitespace is trimmed.
3248
+ * @example renamed-volume
3249
+ */
3250
+ name?: string;
3251
+ };
3252
+ ListGlobalVolumesResponse: {
3253
+ globalVolumes: components["schemas"]["GlobalVolume"][];
3254
+ pagination: components["schemas"]["Pagination"];
3255
+ };
3256
+ /** @description A volume mounted on every worker, always at `/runpod-volume`. */
3257
+ EndpointMount: {
3258
+ /**
3259
+ * @description ID of a NetworkVolume (under `network`) or GlobalVolume (under `global`).
3260
+ * @example vol_abc
3261
+ */
3262
+ volumeId: string;
3263
+ };
3264
+ /** @description Volumes mounted on every worker of the endpoint. */
3265
+ EndpointMounts: {
3266
+ network: components["schemas"]["EndpointMount"][];
3267
+ global: components["schemas"]["EndpointMount"][];
3268
+ };
3269
+ /**
3270
+ * @description Volumes to mount on the endpoint's workers. A `network` or `global`
3271
+ * list that is present replaces the endpoint's current list of that kind;
3272
+ * an empty list detaches it, and an omitted list is left unchanged. Both
3273
+ * kinds cannot be present on the endpoint at once, so to switch kinds send
3274
+ * `[]` for one and the new list for the other in the same request. Changes
3275
+ * apply to workers created afterwards. At most one global volume, GPU
3276
+ * endpoints only. `network` may accompany the deprecated `networkVolumes` field
3277
+ * only if the two agree exactly.
3278
+ */
3279
+ EndpointMountsInput: {
3280
+ /** @description Network volumes, at most one per data center. */
3281
+ network?: components["schemas"]["EndpointMount"][];
3282
+ global?: components["schemas"]["EndpointMount"][];
2770
3283
  };
2771
3284
  Registry: {
2772
3285
  /** @example reg_abc */
@@ -3158,7 +3671,7 @@ interface components {
3158
3671
  * @enum {string}
3159
3672
  */
3160
3673
  BillingBucketSize: "hour" | "day" | "week" | "month" | "year";
3161
- /** @description Total spend across all billable Runpod resources with each cost component broken out, fully prefixed by resource. Backs the aggregate record's amounts and the metadata totals. */
3674
+ /** @description Total spend across all billable Runpod resources with each cost component broken out, fully prefixed by resource. Backs the aggregate record's amounts and the metadata totals. Serverless amounts are inclusive of platform charges. */
3162
3675
  BillingAmounts: {
3163
3676
  /**
3164
3677
  * Format: double
@@ -3198,7 +3711,8 @@ interface components {
3198
3711
  serverlessDiskAmount: number;
3199
3712
  /**
3200
3713
  * Format: double
3201
- * @description Serverless platform fee in USD for the bucket.
3714
+ * @deprecated
3715
+ * @description Unused and always 0. Platform charges are included in the serverless compute amounts.
3202
3716
  */
3203
3717
  serverlessFeeAmount: number;
3204
3718
  /**
@@ -3266,7 +3780,7 @@ interface components {
3266
3780
  */
3267
3781
  podId: string;
3268
3782
  };
3269
- /** @description Serverless cost components. Backs a record's amounts and the metadata totals. */
3783
+ /** @description Serverless cost components, inclusive of platform charges. Backs a record's amounts and the metadata totals. */
3270
3784
  ServerlessBillingAmounts: {
3271
3785
  /**
3272
3786
  * Format: double
@@ -3291,7 +3805,8 @@ interface components {
3291
3805
  diskAmount: number;
3292
3806
  /**
3293
3807
  * Format: double
3294
- * @description Serverless platform fee in USD for the bucket.
3808
+ * @deprecated
3809
+ * @description Unused and always 0. Platform charges are included in the GPU and CPU amounts.
3295
3810
  */
3296
3811
  feeAmount: number;
3297
3812
  };
@@ -3617,6 +4132,21 @@ interface components {
3617
4132
  * @example 30
3618
4133
  */
3619
4134
  BillingLastN: number;
4135
+ /**
4136
+ * @description Opaque resume cursor — pass the previous response's `pagination.nextCursor` through verbatim; omit for the first page. A cursor is only valid for the operation and parameters that issued it; a malformed or foreign cursor is rejected with 422.
4137
+ * @example Y3JlYXRlZEF0PTE3NDg3ODA0MDA
4138
+ */
4139
+ PaginationCursor: string;
4140
+ /**
4141
+ * @description Page size, 1–1000. Defaults to 1000 when omitted.
4142
+ * @example 50
4143
+ */
4144
+ PaginationLimit: number;
4145
+ /**
4146
+ * @description Page size, 1–100. Defaults to 100 when omitted.
4147
+ * @example 50
4148
+ */
4149
+ PaginationLimitBuilds: number;
3620
4150
  /**
3621
4151
  * @description Comma-separated optional expansions; see `CatalogInclude` for the supported values.
3622
4152
  * @example [
@@ -3697,7 +4227,7 @@ interface components {
3697
4227
  pathItems: never;
3698
4228
  }
3699
4229
  interface operations {
3700
- getSshKeys: {
4230
+ getOrganization: {
3701
4231
  parameters: {
3702
4232
  query?: never;
3703
4233
  header?: never;
@@ -3714,11 +4244,12 @@ interface operations {
3714
4244
  [name: string]: unknown;
3715
4245
  };
3716
4246
  content: {
3717
- "application/json": components["schemas"]["SshKeys"];
4247
+ "application/json": components["schemas"]["Organization"];
3718
4248
  };
3719
4249
  };
3720
4250
  401: components["responses"]["UnauthorizedError"];
3721
4251
  403: components["responses"]["ForbiddenError"];
4252
+ 404: components["responses"]["NotFoundError"];
3722
4253
  429: components["responses"]["TooManyRequestsError"];
3723
4254
  /** @description Error */
3724
4255
  default: {
@@ -3733,20 +4264,16 @@ interface operations {
3733
4264
  };
3734
4265
  };
3735
4266
  };
3736
- updateSshKeys: {
4267
+ getSshKeys: {
3737
4268
  parameters: {
3738
4269
  query?: never;
3739
4270
  header?: never;
3740
4271
  path?: never;
3741
4272
  cookie?: never;
3742
4273
  };
3743
- requestBody: {
3744
- content: {
3745
- "application/json": components["schemas"]["UpdateSshKeysRequest"];
3746
- };
3747
- };
4274
+ requestBody?: never;
3748
4275
  responses: {
3749
- /** @description OK — the updated key set */
4276
+ /** @description OK */
3750
4277
  200: {
3751
4278
  headers: {
3752
4279
  RateLimit: components["headers"]["RateLimit"];
@@ -3759,7 +4286,6 @@ interface operations {
3759
4286
  };
3760
4287
  401: components["responses"]["UnauthorizedError"];
3761
4288
  403: components["responses"]["ForbiddenError"];
3762
- 422: components["responses"]["UnprocessableEntityError"];
3763
4289
  429: components["responses"]["TooManyRequestsError"];
3764
4290
  /** @description Error */
3765
4291
  default: {
@@ -3774,14 +4300,288 @@ interface operations {
3774
4300
  };
3775
4301
  };
3776
4302
  };
3777
- listPods: {
4303
+ updateSshKeys: {
3778
4304
  parameters: {
3779
- query?: {
3780
- /**
3781
- * @description Include cluster member pods in the result. Defaults to false.
4305
+ query?: never;
4306
+ header?: never;
4307
+ path?: never;
4308
+ cookie?: never;
4309
+ };
4310
+ requestBody: {
4311
+ content: {
4312
+ "application/json": components["schemas"]["UpdateSshKeysRequest"];
4313
+ };
4314
+ };
4315
+ responses: {
4316
+ /** @description OK — the updated key set */
4317
+ 200: {
4318
+ headers: {
4319
+ RateLimit: components["headers"]["RateLimit"];
4320
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
4321
+ [name: string]: unknown;
4322
+ };
4323
+ content: {
4324
+ "application/json": components["schemas"]["SshKeys"];
4325
+ };
4326
+ };
4327
+ 401: components["responses"]["UnauthorizedError"];
4328
+ 403: components["responses"]["ForbiddenError"];
4329
+ 422: components["responses"]["UnprocessableEntityError"];
4330
+ 429: components["responses"]["TooManyRequestsError"];
4331
+ /** @description Error */
4332
+ default: {
4333
+ headers: {
4334
+ RateLimit: components["headers"]["RateLimit"];
4335
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
4336
+ [name: string]: unknown;
4337
+ };
4338
+ content: {
4339
+ "application/problem+json": components["schemas"]["ErrorResponse"];
4340
+ };
4341
+ };
4342
+ };
4343
+ };
4344
+ listSecrets: {
4345
+ parameters: {
4346
+ query?: {
4347
+ /** @description When provided, returns only the secret with this name (case-insensitive). */
4348
+ name?: string;
4349
+ };
4350
+ header?: never;
4351
+ path?: never;
4352
+ cookie?: never;
4353
+ };
4354
+ requestBody?: never;
4355
+ responses: {
4356
+ /** @description OK */
4357
+ 200: {
4358
+ headers: {
4359
+ RateLimit: components["headers"]["RateLimit"];
4360
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
4361
+ [name: string]: unknown;
4362
+ };
4363
+ content: {
4364
+ "application/json": components["schemas"]["ListSecretsResponse"];
4365
+ };
4366
+ };
4367
+ 401: components["responses"]["UnauthorizedError"];
4368
+ 403: components["responses"]["ForbiddenError"];
4369
+ 429: components["responses"]["TooManyRequestsError"];
4370
+ /** @description Error */
4371
+ default: {
4372
+ headers: {
4373
+ RateLimit: components["headers"]["RateLimit"];
4374
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
4375
+ [name: string]: unknown;
4376
+ };
4377
+ content: {
4378
+ "application/problem+json": components["schemas"]["ErrorResponse"];
4379
+ };
4380
+ };
4381
+ };
4382
+ };
4383
+ createSecret: {
4384
+ parameters: {
4385
+ query?: never;
4386
+ header?: never;
4387
+ path?: never;
4388
+ cookie?: never;
4389
+ };
4390
+ requestBody: {
4391
+ content: {
4392
+ "application/json": components["schemas"]["CreateSecretRequest"];
4393
+ };
4394
+ };
4395
+ responses: {
4396
+ /** @description Created */
4397
+ 201: {
4398
+ headers: {
4399
+ RateLimit: components["headers"]["RateLimit"];
4400
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
4401
+ [name: string]: unknown;
4402
+ };
4403
+ content: {
4404
+ "application/json": components["schemas"]["Secret"];
4405
+ };
4406
+ };
4407
+ 400: components["responses"]["BadRequestError"];
4408
+ 401: components["responses"]["UnauthorizedError"];
4409
+ 403: components["responses"]["ForbiddenError"];
4410
+ /** @description A secret with this name already exists. */
4411
+ 409: {
4412
+ headers: {
4413
+ [name: string]: unknown;
4414
+ };
4415
+ content: {
4416
+ "application/problem+json": components["schemas"]["ErrorResponse"];
4417
+ };
4418
+ };
4419
+ 422: components["responses"]["UnprocessableEntityError"];
4420
+ 429: components["responses"]["TooManyRequestsError"];
4421
+ /** @description Error */
4422
+ default: {
4423
+ headers: {
4424
+ RateLimit: components["headers"]["RateLimit"];
4425
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
4426
+ [name: string]: unknown;
4427
+ };
4428
+ content: {
4429
+ "application/problem+json": components["schemas"]["ErrorResponse"];
4430
+ };
4431
+ };
4432
+ };
4433
+ };
4434
+ getSecret: {
4435
+ parameters: {
4436
+ query?: never;
4437
+ header?: never;
4438
+ path: {
4439
+ /**
4440
+ * @description Secret identifier
4441
+ * @example 2q9m7x4cavgd
4442
+ */
4443
+ id: string;
4444
+ };
4445
+ cookie?: never;
4446
+ };
4447
+ requestBody?: never;
4448
+ responses: {
4449
+ /** @description OK */
4450
+ 200: {
4451
+ headers: {
4452
+ RateLimit: components["headers"]["RateLimit"];
4453
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
4454
+ [name: string]: unknown;
4455
+ };
4456
+ content: {
4457
+ "application/json": components["schemas"]["Secret"];
4458
+ };
4459
+ };
4460
+ 401: components["responses"]["UnauthorizedError"];
4461
+ 403: components["responses"]["ForbiddenError"];
4462
+ 404: components["responses"]["NotFoundError"];
4463
+ 429: components["responses"]["TooManyRequestsError"];
4464
+ /** @description Error */
4465
+ default: {
4466
+ headers: {
4467
+ RateLimit: components["headers"]["RateLimit"];
4468
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
4469
+ [name: string]: unknown;
4470
+ };
4471
+ content: {
4472
+ "application/problem+json": components["schemas"]["ErrorResponse"];
4473
+ };
4474
+ };
4475
+ };
4476
+ };
4477
+ deleteSecret: {
4478
+ parameters: {
4479
+ query?: never;
4480
+ header?: never;
4481
+ path: {
4482
+ /**
4483
+ * @description Secret identifier
4484
+ * @example 2q9m7x4cavgd
4485
+ */
4486
+ id: string;
4487
+ };
4488
+ cookie?: never;
4489
+ };
4490
+ requestBody?: never;
4491
+ responses: {
4492
+ /** @description Deleted. Response has no body. */
4493
+ 204: {
4494
+ headers: {
4495
+ RateLimit: components["headers"]["RateLimit"];
4496
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
4497
+ [name: string]: unknown;
4498
+ };
4499
+ content?: never;
4500
+ };
4501
+ 401: components["responses"]["UnauthorizedError"];
4502
+ 403: components["responses"]["ForbiddenError"];
4503
+ 404: components["responses"]["NotFoundError"];
4504
+ 429: components["responses"]["TooManyRequestsError"];
4505
+ /** @description Error */
4506
+ default: {
4507
+ headers: {
4508
+ RateLimit: components["headers"]["RateLimit"];
4509
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
4510
+ [name: string]: unknown;
4511
+ };
4512
+ content: {
4513
+ "application/problem+json": components["schemas"]["ErrorResponse"];
4514
+ };
4515
+ };
4516
+ };
4517
+ };
4518
+ updateSecret: {
4519
+ parameters: {
4520
+ query?: never;
4521
+ header?: never;
4522
+ path: {
4523
+ /**
4524
+ * @description Secret identifier
4525
+ * @example 2q9m7x4cavgd
4526
+ */
4527
+ id: string;
4528
+ };
4529
+ cookie?: never;
4530
+ };
4531
+ requestBody: {
4532
+ content: {
4533
+ "application/json": components["schemas"]["UpdateSecretRequest"];
4534
+ };
4535
+ };
4536
+ responses: {
4537
+ /** @description OK */
4538
+ 200: {
4539
+ headers: {
4540
+ RateLimit: components["headers"]["RateLimit"];
4541
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
4542
+ [name: string]: unknown;
4543
+ };
4544
+ content: {
4545
+ "application/json": components["schemas"]["Secret"];
4546
+ };
4547
+ };
4548
+ 400: components["responses"]["BadRequestError"];
4549
+ 401: components["responses"]["UnauthorizedError"];
4550
+ 403: components["responses"]["ForbiddenError"];
4551
+ 404: components["responses"]["NotFoundError"];
4552
+ 422: components["responses"]["UnprocessableEntityError"];
4553
+ 429: components["responses"]["TooManyRequestsError"];
4554
+ /** @description Error */
4555
+ default: {
4556
+ headers: {
4557
+ RateLimit: components["headers"]["RateLimit"];
4558
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
4559
+ [name: string]: unknown;
4560
+ };
4561
+ content: {
4562
+ "application/problem+json": components["schemas"]["ErrorResponse"];
4563
+ };
4564
+ };
4565
+ };
4566
+ };
4567
+ listPods: {
4568
+ parameters: {
4569
+ query?: {
4570
+ /**
4571
+ * @description Include cluster member pods in the result. Defaults to false.
3782
4572
  * @example false
3783
4573
  */
3784
4574
  includeClusterPods?: boolean;
4575
+ /**
4576
+ * @description Opaque resume cursor — pass the previous response's `pagination.nextCursor` through verbatim; omit for the first page. A cursor is only valid for the operation and parameters that issued it; a malformed or foreign cursor is rejected with 422.
4577
+ * @example Y3JlYXRlZEF0PTE3NDg3ODA0MDA
4578
+ */
4579
+ cursor?: components["parameters"]["PaginationCursor"];
4580
+ /**
4581
+ * @description Page size, 1–1000. Defaults to 1000 when omitted.
4582
+ * @example 50
4583
+ */
4584
+ limit?: components["parameters"]["PaginationLimit"];
3785
4585
  };
3786
4586
  header?: never;
3787
4587
  path?: never;
@@ -3844,6 +4644,15 @@ interface operations {
3844
4644
  401: components["responses"]["UnauthorizedError"];
3845
4645
  403: components["responses"]["ForbiddenError"];
3846
4646
  404: components["responses"]["NotFoundError"];
4647
+ /** @description The incoming request body or expanded upstream request exceeds the 102400 byte limit, or the upstream rejects the request as too large. */
4648
+ 413: {
4649
+ headers: {
4650
+ [name: string]: unknown;
4651
+ };
4652
+ content: {
4653
+ "application/problem+json": components["schemas"]["ErrorResponse"];
4654
+ };
4655
+ };
3847
4656
  422: components["responses"]["UnprocessableEntityError"];
3848
4657
  429: components["responses"]["TooManyRequestsError"];
3849
4658
  /** @description Error */
@@ -4150,7 +4959,18 @@ interface operations {
4150
4959
  };
4151
4960
  listClusters: {
4152
4961
  parameters: {
4153
- query?: never;
4962
+ query?: {
4963
+ /**
4964
+ * @description Opaque resume cursor — pass the previous response's `pagination.nextCursor` through verbatim; omit for the first page. A cursor is only valid for the operation and parameters that issued it; a malformed or foreign cursor is rejected with 422.
4965
+ * @example Y3JlYXRlZEF0PTE3NDg3ODA0MDA
4966
+ */
4967
+ cursor?: components["parameters"]["PaginationCursor"];
4968
+ /**
4969
+ * @description Page size, 1–1000. Defaults to 1000 when omitted.
4970
+ * @example 50
4971
+ */
4972
+ limit?: components["parameters"]["PaginationLimit"];
4973
+ };
4154
4974
  header?: never;
4155
4975
  path?: never;
4156
4976
  cookie?: never;
@@ -4384,7 +5204,7 @@ interface operations {
4384
5204
  [name: string]: unknown;
4385
5205
  };
4386
5206
  content: {
4387
- "application/json": components["schemas"]["ListPodsResponse"];
5207
+ "application/json": components["schemas"]["PodList"];
4388
5208
  };
4389
5209
  };
4390
5210
  401: components["responses"]["UnauthorizedError"];
@@ -4412,7 +5232,18 @@ interface operations {
4412
5232
  };
4413
5233
  listEndpoints: {
4414
5234
  parameters: {
4415
- query?: never;
5235
+ query?: {
5236
+ /**
5237
+ * @description Opaque resume cursor — pass the previous response's `pagination.nextCursor` through verbatim; omit for the first page. A cursor is only valid for the operation and parameters that issued it; a malformed or foreign cursor is rejected with 422.
5238
+ * @example Y3JlYXRlZEF0PTE3NDg3ODA0MDA
5239
+ */
5240
+ cursor?: components["parameters"]["PaginationCursor"];
5241
+ /**
5242
+ * @description Page size, 1–1000. Defaults to 1000 when omitted.
5243
+ * @example 50
5244
+ */
5245
+ limit?: components["parameters"]["PaginationLimit"];
5246
+ };
4416
5247
  header?: never;
4417
5248
  path?: never;
4418
5249
  cookie?: never;
@@ -4667,7 +5498,18 @@ interface operations {
4667
5498
  };
4668
5499
  listEndpointReleases: {
4669
5500
  parameters: {
4670
- query?: never;
5501
+ query?: {
5502
+ /**
5503
+ * @description Opaque resume cursor — pass the previous response's `pagination.nextCursor` through verbatim; omit for the first page. A cursor is only valid for the operation and parameters that issued it; a malformed or foreign cursor is rejected with 422.
5504
+ * @example Y3JlYXRlZEF0PTE3NDg3ODA0MDA
5505
+ */
5506
+ cursor?: components["parameters"]["PaginationCursor"];
5507
+ /**
5508
+ * @description Page size, 1–1000. Defaults to 1000 when omitted.
5509
+ * @example 50
5510
+ */
5511
+ limit?: components["parameters"]["PaginationLimit"];
5512
+ };
4671
5513
  header?: never;
4672
5514
  path: {
4673
5515
  /**
@@ -4710,7 +5552,18 @@ interface operations {
4710
5552
  };
4711
5553
  listEndpointBuilds: {
4712
5554
  parameters: {
4713
- query?: never;
5555
+ query?: {
5556
+ /**
5557
+ * @description Opaque resume cursor — pass the previous response's `pagination.nextCursor` through verbatim; omit for the first page. A cursor is only valid for the operation and parameters that issued it; a malformed or foreign cursor is rejected with 422.
5558
+ * @example Y3JlYXRlZEF0PTE3NDg3ODA0MDA
5559
+ */
5560
+ cursor?: components["parameters"]["PaginationCursor"];
5561
+ /**
5562
+ * @description Page size, 1–100. Defaults to 100 when omitted.
5563
+ * @example 50
5564
+ */
5565
+ limit?: components["parameters"]["PaginationLimitBuilds"];
5566
+ };
4714
5567
  header?: never;
4715
5568
  path: {
4716
5569
  /**
@@ -4878,7 +5731,18 @@ interface operations {
4878
5731
  };
4879
5732
  listTemplates: {
4880
5733
  parameters: {
4881
- query?: never;
5734
+ query?: {
5735
+ /**
5736
+ * @description Opaque resume cursor — pass the previous response's `pagination.nextCursor` through verbatim; omit for the first page. A cursor is only valid for the operation and parameters that issued it; a malformed or foreign cursor is rejected with 422.
5737
+ * @example Y3JlYXRlZEF0PTE3NDg3ODA0MDA
5738
+ */
5739
+ cursor?: components["parameters"]["PaginationCursor"];
5740
+ /**
5741
+ * @description Page size, 1–1000. Defaults to 1000 when omitted.
5742
+ * @example 50
5743
+ */
5744
+ limit?: components["parameters"]["PaginationLimit"];
5745
+ };
4882
5746
  header?: never;
4883
5747
  path?: never;
4884
5748
  cookie?: never;
@@ -5091,7 +5955,18 @@ interface operations {
5091
5955
  };
5092
5956
  listNetworkVolumes: {
5093
5957
  parameters: {
5094
- query?: never;
5958
+ query?: {
5959
+ /**
5960
+ * @description Opaque resume cursor — pass the previous response's `pagination.nextCursor` through verbatim; omit for the first page. A cursor is only valid for the operation and parameters that issued it; a malformed or foreign cursor is rejected with 422.
5961
+ * @example Y3JlYXRlZEF0PTE3NDg3ODA0MDA
5962
+ */
5963
+ cursor?: components["parameters"]["PaginationCursor"];
5964
+ /**
5965
+ * @description Page size, 1–1000. Defaults to 1000 when omitted.
5966
+ * @example 50
5967
+ */
5968
+ limit?: components["parameters"]["PaginationLimit"];
5969
+ };
5095
5970
  header?: never;
5096
5971
  path?: never;
5097
5972
  cookie?: never;
@@ -5310,6 +6185,240 @@ interface operations {
5310
6185
  };
5311
6186
  };
5312
6187
  };
6188
+ listGlobalVolumes: {
6189
+ parameters: {
6190
+ query?: {
6191
+ /**
6192
+ * @description Opaque resume cursor — pass the previous response's `pagination.nextCursor` through verbatim; omit for the first page. A cursor is only valid for the operation and parameters that issued it; a malformed or foreign cursor is rejected with 422.
6193
+ * @example Y3JlYXRlZEF0PTE3NDg3ODA0MDA
6194
+ */
6195
+ cursor?: components["parameters"]["PaginationCursor"];
6196
+ /**
6197
+ * @description Page size, 1–1000. Defaults to 1000 when omitted.
6198
+ * @example 50
6199
+ */
6200
+ limit?: components["parameters"]["PaginationLimit"];
6201
+ };
6202
+ header?: never;
6203
+ path?: never;
6204
+ cookie?: never;
6205
+ };
6206
+ requestBody?: never;
6207
+ responses: {
6208
+ /** @description OK */
6209
+ 200: {
6210
+ headers: {
6211
+ RateLimit: components["headers"]["RateLimit"];
6212
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
6213
+ [name: string]: unknown;
6214
+ };
6215
+ content: {
6216
+ "application/json": components["schemas"]["ListGlobalVolumesResponse"];
6217
+ };
6218
+ };
6219
+ 401: components["responses"]["UnauthorizedError"];
6220
+ 403: components["responses"]["ForbiddenError"];
6221
+ 422: components["responses"]["UnprocessableEntityError"];
6222
+ 429: components["responses"]["TooManyRequestsError"];
6223
+ /** @description Error */
6224
+ default: {
6225
+ headers: {
6226
+ RateLimit: components["headers"]["RateLimit"];
6227
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
6228
+ [name: string]: unknown;
6229
+ };
6230
+ content: {
6231
+ "application/problem+json": components["schemas"]["ErrorResponse"];
6232
+ };
6233
+ };
6234
+ };
6235
+ };
6236
+ createGlobalVolume: {
6237
+ parameters: {
6238
+ query?: never;
6239
+ header?: never;
6240
+ path?: never;
6241
+ cookie?: never;
6242
+ };
6243
+ requestBody: {
6244
+ content: {
6245
+ "application/json": components["schemas"]["CreateGlobalVolumeRequest"];
6246
+ };
6247
+ };
6248
+ responses: {
6249
+ /** @description Created */
6250
+ 201: {
6251
+ headers: {
6252
+ RateLimit: components["headers"]["RateLimit"];
6253
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
6254
+ [name: string]: unknown;
6255
+ };
6256
+ content: {
6257
+ "application/json": components["schemas"]["GlobalVolume"];
6258
+ };
6259
+ };
6260
+ 400: components["responses"]["BadRequestError"];
6261
+ 401: components["responses"]["UnauthorizedError"];
6262
+ 403: components["responses"]["ForbiddenError"];
6263
+ 422: components["responses"]["UnprocessableEntityError"];
6264
+ 429: components["responses"]["TooManyRequestsError"];
6265
+ /** @description Error */
6266
+ default: {
6267
+ headers: {
6268
+ RateLimit: components["headers"]["RateLimit"];
6269
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
6270
+ [name: string]: unknown;
6271
+ };
6272
+ content: {
6273
+ "application/problem+json": components["schemas"]["ErrorResponse"];
6274
+ };
6275
+ };
6276
+ };
6277
+ };
6278
+ getGlobalVolume: {
6279
+ parameters: {
6280
+ query?: never;
6281
+ header?: never;
6282
+ path: {
6283
+ /**
6284
+ * @description Global volume identifier
6285
+ * @example gsb_abc
6286
+ */
6287
+ id: string;
6288
+ };
6289
+ cookie?: never;
6290
+ };
6291
+ requestBody?: never;
6292
+ responses: {
6293
+ /** @description OK */
6294
+ 200: {
6295
+ headers: {
6296
+ RateLimit: components["headers"]["RateLimit"];
6297
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
6298
+ [name: string]: unknown;
6299
+ };
6300
+ content: {
6301
+ "application/json": components["schemas"]["GlobalVolume"];
6302
+ };
6303
+ };
6304
+ 401: components["responses"]["UnauthorizedError"];
6305
+ 403: components["responses"]["ForbiddenError"];
6306
+ 404: components["responses"]["NotFoundError"];
6307
+ 429: components["responses"]["TooManyRequestsError"];
6308
+ /** @description Error */
6309
+ default: {
6310
+ headers: {
6311
+ RateLimit: components["headers"]["RateLimit"];
6312
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
6313
+ [name: string]: unknown;
6314
+ };
6315
+ content: {
6316
+ "application/problem+json": components["schemas"]["ErrorResponse"];
6317
+ };
6318
+ };
6319
+ };
6320
+ };
6321
+ deleteGlobalVolume: {
6322
+ parameters: {
6323
+ query?: never;
6324
+ header?: never;
6325
+ path: {
6326
+ /**
6327
+ * @description Global volume identifier
6328
+ * @example gsb_abc
6329
+ */
6330
+ id: string;
6331
+ };
6332
+ cookie?: never;
6333
+ };
6334
+ requestBody?: never;
6335
+ responses: {
6336
+ /** @description Deleted. Response has no body. */
6337
+ 204: {
6338
+ headers: {
6339
+ RateLimit: components["headers"]["RateLimit"];
6340
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
6341
+ [name: string]: unknown;
6342
+ };
6343
+ content?: never;
6344
+ };
6345
+ 401: components["responses"]["UnauthorizedError"];
6346
+ 403: components["responses"]["ForbiddenError"];
6347
+ 404: components["responses"]["NotFoundError"];
6348
+ /** @description The volume is still mounted by a pod or serverless endpoint. */
6349
+ 409: {
6350
+ headers: {
6351
+ RateLimit: components["headers"]["RateLimit"];
6352
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
6353
+ [name: string]: unknown;
6354
+ };
6355
+ content: {
6356
+ "application/problem+json": components["schemas"]["ErrorResponse"];
6357
+ };
6358
+ };
6359
+ 429: components["responses"]["TooManyRequestsError"];
6360
+ /** @description Error */
6361
+ default: {
6362
+ headers: {
6363
+ RateLimit: components["headers"]["RateLimit"];
6364
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
6365
+ [name: string]: unknown;
6366
+ };
6367
+ content: {
6368
+ "application/problem+json": components["schemas"]["ErrorResponse"];
6369
+ };
6370
+ };
6371
+ };
6372
+ };
6373
+ updateGlobalVolume: {
6374
+ parameters: {
6375
+ query?: never;
6376
+ header?: never;
6377
+ path: {
6378
+ /**
6379
+ * @description Global volume identifier
6380
+ * @example gsb_abc
6381
+ */
6382
+ id: string;
6383
+ };
6384
+ cookie?: never;
6385
+ };
6386
+ requestBody: {
6387
+ content: {
6388
+ "application/json": components["schemas"]["UpdateGlobalVolumeRequest"];
6389
+ };
6390
+ };
6391
+ responses: {
6392
+ /** @description OK */
6393
+ 200: {
6394
+ headers: {
6395
+ RateLimit: components["headers"]["RateLimit"];
6396
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
6397
+ [name: string]: unknown;
6398
+ };
6399
+ content: {
6400
+ "application/json": components["schemas"]["GlobalVolume"];
6401
+ };
6402
+ };
6403
+ 400: components["responses"]["BadRequestError"];
6404
+ 401: components["responses"]["UnauthorizedError"];
6405
+ 403: components["responses"]["ForbiddenError"];
6406
+ 404: components["responses"]["NotFoundError"];
6407
+ 422: components["responses"]["UnprocessableEntityError"];
6408
+ 429: components["responses"]["TooManyRequestsError"];
6409
+ /** @description Error */
6410
+ default: {
6411
+ headers: {
6412
+ RateLimit: components["headers"]["RateLimit"];
6413
+ "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
6414
+ [name: string]: unknown;
6415
+ };
6416
+ content: {
6417
+ "application/problem+json": components["schemas"]["ErrorResponse"];
6418
+ };
6419
+ };
6420
+ };
6421
+ };
5313
6422
  listRegistries: {
5314
6423
  parameters: {
5315
6424
  query?: never;
@@ -5990,7 +7099,7 @@ interface operations {
5990
7099
  [name: string]: unknown;
5991
7100
  };
5992
7101
  content: {
5993
- "application/json": components["schemas"]["ListTemplatesResponse"];
7102
+ "application/json": components["schemas"]["TemplateList"];
5994
7103
  };
5995
7104
  };
5996
7105
  401: components["responses"]["UnauthorizedError"];