@bodhiapp/ts-client 0.1.33 → 0.1.34
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/openapi-typescript/openapi-schema-oai.d.ts +0 -437
- package/dist/openapi-typescript/openapi-schema-oai.ts +0 -437
- package/dist/openapi-typescript/openapi-schema.d.ts +1151 -193
- package/dist/openapi-typescript/openapi-schema.ts +1151 -193
- package/dist/types/types.gen.d.ts +739 -188
- package/dist/types/types.gen.ts +789 -177
- package/dist/types-oai/types.gen.d.ts +0 -187
- package/dist/types-oai/types.gen.ts +0 -211
- package/package.json +1 -1
|
@@ -23,6 +23,26 @@ export interface paths {
|
|
|
23
23
|
patch?: never;
|
|
24
24
|
trace?: never;
|
|
25
25
|
};
|
|
26
|
+
"/bodhi/v1/access-requests/apps": {
|
|
27
|
+
parameters: {
|
|
28
|
+
query?: never;
|
|
29
|
+
header?: never;
|
|
30
|
+
path?: never;
|
|
31
|
+
cookie?: never;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* List Issued App Tokens
|
|
35
|
+
* @description List the caller's approved app access grants with their effective resource access. Requires session auth.
|
|
36
|
+
*/
|
|
37
|
+
get: operations["listAppAccess"];
|
|
38
|
+
put?: never;
|
|
39
|
+
post?: never;
|
|
40
|
+
delete?: never;
|
|
41
|
+
options?: never;
|
|
42
|
+
head?: never;
|
|
43
|
+
patch?: never;
|
|
44
|
+
trace?: never;
|
|
45
|
+
};
|
|
26
46
|
"/bodhi/v1/access-requests/pending": {
|
|
27
47
|
parameters: {
|
|
28
48
|
query?: never;
|
|
@@ -127,6 +147,26 @@ export interface paths {
|
|
|
127
147
|
patch?: never;
|
|
128
148
|
trace?: never;
|
|
129
149
|
};
|
|
150
|
+
"/bodhi/v1/access-requests/{id}/revoke": {
|
|
151
|
+
parameters: {
|
|
152
|
+
query?: never;
|
|
153
|
+
header?: never;
|
|
154
|
+
path?: never;
|
|
155
|
+
cookie?: never;
|
|
156
|
+
};
|
|
157
|
+
get?: never;
|
|
158
|
+
put?: never;
|
|
159
|
+
/**
|
|
160
|
+
* Revoke App Token
|
|
161
|
+
* @description Revoke a previously-approved app grant; the app token stops working. Requires session auth.
|
|
162
|
+
*/
|
|
163
|
+
post: operations["revokeAppAccess"];
|
|
164
|
+
delete?: never;
|
|
165
|
+
options?: never;
|
|
166
|
+
head?: never;
|
|
167
|
+
patch?: never;
|
|
168
|
+
trace?: never;
|
|
169
|
+
};
|
|
130
170
|
"/bodhi/v1/apps/access-requests/{id}": {
|
|
131
171
|
parameters: {
|
|
132
172
|
query?: never;
|
|
@@ -562,7 +602,7 @@ export interface paths {
|
|
|
562
602
|
};
|
|
563
603
|
/**
|
|
564
604
|
* List All Model Aliases
|
|
565
|
-
* @description Retrieves paginated list of all configured model aliases including user-defined aliases, model aliases, and API provider aliases with filtering and sorting
|
|
605
|
+
* @description Retrieves paginated list of all configured model aliases including user-defined aliases, model aliases, and API provider aliases with server-side facet filtering (type, api_format, size range, capability) and sorting. Requires any authenticated user (User level permissions or higher).
|
|
566
606
|
*/
|
|
567
607
|
get: operations["listAllModels"];
|
|
568
608
|
put?: never;
|
|
@@ -802,6 +842,46 @@ export interface paths {
|
|
|
802
842
|
patch?: never;
|
|
803
843
|
trace?: never;
|
|
804
844
|
};
|
|
845
|
+
"/bodhi/v1/models/files/pull/{id}/archive": {
|
|
846
|
+
parameters: {
|
|
847
|
+
query?: never;
|
|
848
|
+
header?: never;
|
|
849
|
+
path?: never;
|
|
850
|
+
cookie?: never;
|
|
851
|
+
};
|
|
852
|
+
get?: never;
|
|
853
|
+
put?: never;
|
|
854
|
+
/**
|
|
855
|
+
* Archive Download Request
|
|
856
|
+
* @description Archives a completed, failed, or queued download request so it no longer appears in the downloads list or the list API response. Actively-downloading requests cannot be archived.
|
|
857
|
+
*/
|
|
858
|
+
post: operations["archiveDownload"];
|
|
859
|
+
delete?: never;
|
|
860
|
+
options?: never;
|
|
861
|
+
head?: never;
|
|
862
|
+
patch?: never;
|
|
863
|
+
trace?: never;
|
|
864
|
+
};
|
|
865
|
+
"/bodhi/v1/models/files/pull/{id}/retry": {
|
|
866
|
+
parameters: {
|
|
867
|
+
query?: never;
|
|
868
|
+
header?: never;
|
|
869
|
+
path?: never;
|
|
870
|
+
cookie?: never;
|
|
871
|
+
};
|
|
872
|
+
get?: never;
|
|
873
|
+
put?: never;
|
|
874
|
+
/**
|
|
875
|
+
* Retry Failed Download Request
|
|
876
|
+
* @description Resets a failed download request to pending and re-runs it. The download resumes from the partially-downloaded file when present. Only failed requests can be retried.
|
|
877
|
+
*/
|
|
878
|
+
post: operations["retryDownload"];
|
|
879
|
+
delete?: never;
|
|
880
|
+
options?: never;
|
|
881
|
+
head?: never;
|
|
882
|
+
patch?: never;
|
|
883
|
+
trace?: never;
|
|
884
|
+
};
|
|
805
885
|
"/bodhi/v1/models/refresh": {
|
|
806
886
|
parameters: {
|
|
807
887
|
query?: never;
|
|
@@ -828,6 +908,45 @@ export interface paths {
|
|
|
828
908
|
patch?: never;
|
|
829
909
|
trace?: never;
|
|
830
910
|
};
|
|
911
|
+
"/bodhi/v1/models/router": {
|
|
912
|
+
parameters: {
|
|
913
|
+
query?: never;
|
|
914
|
+
header?: never;
|
|
915
|
+
path?: never;
|
|
916
|
+
cookie?: never;
|
|
917
|
+
};
|
|
918
|
+
get?: never;
|
|
919
|
+
put?: never;
|
|
920
|
+
/** Create a new model-router configuration */
|
|
921
|
+
post: operations["createModelRouter"];
|
|
922
|
+
delete?: never;
|
|
923
|
+
options?: never;
|
|
924
|
+
head?: never;
|
|
925
|
+
patch?: never;
|
|
926
|
+
trace?: never;
|
|
927
|
+
};
|
|
928
|
+
"/bodhi/v1/models/router/{id}": {
|
|
929
|
+
parameters: {
|
|
930
|
+
query?: never;
|
|
931
|
+
header?: never;
|
|
932
|
+
path?: never;
|
|
933
|
+
cookie?: never;
|
|
934
|
+
};
|
|
935
|
+
/**
|
|
936
|
+
* Get Model Router Configuration
|
|
937
|
+
* @description Retrieves the configuration for a specific model-router (composite) alias by ID.
|
|
938
|
+
*/
|
|
939
|
+
get: operations["getModelRouter"];
|
|
940
|
+
/** Update an existing model-router configuration */
|
|
941
|
+
put: operations["updateModelRouter"];
|
|
942
|
+
post?: never;
|
|
943
|
+
/** Delete a model-router configuration */
|
|
944
|
+
delete: operations["deleteModelRouter"];
|
|
945
|
+
options?: never;
|
|
946
|
+
head?: never;
|
|
947
|
+
patch?: never;
|
|
948
|
+
trace?: never;
|
|
949
|
+
};
|
|
831
950
|
"/bodhi/v1/models/{id}": {
|
|
832
951
|
parameters: {
|
|
833
952
|
query?: never;
|
|
@@ -1026,7 +1145,13 @@ export interface paths {
|
|
|
1026
1145
|
*/
|
|
1027
1146
|
put: operations["updateApiToken"];
|
|
1028
1147
|
post?: never;
|
|
1029
|
-
|
|
1148
|
+
/**
|
|
1149
|
+
* Delete API Token
|
|
1150
|
+
* @description Permanently deletes an API token owned by the current user, immediately revoking it.
|
|
1151
|
+
*
|
|
1152
|
+
* **Security Note:** Session-only authentication required to prevent token-based privilege escalation.
|
|
1153
|
+
*/
|
|
1154
|
+
delete: operations["deleteApiToken"];
|
|
1030
1155
|
options?: never;
|
|
1031
1156
|
head?: never;
|
|
1032
1157
|
patch?: never;
|
|
@@ -1197,31 +1322,23 @@ export type webhooks = Record<string, never>;
|
|
|
1197
1322
|
export interface components {
|
|
1198
1323
|
schemas: {
|
|
1199
1324
|
AccessRequestActionResponse: {
|
|
1200
|
-
/** @description Updated status after action */
|
|
1201
1325
|
status: components["schemas"]["AppAccessRequestStatus"];
|
|
1202
|
-
/** @description Flow type of the access request */
|
|
1203
1326
|
flow_type: components["schemas"]["FlowType"];
|
|
1204
|
-
/** @description
|
|
1327
|
+
/** @description Present for redirect flow */
|
|
1205
1328
|
redirect_url?: string | null;
|
|
1206
1329
|
};
|
|
1207
1330
|
AccessRequestReviewResponse: {
|
|
1208
|
-
/** @description Access request ID */
|
|
1209
1331
|
id: string;
|
|
1210
|
-
/** @description App client ID */
|
|
1211
1332
|
app_client_id: string;
|
|
1212
|
-
/** @description
|
|
1333
|
+
/** @description From KC, if available */
|
|
1213
1334
|
app_name?: string | null;
|
|
1214
|
-
/** @description
|
|
1335
|
+
/** @description From KC, if available */
|
|
1215
1336
|
app_description?: string | null;
|
|
1216
|
-
/** @description
|
|
1337
|
+
/** @description One of: "redirect", "popup" */
|
|
1217
1338
|
flow_type: components["schemas"]["FlowType"];
|
|
1218
|
-
/** @description Current status */
|
|
1219
1339
|
status: components["schemas"]["AppAccessRequestStatus"];
|
|
1220
|
-
/** @description Role requested by the app */
|
|
1221
1340
|
requested_role: string;
|
|
1222
|
-
/** @description Resources requested */
|
|
1223
1341
|
requested: components["schemas"]["RequestedResources"];
|
|
1224
|
-
/** @description MCP server information with user instances */
|
|
1225
1342
|
mcps_info?: components["schemas"]["McpServerReviewInfo"][];
|
|
1226
1343
|
};
|
|
1227
1344
|
/** @example {
|
|
@@ -1232,14 +1349,12 @@ export interface components {
|
|
|
1232
1349
|
* "status": "approved"
|
|
1233
1350
|
* } */
|
|
1234
1351
|
AccessRequestStatusResponse: {
|
|
1235
|
-
/** @description Access request ID */
|
|
1236
1352
|
id: string;
|
|
1237
|
-
/** @description
|
|
1353
|
+
/** @description One of: "draft", "approved", "denied", "failed" */
|
|
1238
1354
|
status: components["schemas"]["AppAccessRequestStatus"];
|
|
1239
|
-
/** @description Role requested by the app */
|
|
1240
1355
|
requested_role: components["schemas"]["UserScope"];
|
|
1241
1356
|
approved_role?: null | components["schemas"]["UserScope"];
|
|
1242
|
-
/** @description
|
|
1357
|
+
/** @description Present when user-approved with tools */
|
|
1243
1358
|
access_request_scope?: string | null;
|
|
1244
1359
|
};
|
|
1245
1360
|
/** @description Flat enum representing all types of model aliases
|
|
@@ -1253,10 +1368,54 @@ export interface components {
|
|
|
1253
1368
|
}) | (components["schemas"]["ApiAlias"] & {
|
|
1254
1369
|
/** @enum {string} */
|
|
1255
1370
|
source: "api";
|
|
1371
|
+
}) | (components["schemas"]["ModelRouterAlias"] & {
|
|
1372
|
+
/** @enum {string} */
|
|
1373
|
+
source: "model_router";
|
|
1256
1374
|
});
|
|
1375
|
+
/** @description Facet filter query parameters for the All-Models list (`GET /bodhi/v1/models`).
|
|
1376
|
+
*
|
|
1377
|
+
* All facets are server-side and applied before pagination so `total` and the page
|
|
1378
|
+
* reflect the filtered set. Multi-value facets accept a comma-separated list; an empty
|
|
1379
|
+
* or absent value means "no filter for this facet" (all rows pass). */
|
|
1380
|
+
AliasFilterParams: {
|
|
1381
|
+
/**
|
|
1382
|
+
* @description Alias type facet (comma-separated): `local_file`, `model_alias`, `api_model`, `fallback`.
|
|
1383
|
+
* @example local_file,model_alias
|
|
1384
|
+
*/
|
|
1385
|
+
type?: string | null;
|
|
1386
|
+
/**
|
|
1387
|
+
* @description API-format facet (comma-separated), API rows only: `openai`, `responses`, `anthropic`,
|
|
1388
|
+
* `gemini`, `liberty`. `anthropic` matches both anthropic and anthropic_oauth aliases.
|
|
1389
|
+
* @example openai,anthropic
|
|
1390
|
+
*/
|
|
1391
|
+
api_format?: string | null;
|
|
1392
|
+
/**
|
|
1393
|
+
* Format: int64
|
|
1394
|
+
* @description Minimum local-file size in bytes (inclusive). Applies to local rows with a known size;
|
|
1395
|
+
* rows without a size (API/router) are not filtered out by size.
|
|
1396
|
+
*/
|
|
1397
|
+
size_min?: number | null;
|
|
1398
|
+
/**
|
|
1399
|
+
* Format: int64
|
|
1400
|
+
* @description Maximum local-file size in bytes (inclusive). See `size_min`.
|
|
1401
|
+
*/
|
|
1402
|
+
size_max?: number | null;
|
|
1403
|
+
/**
|
|
1404
|
+
* @description Capability facet (comma-separated), local rows only: `vision`, `tool_use`, `reasoning`.
|
|
1405
|
+
* A row passes only if it has metadata with every requested capability set true.
|
|
1406
|
+
* @example vision,tool_use
|
|
1407
|
+
*/
|
|
1408
|
+
capability?: string | null;
|
|
1409
|
+
/**
|
|
1410
|
+
* @description Free-text search (case-insensitive substring) over a row's identifying fields — alias/name,
|
|
1411
|
+
* repo, filename for local rows; id, name, base_url for API rows; alias for routers.
|
|
1412
|
+
* @example llama
|
|
1413
|
+
*/
|
|
1414
|
+
search?: string | null;
|
|
1415
|
+
};
|
|
1257
1416
|
/** @description Response envelope for model aliases - hides internal implementation details
|
|
1258
1417
|
* Uses untagged serialization - each variant has its own "source" field */
|
|
1259
|
-
AliasResponse: components["schemas"]["UserAliasResponse"] | components["schemas"]["ModelAliasResponse"] | components["schemas"]["ApiAliasResponse"];
|
|
1418
|
+
AliasResponse: components["schemas"]["ModelRouterResponse"] | components["schemas"]["UserAliasResponse"] | components["schemas"]["ModelAliasResponse"] | components["schemas"]["ApiAliasResponse"];
|
|
1260
1419
|
/** @description Mirrors Anthropic's `ModelInfo` schema — full model metadata returned by
|
|
1261
1420
|
* `GET /anthropic/v1/models` and stored alongside model IDs in `ApiAlias.models`.
|
|
1262
1421
|
*
|
|
@@ -1274,10 +1433,9 @@ export interface components {
|
|
|
1274
1433
|
max_input_tokens?: number | null;
|
|
1275
1434
|
/** Format: int64 */
|
|
1276
1435
|
max_tokens?: number | null;
|
|
1277
|
-
/** @description Always `"model"` — included for Anthropic API compatibility. */
|
|
1278
1436
|
type: string;
|
|
1279
1437
|
};
|
|
1280
|
-
/** @description
|
|
1438
|
+
/** @description Anthropic ModelCapabilities schema. */
|
|
1281
1439
|
AnthropicModelCapabilities: {
|
|
1282
1440
|
batch: components["schemas"]["CapabilitySupport"];
|
|
1283
1441
|
citations: components["schemas"]["CapabilitySupport"];
|
|
@@ -1291,6 +1449,7 @@ export interface components {
|
|
|
1291
1449
|
};
|
|
1292
1450
|
ApiAlias: {
|
|
1293
1451
|
id: string;
|
|
1452
|
+
name: string;
|
|
1294
1453
|
api_format: components["schemas"]["ApiFormat"];
|
|
1295
1454
|
base_url: string;
|
|
1296
1455
|
models: components["schemas"]["ApiModelVec"];
|
|
@@ -1307,6 +1466,7 @@ export interface components {
|
|
|
1307
1466
|
ApiAliasResponse: {
|
|
1308
1467
|
source: string;
|
|
1309
1468
|
id: string;
|
|
1469
|
+
name: string;
|
|
1310
1470
|
api_format: components["schemas"]["ApiFormat"];
|
|
1311
1471
|
base_url: string;
|
|
1312
1472
|
has_api_key: boolean;
|
|
@@ -1402,13 +1562,31 @@ export interface components {
|
|
|
1402
1562
|
/** @description DB-storable `Vec<ApiModel>` — stored as JSON binary in SeaORM columns. */
|
|
1403
1563
|
ApiModelVec: components["schemas"]["ApiModel"][];
|
|
1404
1564
|
/** @enum {string} */
|
|
1405
|
-
AppAccessRequestStatus: "draft" | "approved" | "denied" | "failed" | "expired";
|
|
1565
|
+
AppAccessRequestStatus: "draft" | "approved" | "denied" | "failed" | "expired" | "revoked";
|
|
1566
|
+
/** @description One issued app token (approved access request) with its effective grant summary. */
|
|
1567
|
+
AppAccessSummary: {
|
|
1568
|
+
id: string;
|
|
1569
|
+
app_client_id: string;
|
|
1570
|
+
app_name?: string | null;
|
|
1571
|
+
app_description?: string | null;
|
|
1572
|
+
status: components["schemas"]["AppAccessRequestStatus"];
|
|
1573
|
+
approved_role?: null | components["schemas"]["UserScope"];
|
|
1574
|
+
/** @description Effective model access granted to this app. */
|
|
1575
|
+
models: components["schemas"]["ResourceAccess"];
|
|
1576
|
+
/** @description Effective MCP access granted to this app. */
|
|
1577
|
+
mcps: components["schemas"]["ResourceAccess"];
|
|
1578
|
+
/** Format: date-time */
|
|
1579
|
+
created_at: string;
|
|
1580
|
+
/** Format: date-time */
|
|
1581
|
+
updated_at: string;
|
|
1582
|
+
};
|
|
1406
1583
|
/**
|
|
1407
1584
|
* @description Application information and status
|
|
1408
1585
|
* @example {
|
|
1409
1586
|
* "client_id": "my-client-id",
|
|
1410
1587
|
* "commit_sha": "abc1234",
|
|
1411
1588
|
* "deployment": "standalone",
|
|
1589
|
+
* "reference_api_url": "https://api.getbodhi.app",
|
|
1412
1590
|
* "status": "ready",
|
|
1413
1591
|
* "url": "https://example.com",
|
|
1414
1592
|
* "version": "0.1.0"
|
|
@@ -1439,6 +1617,12 @@ export interface components {
|
|
|
1439
1617
|
* @example https://example.com
|
|
1440
1618
|
*/
|
|
1441
1619
|
url: string;
|
|
1620
|
+
/**
|
|
1621
|
+
* @description Base URL of the external reference API the frontend calls directly (configurable via
|
|
1622
|
+
* `BODHI_REFERENCE_API_URL`, env-overridable for tests)
|
|
1623
|
+
* @example https://api.getbodhi.app
|
|
1624
|
+
*/
|
|
1625
|
+
reference_api_url: string;
|
|
1442
1626
|
};
|
|
1443
1627
|
AppRole: components["schemas"]["ResourceRole"] | components["schemas"]["TokenScope"] | components["schemas"]["UserScope"];
|
|
1444
1628
|
/**
|
|
@@ -1448,9 +1632,7 @@ export interface components {
|
|
|
1448
1632
|
AppStatus: "setup" | "ready" | "resource_admin";
|
|
1449
1633
|
/** @enum {string} */
|
|
1450
1634
|
ApprovalStatus: "approved" | "denied";
|
|
1451
|
-
/**
|
|
1452
|
-
* @description Request for approving an app access request
|
|
1453
|
-
* @example {
|
|
1635
|
+
/** @example {
|
|
1454
1636
|
* "approved": {
|
|
1455
1637
|
* "mcps": [
|
|
1456
1638
|
* {
|
|
@@ -1465,8 +1647,7 @@ export interface components {
|
|
|
1465
1647
|
* "version": "1"
|
|
1466
1648
|
* },
|
|
1467
1649
|
* "approved_role": "scope_user_user"
|
|
1468
|
-
* }
|
|
1469
|
-
*/
|
|
1650
|
+
* } */
|
|
1470
1651
|
ApproveAccessRequest: {
|
|
1471
1652
|
/** @description Role to grant for the approved request (scope_user_user or scope_user_power_user) */
|
|
1472
1653
|
approved_role: components["schemas"]["UserScope"];
|
|
@@ -1483,14 +1664,23 @@ export interface components {
|
|
|
1483
1664
|
/** @description Role to assign to the user */
|
|
1484
1665
|
role: components["schemas"]["ResourceRole"];
|
|
1485
1666
|
};
|
|
1486
|
-
/** @description
|
|
1487
|
-
* The `version` tag is mandatory and must match the corresponding `RequestedResources` version. */
|
|
1667
|
+
/** @description The `version` tag is mandatory and must match the corresponding `RequestedResources` version. */
|
|
1488
1668
|
ApprovedResources: components["schemas"]["ApprovedResourcesV1"] & {
|
|
1489
1669
|
/** @enum {string} */
|
|
1490
1670
|
version: "1";
|
|
1491
1671
|
};
|
|
1672
|
+
/** @description What the owner granted at consent. Field names mirror `RequestedResourcesV1`
|
|
1673
|
+
* (`models_list` / `models_access` / `mcps_list` / `mcps_access`) — there the
|
|
1674
|
+
* values are UI-driver booleans, here they are the actual grants. `mcps` holds
|
|
1675
|
+
* the by-url instance approvals; `mcps_access` is the owner-granted set beyond them. */
|
|
1492
1676
|
ApprovedResourcesV1: {
|
|
1677
|
+
models_list?: boolean;
|
|
1678
|
+
models_access?: components["schemas"]["ModelGrant"];
|
|
1679
|
+
mcps_list?: boolean;
|
|
1493
1680
|
mcps?: components["schemas"]["McpApproval"][];
|
|
1681
|
+
/** @description Owner-granted MCP instances beyond the by-url requests. Defaults to none
|
|
1682
|
+
* (empty `Specific`) — unlike a token's all-access default. */
|
|
1683
|
+
mcps_access?: components["schemas"]["McpGrant"];
|
|
1494
1684
|
};
|
|
1495
1685
|
/** @example {
|
|
1496
1686
|
* "code": "auth_code_123",
|
|
@@ -1498,12 +1688,12 @@ export interface components {
|
|
|
1498
1688
|
* } */
|
|
1499
1689
|
AuthCallbackRequest: {
|
|
1500
1690
|
/**
|
|
1501
|
-
* @description
|
|
1691
|
+
* @description Required for the success flow
|
|
1502
1692
|
* @example auth_code_123
|
|
1503
1693
|
*/
|
|
1504
1694
|
code?: string | null;
|
|
1505
1695
|
/**
|
|
1506
|
-
* @description
|
|
1696
|
+
* @description CSRF protection — must match the initiated request
|
|
1507
1697
|
* @example random_state_456
|
|
1508
1698
|
*/
|
|
1509
1699
|
state?: string | null;
|
|
@@ -1512,10 +1702,7 @@ export interface components {
|
|
|
1512
1702
|
* @example access_denied
|
|
1513
1703
|
*/
|
|
1514
1704
|
error?: string | null;
|
|
1515
|
-
/**
|
|
1516
|
-
* @description Human-readable OAuth error description if authentication failed
|
|
1517
|
-
* @example The user denied the request
|
|
1518
|
-
*/
|
|
1705
|
+
/** @example The user denied the request */
|
|
1519
1706
|
error_description?: string | null;
|
|
1520
1707
|
} & {
|
|
1521
1708
|
[key: string]: string;
|
|
@@ -1592,7 +1779,6 @@ export interface components {
|
|
|
1592
1779
|
/** @description Error details following Bodhi API error format */
|
|
1593
1780
|
error: components["schemas"]["BodhiError"];
|
|
1594
1781
|
};
|
|
1595
|
-
/** @description Whether a single capability is supported by the model. */
|
|
1596
1782
|
CapabilitySupport: {
|
|
1597
1783
|
supported: boolean;
|
|
1598
1784
|
};
|
|
@@ -1607,7 +1793,6 @@ export interface components {
|
|
|
1607
1793
|
/** Format: int64 */
|
|
1608
1794
|
max_output_tokens?: number | null;
|
|
1609
1795
|
};
|
|
1610
|
-
/** @description Context management capability details. */
|
|
1611
1796
|
ContextManagementCapability: {
|
|
1612
1797
|
clear_thinking_20251015?: null | components["schemas"]["CapabilitySupport"];
|
|
1613
1798
|
clear_tool_uses_20250919?: null | components["schemas"]["CapabilitySupport"];
|
|
@@ -1616,9 +1801,7 @@ export interface components {
|
|
|
1616
1801
|
CopyAliasRequest: {
|
|
1617
1802
|
alias: string;
|
|
1618
1803
|
};
|
|
1619
|
-
/**
|
|
1620
|
-
* @description Request for creating an app access request
|
|
1621
|
-
* @example {
|
|
1804
|
+
/** @example {
|
|
1622
1805
|
* "app_client_id": "my-app-client",
|
|
1623
1806
|
* "flow_type": "redirect",
|
|
1624
1807
|
* "redirect_url": "https://myapp.com/callback",
|
|
@@ -1631,8 +1814,7 @@ export interface components {
|
|
|
1631
1814
|
* "version": "1"
|
|
1632
1815
|
* },
|
|
1633
1816
|
* "requested_role": "scope_user_user"
|
|
1634
|
-
* }
|
|
1635
|
-
*/
|
|
1817
|
+
* } */
|
|
1636
1818
|
CreateAccessRequest: {
|
|
1637
1819
|
/** @description App client ID from Keycloak */
|
|
1638
1820
|
app_client_id: string;
|
|
@@ -1651,11 +1833,9 @@ export interface components {
|
|
|
1651
1833
|
* "status": "draft"
|
|
1652
1834
|
* } */
|
|
1653
1835
|
CreateAccessRequestResponse: {
|
|
1654
|
-
/** @description Access request ID */
|
|
1655
1836
|
id: string;
|
|
1656
|
-
/** @description
|
|
1837
|
+
/** @description Always "draft" */
|
|
1657
1838
|
status: components["schemas"]["AppAccessRequestStatus"];
|
|
1658
|
-
/** @description Review URL for user to approve/deny */
|
|
1659
1839
|
review_url: string;
|
|
1660
1840
|
};
|
|
1661
1841
|
/** @description Wrapper for creating auth configs with server_id in body instead of path */
|
|
@@ -1705,6 +1885,9 @@ export interface components {
|
|
|
1705
1885
|
name?: string | null;
|
|
1706
1886
|
/** @description Token scope defining access level */
|
|
1707
1887
|
scope: components["schemas"]["TokenScope"];
|
|
1888
|
+
/** @description Per-resource grants for this token. Defaults to deny (least-privilege) when
|
|
1889
|
+
* omitted — specify grants to widen access. */
|
|
1890
|
+
grants?: components["schemas"]["TokenGrants"];
|
|
1708
1891
|
};
|
|
1709
1892
|
/** @description Dashboard user information from a validated dashboard session token */
|
|
1710
1893
|
DashboardUser: {
|
|
@@ -1716,6 +1899,8 @@ export interface components {
|
|
|
1716
1899
|
/** @description Inner request shape for the five non-llm-liberty `api_format` values.
|
|
1717
1900
|
* Shared across `openai`, `openai_responses`, `anthropic`, `anthropic_oauth`, `gemini`. */
|
|
1718
1901
|
DefaultApiModelRequest: {
|
|
1902
|
+
/** @description User-provided descriptive name for this API model */
|
|
1903
|
+
name: string;
|
|
1719
1904
|
/** @description API base URL */
|
|
1720
1905
|
base_url: string;
|
|
1721
1906
|
/** @description API key update action (Keep/Set with Some or None) */
|
|
@@ -1773,6 +1958,8 @@ export interface components {
|
|
|
1773
1958
|
/** Format: date-time */
|
|
1774
1959
|
started_at?: string | null;
|
|
1775
1960
|
/** Format: date-time */
|
|
1961
|
+
archived_at?: string | null;
|
|
1962
|
+
/** Format: date-time */
|
|
1776
1963
|
created_at: string;
|
|
1777
1964
|
/** Format: date-time */
|
|
1778
1965
|
updated_at: string;
|
|
@@ -1798,6 +1985,18 @@ export interface components {
|
|
|
1798
1985
|
low: components["schemas"]["CapabilitySupport"];
|
|
1799
1986
|
max: components["schemas"]["CapabilitySupport"];
|
|
1800
1987
|
};
|
|
1988
|
+
/** @description Per-strategy resilience config for the fallback strategy. Phase 1 persists defaults
|
|
1989
|
+
* and does not yet act on them (failover/health land in later phases). */
|
|
1990
|
+
FallbackConfig: {
|
|
1991
|
+
/** Format: int32 */
|
|
1992
|
+
cooldown_secs?: number;
|
|
1993
|
+
/**
|
|
1994
|
+
* Format: int32
|
|
1995
|
+
* @description 0 = try the whole chain.
|
|
1996
|
+
*/
|
|
1997
|
+
max_attempts?: number;
|
|
1998
|
+
honor_retry_after?: boolean;
|
|
1999
|
+
};
|
|
1801
2000
|
/**
|
|
1802
2001
|
* @description Request to fetch available models from provider. Discriminated on `api_format`.
|
|
1803
2002
|
* @example {
|
|
@@ -1866,6 +2065,10 @@ export interface components {
|
|
|
1866
2065
|
thinking?: boolean | null;
|
|
1867
2066
|
};
|
|
1868
2067
|
JsonVec: string[];
|
|
2068
|
+
/** @description Response for GET /access-requests/apps — the caller's issued app tokens. */
|
|
2069
|
+
ListAppAccessResponse: {
|
|
2070
|
+
data: components["schemas"]["AppAccessSummary"][];
|
|
2071
|
+
};
|
|
1869
2072
|
ListMcpServersResponse: {
|
|
1870
2073
|
mcp_servers: components["schemas"]["McpServerResponse"][];
|
|
1871
2074
|
};
|
|
@@ -1894,6 +2097,8 @@ export interface components {
|
|
|
1894
2097
|
/** @description Request shape for `api_format == "llm_liberty_oauth"`. Carries the full envelope
|
|
1895
2098
|
* (or `Keep` to leave existing credentials untouched on update). */
|
|
1896
2099
|
LlmLibertyApiModelRequest: {
|
|
2100
|
+
/** @description User-provided descriptive name for this API model */
|
|
2101
|
+
name: string;
|
|
1897
2102
|
/** @description Envelope update action — Keep (update only) or Set (create/replace credentials). */
|
|
1898
2103
|
envelope?: components["schemas"]["LlmLibertyEnvelopeUpdate"];
|
|
1899
2104
|
/** @description List of available models */
|
|
@@ -1903,6 +2108,7 @@ export interface components {
|
|
|
1903
2108
|
/** @description Whether to forward all requests with this prefix */
|
|
1904
2109
|
forward_all_with_prefix?: boolean;
|
|
1905
2110
|
};
|
|
2111
|
+
/** @description Envelope sub-types mirror the llm-liberty JSON contract v1.0.0. */
|
|
1906
2112
|
LlmLibertyAuthSpec: {
|
|
1907
2113
|
in: string;
|
|
1908
2114
|
key: string;
|
|
@@ -1977,7 +2183,6 @@ export interface components {
|
|
|
1977
2183
|
/** @description Test prompt (max 30 characters for cost control) */
|
|
1978
2184
|
prompt: string;
|
|
1979
2185
|
};
|
|
1980
|
-
/** @description Local model file response */
|
|
1981
2186
|
LocalModelResponse: {
|
|
1982
2187
|
repo: string;
|
|
1983
2188
|
filename: string;
|
|
@@ -1991,32 +2196,24 @@ export interface components {
|
|
|
1991
2196
|
};
|
|
1992
2197
|
/** @description User-owned MCP server instance. */
|
|
1993
2198
|
Mcp: {
|
|
1994
|
-
/** @description Unique instance identifier (UUID) */
|
|
1995
2199
|
id: string;
|
|
1996
2200
|
/** @description Server info resolved via JOIN */
|
|
1997
2201
|
mcp_server: components["schemas"]["McpServerInfo"];
|
|
1998
|
-
/** @description User-defined slug for this instance */
|
|
1999
2202
|
slug: string;
|
|
2000
|
-
/** @description Human-readable name */
|
|
2001
2203
|
name: string;
|
|
2002
|
-
/** @description Optional description for this instance */
|
|
2003
2204
|
description?: string | null;
|
|
2004
|
-
/** @description Whether this instance is enabled */
|
|
2005
2205
|
enabled: boolean;
|
|
2006
|
-
/** @description MCP proxy path for this instance */
|
|
2007
2206
|
path: string;
|
|
2008
2207
|
auth_type: components["schemas"]["McpAuthType"];
|
|
2009
2208
|
/** @description Reference to the auth config (mcp_auth_configs.id) */
|
|
2010
2209
|
auth_config_id?: string | null;
|
|
2011
2210
|
/**
|
|
2012
2211
|
* Format: date-time
|
|
2013
|
-
* @description When this instance was created
|
|
2014
2212
|
* @example 2024-11-10T04:52:06.786Z
|
|
2015
2213
|
*/
|
|
2016
2214
|
created_at: string;
|
|
2017
2215
|
/**
|
|
2018
2216
|
* Format: date-time
|
|
2019
|
-
* @description When this instance was last updated
|
|
2020
2217
|
* @example 2024-11-10T04:52:06.786Z
|
|
2021
2218
|
*/
|
|
2022
2219
|
updated_at: string;
|
|
@@ -2078,6 +2275,7 @@ export interface components {
|
|
|
2078
2275
|
McpAuthConfigsListResponse: {
|
|
2079
2276
|
auth_configs: components["schemas"]["McpAuthConfigResponse"][];
|
|
2080
2277
|
};
|
|
2278
|
+
/** @description Masked auth param response. */
|
|
2081
2279
|
McpAuthParam: {
|
|
2082
2280
|
id: string;
|
|
2083
2281
|
param_type: components["schemas"]["McpAuthParamType"];
|
|
@@ -2093,6 +2291,21 @@ export interface components {
|
|
|
2093
2291
|
McpAuthParamType: "header" | "query";
|
|
2094
2292
|
/** @enum {string} */
|
|
2095
2293
|
McpAuthType: "public" | "header" | "oauth";
|
|
2294
|
+
/** @description MCP connect grant. `All` is a wildcard (incl. future MCPs); `Specific` lists
|
|
2295
|
+
* the user's own instance ids (empty ⇒ no MCP access).
|
|
2296
|
+
*
|
|
2297
|
+
* Defaults to **least-privilege** (empty `Specific` ⇒ deny), symmetric with
|
|
2298
|
+
* `ModelGrant`: an unspecified or legacy grant grants nothing, so a stored
|
|
2299
|
+
* payload that omits `mcps` cannot silently grant every MCP. All-access must be
|
|
2300
|
+
* requested explicitly via `McpGrant::All`. */
|
|
2301
|
+
McpGrant: {
|
|
2302
|
+
/** @enum {string} */
|
|
2303
|
+
type: "all";
|
|
2304
|
+
} | {
|
|
2305
|
+
ids: string[];
|
|
2306
|
+
/** @enum {string} */
|
|
2307
|
+
type: "specific";
|
|
2308
|
+
};
|
|
2096
2309
|
McpInstance: {
|
|
2097
2310
|
id: string;
|
|
2098
2311
|
/** @description MCP proxy path for this instance (e.g. `/bodhi/v1/apps/mcps/{id}/mcp`) */
|
|
@@ -2100,51 +2313,37 @@ export interface components {
|
|
|
2100
2313
|
};
|
|
2101
2314
|
/** @description Input for creating or updating an MCP instance. */
|
|
2102
2315
|
McpRequest: {
|
|
2103
|
-
/** @description Human-readable name (required) */
|
|
2104
2316
|
name: string;
|
|
2105
|
-
/** @description
|
|
2317
|
+
/** @description 1-24 chars, alphanumeric + hyphens. */
|
|
2106
2318
|
slug: string;
|
|
2107
|
-
/** @description
|
|
2319
|
+
/** @description Required for create, ignored for update. */
|
|
2108
2320
|
mcp_server_id?: string | null;
|
|
2109
|
-
/** @description Optional description */
|
|
2110
2321
|
description?: string | null;
|
|
2111
|
-
/** @description Whether this instance is enabled */
|
|
2112
2322
|
enabled: boolean;
|
|
2113
|
-
/** @description Authentication type */
|
|
2114
2323
|
auth_type?: components["schemas"]["McpAuthType"];
|
|
2115
|
-
/** @description Reference to auth config */
|
|
2116
2324
|
auth_config_id?: string | null;
|
|
2117
|
-
/** @description Instance-level
|
|
2325
|
+
/** @description Instance-level values for the auth config's key definitions. */
|
|
2118
2326
|
credentials?: components["schemas"]["McpAuthParamInput"][] | null;
|
|
2119
|
-
/** @description OAuth token ID to link to this MCP instance (set after OAuth flow) */
|
|
2327
|
+
/** @description OAuth token ID to link to this MCP instance (set after OAuth flow). */
|
|
2120
2328
|
oauth_token_id?: string | null;
|
|
2121
2329
|
};
|
|
2122
|
-
/** @description Admin-managed MCP server registry entry.
|
|
2123
|
-
* Admins/managers register MCP server URLs that users can then create instances of. */
|
|
2330
|
+
/** @description Admin-managed MCP server registry entry that users create instances of. */
|
|
2124
2331
|
McpServer: {
|
|
2125
|
-
/** @description Unique identifier (UUID) */
|
|
2126
2332
|
id: string;
|
|
2127
2333
|
/** @description MCP server endpoint URL (trimmed, case-insensitive unique) */
|
|
2128
2334
|
url: string;
|
|
2129
|
-
/** @description Human-readable display name */
|
|
2130
2335
|
name: string;
|
|
2131
|
-
/** @description Optional description */
|
|
2132
2336
|
description?: string | null;
|
|
2133
|
-
/** @description Whether this MCP server is enabled */
|
|
2134
2337
|
enabled: boolean;
|
|
2135
|
-
/** @description User who created this entry */
|
|
2136
2338
|
created_by: string;
|
|
2137
|
-
/** @description User who last updated this entry */
|
|
2138
2339
|
updated_by: string;
|
|
2139
2340
|
/**
|
|
2140
2341
|
* Format: date-time
|
|
2141
|
-
* @description When this entry was created
|
|
2142
2342
|
* @example 2024-11-10T04:52:06.786Z
|
|
2143
2343
|
*/
|
|
2144
2344
|
created_at: string;
|
|
2145
2345
|
/**
|
|
2146
2346
|
* Format: date-time
|
|
2147
|
-
* @description When this entry was last updated
|
|
2148
2347
|
* @example 2024-11-10T04:52:06.786Z
|
|
2149
2348
|
*/
|
|
2150
2349
|
updated_at: string;
|
|
@@ -2158,13 +2357,10 @@ export interface components {
|
|
|
2158
2357
|
};
|
|
2159
2358
|
/** @description Input for creating or updating an MCP server. */
|
|
2160
2359
|
McpServerRequest: {
|
|
2161
|
-
/** @description MCP server endpoint URL (trimmed, case-insensitive unique) */
|
|
2360
|
+
/** @description MCP server endpoint URL (trimmed, case-insensitive unique). */
|
|
2162
2361
|
url: string;
|
|
2163
|
-
/** @description Human-readable display name */
|
|
2164
2362
|
name: string;
|
|
2165
|
-
/** @description Optional description */
|
|
2166
2363
|
description?: string | null;
|
|
2167
|
-
/** @description Whether this MCP server is enabled */
|
|
2168
2364
|
enabled: boolean;
|
|
2169
2365
|
auth_config?: null | components["schemas"]["CreateMcpAuthConfigRequest"];
|
|
2170
2366
|
};
|
|
@@ -2177,7 +2373,6 @@ export interface components {
|
|
|
2177
2373
|
auth_config?: null | components["schemas"]["McpAuthConfigResponse"];
|
|
2178
2374
|
};
|
|
2179
2375
|
McpServerReviewInfo: {
|
|
2180
|
-
/** @description Requested MCP server URL */
|
|
2181
2376
|
url: string;
|
|
2182
2377
|
/** @description User's MCP instances connected to this server URL */
|
|
2183
2378
|
instances: components["schemas"]["Mcp"][];
|
|
@@ -2210,6 +2405,11 @@ export interface components {
|
|
|
2210
2405
|
repo: string;
|
|
2211
2406
|
filename: string;
|
|
2212
2407
|
snapshot: string;
|
|
2408
|
+
/**
|
|
2409
|
+
* Format: int64
|
|
2410
|
+
* @description Local GGUF file size in bytes (present when the file is resolvable on disk)
|
|
2411
|
+
*/
|
|
2412
|
+
size?: number | null;
|
|
2213
2413
|
metadata?: null | components["schemas"]["ModelMetadata"];
|
|
2214
2414
|
};
|
|
2215
2415
|
ModelArchitecture: {
|
|
@@ -2225,6 +2425,20 @@ export interface components {
|
|
|
2225
2425
|
thinking?: boolean | null;
|
|
2226
2426
|
tools: components["schemas"]["ToolCapabilities"];
|
|
2227
2427
|
};
|
|
2428
|
+
/** @description Model inference grant. `All` is a wildcard that includes models added in the
|
|
2429
|
+
* future; `Specific` lists alias ids (empty ⇒ no model access).
|
|
2430
|
+
*
|
|
2431
|
+
* Defaults to **least-privilege** (empty `Specific` ⇒ deny): an unspecified or
|
|
2432
|
+
* legacy grant grants nothing. All-access must be requested explicitly via
|
|
2433
|
+
* `ModelGrant::All`. Symmetric with `ApprovedResourcesV1`'s empty-MCP default. */
|
|
2434
|
+
ModelGrant: {
|
|
2435
|
+
/** @enum {string} */
|
|
2436
|
+
type: "all";
|
|
2437
|
+
} | {
|
|
2438
|
+
ids: string[];
|
|
2439
|
+
/** @enum {string} */
|
|
2440
|
+
type: "specific";
|
|
2441
|
+
};
|
|
2228
2442
|
/** @description Model metadata for API responses */
|
|
2229
2443
|
ModelMetadata: {
|
|
2230
2444
|
capabilities: components["schemas"]["ModelCapabilities"];
|
|
@@ -2232,6 +2446,39 @@ export interface components {
|
|
|
2232
2446
|
architecture: components["schemas"]["ModelArchitecture"];
|
|
2233
2447
|
chat_template?: string | null;
|
|
2234
2448
|
};
|
|
2449
|
+
/** @description A composite alias that fronts an ordered list of targets and routes a chat
|
|
2450
|
+
* request through them via a pluggable strategy. v1 ships only the fallback strategy. */
|
|
2451
|
+
ModelRouterAlias: {
|
|
2452
|
+
id: string;
|
|
2453
|
+
/** @description User-facing model name, unique across all alias kinds. */
|
|
2454
|
+
alias: string;
|
|
2455
|
+
/** @description Ordered list of targets; order is the fallback priority. */
|
|
2456
|
+
targets: components["schemas"]["RouterTarget"][];
|
|
2457
|
+
strategy: components["schemas"]["RoutingStrategyConfig"];
|
|
2458
|
+
/** Format: date-time */
|
|
2459
|
+
created_at: string;
|
|
2460
|
+
/** Format: date-time */
|
|
2461
|
+
updated_at: string;
|
|
2462
|
+
};
|
|
2463
|
+
/** @description Input request for creating or updating a model-router. Used as `ValidatedJson` in handlers
|
|
2464
|
+
* for both create and update (PUT). A zero-target or all-disabled router is allowed to save. */
|
|
2465
|
+
ModelRouterRequest: {
|
|
2466
|
+
alias: string;
|
|
2467
|
+
targets?: components["schemas"]["RouterTargetRequest"][];
|
|
2468
|
+
strategy?: components["schemas"]["RoutingStrategyConfig"];
|
|
2469
|
+
};
|
|
2470
|
+
/** @description API response for model-router aliases. */
|
|
2471
|
+
ModelRouterResponse: {
|
|
2472
|
+
source: string;
|
|
2473
|
+
id: string;
|
|
2474
|
+
alias: string;
|
|
2475
|
+
targets: components["schemas"]["RouterTarget"][];
|
|
2476
|
+
strategy: components["schemas"]["RoutingStrategyConfig"];
|
|
2477
|
+
/** Format: date-time */
|
|
2478
|
+
created_at: string;
|
|
2479
|
+
/** Format: date-time */
|
|
2480
|
+
updated_at: string;
|
|
2481
|
+
};
|
|
2235
2482
|
/**
|
|
2236
2483
|
* @description Request for creating a new download request
|
|
2237
2484
|
* @example {
|
|
@@ -2266,6 +2513,7 @@ export interface components {
|
|
|
2266
2513
|
/** Format: float */
|
|
2267
2514
|
top_p?: number | null;
|
|
2268
2515
|
user?: string | null;
|
|
2516
|
+
system_prompt?: string | null;
|
|
2269
2517
|
};
|
|
2270
2518
|
OAuthDiscoverAsRequest: {
|
|
2271
2519
|
url: string;
|
|
@@ -2324,7 +2572,6 @@ export interface components {
|
|
|
2324
2572
|
page: number;
|
|
2325
2573
|
page_size: number;
|
|
2326
2574
|
};
|
|
2327
|
-
/** @description Paginated list of local model files */
|
|
2328
2575
|
PaginatedLocalModelResponse: {
|
|
2329
2576
|
data: components["schemas"]["LocalModelResponse"][];
|
|
2330
2577
|
total: number;
|
|
@@ -2408,7 +2655,6 @@ export interface components {
|
|
|
2408
2655
|
*/
|
|
2409
2656
|
message: string;
|
|
2410
2657
|
};
|
|
2411
|
-
/** @description Response for queue status operations */
|
|
2412
2658
|
QueueStatusResponse: {
|
|
2413
2659
|
/** @description Queue status ("idle" or "processing") */
|
|
2414
2660
|
status: string;
|
|
@@ -2466,17 +2712,82 @@ export interface components {
|
|
|
2466
2712
|
RequestedMcpServer: {
|
|
2467
2713
|
url: string;
|
|
2468
2714
|
};
|
|
2469
|
-
/** @description
|
|
2470
|
-
* The `version` tag is mandatory — clients must specify which version they are using. */
|
|
2715
|
+
/** @description The `version` tag is mandatory — clients must specify which version they are using. */
|
|
2471
2716
|
RequestedResources: components["schemas"]["RequestedResourcesV1"] & {
|
|
2472
2717
|
/** @enum {string} */
|
|
2473
2718
|
version: "1";
|
|
2474
2719
|
};
|
|
2720
|
+
/** @description What the external app asks for. The four booleans are **UI drivers**: they tell
|
|
2721
|
+
* the consent screen which controls to render (the owner decides the actual grant).
|
|
2722
|
+
* Fields are domain-first (`models_*` / `mcps_*`), matching `ApprovedResourcesV1`.
|
|
2723
|
+
* `mcp_servers` is the existing by-url MCP request and is unchanged.
|
|
2724
|
+
*
|
|
2725
|
+
* `models_access` defaults to **true**: unless the app explicitly opts out
|
|
2726
|
+
* (`models_access: false`), the consent screen shows the model-access selector so
|
|
2727
|
+
* the owner can always scope models. (The other UI-driver flags default to false.) */
|
|
2475
2728
|
RequestedResourcesV1: {
|
|
2729
|
+
/** @description Render the "list all models" toggle. */
|
|
2730
|
+
models_list?: boolean;
|
|
2731
|
+
/** @description Render the model All/Specific access selector. Defaults to `true` (shown). */
|
|
2732
|
+
models_access?: boolean;
|
|
2733
|
+
/** @description Render the "list all MCPs" toggle. */
|
|
2734
|
+
mcps_list?: boolean;
|
|
2735
|
+
/** @description Render the owner-extra MCP All/Specific access selector. */
|
|
2736
|
+
mcps_access?: boolean;
|
|
2476
2737
|
mcp_servers?: components["schemas"]["RequestedMcpServer"][];
|
|
2477
2738
|
};
|
|
2739
|
+
/** @description Effective access to a class of resources (models or MCPs) for an API token,
|
|
2740
|
+
* reflected from its grants. Discriminated on `type`: `all` ⇒ every current and
|
|
2741
|
+
* future resource; `specific` ⇒ the listed `ids` (empty ⇒ no access).
|
|
2742
|
+
* `list` is the `list_*` toggle (whether the token may enumerate the full catalog). */
|
|
2743
|
+
ResourceAccess: {
|
|
2744
|
+
list: boolean;
|
|
2745
|
+
/** @enum {string} */
|
|
2746
|
+
type: "all";
|
|
2747
|
+
} | {
|
|
2748
|
+
list: boolean;
|
|
2749
|
+
ids: string[];
|
|
2750
|
+
/** @enum {string} */
|
|
2751
|
+
type: "specific";
|
|
2752
|
+
};
|
|
2753
|
+
/** @description Effective resource access for a token-bearing principal (API token or external
|
|
2754
|
+
* app), reflected from its grants. Reported uniformly via the `access` envelope
|
|
2755
|
+
* field for both principals. */
|
|
2756
|
+
ResourceAccessInfo: {
|
|
2757
|
+
/** @description Effective model access for this principal. */
|
|
2758
|
+
models: components["schemas"]["ResourceAccess"];
|
|
2759
|
+
/** @description Effective MCP access for this principal. */
|
|
2760
|
+
mcps: components["schemas"]["ResourceAccess"];
|
|
2761
|
+
};
|
|
2478
2762
|
/** @enum {string} */
|
|
2479
2763
|
ResourceRole: "resource_anonymous" | "resource_guest" | "resource_user" | "resource_power_user" | "resource_manager" | "resource_admin";
|
|
2764
|
+
/** @description One target in a model-router: a reference to an existing alias plus a pinned model. */
|
|
2765
|
+
RouterTarget: {
|
|
2766
|
+
/** @description Name of an existing user/model/api alias (NOT a model-router). */
|
|
2767
|
+
alias: string;
|
|
2768
|
+
/** @description Concrete model placed into `request["model"]` when forwarding to this target. */
|
|
2769
|
+
model: string;
|
|
2770
|
+
/** @description Whether this target is part of the active sequence. Disabled targets are never
|
|
2771
|
+
* attempted but keep their config and position. Defaults to enabled. */
|
|
2772
|
+
enabled?: boolean;
|
|
2773
|
+
/**
|
|
2774
|
+
* Format: int32
|
|
2775
|
+
* @description SEAM (reserved): ignored by Fallback; used by a future weighted strategy.
|
|
2776
|
+
*/
|
|
2777
|
+
weight?: number | null;
|
|
2778
|
+
};
|
|
2779
|
+
RouterTargetRequest: {
|
|
2780
|
+
alias: string;
|
|
2781
|
+
model: string;
|
|
2782
|
+
enabled?: boolean;
|
|
2783
|
+
/** Format: int32 */
|
|
2784
|
+
weight?: number | null;
|
|
2785
|
+
};
|
|
2786
|
+
/** @description Routing strategy config — DATA (persisted, wire-exposed). Adding a strategy = adding a variant. */
|
|
2787
|
+
RoutingStrategyConfig: components["schemas"]["FallbackConfig"] & {
|
|
2788
|
+
/** @enum {string} */
|
|
2789
|
+
strategy: "fallback";
|
|
2790
|
+
};
|
|
2480
2791
|
SettingInfo: {
|
|
2481
2792
|
key: string;
|
|
2482
2793
|
current_value: unknown;
|
|
@@ -2601,12 +2912,10 @@ export interface components {
|
|
|
2601
2912
|
response?: string | null;
|
|
2602
2913
|
error?: string | null;
|
|
2603
2914
|
};
|
|
2604
|
-
/** @description Thinking capability and supported type configurations. */
|
|
2605
2915
|
ThinkingCapability: {
|
|
2606
2916
|
supported: boolean;
|
|
2607
2917
|
types: components["schemas"]["ThinkingTypes"];
|
|
2608
2918
|
};
|
|
2609
|
-
/** @description Supported thinking type configurations. */
|
|
2610
2919
|
ThinkingTypes: {
|
|
2611
2920
|
adaptive: components["schemas"]["CapabilitySupport"];
|
|
2612
2921
|
enabled: components["schemas"]["CapabilitySupport"];
|
|
@@ -2628,12 +2937,35 @@ export interface components {
|
|
|
2628
2937
|
token_prefix: string;
|
|
2629
2938
|
scopes: string;
|
|
2630
2939
|
status: components["schemas"]["TokenStatus"];
|
|
2940
|
+
/** @description Per-resource grants this token carries. */
|
|
2941
|
+
grants: components["schemas"]["TokenGrants"];
|
|
2942
|
+
/** Format: date-time */
|
|
2943
|
+
last_used_at?: string | null;
|
|
2631
2944
|
/** Format: date-time */
|
|
2632
2945
|
created_at: string;
|
|
2633
2946
|
/** Format: date-time */
|
|
2634
2947
|
updated_at: string;
|
|
2635
2948
|
};
|
|
2636
|
-
/** @description
|
|
2949
|
+
/** @description Versioned envelope; the `version` tag is mandatory (mirrors `ApprovedResources`). */
|
|
2950
|
+
TokenGrants: components["schemas"]["TokenGrantsV1"] & {
|
|
2951
|
+
/** @enum {string} */
|
|
2952
|
+
version: "1";
|
|
2953
|
+
};
|
|
2954
|
+
/** @description Per-resource grants carried by an API token. Listing (`models_list` /
|
|
2955
|
+
* `mcps_list`) is separate from inference/connect: with listing off the
|
|
2956
|
+
* discovery endpoints return an empty set, but inference on an individually
|
|
2957
|
+
* granted resource still succeeds.
|
|
2958
|
+
*
|
|
2959
|
+
* Intentionally standalone — NOT shared with the App-access-request envelope
|
|
2960
|
+
* (`ApprovedResources`); the two may diverge. */
|
|
2961
|
+
TokenGrantsV1: {
|
|
2962
|
+
models_list?: boolean;
|
|
2963
|
+
models?: components["schemas"]["ModelGrant"];
|
|
2964
|
+
mcps_list?: boolean;
|
|
2965
|
+
mcps?: components["schemas"]["McpGrant"];
|
|
2966
|
+
};
|
|
2967
|
+
/** @description API Token information response. Effective model/MCP access is reported uniformly
|
|
2968
|
+
* via the envelope's `access` field (same shape as external apps), not inline here. */
|
|
2637
2969
|
TokenInfo: {
|
|
2638
2970
|
role: components["schemas"]["TokenScope"];
|
|
2639
2971
|
};
|
|
@@ -2645,14 +2977,11 @@ export interface components {
|
|
|
2645
2977
|
function_calling?: boolean | null;
|
|
2646
2978
|
structured_output?: boolean | null;
|
|
2647
2979
|
};
|
|
2648
|
-
/**
|
|
2649
|
-
* @description Request to update a setting value
|
|
2650
|
-
* @example {
|
|
2980
|
+
/** @example {
|
|
2651
2981
|
* "value": "debug"
|
|
2652
|
-
* }
|
|
2653
|
-
*/
|
|
2982
|
+
* } */
|
|
2654
2983
|
UpdateSettingRequest: {
|
|
2655
|
-
/** @description
|
|
2984
|
+
/** @description type depends on setting metadata */
|
|
2656
2985
|
value: unknown;
|
|
2657
2986
|
};
|
|
2658
2987
|
/** @example {
|
|
@@ -2765,6 +3094,11 @@ export interface components {
|
|
|
2765
3094
|
created_at: string;
|
|
2766
3095
|
/** Format: date-time */
|
|
2767
3096
|
updated_at: string;
|
|
3097
|
+
/**
|
|
3098
|
+
* Format: int64
|
|
3099
|
+
* @description Local GGUF file size in bytes (present when the file is resolvable on disk)
|
|
3100
|
+
*/
|
|
3101
|
+
size?: number | null;
|
|
2768
3102
|
metadata?: null | components["schemas"]["ModelMetadata"];
|
|
2769
3103
|
};
|
|
2770
3104
|
UserInfo: {
|
|
@@ -2777,10 +3111,14 @@ export interface components {
|
|
|
2777
3111
|
/** @example Doe */
|
|
2778
3112
|
last_name?: string | null;
|
|
2779
3113
|
role?: null | components["schemas"]["AppRole"];
|
|
3114
|
+
/** @description OIDC id_token for the active session, when present. Used by the frontend to
|
|
3115
|
+
* authenticate direct calls to the external reference API. Omitted for token/exchange auth. */
|
|
3116
|
+
id_token?: string | null;
|
|
2780
3117
|
};
|
|
2781
3118
|
/** @description Envelope wrapping UserResponse with additional session info */
|
|
2782
3119
|
UserInfoEnvelope: components["schemas"]["UserResponse"] & {
|
|
2783
3120
|
dashboard?: null | components["schemas"]["DashboardUser"];
|
|
3121
|
+
access?: null | components["schemas"]["ResourceAccessInfo"];
|
|
2784
3122
|
};
|
|
2785
3123
|
UserListResponse: {
|
|
2786
3124
|
/** @example resource-abc123def456 */
|
|
@@ -2906,31 +3244,22 @@ export interface operations {
|
|
|
2906
3244
|
};
|
|
2907
3245
|
};
|
|
2908
3246
|
};
|
|
2909
|
-
|
|
3247
|
+
listAppAccess: {
|
|
2910
3248
|
parameters: {
|
|
2911
|
-
query?:
|
|
2912
|
-
/** @description Page number (1-based indexing) */
|
|
2913
|
-
page?: number;
|
|
2914
|
-
/** @description Number of items to return per page (maximum 100) */
|
|
2915
|
-
page_size?: number;
|
|
2916
|
-
/** @description Field to sort by. Common values: repo, filename, size, updated_at, snapshot, created_at */
|
|
2917
|
-
sort?: string;
|
|
2918
|
-
/** @description Sort order: 'asc' for ascending, 'desc' for descending */
|
|
2919
|
-
sort_order?: string;
|
|
2920
|
-
};
|
|
3249
|
+
query?: never;
|
|
2921
3250
|
header?: never;
|
|
2922
3251
|
path?: never;
|
|
2923
3252
|
cookie?: never;
|
|
2924
3253
|
};
|
|
2925
3254
|
requestBody?: never;
|
|
2926
3255
|
responses: {
|
|
2927
|
-
/** @description
|
|
3256
|
+
/** @description Issued app tokens */
|
|
2928
3257
|
200: {
|
|
2929
3258
|
headers: {
|
|
2930
3259
|
[name: string]: unknown;
|
|
2931
3260
|
};
|
|
2932
3261
|
content: {
|
|
2933
|
-
"application/json": components["schemas"]["
|
|
3262
|
+
"application/json": components["schemas"]["ListAppAccessResponse"];
|
|
2934
3263
|
};
|
|
2935
3264
|
};
|
|
2936
3265
|
/** @description Invalid request parameters */
|
|
@@ -2971,22 +3300,87 @@ export interface operations {
|
|
|
2971
3300
|
};
|
|
2972
3301
|
};
|
|
2973
3302
|
};
|
|
2974
|
-
|
|
3303
|
+
listPendingAccessRequests: {
|
|
2975
3304
|
parameters: {
|
|
2976
|
-
query?:
|
|
2977
|
-
|
|
2978
|
-
|
|
2979
|
-
/** @description
|
|
2980
|
-
|
|
3305
|
+
query?: {
|
|
3306
|
+
/** @description Page number (1-based indexing) */
|
|
3307
|
+
page?: number;
|
|
3308
|
+
/** @description Number of items to return per page (maximum 100) */
|
|
3309
|
+
page_size?: number;
|
|
3310
|
+
/** @description Field to sort by. Common values: repo, filename, size, updated_at, snapshot, created_at */
|
|
3311
|
+
sort?: string;
|
|
3312
|
+
/** @description Sort order: 'asc' for ascending, 'desc' for descending */
|
|
3313
|
+
sort_order?: string;
|
|
2981
3314
|
};
|
|
3315
|
+
header?: never;
|
|
3316
|
+
path?: never;
|
|
2982
3317
|
cookie?: never;
|
|
2983
3318
|
};
|
|
2984
|
-
|
|
2985
|
-
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
|
|
2989
|
-
|
|
3319
|
+
requestBody?: never;
|
|
3320
|
+
responses: {
|
|
3321
|
+
/** @description Pending requests retrieved */
|
|
3322
|
+
200: {
|
|
3323
|
+
headers: {
|
|
3324
|
+
[name: string]: unknown;
|
|
3325
|
+
};
|
|
3326
|
+
content: {
|
|
3327
|
+
"application/json": components["schemas"]["PaginatedUserAccessResponse"];
|
|
3328
|
+
};
|
|
3329
|
+
};
|
|
3330
|
+
/** @description Invalid request parameters */
|
|
3331
|
+
400: {
|
|
3332
|
+
headers: {
|
|
3333
|
+
[name: string]: unknown;
|
|
3334
|
+
};
|
|
3335
|
+
content: {
|
|
3336
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
3337
|
+
};
|
|
3338
|
+
};
|
|
3339
|
+
/** @description Not authenticated */
|
|
3340
|
+
401: {
|
|
3341
|
+
headers: {
|
|
3342
|
+
[name: string]: unknown;
|
|
3343
|
+
};
|
|
3344
|
+
content: {
|
|
3345
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
3346
|
+
};
|
|
3347
|
+
};
|
|
3348
|
+
/** @description Insufficient permissions */
|
|
3349
|
+
403: {
|
|
3350
|
+
headers: {
|
|
3351
|
+
[name: string]: unknown;
|
|
3352
|
+
};
|
|
3353
|
+
content: {
|
|
3354
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
3355
|
+
};
|
|
3356
|
+
};
|
|
3357
|
+
/** @description Internal server error */
|
|
3358
|
+
500: {
|
|
3359
|
+
headers: {
|
|
3360
|
+
[name: string]: unknown;
|
|
3361
|
+
};
|
|
3362
|
+
content: {
|
|
3363
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
3364
|
+
};
|
|
3365
|
+
};
|
|
3366
|
+
};
|
|
3367
|
+
};
|
|
3368
|
+
approveAppsAccessRequest: {
|
|
3369
|
+
parameters: {
|
|
3370
|
+
query?: never;
|
|
3371
|
+
header?: never;
|
|
3372
|
+
path: {
|
|
3373
|
+
/** @description Access request ID */
|
|
3374
|
+
id: string;
|
|
3375
|
+
};
|
|
3376
|
+
cookie?: never;
|
|
3377
|
+
};
|
|
3378
|
+
/** @description Approval details with tool selections */
|
|
3379
|
+
requestBody: {
|
|
3380
|
+
content: {
|
|
3381
|
+
"application/json": components["schemas"]["ApproveAccessRequest"];
|
|
3382
|
+
};
|
|
3383
|
+
};
|
|
2990
3384
|
responses: {
|
|
2991
3385
|
/** @description Request approved */
|
|
2992
3386
|
200: {
|
|
@@ -3344,6 +3738,83 @@ export interface operations {
|
|
|
3344
3738
|
};
|
|
3345
3739
|
};
|
|
3346
3740
|
};
|
|
3741
|
+
revokeAppAccess: {
|
|
3742
|
+
parameters: {
|
|
3743
|
+
query?: never;
|
|
3744
|
+
header?: never;
|
|
3745
|
+
path: {
|
|
3746
|
+
/** @description Access request ID */
|
|
3747
|
+
id: string;
|
|
3748
|
+
};
|
|
3749
|
+
cookie?: never;
|
|
3750
|
+
};
|
|
3751
|
+
requestBody?: never;
|
|
3752
|
+
responses: {
|
|
3753
|
+
/** @description Grant revoked */
|
|
3754
|
+
200: {
|
|
3755
|
+
headers: {
|
|
3756
|
+
[name: string]: unknown;
|
|
3757
|
+
};
|
|
3758
|
+
content: {
|
|
3759
|
+
"application/json": components["schemas"]["AppAccessSummary"];
|
|
3760
|
+
};
|
|
3761
|
+
};
|
|
3762
|
+
/** @description Invalid request parameters */
|
|
3763
|
+
400: {
|
|
3764
|
+
headers: {
|
|
3765
|
+
[name: string]: unknown;
|
|
3766
|
+
};
|
|
3767
|
+
content: {
|
|
3768
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
3769
|
+
};
|
|
3770
|
+
};
|
|
3771
|
+
/** @description Not authenticated */
|
|
3772
|
+
401: {
|
|
3773
|
+
headers: {
|
|
3774
|
+
[name: string]: unknown;
|
|
3775
|
+
};
|
|
3776
|
+
content: {
|
|
3777
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
3778
|
+
};
|
|
3779
|
+
};
|
|
3780
|
+
/** @description Insufficient permissions */
|
|
3781
|
+
403: {
|
|
3782
|
+
headers: {
|
|
3783
|
+
[name: string]: unknown;
|
|
3784
|
+
};
|
|
3785
|
+
content: {
|
|
3786
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
3787
|
+
};
|
|
3788
|
+
};
|
|
3789
|
+
/** @description Not found */
|
|
3790
|
+
404: {
|
|
3791
|
+
headers: {
|
|
3792
|
+
[name: string]: unknown;
|
|
3793
|
+
};
|
|
3794
|
+
content: {
|
|
3795
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
3796
|
+
};
|
|
3797
|
+
};
|
|
3798
|
+
/** @description Not in a revocable state */
|
|
3799
|
+
409: {
|
|
3800
|
+
headers: {
|
|
3801
|
+
[name: string]: unknown;
|
|
3802
|
+
};
|
|
3803
|
+
content: {
|
|
3804
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
3805
|
+
};
|
|
3806
|
+
};
|
|
3807
|
+
/** @description Internal server error */
|
|
3808
|
+
500: {
|
|
3809
|
+
headers: {
|
|
3810
|
+
[name: string]: unknown;
|
|
3811
|
+
};
|
|
3812
|
+
content: {
|
|
3813
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
3814
|
+
};
|
|
3815
|
+
};
|
|
3816
|
+
};
|
|
3817
|
+
};
|
|
3347
3818
|
getAccessRequestStatus: {
|
|
3348
3819
|
parameters: {
|
|
3349
3820
|
query: {
|
|
@@ -5353,6 +5824,22 @@ export interface operations {
|
|
|
5353
5824
|
sort?: string;
|
|
5354
5825
|
/** @description Sort order: 'asc' for ascending, 'desc' for descending */
|
|
5355
5826
|
sort_order?: string;
|
|
5827
|
+
/** @description Alias type facet (comma-separated): `local_file`, `model_alias`, `api_model`, `fallback`. */
|
|
5828
|
+
type?: string;
|
|
5829
|
+
/** @description API-format facet (comma-separated), API rows only: `openai`, `responses`, `anthropic`,
|
|
5830
|
+
* `gemini`, `liberty`. `anthropic` matches both anthropic and anthropic_oauth aliases. */
|
|
5831
|
+
api_format?: string;
|
|
5832
|
+
/** @description Minimum local-file size in bytes (inclusive). Applies to local rows with a known size;
|
|
5833
|
+
* rows without a size (API/router) are not filtered out by size. */
|
|
5834
|
+
size_min?: number;
|
|
5835
|
+
/** @description Maximum local-file size in bytes (inclusive). See `size_min`. */
|
|
5836
|
+
size_max?: number;
|
|
5837
|
+
/** @description Capability facet (comma-separated), local rows only: `vision`, `tool_use`, `reasoning`.
|
|
5838
|
+
* A row passes only if it has metadata with every requested capability set true. */
|
|
5839
|
+
capability?: string;
|
|
5840
|
+
/** @description Free-text search (case-insensitive substring) over a row's identifying fields — alias/name,
|
|
5841
|
+
* repo, filename for local rows; id, name, base_url for API rows; alias for routers. */
|
|
5842
|
+
search?: string;
|
|
5356
5843
|
};
|
|
5357
5844
|
header?: never;
|
|
5358
5845
|
path?: never;
|
|
@@ -6607,39 +7094,25 @@ export interface operations {
|
|
|
6607
7094
|
};
|
|
6608
7095
|
};
|
|
6609
7096
|
};
|
|
6610
|
-
|
|
7097
|
+
archiveDownload: {
|
|
6611
7098
|
parameters: {
|
|
6612
7099
|
query?: never;
|
|
6613
7100
|
header?: never;
|
|
6614
|
-
path
|
|
6615
|
-
|
|
6616
|
-
|
|
6617
|
-
/** @description Refresh request - either bulk (source='all') or single model (source='model' with identifiers) */
|
|
6618
|
-
requestBody: {
|
|
6619
|
-
content: {
|
|
6620
|
-
"application/json": components["schemas"]["RefreshRequest"];
|
|
7101
|
+
path: {
|
|
7102
|
+
/** @description Unique identifier of the download request */
|
|
7103
|
+
id: string;
|
|
6621
7104
|
};
|
|
7105
|
+
cookie?: never;
|
|
6622
7106
|
};
|
|
7107
|
+
requestBody?: never;
|
|
6623
7108
|
responses: {
|
|
6624
|
-
/** @description
|
|
7109
|
+
/** @description Download request archived */
|
|
6625
7110
|
200: {
|
|
6626
7111
|
headers: {
|
|
6627
7112
|
[name: string]: unknown;
|
|
6628
7113
|
};
|
|
6629
7114
|
content: {
|
|
6630
|
-
"application/json": components["schemas"]["
|
|
6631
|
-
};
|
|
6632
|
-
};
|
|
6633
|
-
/** @description Metadata refresh queued in background (bulk mode) */
|
|
6634
|
-
202: {
|
|
6635
|
-
headers: {
|
|
6636
|
-
[name: string]: unknown;
|
|
6637
|
-
};
|
|
6638
|
-
content: {
|
|
6639
|
-
/** @example {
|
|
6640
|
-
* "num_queued": "all"
|
|
6641
|
-
* } */
|
|
6642
|
-
"application/json": components["schemas"]["RefreshResponse"];
|
|
7115
|
+
"application/json": components["schemas"]["DownloadRequest"];
|
|
6643
7116
|
};
|
|
6644
7117
|
};
|
|
6645
7118
|
/** @description Invalid request parameters */
|
|
@@ -6669,12 +7142,14 @@ export interface operations {
|
|
|
6669
7142
|
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
6670
7143
|
};
|
|
6671
7144
|
};
|
|
6672
|
-
/** @description
|
|
7145
|
+
/** @description Download request not found */
|
|
6673
7146
|
404: {
|
|
6674
7147
|
headers: {
|
|
6675
7148
|
[name: string]: unknown;
|
|
6676
7149
|
};
|
|
6677
|
-
content
|
|
7150
|
+
content: {
|
|
7151
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7152
|
+
};
|
|
6678
7153
|
};
|
|
6679
7154
|
/** @description Internal server error */
|
|
6680
7155
|
500: {
|
|
@@ -6687,25 +7162,25 @@ export interface operations {
|
|
|
6687
7162
|
};
|
|
6688
7163
|
};
|
|
6689
7164
|
};
|
|
6690
|
-
|
|
7165
|
+
retryDownload: {
|
|
6691
7166
|
parameters: {
|
|
6692
7167
|
query?: never;
|
|
6693
7168
|
header?: never;
|
|
6694
7169
|
path: {
|
|
6695
|
-
/** @description
|
|
7170
|
+
/** @description Unique identifier of the download request */
|
|
6696
7171
|
id: string;
|
|
6697
7172
|
};
|
|
6698
7173
|
cookie?: never;
|
|
6699
7174
|
};
|
|
6700
7175
|
requestBody?: never;
|
|
6701
7176
|
responses: {
|
|
6702
|
-
/** @description
|
|
7177
|
+
/** @description Download request reset and re-started */
|
|
6703
7178
|
200: {
|
|
6704
7179
|
headers: {
|
|
6705
7180
|
[name: string]: unknown;
|
|
6706
7181
|
};
|
|
6707
7182
|
content: {
|
|
6708
|
-
"application/json": components["schemas"]["
|
|
7183
|
+
"application/json": components["schemas"]["DownloadRequest"];
|
|
6709
7184
|
};
|
|
6710
7185
|
};
|
|
6711
7186
|
/** @description Invalid request parameters */
|
|
@@ -6735,19 +7210,12 @@ export interface operations {
|
|
|
6735
7210
|
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
6736
7211
|
};
|
|
6737
7212
|
};
|
|
6738
|
-
/** @description
|
|
7213
|
+
/** @description Download request not found */
|
|
6739
7214
|
404: {
|
|
6740
7215
|
headers: {
|
|
6741
7216
|
[name: string]: unknown;
|
|
6742
7217
|
};
|
|
6743
7218
|
content: {
|
|
6744
|
-
/** @example {
|
|
6745
|
-
* "error": {
|
|
6746
|
-
* "code": "alias_not_found",
|
|
6747
|
-
* "message": "Alias 'unknown:model' not found",
|
|
6748
|
-
* "type": "not_found_error"
|
|
6749
|
-
* }
|
|
6750
|
-
* } */
|
|
6751
7219
|
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
6752
7220
|
};
|
|
6753
7221
|
};
|
|
@@ -6762,25 +7230,39 @@ export interface operations {
|
|
|
6762
7230
|
};
|
|
6763
7231
|
};
|
|
6764
7232
|
};
|
|
6765
|
-
|
|
7233
|
+
refreshModelMetadata: {
|
|
6766
7234
|
parameters: {
|
|
6767
7235
|
query?: never;
|
|
6768
7236
|
header?: never;
|
|
6769
7237
|
path?: never;
|
|
6770
7238
|
cookie?: never;
|
|
6771
7239
|
};
|
|
6772
|
-
|
|
7240
|
+
/** @description Refresh request - either bulk (source='all') or single model (source='model' with identifiers) */
|
|
7241
|
+
requestBody: {
|
|
7242
|
+
content: {
|
|
7243
|
+
"application/json": components["schemas"]["RefreshRequest"];
|
|
7244
|
+
};
|
|
7245
|
+
};
|
|
6773
7246
|
responses: {
|
|
6774
|
-
/** @description
|
|
7247
|
+
/** @description Metadata refreshed successfully (sync mode) */
|
|
6775
7248
|
200: {
|
|
7249
|
+
headers: {
|
|
7250
|
+
[name: string]: unknown;
|
|
7251
|
+
};
|
|
7252
|
+
content: {
|
|
7253
|
+
"application/json": components["schemas"]["ModelAliasResponse"];
|
|
7254
|
+
};
|
|
7255
|
+
};
|
|
7256
|
+
/** @description Metadata refresh queued in background (bulk mode) */
|
|
7257
|
+
202: {
|
|
6776
7258
|
headers: {
|
|
6777
7259
|
[name: string]: unknown;
|
|
6778
7260
|
};
|
|
6779
7261
|
content: {
|
|
6780
7262
|
/** @example {
|
|
6781
|
-
* "
|
|
7263
|
+
* "num_queued": "all"
|
|
6782
7264
|
* } */
|
|
6783
|
-
"application/json": components["schemas"]["
|
|
7265
|
+
"application/json": components["schemas"]["RefreshResponse"];
|
|
6784
7266
|
};
|
|
6785
7267
|
};
|
|
6786
7268
|
/** @description Invalid request parameters */
|
|
@@ -6810,6 +7292,13 @@ export interface operations {
|
|
|
6810
7292
|
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
6811
7293
|
};
|
|
6812
7294
|
};
|
|
7295
|
+
/** @description Model alias not found for specified repo/filename/snapshot */
|
|
7296
|
+
404: {
|
|
7297
|
+
headers: {
|
|
7298
|
+
[name: string]: unknown;
|
|
7299
|
+
};
|
|
7300
|
+
content?: never;
|
|
7301
|
+
};
|
|
6813
7302
|
/** @description Internal server error */
|
|
6814
7303
|
500: {
|
|
6815
7304
|
headers: {
|
|
@@ -6821,51 +7310,26 @@ export interface operations {
|
|
|
6821
7310
|
};
|
|
6822
7311
|
};
|
|
6823
7312
|
};
|
|
6824
|
-
|
|
7313
|
+
createModelRouter: {
|
|
6825
7314
|
parameters: {
|
|
6826
7315
|
query?: never;
|
|
6827
7316
|
header?: never;
|
|
6828
7317
|
path?: never;
|
|
6829
7318
|
cookie?: never;
|
|
6830
7319
|
};
|
|
6831
|
-
requestBody
|
|
7320
|
+
requestBody: {
|
|
7321
|
+
content: {
|
|
7322
|
+
"application/json": components["schemas"]["ModelRouterRequest"];
|
|
7323
|
+
};
|
|
7324
|
+
};
|
|
6832
7325
|
responses: {
|
|
6833
|
-
/** @description
|
|
6834
|
-
|
|
7326
|
+
/** @description Model-router created */
|
|
7327
|
+
201: {
|
|
6835
7328
|
headers: {
|
|
6836
7329
|
[name: string]: unknown;
|
|
6837
7330
|
};
|
|
6838
7331
|
content: {
|
|
6839
|
-
|
|
6840
|
-
* {
|
|
6841
|
-
* "current_value": "info",
|
|
6842
|
-
* "default_value": "warn",
|
|
6843
|
-
* "key": "BODHI_LOG_LEVEL",
|
|
6844
|
-
* "metadata": {
|
|
6845
|
-
* "options": [
|
|
6846
|
-
* "error",
|
|
6847
|
-
* "warn",
|
|
6848
|
-
* "info",
|
|
6849
|
-
* "debug",
|
|
6850
|
-
* "trace"
|
|
6851
|
-
* ],
|
|
6852
|
-
* "type": "option"
|
|
6853
|
-
* },
|
|
6854
|
-
* "source": "environment"
|
|
6855
|
-
* },
|
|
6856
|
-
* {
|
|
6857
|
-
* "current_value": 1135,
|
|
6858
|
-
* "default_value": 1135,
|
|
6859
|
-
* "key": "BODHI_PORT",
|
|
6860
|
-
* "metadata": {
|
|
6861
|
-
* "max": 65535,
|
|
6862
|
-
* "min": 1025,
|
|
6863
|
-
* "type": "number"
|
|
6864
|
-
* },
|
|
6865
|
-
* "source": "default"
|
|
6866
|
-
* }
|
|
6867
|
-
* ] */
|
|
6868
|
-
"application/json": components["schemas"]["SettingInfo"][];
|
|
7332
|
+
"application/json": components["schemas"]["ModelRouterResponse"];
|
|
6869
7333
|
};
|
|
6870
7334
|
};
|
|
6871
7335
|
/** @description Invalid request parameters */
|
|
@@ -6906,7 +7370,432 @@ export interface operations {
|
|
|
6906
7370
|
};
|
|
6907
7371
|
};
|
|
6908
7372
|
};
|
|
6909
|
-
|
|
7373
|
+
getModelRouter: {
|
|
7374
|
+
parameters: {
|
|
7375
|
+
query?: never;
|
|
7376
|
+
header?: never;
|
|
7377
|
+
path: {
|
|
7378
|
+
/** @description Unique identifier for the model-router alias */
|
|
7379
|
+
id: string;
|
|
7380
|
+
};
|
|
7381
|
+
cookie?: never;
|
|
7382
|
+
};
|
|
7383
|
+
requestBody?: never;
|
|
7384
|
+
responses: {
|
|
7385
|
+
/** @description Model-router configuration retrieved */
|
|
7386
|
+
200: {
|
|
7387
|
+
headers: {
|
|
7388
|
+
[name: string]: unknown;
|
|
7389
|
+
};
|
|
7390
|
+
content: {
|
|
7391
|
+
"application/json": components["schemas"]["ModelRouterResponse"];
|
|
7392
|
+
};
|
|
7393
|
+
};
|
|
7394
|
+
/** @description Invalid request parameters */
|
|
7395
|
+
400: {
|
|
7396
|
+
headers: {
|
|
7397
|
+
[name: string]: unknown;
|
|
7398
|
+
};
|
|
7399
|
+
content: {
|
|
7400
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7401
|
+
};
|
|
7402
|
+
};
|
|
7403
|
+
/** @description Not authenticated */
|
|
7404
|
+
401: {
|
|
7405
|
+
headers: {
|
|
7406
|
+
[name: string]: unknown;
|
|
7407
|
+
};
|
|
7408
|
+
content: {
|
|
7409
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7410
|
+
};
|
|
7411
|
+
};
|
|
7412
|
+
/** @description Insufficient permissions */
|
|
7413
|
+
403: {
|
|
7414
|
+
headers: {
|
|
7415
|
+
[name: string]: unknown;
|
|
7416
|
+
};
|
|
7417
|
+
content: {
|
|
7418
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7419
|
+
};
|
|
7420
|
+
};
|
|
7421
|
+
/** @description Model-router with specified ID not found */
|
|
7422
|
+
404: {
|
|
7423
|
+
headers: {
|
|
7424
|
+
[name: string]: unknown;
|
|
7425
|
+
};
|
|
7426
|
+
content: {
|
|
7427
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7428
|
+
};
|
|
7429
|
+
};
|
|
7430
|
+
/** @description Internal server error */
|
|
7431
|
+
500: {
|
|
7432
|
+
headers: {
|
|
7433
|
+
[name: string]: unknown;
|
|
7434
|
+
};
|
|
7435
|
+
content: {
|
|
7436
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7437
|
+
};
|
|
7438
|
+
};
|
|
7439
|
+
};
|
|
7440
|
+
};
|
|
7441
|
+
updateModelRouter: {
|
|
7442
|
+
parameters: {
|
|
7443
|
+
query?: never;
|
|
7444
|
+
header?: never;
|
|
7445
|
+
path: {
|
|
7446
|
+
/** @description Model-router ID */
|
|
7447
|
+
id: string;
|
|
7448
|
+
};
|
|
7449
|
+
cookie?: never;
|
|
7450
|
+
};
|
|
7451
|
+
requestBody: {
|
|
7452
|
+
content: {
|
|
7453
|
+
"application/json": components["schemas"]["ModelRouterRequest"];
|
|
7454
|
+
};
|
|
7455
|
+
};
|
|
7456
|
+
responses: {
|
|
7457
|
+
/** @description Model-router updated */
|
|
7458
|
+
200: {
|
|
7459
|
+
headers: {
|
|
7460
|
+
[name: string]: unknown;
|
|
7461
|
+
};
|
|
7462
|
+
content: {
|
|
7463
|
+
"application/json": components["schemas"]["ModelRouterResponse"];
|
|
7464
|
+
};
|
|
7465
|
+
};
|
|
7466
|
+
/** @description Invalid request parameters */
|
|
7467
|
+
400: {
|
|
7468
|
+
headers: {
|
|
7469
|
+
[name: string]: unknown;
|
|
7470
|
+
};
|
|
7471
|
+
content: {
|
|
7472
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7473
|
+
};
|
|
7474
|
+
};
|
|
7475
|
+
/** @description Not authenticated */
|
|
7476
|
+
401: {
|
|
7477
|
+
headers: {
|
|
7478
|
+
[name: string]: unknown;
|
|
7479
|
+
};
|
|
7480
|
+
content: {
|
|
7481
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7482
|
+
};
|
|
7483
|
+
};
|
|
7484
|
+
/** @description Insufficient permissions */
|
|
7485
|
+
403: {
|
|
7486
|
+
headers: {
|
|
7487
|
+
[name: string]: unknown;
|
|
7488
|
+
};
|
|
7489
|
+
content: {
|
|
7490
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7491
|
+
};
|
|
7492
|
+
};
|
|
7493
|
+
/** @description Model-router not found */
|
|
7494
|
+
404: {
|
|
7495
|
+
headers: {
|
|
7496
|
+
[name: string]: unknown;
|
|
7497
|
+
};
|
|
7498
|
+
content: {
|
|
7499
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7500
|
+
};
|
|
7501
|
+
};
|
|
7502
|
+
/** @description Internal server error */
|
|
7503
|
+
500: {
|
|
7504
|
+
headers: {
|
|
7505
|
+
[name: string]: unknown;
|
|
7506
|
+
};
|
|
7507
|
+
content: {
|
|
7508
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7509
|
+
};
|
|
7510
|
+
};
|
|
7511
|
+
};
|
|
7512
|
+
};
|
|
7513
|
+
deleteModelRouter: {
|
|
7514
|
+
parameters: {
|
|
7515
|
+
query?: never;
|
|
7516
|
+
header?: never;
|
|
7517
|
+
path: {
|
|
7518
|
+
/** @description Model-router ID */
|
|
7519
|
+
id: string;
|
|
7520
|
+
};
|
|
7521
|
+
cookie?: never;
|
|
7522
|
+
};
|
|
7523
|
+
requestBody?: never;
|
|
7524
|
+
responses: {
|
|
7525
|
+
/** @description Model-router deleted */
|
|
7526
|
+
204: {
|
|
7527
|
+
headers: {
|
|
7528
|
+
[name: string]: unknown;
|
|
7529
|
+
};
|
|
7530
|
+
content?: never;
|
|
7531
|
+
};
|
|
7532
|
+
/** @description Invalid request parameters */
|
|
7533
|
+
400: {
|
|
7534
|
+
headers: {
|
|
7535
|
+
[name: string]: unknown;
|
|
7536
|
+
};
|
|
7537
|
+
content: {
|
|
7538
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7539
|
+
};
|
|
7540
|
+
};
|
|
7541
|
+
/** @description Not authenticated */
|
|
7542
|
+
401: {
|
|
7543
|
+
headers: {
|
|
7544
|
+
[name: string]: unknown;
|
|
7545
|
+
};
|
|
7546
|
+
content: {
|
|
7547
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7548
|
+
};
|
|
7549
|
+
};
|
|
7550
|
+
/** @description Insufficient permissions */
|
|
7551
|
+
403: {
|
|
7552
|
+
headers: {
|
|
7553
|
+
[name: string]: unknown;
|
|
7554
|
+
};
|
|
7555
|
+
content: {
|
|
7556
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7557
|
+
};
|
|
7558
|
+
};
|
|
7559
|
+
/** @description Model-router not found */
|
|
7560
|
+
404: {
|
|
7561
|
+
headers: {
|
|
7562
|
+
[name: string]: unknown;
|
|
7563
|
+
};
|
|
7564
|
+
content: {
|
|
7565
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7566
|
+
};
|
|
7567
|
+
};
|
|
7568
|
+
/** @description Internal server error */
|
|
7569
|
+
500: {
|
|
7570
|
+
headers: {
|
|
7571
|
+
[name: string]: unknown;
|
|
7572
|
+
};
|
|
7573
|
+
content: {
|
|
7574
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7575
|
+
};
|
|
7576
|
+
};
|
|
7577
|
+
};
|
|
7578
|
+
};
|
|
7579
|
+
getAlias: {
|
|
7580
|
+
parameters: {
|
|
7581
|
+
query?: never;
|
|
7582
|
+
header?: never;
|
|
7583
|
+
path: {
|
|
7584
|
+
/** @description UUID of the alias */
|
|
7585
|
+
id: string;
|
|
7586
|
+
};
|
|
7587
|
+
cookie?: never;
|
|
7588
|
+
};
|
|
7589
|
+
requestBody?: never;
|
|
7590
|
+
responses: {
|
|
7591
|
+
/** @description Model alias details */
|
|
7592
|
+
200: {
|
|
7593
|
+
headers: {
|
|
7594
|
+
[name: string]: unknown;
|
|
7595
|
+
};
|
|
7596
|
+
content: {
|
|
7597
|
+
"application/json": components["schemas"]["UserAliasResponse"];
|
|
7598
|
+
};
|
|
7599
|
+
};
|
|
7600
|
+
/** @description Invalid request parameters */
|
|
7601
|
+
400: {
|
|
7602
|
+
headers: {
|
|
7603
|
+
[name: string]: unknown;
|
|
7604
|
+
};
|
|
7605
|
+
content: {
|
|
7606
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7607
|
+
};
|
|
7608
|
+
};
|
|
7609
|
+
/** @description Not authenticated */
|
|
7610
|
+
401: {
|
|
7611
|
+
headers: {
|
|
7612
|
+
[name: string]: unknown;
|
|
7613
|
+
};
|
|
7614
|
+
content: {
|
|
7615
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7616
|
+
};
|
|
7617
|
+
};
|
|
7618
|
+
/** @description Insufficient permissions */
|
|
7619
|
+
403: {
|
|
7620
|
+
headers: {
|
|
7621
|
+
[name: string]: unknown;
|
|
7622
|
+
};
|
|
7623
|
+
content: {
|
|
7624
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7625
|
+
};
|
|
7626
|
+
};
|
|
7627
|
+
/** @description Alias not found */
|
|
7628
|
+
404: {
|
|
7629
|
+
headers: {
|
|
7630
|
+
[name: string]: unknown;
|
|
7631
|
+
};
|
|
7632
|
+
content: {
|
|
7633
|
+
/** @example {
|
|
7634
|
+
* "error": {
|
|
7635
|
+
* "code": "alias_not_found",
|
|
7636
|
+
* "message": "Alias 'unknown:model' not found",
|
|
7637
|
+
* "type": "not_found_error"
|
|
7638
|
+
* }
|
|
7639
|
+
* } */
|
|
7640
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7641
|
+
};
|
|
7642
|
+
};
|
|
7643
|
+
/** @description Internal server error */
|
|
7644
|
+
500: {
|
|
7645
|
+
headers: {
|
|
7646
|
+
[name: string]: unknown;
|
|
7647
|
+
};
|
|
7648
|
+
content: {
|
|
7649
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7650
|
+
};
|
|
7651
|
+
};
|
|
7652
|
+
};
|
|
7653
|
+
};
|
|
7654
|
+
getQueueStatus: {
|
|
7655
|
+
parameters: {
|
|
7656
|
+
query?: never;
|
|
7657
|
+
header?: never;
|
|
7658
|
+
path?: never;
|
|
7659
|
+
cookie?: never;
|
|
7660
|
+
};
|
|
7661
|
+
requestBody?: never;
|
|
7662
|
+
responses: {
|
|
7663
|
+
/** @description Queue status retrieved successfully */
|
|
7664
|
+
200: {
|
|
7665
|
+
headers: {
|
|
7666
|
+
[name: string]: unknown;
|
|
7667
|
+
};
|
|
7668
|
+
content: {
|
|
7669
|
+
/** @example {
|
|
7670
|
+
* "status": "idle"
|
|
7671
|
+
* } */
|
|
7672
|
+
"application/json": components["schemas"]["QueueStatusResponse"];
|
|
7673
|
+
};
|
|
7674
|
+
};
|
|
7675
|
+
/** @description Invalid request parameters */
|
|
7676
|
+
400: {
|
|
7677
|
+
headers: {
|
|
7678
|
+
[name: string]: unknown;
|
|
7679
|
+
};
|
|
7680
|
+
content: {
|
|
7681
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7682
|
+
};
|
|
7683
|
+
};
|
|
7684
|
+
/** @description Not authenticated */
|
|
7685
|
+
401: {
|
|
7686
|
+
headers: {
|
|
7687
|
+
[name: string]: unknown;
|
|
7688
|
+
};
|
|
7689
|
+
content: {
|
|
7690
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7691
|
+
};
|
|
7692
|
+
};
|
|
7693
|
+
/** @description Insufficient permissions */
|
|
7694
|
+
403: {
|
|
7695
|
+
headers: {
|
|
7696
|
+
[name: string]: unknown;
|
|
7697
|
+
};
|
|
7698
|
+
content: {
|
|
7699
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7700
|
+
};
|
|
7701
|
+
};
|
|
7702
|
+
/** @description Internal server error */
|
|
7703
|
+
500: {
|
|
7704
|
+
headers: {
|
|
7705
|
+
[name: string]: unknown;
|
|
7706
|
+
};
|
|
7707
|
+
content: {
|
|
7708
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7709
|
+
};
|
|
7710
|
+
};
|
|
7711
|
+
};
|
|
7712
|
+
};
|
|
7713
|
+
listSettings: {
|
|
7714
|
+
parameters: {
|
|
7715
|
+
query?: never;
|
|
7716
|
+
header?: never;
|
|
7717
|
+
path?: never;
|
|
7718
|
+
cookie?: never;
|
|
7719
|
+
};
|
|
7720
|
+
requestBody?: never;
|
|
7721
|
+
responses: {
|
|
7722
|
+
/** @description Application settings retrieved successfully */
|
|
7723
|
+
200: {
|
|
7724
|
+
headers: {
|
|
7725
|
+
[name: string]: unknown;
|
|
7726
|
+
};
|
|
7727
|
+
content: {
|
|
7728
|
+
/** @example [
|
|
7729
|
+
* {
|
|
7730
|
+
* "current_value": "info",
|
|
7731
|
+
* "default_value": "warn",
|
|
7732
|
+
* "key": "BODHI_LOG_LEVEL",
|
|
7733
|
+
* "metadata": {
|
|
7734
|
+
* "options": [
|
|
7735
|
+
* "error",
|
|
7736
|
+
* "warn",
|
|
7737
|
+
* "info",
|
|
7738
|
+
* "debug",
|
|
7739
|
+
* "trace"
|
|
7740
|
+
* ],
|
|
7741
|
+
* "type": "option"
|
|
7742
|
+
* },
|
|
7743
|
+
* "source": "environment"
|
|
7744
|
+
* },
|
|
7745
|
+
* {
|
|
7746
|
+
* "current_value": 1135,
|
|
7747
|
+
* "default_value": 1135,
|
|
7748
|
+
* "key": "BODHI_PORT",
|
|
7749
|
+
* "metadata": {
|
|
7750
|
+
* "max": 65535,
|
|
7751
|
+
* "min": 1025,
|
|
7752
|
+
* "type": "number"
|
|
7753
|
+
* },
|
|
7754
|
+
* "source": "default"
|
|
7755
|
+
* }
|
|
7756
|
+
* ] */
|
|
7757
|
+
"application/json": components["schemas"]["SettingInfo"][];
|
|
7758
|
+
};
|
|
7759
|
+
};
|
|
7760
|
+
/** @description Invalid request parameters */
|
|
7761
|
+
400: {
|
|
7762
|
+
headers: {
|
|
7763
|
+
[name: string]: unknown;
|
|
7764
|
+
};
|
|
7765
|
+
content: {
|
|
7766
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7767
|
+
};
|
|
7768
|
+
};
|
|
7769
|
+
/** @description Not authenticated */
|
|
7770
|
+
401: {
|
|
7771
|
+
headers: {
|
|
7772
|
+
[name: string]: unknown;
|
|
7773
|
+
};
|
|
7774
|
+
content: {
|
|
7775
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7776
|
+
};
|
|
7777
|
+
};
|
|
7778
|
+
/** @description Insufficient permissions */
|
|
7779
|
+
403: {
|
|
7780
|
+
headers: {
|
|
7781
|
+
[name: string]: unknown;
|
|
7782
|
+
};
|
|
7783
|
+
content: {
|
|
7784
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7785
|
+
};
|
|
7786
|
+
};
|
|
7787
|
+
/** @description Internal server error */
|
|
7788
|
+
500: {
|
|
7789
|
+
headers: {
|
|
7790
|
+
[name: string]: unknown;
|
|
7791
|
+
};
|
|
7792
|
+
content: {
|
|
7793
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7794
|
+
};
|
|
7795
|
+
};
|
|
7796
|
+
};
|
|
7797
|
+
};
|
|
7798
|
+
updateSetting: {
|
|
6910
7799
|
parameters: {
|
|
6911
7800
|
query?: never;
|
|
6912
7801
|
header?: never;
|
|
@@ -6926,7 +7815,7 @@ export interface operations {
|
|
|
6926
7815
|
* "value": "debug"
|
|
6927
7816
|
* } */
|
|
6928
7817
|
"application/json": {
|
|
6929
|
-
/** @description
|
|
7818
|
+
/** @description type depends on setting metadata */
|
|
6930
7819
|
value: unknown;
|
|
6931
7820
|
};
|
|
6932
7821
|
};
|
|
@@ -7585,6 +8474,75 @@ export interface operations {
|
|
|
7585
8474
|
};
|
|
7586
8475
|
};
|
|
7587
8476
|
};
|
|
8477
|
+
deleteApiToken: {
|
|
8478
|
+
parameters: {
|
|
8479
|
+
query?: never;
|
|
8480
|
+
header?: never;
|
|
8481
|
+
path: {
|
|
8482
|
+
/**
|
|
8483
|
+
* @description Unique identifier of the API token to delete
|
|
8484
|
+
* @example 550e8400-e29b-41d4-a716-446655440000
|
|
8485
|
+
*/
|
|
8486
|
+
id: string;
|
|
8487
|
+
};
|
|
8488
|
+
cookie?: never;
|
|
8489
|
+
};
|
|
8490
|
+
requestBody?: never;
|
|
8491
|
+
responses: {
|
|
8492
|
+
/** @description Token deleted successfully */
|
|
8493
|
+
204: {
|
|
8494
|
+
headers: {
|
|
8495
|
+
[name: string]: unknown;
|
|
8496
|
+
};
|
|
8497
|
+
content?: never;
|
|
8498
|
+
};
|
|
8499
|
+
/** @description Invalid request parameters */
|
|
8500
|
+
400: {
|
|
8501
|
+
headers: {
|
|
8502
|
+
[name: string]: unknown;
|
|
8503
|
+
};
|
|
8504
|
+
content: {
|
|
8505
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
8506
|
+
};
|
|
8507
|
+
};
|
|
8508
|
+
/** @description Not authenticated */
|
|
8509
|
+
401: {
|
|
8510
|
+
headers: {
|
|
8511
|
+
[name: string]: unknown;
|
|
8512
|
+
};
|
|
8513
|
+
content: {
|
|
8514
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
8515
|
+
};
|
|
8516
|
+
};
|
|
8517
|
+
/** @description Insufficient permissions */
|
|
8518
|
+
403: {
|
|
8519
|
+
headers: {
|
|
8520
|
+
[name: string]: unknown;
|
|
8521
|
+
};
|
|
8522
|
+
content: {
|
|
8523
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
8524
|
+
};
|
|
8525
|
+
};
|
|
8526
|
+
/** @description Token not found */
|
|
8527
|
+
404: {
|
|
8528
|
+
headers: {
|
|
8529
|
+
[name: string]: unknown;
|
|
8530
|
+
};
|
|
8531
|
+
content: {
|
|
8532
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
8533
|
+
};
|
|
8534
|
+
};
|
|
8535
|
+
/** @description Internal server error */
|
|
8536
|
+
500: {
|
|
8537
|
+
headers: {
|
|
8538
|
+
[name: string]: unknown;
|
|
8539
|
+
};
|
|
8540
|
+
content: {
|
|
8541
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
8542
|
+
};
|
|
8543
|
+
};
|
|
8544
|
+
};
|
|
8545
|
+
};
|
|
7588
8546
|
getCurrentUser: {
|
|
7589
8547
|
parameters: {
|
|
7590
8548
|
query?: never;
|