@nylorun/runtime 0.19.1-beta → 0.20.0-beta

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 (61) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +9 -5
  3. package/dist/adapters/streams/s2.js +5 -11
  4. package/dist/api/components.d.ts +171 -169
  5. package/dist/api/http/define.d.ts +3 -2
  6. package/dist/api/http/define.js +10 -11
  7. package/dist/api/openapi.js +31 -3
  8. package/dist/execution/types.d.ts +1 -1
  9. package/dist/host/app.d.ts +3 -0
  10. package/dist/host/app.js +33 -4
  11. package/dist/host/create-host.d.ts +6 -0
  12. package/dist/host/create-host.js +1 -0
  13. package/dist/host/main.js +11 -4
  14. package/dist/host/stack-config.js +1 -1
  15. package/dist/infra/index.d.ts +2 -1
  16. package/dist/infra/index.js +0 -1
  17. package/dist/infra/readiness.d.ts +6 -6
  18. package/dist/infra/readiness.js +2 -5
  19. package/dist/management-openapi.json +430 -107
  20. package/dist/openapi.json +366 -227
  21. package/dist/store/postgres/connect.d.ts +10 -0
  22. package/dist/store/postgres/connect.js +30 -3
  23. package/dist/store/postgres/control.d.ts +14 -0
  24. package/dist/store/postgres/control.js +187 -0
  25. package/dist/store/postgres/drizzle/0015_control_signals.sql +11 -0
  26. package/dist/store/postgres/drizzle/meta/_journal.json +7 -0
  27. package/dist/store/postgres/schema.d.ts +120 -0
  28. package/dist/store/postgres/schema.js +20 -0
  29. package/dist/store/postgres/store.js +15 -0
  30. package/dist/store/types.d.ts +40 -0
  31. package/dist/streams/types.d.ts +6 -29
  32. package/dist/streams/types.js +5 -4
  33. package/dist/tenant/auth.d.ts +16 -6
  34. package/dist/tenant/auth.js +41 -17
  35. package/dist/tenant/commands.js +10 -6
  36. package/dist/tenant/context.d.ts +4 -0
  37. package/dist/tenant/control.d.ts +26 -0
  38. package/dist/tenant/control.js +35 -0
  39. package/dist/tenant/ephemeral.js +1 -0
  40. package/dist/tenant/http.d.ts +4 -2
  41. package/dist/tenant/http.js +4 -2
  42. package/dist/tenant/identity-file.d.ts +16 -12
  43. package/dist/tenant/identity-file.js +41 -29
  44. package/dist/tenant/issuers.d.ts +4 -3
  45. package/dist/tenant/issuers.js +22 -16
  46. package/dist/tenant/reset.d.ts +2 -2
  47. package/dist/tenant/reset.js +8 -2
  48. package/dist/tenant/resource-server.d.ts +56 -0
  49. package/dist/tenant/resource-server.js +62 -0
  50. package/dist/tenant/runtime.d.ts +1 -1
  51. package/dist/tenant/runtime.js +7 -1
  52. package/dist/tenant/scheduler.d.ts +1 -1
  53. package/dist/tenant/scheduler.js +1 -1
  54. package/dist/tenant/streams.d.ts +16 -22
  55. package/dist/tenant/streams.js +7 -87
  56. package/dist/tenant/sweep.js +9 -1
  57. package/dist/version.d.ts +1 -1
  58. package/dist/version.js +1 -1
  59. package/package.json +3 -3
  60. package/dist/streams/control.d.ts +0 -13
  61. package/dist/streams/control.js +0 -25
package/dist/openapi.json CHANGED
@@ -2,16 +2,17 @@
2
2
  "openapi": "3.2.0",
3
3
  "info": {
4
4
  "title": "Nylorun Runtime API",
5
- "version": "0.19.1-beta",
5
+ "version": "0.20.0-beta",
6
6
  "x-nylorun-protocol": {
7
7
  "min": 4,
8
- "max": 8,
8
+ "max": 9,
9
9
  "features": [
10
10
  "runtime-tenants",
11
11
  "admin-status",
12
12
  "studio-principal",
13
13
  "artifacts",
14
14
  "management-api",
15
+ "resource-server",
15
16
  "tenant-fixture-model",
16
17
  "transcript-events",
17
18
  "subject-headers",
@@ -6224,6 +6225,48 @@
6224
6225
  "checks"
6225
6226
  ]
6226
6227
  },
6228
+ "ProtectedResourceMetadata": {
6229
+ "type": "object",
6230
+ "properties": {
6231
+ "resource": {
6232
+ "type": "string",
6233
+ "description": "The Runtime API: `NYLORUN_PUBLIC_URL`, else the origin the request reached"
6234
+ },
6235
+ "authorization_servers": {
6236
+ "type": "array",
6237
+ "items": {
6238
+ "type": "string"
6239
+ },
6240
+ "description": "The identity file's issuers, in its order: a client usually signs in at the first"
6241
+ },
6242
+ "scopes_supported": {
6243
+ "type": "array",
6244
+ "items": {
6245
+ "type": "string"
6246
+ },
6247
+ "description": "The scopes the issuers' tokens may carry, `studio` aside"
6248
+ },
6249
+ "bearer_methods_supported": {
6250
+ "type": "array",
6251
+ "items": {
6252
+ "type": "string",
6253
+ "enum": [
6254
+ "header"
6255
+ ]
6256
+ }
6257
+ },
6258
+ "resource_name": {
6259
+ "type": "string"
6260
+ }
6261
+ },
6262
+ "required": [
6263
+ "resource",
6264
+ "authorization_servers",
6265
+ "scopes_supported",
6266
+ "bearer_methods_supported",
6267
+ "resource_name"
6268
+ ]
6269
+ },
6227
6270
  "AcceptedResponse": {
6228
6271
  "type": "object",
6229
6272
  "properties": {
@@ -6269,6 +6312,8 @@
6269
6312
  "type": "string",
6270
6313
  "enum": [
6271
6314
  "not_found",
6315
+ "credential_required",
6316
+ "credential_invalid",
6272
6317
  "protocol_unsupported",
6273
6318
  "host_rejected",
6274
6319
  "origin_rejected",
@@ -9660,7 +9705,7 @@
9660
9705
  "model-gate",
9661
9706
  "tool-gate",
9662
9707
  "egress-gate",
9663
- "sandboxd",
9708
+ "sandboxes",
9664
9709
  "edge",
9665
9710
  "init",
9666
9711
  "controller",
@@ -9899,7 +9944,7 @@
9899
9944
  "model-gate",
9900
9945
  "tool-gate",
9901
9946
  "egress-gate",
9902
- "sandboxd",
9947
+ "sandboxes",
9903
9948
  "edge",
9904
9949
  "init",
9905
9950
  "controller",
@@ -10089,7 +10134,7 @@
10089
10134
  "model-gate",
10090
10135
  "tool-gate",
10091
10136
  "egress-gate",
10092
- "sandboxd",
10137
+ "sandboxes",
10093
10138
  "edge",
10094
10139
  "init",
10095
10140
  "controller",
@@ -10276,7 +10321,7 @@
10276
10321
  "model-gate",
10277
10322
  "tool-gate",
10278
10323
  "egress-gate",
10279
- "sandboxd",
10324
+ "sandboxes",
10280
10325
  "edge",
10281
10326
  "init",
10282
10327
  "controller",
@@ -10438,7 +10483,7 @@
10438
10483
  "model-gate",
10439
10484
  "tool-gate",
10440
10485
  "egress-gate",
10441
- "sandboxd",
10486
+ "sandboxes",
10442
10487
  "edge",
10443
10488
  "init",
10444
10489
  "controller",
@@ -10643,7 +10688,7 @@
10643
10688
  "model-gate",
10644
10689
  "tool-gate",
10645
10690
  "egress-gate",
10646
- "sandboxd",
10691
+ "sandboxes",
10647
10692
  "edge",
10648
10693
  "init",
10649
10694
  "controller",
@@ -10819,7 +10864,7 @@
10819
10864
  "model-gate",
10820
10865
  "tool-gate",
10821
10866
  "egress-gate",
10822
- "sandboxd",
10867
+ "sandboxes",
10823
10868
  "edge",
10824
10869
  "init",
10825
10870
  "controller",
@@ -10983,7 +11028,7 @@
10983
11028
  "model-gate",
10984
11029
  "tool-gate",
10985
11030
  "egress-gate",
10986
- "sandboxd",
11031
+ "sandboxes",
10987
11032
  "edge",
10988
11033
  "init",
10989
11034
  "controller",
@@ -11225,7 +11270,7 @@
11225
11270
  "model-gate",
11226
11271
  "tool-gate",
11227
11272
  "egress-gate",
11228
- "sandboxd",
11273
+ "sandboxes",
11229
11274
  "edge",
11230
11275
  "init",
11231
11276
  "controller",
@@ -11427,7 +11472,7 @@
11427
11472
  "model-gate",
11428
11473
  "tool-gate",
11429
11474
  "egress-gate",
11430
- "sandboxd",
11475
+ "sandboxes",
11431
11476
  "edge",
11432
11477
  "init",
11433
11478
  "controller",
@@ -11634,7 +11679,7 @@
11634
11679
  "model-gate",
11635
11680
  "tool-gate",
11636
11681
  "egress-gate",
11637
- "sandboxd",
11682
+ "sandboxes",
11638
11683
  "edge",
11639
11684
  "init",
11640
11685
  "controller",
@@ -11856,7 +11901,7 @@
11856
11901
  "model-gate",
11857
11902
  "tool-gate",
11858
11903
  "egress-gate",
11859
- "sandboxd",
11904
+ "sandboxes",
11860
11905
  "edge",
11861
11906
  "init",
11862
11907
  "controller",
@@ -12027,7 +12072,7 @@
12027
12072
  "model-gate",
12028
12073
  "tool-gate",
12029
12074
  "egress-gate",
12030
- "sandboxd",
12075
+ "sandboxes",
12031
12076
  "edge",
12032
12077
  "init",
12033
12078
  "controller",
@@ -12216,7 +12261,7 @@
12216
12261
  "model-gate",
12217
12262
  "tool-gate",
12218
12263
  "egress-gate",
12219
- "sandboxd",
12264
+ "sandboxes",
12220
12265
  "edge",
12221
12266
  "init",
12222
12267
  "controller",
@@ -12405,7 +12450,7 @@
12405
12450
  "model-gate",
12406
12451
  "tool-gate",
12407
12452
  "egress-gate",
12408
- "sandboxd",
12453
+ "sandboxes",
12409
12454
  "edge",
12410
12455
  "init",
12411
12456
  "controller",
@@ -12615,7 +12660,7 @@
12615
12660
  "model-gate",
12616
12661
  "tool-gate",
12617
12662
  "egress-gate",
12618
- "sandboxd",
12663
+ "sandboxes",
12619
12664
  "edge",
12620
12665
  "init",
12621
12666
  "controller",
@@ -12810,7 +12855,7 @@
12810
12855
  "model-gate",
12811
12856
  "tool-gate",
12812
12857
  "egress-gate",
12813
- "sandboxd",
12858
+ "sandboxes",
12814
12859
  "edge",
12815
12860
  "init",
12816
12861
  "controller",
@@ -12992,7 +13037,7 @@
12992
13037
  "model-gate",
12993
13038
  "tool-gate",
12994
13039
  "egress-gate",
12995
- "sandboxd",
13040
+ "sandboxes",
12996
13041
  "edge",
12997
13042
  "init",
12998
13043
  "controller",
@@ -13159,7 +13204,7 @@
13159
13204
  "model-gate",
13160
13205
  "tool-gate",
13161
13206
  "egress-gate",
13162
- "sandboxd",
13207
+ "sandboxes",
13163
13208
  "edge",
13164
13209
  "init",
13165
13210
  "controller",
@@ -13337,7 +13382,7 @@
13337
13382
  "model-gate",
13338
13383
  "tool-gate",
13339
13384
  "egress-gate",
13340
- "sandboxd",
13385
+ "sandboxes",
13341
13386
  "edge",
13342
13387
  "init",
13343
13388
  "controller",
@@ -13517,7 +13562,7 @@
13517
13562
  "model-gate",
13518
13563
  "tool-gate",
13519
13564
  "egress-gate",
13520
- "sandboxd",
13565
+ "sandboxes",
13521
13566
  "edge",
13522
13567
  "init",
13523
13568
  "controller",
@@ -13697,7 +13742,7 @@
13697
13742
  "model-gate",
13698
13743
  "tool-gate",
13699
13744
  "egress-gate",
13700
- "sandboxd",
13745
+ "sandboxes",
13701
13746
  "edge",
13702
13747
  "init",
13703
13748
  "controller",
@@ -13876,7 +13921,7 @@
13876
13921
  "model-gate",
13877
13922
  "tool-gate",
13878
13923
  "egress-gate",
13879
- "sandboxd",
13924
+ "sandboxes",
13880
13925
  "edge",
13881
13926
  "init",
13882
13927
  "controller",
@@ -14092,7 +14137,7 @@
14092
14137
  "model-gate",
14093
14138
  "tool-gate",
14094
14139
  "egress-gate",
14095
- "sandboxd",
14140
+ "sandboxes",
14096
14141
  "edge",
14097
14142
  "init",
14098
14143
  "controller",
@@ -14308,7 +14353,7 @@
14308
14353
  "model-gate",
14309
14354
  "tool-gate",
14310
14355
  "egress-gate",
14311
- "sandboxd",
14356
+ "sandboxes",
14312
14357
  "edge",
14313
14358
  "init",
14314
14359
  "controller",
@@ -14479,7 +14524,7 @@
14479
14524
  "model-gate",
14480
14525
  "tool-gate",
14481
14526
  "egress-gate",
14482
- "sandboxd",
14527
+ "sandboxes",
14483
14528
  "edge",
14484
14529
  "init",
14485
14530
  "controller",
@@ -14667,7 +14712,7 @@
14667
14712
  "model-gate",
14668
14713
  "tool-gate",
14669
14714
  "egress-gate",
14670
- "sandboxd",
14715
+ "sandboxes",
14671
14716
  "edge",
14672
14717
  "init",
14673
14718
  "controller",
@@ -14838,7 +14883,7 @@
14838
14883
  "model-gate",
14839
14884
  "tool-gate",
14840
14885
  "egress-gate",
14841
- "sandboxd",
14886
+ "sandboxes",
14842
14887
  "edge",
14843
14888
  "init",
14844
14889
  "controller",
@@ -16603,10 +16648,10 @@
16603
16648
  {
16604
16649
  "schema": {
16605
16650
  "type": "string",
16606
- "description": "The protocol version, `8`"
16651
+ "description": "The protocol version, `9`"
16607
16652
  },
16608
16653
  "required": true,
16609
- "description": "The protocol version, `8`",
16654
+ "description": "The protocol version, `9`",
16610
16655
  "name": "Nylorun-Protocol",
16611
16656
  "in": "header"
16612
16657
  },
@@ -16662,8 +16707,18 @@
16662
16707
  }
16663
16708
  }
16664
16709
  },
16710
+ "401": {
16711
+ "description": "No credential (`credential_required`), or one the Tenant does not accept (`credential_invalid`), with a `WWW-Authenticate: Bearer` challenge",
16712
+ "content": {
16713
+ "application/json": {
16714
+ "schema": {
16715
+ "$ref": "#/components/schemas/Rejected"
16716
+ }
16717
+ }
16718
+ }
16719
+ },
16665
16720
  "403": {
16666
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
16721
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
16667
16722
  "content": {
16668
16723
  "application/json": {
16669
16724
  "schema": {
@@ -16673,7 +16728,7 @@
16673
16728
  }
16674
16729
  },
16675
16730
  "404": {
16676
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
16731
+ "description": "Not found (`not_found`)",
16677
16732
  "content": {
16678
16733
  "application/json": {
16679
16734
  "schema": {
@@ -16733,10 +16788,10 @@
16733
16788
  {
16734
16789
  "schema": {
16735
16790
  "type": "string",
16736
- "description": "The protocol version, `8`"
16791
+ "description": "The protocol version, `9`"
16737
16792
  },
16738
16793
  "required": true,
16739
- "description": "The protocol version, `8`",
16794
+ "description": "The protocol version, `9`",
16740
16795
  "name": "Nylorun-Protocol",
16741
16796
  "in": "header"
16742
16797
  },
@@ -16790,7 +16845,7 @@
16790
16845
  }
16791
16846
  },
16792
16847
  "401": {
16793
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
16848
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
16794
16849
  "content": {
16795
16850
  "application/json": {
16796
16851
  "schema": {
@@ -16800,7 +16855,7 @@
16800
16855
  }
16801
16856
  },
16802
16857
  "403": {
16803
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
16858
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
16804
16859
  "content": {
16805
16860
  "application/json": {
16806
16861
  "schema": {
@@ -16810,7 +16865,7 @@
16810
16865
  }
16811
16866
  },
16812
16867
  "404": {
16813
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
16868
+ "description": "Not found (`not_found`)",
16814
16869
  "content": {
16815
16870
  "application/json": {
16816
16871
  "schema": {
@@ -16872,10 +16927,10 @@
16872
16927
  {
16873
16928
  "schema": {
16874
16929
  "type": "string",
16875
- "description": "The protocol version, `8`"
16930
+ "description": "The protocol version, `9`"
16876
16931
  },
16877
16932
  "required": true,
16878
- "description": "The protocol version, `8`",
16933
+ "description": "The protocol version, `9`",
16879
16934
  "name": "Nylorun-Protocol",
16880
16935
  "in": "header"
16881
16936
  }
@@ -16923,8 +16978,18 @@
16923
16978
  }
16924
16979
  }
16925
16980
  },
16981
+ "401": {
16982
+ "description": "No credential (`credential_required`), or one the Tenant does not accept (`credential_invalid`), with a `WWW-Authenticate: Bearer` challenge",
16983
+ "content": {
16984
+ "application/json": {
16985
+ "schema": {
16986
+ "$ref": "#/components/schemas/Rejected"
16987
+ }
16988
+ }
16989
+ }
16990
+ },
16926
16991
  "403": {
16927
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
16992
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
16928
16993
  "content": {
16929
16994
  "application/json": {
16930
16995
  "schema": {
@@ -16934,7 +16999,7 @@
16934
16999
  }
16935
17000
  },
16936
17001
  "404": {
16937
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
17002
+ "description": "Not found (`not_found`)",
16938
17003
  "content": {
16939
17004
  "application/json": {
16940
17005
  "schema": {
@@ -16997,10 +17062,10 @@
16997
17062
  {
16998
17063
  "schema": {
16999
17064
  "type": "string",
17000
- "description": "The protocol version, `8`"
17065
+ "description": "The protocol version, `9`"
17001
17066
  },
17002
17067
  "required": true,
17003
- "description": "The protocol version, `8`",
17068
+ "description": "The protocol version, `9`",
17004
17069
  "name": "Nylorun-Protocol",
17005
17070
  "in": "header"
17006
17071
  }
@@ -17019,8 +17084,18 @@
17019
17084
  }
17020
17085
  }
17021
17086
  },
17087
+ "401": {
17088
+ "description": "No credential (`credential_required`), or one the Tenant does not accept (`credential_invalid`), with a `WWW-Authenticate: Bearer` challenge",
17089
+ "content": {
17090
+ "application/json": {
17091
+ "schema": {
17092
+ "$ref": "#/components/schemas/Rejected"
17093
+ }
17094
+ }
17095
+ }
17096
+ },
17022
17097
  "403": {
17023
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
17098
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
17024
17099
  "content": {
17025
17100
  "application/json": {
17026
17101
  "schema": {
@@ -17030,7 +17105,7 @@
17030
17105
  }
17031
17106
  },
17032
17107
  "404": {
17033
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
17108
+ "description": "Not found (`not_found`)",
17034
17109
  "content": {
17035
17110
  "application/json": {
17036
17111
  "schema": {
@@ -17097,10 +17172,10 @@
17097
17172
  {
17098
17173
  "schema": {
17099
17174
  "type": "string",
17100
- "description": "The protocol version, `8`"
17175
+ "description": "The protocol version, `9`"
17101
17176
  },
17102
17177
  "required": true,
17103
- "description": "The protocol version, `8`",
17178
+ "description": "The protocol version, `9`",
17104
17179
  "name": "Nylorun-Protocol",
17105
17180
  "in": "header"
17106
17181
  },
@@ -17157,7 +17232,7 @@
17157
17232
  }
17158
17233
  },
17159
17234
  "401": {
17160
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
17235
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
17161
17236
  "content": {
17162
17237
  "application/json": {
17163
17238
  "schema": {
@@ -17167,7 +17242,7 @@
17167
17242
  }
17168
17243
  },
17169
17244
  "403": {
17170
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
17245
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
17171
17246
  "content": {
17172
17247
  "application/json": {
17173
17248
  "schema": {
@@ -17177,7 +17252,7 @@
17177
17252
  }
17178
17253
  },
17179
17254
  "404": {
17180
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
17255
+ "description": "Not found (`not_found`)",
17181
17256
  "content": {
17182
17257
  "application/json": {
17183
17258
  "schema": {
@@ -17244,10 +17319,10 @@
17244
17319
  {
17245
17320
  "schema": {
17246
17321
  "type": "string",
17247
- "description": "The protocol version, `8`"
17322
+ "description": "The protocol version, `9`"
17248
17323
  },
17249
17324
  "required": true,
17250
- "description": "The protocol version, `8`",
17325
+ "description": "The protocol version, `9`",
17251
17326
  "name": "Nylorun-Protocol",
17252
17327
  "in": "header"
17253
17328
  },
@@ -17294,7 +17369,7 @@
17294
17369
  }
17295
17370
  },
17296
17371
  "401": {
17297
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
17372
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
17298
17373
  "content": {
17299
17374
  "application/json": {
17300
17375
  "schema": {
@@ -17304,7 +17379,7 @@
17304
17379
  }
17305
17380
  },
17306
17381
  "403": {
17307
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
17382
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
17308
17383
  "content": {
17309
17384
  "application/json": {
17310
17385
  "schema": {
@@ -17314,7 +17389,7 @@
17314
17389
  }
17315
17390
  },
17316
17391
  "404": {
17317
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
17392
+ "description": "Not found (`not_found`)",
17318
17393
  "content": {
17319
17394
  "application/json": {
17320
17395
  "schema": {
@@ -17434,10 +17509,10 @@
17434
17509
  {
17435
17510
  "schema": {
17436
17511
  "type": "string",
17437
- "description": "The protocol version, `8`"
17512
+ "description": "The protocol version, `9`"
17438
17513
  },
17439
17514
  "required": true,
17440
- "description": "The protocol version, `8`",
17515
+ "description": "The protocol version, `9`",
17441
17516
  "name": "Nylorun-Protocol",
17442
17517
  "in": "header"
17443
17518
  },
@@ -17491,7 +17566,7 @@
17491
17566
  }
17492
17567
  },
17493
17568
  "401": {
17494
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
17569
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
17495
17570
  "content": {
17496
17571
  "application/json": {
17497
17572
  "schema": {
@@ -17501,7 +17576,7 @@
17501
17576
  }
17502
17577
  },
17503
17578
  "403": {
17504
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
17579
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
17505
17580
  "content": {
17506
17581
  "application/json": {
17507
17582
  "schema": {
@@ -17511,7 +17586,7 @@
17511
17586
  }
17512
17587
  },
17513
17588
  "404": {
17514
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
17589
+ "description": "Not found (`not_found`)",
17515
17590
  "content": {
17516
17591
  "application/json": {
17517
17592
  "schema": {
@@ -17578,10 +17653,10 @@
17578
17653
  {
17579
17654
  "schema": {
17580
17655
  "type": "string",
17581
- "description": "The protocol version, `8`"
17656
+ "description": "The protocol version, `9`"
17582
17657
  },
17583
17658
  "required": true,
17584
- "description": "The protocol version, `8`",
17659
+ "description": "The protocol version, `9`",
17585
17660
  "name": "Nylorun-Protocol",
17586
17661
  "in": "header"
17587
17662
  },
@@ -17638,7 +17713,7 @@
17638
17713
  }
17639
17714
  },
17640
17715
  "401": {
17641
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
17716
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
17642
17717
  "content": {
17643
17718
  "application/json": {
17644
17719
  "schema": {
@@ -17648,7 +17723,7 @@
17648
17723
  }
17649
17724
  },
17650
17725
  "403": {
17651
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
17726
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
17652
17727
  "content": {
17653
17728
  "application/json": {
17654
17729
  "schema": {
@@ -17658,7 +17733,7 @@
17658
17733
  }
17659
17734
  },
17660
17735
  "404": {
17661
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
17736
+ "description": "Not found (`not_found`)",
17662
17737
  "content": {
17663
17738
  "application/json": {
17664
17739
  "schema": {
@@ -17738,10 +17813,10 @@
17738
17813
  {
17739
17814
  "schema": {
17740
17815
  "type": "string",
17741
- "description": "The protocol version, `8`"
17816
+ "description": "The protocol version, `9`"
17742
17817
  },
17743
17818
  "required": true,
17744
- "description": "The protocol version, `8`",
17819
+ "description": "The protocol version, `9`",
17745
17820
  "name": "Nylorun-Protocol",
17746
17821
  "in": "header"
17747
17822
  },
@@ -17876,7 +17951,7 @@
17876
17951
  }
17877
17952
  },
17878
17953
  "401": {
17879
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
17954
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
17880
17955
  "content": {
17881
17956
  "application/json": {
17882
17957
  "schema": {
@@ -17886,7 +17961,7 @@
17886
17961
  }
17887
17962
  },
17888
17963
  "403": {
17889
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
17964
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
17890
17965
  "content": {
17891
17966
  "application/json": {
17892
17967
  "schema": {
@@ -17896,7 +17971,7 @@
17896
17971
  }
17897
17972
  },
17898
17973
  "404": {
17899
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
17974
+ "description": "Not found (`not_found`)",
17900
17975
  "content": {
17901
17976
  "application/json": {
17902
17977
  "schema": {
@@ -17992,10 +18067,10 @@
17992
18067
  {
17993
18068
  "schema": {
17994
18069
  "type": "string",
17995
- "description": "The protocol version, `8`"
18070
+ "description": "The protocol version, `9`"
17996
18071
  },
17997
18072
  "required": true,
17998
- "description": "The protocol version, `8`",
18073
+ "description": "The protocol version, `9`",
17999
18074
  "name": "Nylorun-Protocol",
18000
18075
  "in": "header"
18001
18076
  },
@@ -18049,7 +18124,7 @@
18049
18124
  }
18050
18125
  },
18051
18126
  "401": {
18052
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
18127
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
18053
18128
  "content": {
18054
18129
  "application/json": {
18055
18130
  "schema": {
@@ -18059,7 +18134,7 @@
18059
18134
  }
18060
18135
  },
18061
18136
  "403": {
18062
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
18137
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
18063
18138
  "content": {
18064
18139
  "application/json": {
18065
18140
  "schema": {
@@ -18069,7 +18144,7 @@
18069
18144
  }
18070
18145
  },
18071
18146
  "404": {
18072
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
18147
+ "description": "Not found (`not_found`)",
18073
18148
  "content": {
18074
18149
  "application/json": {
18075
18150
  "schema": {
@@ -18132,10 +18207,10 @@
18132
18207
  {
18133
18208
  "schema": {
18134
18209
  "type": "string",
18135
- "description": "The protocol version, `8`"
18210
+ "description": "The protocol version, `9`"
18136
18211
  },
18137
18212
  "required": true,
18138
- "description": "The protocol version, `8`",
18213
+ "description": "The protocol version, `9`",
18139
18214
  "name": "Nylorun-Protocol",
18140
18215
  "in": "header"
18141
18216
  },
@@ -18181,8 +18256,18 @@
18181
18256
  }
18182
18257
  }
18183
18258
  },
18259
+ "401": {
18260
+ "description": "No credential (`credential_required`), or one the Tenant does not accept (`credential_invalid`), with a `WWW-Authenticate: Bearer` challenge",
18261
+ "content": {
18262
+ "application/json": {
18263
+ "schema": {
18264
+ "$ref": "#/components/schemas/Rejected"
18265
+ }
18266
+ }
18267
+ }
18268
+ },
18184
18269
  "403": {
18185
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
18270
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
18186
18271
  "content": {
18187
18272
  "application/json": {
18188
18273
  "schema": {
@@ -18192,7 +18277,7 @@
18192
18277
  }
18193
18278
  },
18194
18279
  "404": {
18195
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
18280
+ "description": "Not found (`not_found`)",
18196
18281
  "content": {
18197
18282
  "application/json": {
18198
18283
  "schema": {
@@ -18259,10 +18344,10 @@
18259
18344
  {
18260
18345
  "schema": {
18261
18346
  "type": "string",
18262
- "description": "The protocol version, `8`"
18347
+ "description": "The protocol version, `9`"
18263
18348
  },
18264
18349
  "required": true,
18265
- "description": "The protocol version, `8`",
18350
+ "description": "The protocol version, `9`",
18266
18351
  "name": "Nylorun-Protocol",
18267
18352
  "in": "header"
18268
18353
  }
@@ -18288,8 +18373,18 @@
18288
18373
  }
18289
18374
  }
18290
18375
  },
18376
+ "401": {
18377
+ "description": "No credential (`credential_required`), or one the Tenant does not accept (`credential_invalid`), with a `WWW-Authenticate: Bearer` challenge",
18378
+ "content": {
18379
+ "application/json": {
18380
+ "schema": {
18381
+ "$ref": "#/components/schemas/Rejected"
18382
+ }
18383
+ }
18384
+ }
18385
+ },
18291
18386
  "403": {
18292
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
18387
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
18293
18388
  "content": {
18294
18389
  "application/json": {
18295
18390
  "schema": {
@@ -18299,7 +18394,7 @@
18299
18394
  }
18300
18395
  },
18301
18396
  "404": {
18302
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
18397
+ "description": "Not found (`not_found`)",
18303
18398
  "content": {
18304
18399
  "application/json": {
18305
18400
  "schema": {
@@ -18385,10 +18480,10 @@
18385
18480
  {
18386
18481
  "schema": {
18387
18482
  "type": "string",
18388
- "description": "The protocol version, `8`"
18483
+ "description": "The protocol version, `9`"
18389
18484
  },
18390
18485
  "required": true,
18391
- "description": "The protocol version, `8`",
18486
+ "description": "The protocol version, `9`",
18392
18487
  "name": "Nylorun-Protocol",
18393
18488
  "in": "header"
18394
18489
  }
@@ -18414,8 +18509,18 @@
18414
18509
  }
18415
18510
  }
18416
18511
  },
18512
+ "401": {
18513
+ "description": "No credential (`credential_required`), or one the Tenant does not accept (`credential_invalid`), with a `WWW-Authenticate: Bearer` challenge",
18514
+ "content": {
18515
+ "application/json": {
18516
+ "schema": {
18517
+ "$ref": "#/components/schemas/Rejected"
18518
+ }
18519
+ }
18520
+ }
18521
+ },
18417
18522
  "403": {
18418
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
18523
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
18419
18524
  "content": {
18420
18525
  "application/json": {
18421
18526
  "schema": {
@@ -18425,7 +18530,7 @@
18425
18530
  }
18426
18531
  },
18427
18532
  "404": {
18428
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
18533
+ "description": "Not found (`not_found`)",
18429
18534
  "content": {
18430
18535
  "application/json": {
18431
18536
  "schema": {
@@ -18501,10 +18606,10 @@
18501
18606
  {
18502
18607
  "schema": {
18503
18608
  "type": "string",
18504
- "description": "The protocol version, `8`"
18609
+ "description": "The protocol version, `9`"
18505
18610
  },
18506
18611
  "required": true,
18507
- "description": "The protocol version, `8`",
18612
+ "description": "The protocol version, `9`",
18508
18613
  "name": "Nylorun-Protocol",
18509
18614
  "in": "header"
18510
18615
  }
@@ -18543,8 +18648,18 @@
18543
18648
  }
18544
18649
  }
18545
18650
  },
18651
+ "401": {
18652
+ "description": "No credential (`credential_required`), or one the Tenant does not accept (`credential_invalid`), with a `WWW-Authenticate: Bearer` challenge",
18653
+ "content": {
18654
+ "application/json": {
18655
+ "schema": {
18656
+ "$ref": "#/components/schemas/Rejected"
18657
+ }
18658
+ }
18659
+ }
18660
+ },
18546
18661
  "403": {
18547
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
18662
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
18548
18663
  "content": {
18549
18664
  "application/json": {
18550
18665
  "schema": {
@@ -18554,7 +18669,7 @@
18554
18669
  }
18555
18670
  },
18556
18671
  "404": {
18557
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
18672
+ "description": "Not found (`not_found`)",
18558
18673
  "content": {
18559
18674
  "application/json": {
18560
18675
  "schema": {
@@ -18623,10 +18738,10 @@
18623
18738
  {
18624
18739
  "schema": {
18625
18740
  "type": "string",
18626
- "description": "The protocol version, `8`"
18741
+ "description": "The protocol version, `9`"
18627
18742
  },
18628
18743
  "required": true,
18629
- "description": "The protocol version, `8`",
18744
+ "description": "The protocol version, `9`",
18630
18745
  "name": "Nylorun-Protocol",
18631
18746
  "in": "header"
18632
18747
  },
@@ -18683,7 +18798,7 @@
18683
18798
  }
18684
18799
  },
18685
18800
  "401": {
18686
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
18801
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
18687
18802
  "content": {
18688
18803
  "application/json": {
18689
18804
  "schema": {
@@ -18693,7 +18808,7 @@
18693
18808
  }
18694
18809
  },
18695
18810
  "403": {
18696
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
18811
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
18697
18812
  "content": {
18698
18813
  "application/json": {
18699
18814
  "schema": {
@@ -18703,7 +18818,7 @@
18703
18818
  }
18704
18819
  },
18705
18820
  "404": {
18706
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
18821
+ "description": "Not found (`not_found`)",
18707
18822
  "content": {
18708
18823
  "application/json": {
18709
18824
  "schema": {
@@ -18795,10 +18910,10 @@
18795
18910
  {
18796
18911
  "schema": {
18797
18912
  "type": "string",
18798
- "description": "The protocol version, `8`"
18913
+ "description": "The protocol version, `9`"
18799
18914
  },
18800
18915
  "required": true,
18801
- "description": "The protocol version, `8`",
18916
+ "description": "The protocol version, `9`",
18802
18917
  "name": "Nylorun-Protocol",
18803
18918
  "in": "header"
18804
18919
  },
@@ -18848,7 +18963,7 @@
18848
18963
  }
18849
18964
  },
18850
18965
  "401": {
18851
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
18966
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
18852
18967
  "content": {
18853
18968
  "application/json": {
18854
18969
  "schema": {
@@ -18858,7 +18973,7 @@
18858
18973
  }
18859
18974
  },
18860
18975
  "403": {
18861
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
18976
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
18862
18977
  "content": {
18863
18978
  "application/json": {
18864
18979
  "schema": {
@@ -18868,7 +18983,7 @@
18868
18983
  }
18869
18984
  },
18870
18985
  "404": {
18871
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
18986
+ "description": "Not found (`not_found`)",
18872
18987
  "content": {
18873
18988
  "application/json": {
18874
18989
  "schema": {
@@ -18941,10 +19056,10 @@
18941
19056
  {
18942
19057
  "schema": {
18943
19058
  "type": "string",
18944
- "description": "The protocol version, `8`"
19059
+ "description": "The protocol version, `9`"
18945
19060
  },
18946
19061
  "required": true,
18947
- "description": "The protocol version, `8`",
19062
+ "description": "The protocol version, `9`",
18948
19063
  "name": "Nylorun-Protocol",
18949
19064
  "in": "header"
18950
19065
  },
@@ -18994,7 +19109,7 @@
18994
19109
  }
18995
19110
  },
18996
19111
  "401": {
18997
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
19112
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
18998
19113
  "content": {
18999
19114
  "application/json": {
19000
19115
  "schema": {
@@ -19004,7 +19119,7 @@
19004
19119
  }
19005
19120
  },
19006
19121
  "403": {
19007
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
19122
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
19008
19123
  "content": {
19009
19124
  "application/json": {
19010
19125
  "schema": {
@@ -19014,7 +19129,7 @@
19014
19129
  }
19015
19130
  },
19016
19131
  "404": {
19017
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
19132
+ "description": "Not found (`not_found`)",
19018
19133
  "content": {
19019
19134
  "application/json": {
19020
19135
  "schema": {
@@ -19087,10 +19202,10 @@
19087
19202
  {
19088
19203
  "schema": {
19089
19204
  "type": "string",
19090
- "description": "The protocol version, `8`"
19205
+ "description": "The protocol version, `9`"
19091
19206
  },
19092
19207
  "required": true,
19093
- "description": "The protocol version, `8`",
19208
+ "description": "The protocol version, `9`",
19094
19209
  "name": "Nylorun-Protocol",
19095
19210
  "in": "header"
19096
19211
  },
@@ -19130,7 +19245,7 @@
19130
19245
  }
19131
19246
  },
19132
19247
  "401": {
19133
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
19248
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
19134
19249
  "content": {
19135
19250
  "application/json": {
19136
19251
  "schema": {
@@ -19140,7 +19255,7 @@
19140
19255
  }
19141
19256
  },
19142
19257
  "403": {
19143
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
19258
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
19144
19259
  "content": {
19145
19260
  "application/json": {
19146
19261
  "schema": {
@@ -19150,7 +19265,7 @@
19150
19265
  }
19151
19266
  },
19152
19267
  "404": {
19153
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
19268
+ "description": "Not found (`not_found`)",
19154
19269
  "content": {
19155
19270
  "application/json": {
19156
19271
  "schema": {
@@ -19221,10 +19336,10 @@
19221
19336
  {
19222
19337
  "schema": {
19223
19338
  "type": "string",
19224
- "description": "The protocol version, `8`"
19339
+ "description": "The protocol version, `9`"
19225
19340
  },
19226
19341
  "required": true,
19227
- "description": "The protocol version, `8`",
19342
+ "description": "The protocol version, `9`",
19228
19343
  "name": "Nylorun-Protocol",
19229
19344
  "in": "header"
19230
19345
  },
@@ -19271,7 +19386,7 @@
19271
19386
  }
19272
19387
  },
19273
19388
  "401": {
19274
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
19389
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
19275
19390
  "content": {
19276
19391
  "application/json": {
19277
19392
  "schema": {
@@ -19281,7 +19396,7 @@
19281
19396
  }
19282
19397
  },
19283
19398
  "403": {
19284
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
19399
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
19285
19400
  "content": {
19286
19401
  "application/json": {
19287
19402
  "schema": {
@@ -19291,7 +19406,7 @@
19291
19406
  }
19292
19407
  },
19293
19408
  "404": {
19294
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
19409
+ "description": "Not found (`not_found`)",
19295
19410
  "content": {
19296
19411
  "application/json": {
19297
19412
  "schema": {
@@ -19371,10 +19486,10 @@
19371
19486
  {
19372
19487
  "schema": {
19373
19488
  "type": "string",
19374
- "description": "The protocol version, `8`"
19489
+ "description": "The protocol version, `9`"
19375
19490
  },
19376
19491
  "required": true,
19377
- "description": "The protocol version, `8`",
19492
+ "description": "The protocol version, `9`",
19378
19493
  "name": "Nylorun-Protocol",
19379
19494
  "in": "header"
19380
19495
  },
@@ -19431,7 +19546,7 @@
19431
19546
  }
19432
19547
  },
19433
19548
  "401": {
19434
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
19549
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
19435
19550
  "content": {
19436
19551
  "application/json": {
19437
19552
  "schema": {
@@ -19441,7 +19556,7 @@
19441
19556
  }
19442
19557
  },
19443
19558
  "403": {
19444
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
19559
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
19445
19560
  "content": {
19446
19561
  "application/json": {
19447
19562
  "schema": {
@@ -19451,7 +19566,7 @@
19451
19566
  }
19452
19567
  },
19453
19568
  "404": {
19454
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
19569
+ "description": "Not found (`not_found`)",
19455
19570
  "content": {
19456
19571
  "application/json": {
19457
19572
  "schema": {
@@ -19520,10 +19635,10 @@
19520
19635
  {
19521
19636
  "schema": {
19522
19637
  "type": "string",
19523
- "description": "The protocol version, `8`"
19638
+ "description": "The protocol version, `9`"
19524
19639
  },
19525
19640
  "required": true,
19526
- "description": "The protocol version, `8`",
19641
+ "description": "The protocol version, `9`",
19527
19642
  "name": "Nylorun-Protocol",
19528
19643
  "in": "header"
19529
19644
  },
@@ -19580,7 +19695,7 @@
19580
19695
  }
19581
19696
  },
19582
19697
  "401": {
19583
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
19698
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
19584
19699
  "content": {
19585
19700
  "application/json": {
19586
19701
  "schema": {
@@ -19590,7 +19705,7 @@
19590
19705
  }
19591
19706
  },
19592
19707
  "403": {
19593
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
19708
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
19594
19709
  "content": {
19595
19710
  "application/json": {
19596
19711
  "schema": {
@@ -19600,7 +19715,7 @@
19600
19715
  }
19601
19716
  },
19602
19717
  "404": {
19603
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
19718
+ "description": "Not found (`not_found`)",
19604
19719
  "content": {
19605
19720
  "application/json": {
19606
19721
  "schema": {
@@ -19671,10 +19786,10 @@
19671
19786
  {
19672
19787
  "schema": {
19673
19788
  "type": "string",
19674
- "description": "The protocol version, `8`"
19789
+ "description": "The protocol version, `9`"
19675
19790
  },
19676
19791
  "required": true,
19677
- "description": "The protocol version, `8`",
19792
+ "description": "The protocol version, `9`",
19678
19793
  "name": "Nylorun-Protocol",
19679
19794
  "in": "header"
19680
19795
  },
@@ -19721,7 +19836,7 @@
19721
19836
  }
19722
19837
  },
19723
19838
  "401": {
19724
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
19839
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
19725
19840
  "content": {
19726
19841
  "application/json": {
19727
19842
  "schema": {
@@ -19731,7 +19846,7 @@
19731
19846
  }
19732
19847
  },
19733
19848
  "403": {
19734
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
19849
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
19735
19850
  "content": {
19736
19851
  "application/json": {
19737
19852
  "schema": {
@@ -19741,7 +19856,7 @@
19741
19856
  }
19742
19857
  },
19743
19858
  "404": {
19744
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
19859
+ "description": "Not found (`not_found`)",
19745
19860
  "content": {
19746
19861
  "application/json": {
19747
19862
  "schema": {
@@ -19808,10 +19923,10 @@
19808
19923
  {
19809
19924
  "schema": {
19810
19925
  "type": "string",
19811
- "description": "The protocol version, `8`"
19926
+ "description": "The protocol version, `9`"
19812
19927
  },
19813
19928
  "required": true,
19814
- "description": "The protocol version, `8`",
19929
+ "description": "The protocol version, `9`",
19815
19930
  "name": "Nylorun-Protocol",
19816
19931
  "in": "header"
19817
19932
  },
@@ -19858,7 +19973,7 @@
19858
19973
  }
19859
19974
  },
19860
19975
  "401": {
19861
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
19976
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
19862
19977
  "content": {
19863
19978
  "application/json": {
19864
19979
  "schema": {
@@ -19868,7 +19983,7 @@
19868
19983
  }
19869
19984
  },
19870
19985
  "403": {
19871
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
19986
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
19872
19987
  "content": {
19873
19988
  "application/json": {
19874
19989
  "schema": {
@@ -19878,7 +19993,7 @@
19878
19993
  }
19879
19994
  },
19880
19995
  "404": {
19881
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
19996
+ "description": "Not found (`not_found`)",
19882
19997
  "content": {
19883
19998
  "application/json": {
19884
19999
  "schema": {
@@ -19979,10 +20094,10 @@
19979
20094
  {
19980
20095
  "schema": {
19981
20096
  "type": "string",
19982
- "description": "The protocol version, `8`"
20097
+ "description": "The protocol version, `9`"
19983
20098
  },
19984
20099
  "required": true,
19985
- "description": "The protocol version, `8`",
20100
+ "description": "The protocol version, `9`",
19986
20101
  "name": "Nylorun-Protocol",
19987
20102
  "in": "header"
19988
20103
  },
@@ -20036,7 +20151,7 @@
20036
20151
  }
20037
20152
  },
20038
20153
  "401": {
20039
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
20154
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
20040
20155
  "content": {
20041
20156
  "application/json": {
20042
20157
  "schema": {
@@ -20046,7 +20161,7 @@
20046
20161
  }
20047
20162
  },
20048
20163
  "403": {
20049
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
20164
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
20050
20165
  "content": {
20051
20166
  "application/json": {
20052
20167
  "schema": {
@@ -20056,7 +20171,7 @@
20056
20171
  }
20057
20172
  },
20058
20173
  "404": {
20059
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
20174
+ "description": "Not found (`not_found`)",
20060
20175
  "content": {
20061
20176
  "application/json": {
20062
20177
  "schema": {
@@ -20136,10 +20251,10 @@
20136
20251
  {
20137
20252
  "schema": {
20138
20253
  "type": "string",
20139
- "description": "The protocol version, `8`"
20254
+ "description": "The protocol version, `9`"
20140
20255
  },
20141
20256
  "required": true,
20142
- "description": "The protocol version, `8`",
20257
+ "description": "The protocol version, `9`",
20143
20258
  "name": "Nylorun-Protocol",
20144
20259
  "in": "header"
20145
20260
  },
@@ -20186,7 +20301,7 @@
20186
20301
  }
20187
20302
  },
20188
20303
  "401": {
20189
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
20304
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
20190
20305
  "content": {
20191
20306
  "application/json": {
20192
20307
  "schema": {
@@ -20196,7 +20311,7 @@
20196
20311
  }
20197
20312
  },
20198
20313
  "403": {
20199
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
20314
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
20200
20315
  "content": {
20201
20316
  "application/json": {
20202
20317
  "schema": {
@@ -20206,7 +20321,7 @@
20206
20321
  }
20207
20322
  },
20208
20323
  "404": {
20209
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
20324
+ "description": "Not found (`not_found`)",
20210
20325
  "content": {
20211
20326
  "application/json": {
20212
20327
  "schema": {
@@ -20275,10 +20390,10 @@
20275
20390
  {
20276
20391
  "schema": {
20277
20392
  "type": "string",
20278
- "description": "The protocol version, `8`"
20393
+ "description": "The protocol version, `9`"
20279
20394
  },
20280
20395
  "required": true,
20281
- "description": "The protocol version, `8`",
20396
+ "description": "The protocol version, `9`",
20282
20397
  "name": "Nylorun-Protocol",
20283
20398
  "in": "header"
20284
20399
  },
@@ -20318,7 +20433,7 @@
20318
20433
  "description": "The sandbox is virtual"
20319
20434
  },
20320
20435
  "401": {
20321
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
20436
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
20322
20437
  "content": {
20323
20438
  "application/json": {
20324
20439
  "schema": {
@@ -20328,7 +20443,7 @@
20328
20443
  }
20329
20444
  },
20330
20445
  "403": {
20331
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
20446
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
20332
20447
  "content": {
20333
20448
  "application/json": {
20334
20449
  "schema": {
@@ -20338,7 +20453,7 @@
20338
20453
  }
20339
20454
  },
20340
20455
  "404": {
20341
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
20456
+ "description": "Not found (`not_found`)",
20342
20457
  "content": {
20343
20458
  "application/json": {
20344
20459
  "schema": {
@@ -20410,10 +20525,10 @@
20410
20525
  {
20411
20526
  "schema": {
20412
20527
  "type": "string",
20413
- "description": "The protocol version, `8`"
20528
+ "description": "The protocol version, `9`"
20414
20529
  },
20415
20530
  "required": true,
20416
- "description": "The protocol version, `8`",
20531
+ "description": "The protocol version, `9`",
20417
20532
  "name": "Nylorun-Protocol",
20418
20533
  "in": "header"
20419
20534
  },
@@ -20453,7 +20568,7 @@
20453
20568
  "description": "The sandbox is virtual"
20454
20569
  },
20455
20570
  "401": {
20456
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
20571
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
20457
20572
  "content": {
20458
20573
  "application/json": {
20459
20574
  "schema": {
@@ -20463,7 +20578,7 @@
20463
20578
  }
20464
20579
  },
20465
20580
  "403": {
20466
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
20581
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
20467
20582
  "content": {
20468
20583
  "application/json": {
20469
20584
  "schema": {
@@ -20473,7 +20588,7 @@
20473
20588
  }
20474
20589
  },
20475
20590
  "404": {
20476
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
20591
+ "description": "Not found (`not_found`)",
20477
20592
  "content": {
20478
20593
  "application/json": {
20479
20594
  "schema": {
@@ -20575,10 +20690,10 @@
20575
20690
  {
20576
20691
  "schema": {
20577
20692
  "type": "string",
20578
- "description": "The protocol version, `8`"
20693
+ "description": "The protocol version, `9`"
20579
20694
  },
20580
20695
  "required": true,
20581
- "description": "The protocol version, `8`",
20696
+ "description": "The protocol version, `9`",
20582
20697
  "name": "Nylorun-Protocol",
20583
20698
  "in": "header"
20584
20699
  },
@@ -20637,7 +20752,7 @@
20637
20752
  }
20638
20753
  },
20639
20754
  "401": {
20640
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
20755
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
20641
20756
  "content": {
20642
20757
  "application/json": {
20643
20758
  "schema": {
@@ -20647,7 +20762,7 @@
20647
20762
  }
20648
20763
  },
20649
20764
  "403": {
20650
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
20765
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
20651
20766
  "content": {
20652
20767
  "application/json": {
20653
20768
  "schema": {
@@ -20657,7 +20772,7 @@
20657
20772
  }
20658
20773
  },
20659
20774
  "404": {
20660
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
20775
+ "description": "Not found (`not_found`)",
20661
20776
  "content": {
20662
20777
  "application/json": {
20663
20778
  "schema": {
@@ -20727,10 +20842,10 @@
20727
20842
  {
20728
20843
  "schema": {
20729
20844
  "type": "string",
20730
- "description": "The protocol version, `8`"
20845
+ "description": "The protocol version, `9`"
20731
20846
  },
20732
20847
  "required": true,
20733
- "description": "The protocol version, `8`",
20848
+ "description": "The protocol version, `9`",
20734
20849
  "name": "Nylorun-Protocol",
20735
20850
  "in": "header"
20736
20851
  },
@@ -20777,7 +20892,7 @@
20777
20892
  }
20778
20893
  },
20779
20894
  "401": {
20780
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
20895
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
20781
20896
  "content": {
20782
20897
  "application/json": {
20783
20898
  "schema": {
@@ -20787,7 +20902,7 @@
20787
20902
  }
20788
20903
  },
20789
20904
  "403": {
20790
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
20905
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
20791
20906
  "content": {
20792
20907
  "application/json": {
20793
20908
  "schema": {
@@ -20797,7 +20912,7 @@
20797
20912
  }
20798
20913
  },
20799
20914
  "404": {
20800
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
20915
+ "description": "Not found (`not_found`)",
20801
20916
  "content": {
20802
20917
  "application/json": {
20803
20918
  "schema": {
@@ -20864,10 +20979,10 @@
20864
20979
  {
20865
20980
  "schema": {
20866
20981
  "type": "string",
20867
- "description": "The protocol version, `8`"
20982
+ "description": "The protocol version, `9`"
20868
20983
  },
20869
20984
  "required": true,
20870
- "description": "The protocol version, `8`",
20985
+ "description": "The protocol version, `9`",
20871
20986
  "name": "Nylorun-Protocol",
20872
20987
  "in": "header"
20873
20988
  },
@@ -20914,7 +21029,7 @@
20914
21029
  }
20915
21030
  },
20916
21031
  "401": {
20917
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
21032
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
20918
21033
  "content": {
20919
21034
  "application/json": {
20920
21035
  "schema": {
@@ -20924,7 +21039,7 @@
20924
21039
  }
20925
21040
  },
20926
21041
  "403": {
20927
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
21042
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
20928
21043
  "content": {
20929
21044
  "application/json": {
20930
21045
  "schema": {
@@ -20934,7 +21049,7 @@
20934
21049
  }
20935
21050
  },
20936
21051
  "404": {
20937
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
21052
+ "description": "Not found (`not_found`)",
20938
21053
  "content": {
20939
21054
  "application/json": {
20940
21055
  "schema": {
@@ -20999,10 +21114,10 @@
20999
21114
  {
21000
21115
  "schema": {
21001
21116
  "type": "string",
21002
- "description": "The protocol version, `8`"
21117
+ "description": "The protocol version, `9`"
21003
21118
  },
21004
21119
  "required": true,
21005
- "description": "The protocol version, `8`",
21120
+ "description": "The protocol version, `9`",
21006
21121
  "name": "Nylorun-Protocol",
21007
21122
  "in": "header"
21008
21123
  },
@@ -21049,7 +21164,7 @@
21049
21164
  }
21050
21165
  },
21051
21166
  "401": {
21052
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
21167
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
21053
21168
  "content": {
21054
21169
  "application/json": {
21055
21170
  "schema": {
@@ -21059,7 +21174,7 @@
21059
21174
  }
21060
21175
  },
21061
21176
  "403": {
21062
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
21177
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
21063
21178
  "content": {
21064
21179
  "application/json": {
21065
21180
  "schema": {
@@ -21069,7 +21184,7 @@
21069
21184
  }
21070
21185
  },
21071
21186
  "404": {
21072
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
21187
+ "description": "Not found (`not_found`)",
21073
21188
  "content": {
21074
21189
  "application/json": {
21075
21190
  "schema": {
@@ -21136,10 +21251,10 @@
21136
21251
  {
21137
21252
  "schema": {
21138
21253
  "type": "string",
21139
- "description": "The protocol version, `8`"
21254
+ "description": "The protocol version, `9`"
21140
21255
  },
21141
21256
  "required": true,
21142
- "description": "The protocol version, `8`",
21257
+ "description": "The protocol version, `9`",
21143
21258
  "name": "Nylorun-Protocol",
21144
21259
  "in": "header"
21145
21260
  },
@@ -21198,7 +21313,7 @@
21198
21313
  }
21199
21314
  },
21200
21315
  "401": {
21201
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
21316
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
21202
21317
  "content": {
21203
21318
  "application/json": {
21204
21319
  "schema": {
@@ -21208,7 +21323,7 @@
21208
21323
  }
21209
21324
  },
21210
21325
  "403": {
21211
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
21326
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
21212
21327
  "content": {
21213
21328
  "application/json": {
21214
21329
  "schema": {
@@ -21218,7 +21333,7 @@
21218
21333
  }
21219
21334
  },
21220
21335
  "404": {
21221
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
21336
+ "description": "Not found (`not_found`)",
21222
21337
  "content": {
21223
21338
  "application/json": {
21224
21339
  "schema": {
@@ -21298,10 +21413,10 @@
21298
21413
  {
21299
21414
  "schema": {
21300
21415
  "type": "string",
21301
- "description": "The protocol version, `8`"
21416
+ "description": "The protocol version, `9`"
21302
21417
  },
21303
21418
  "required": true,
21304
- "description": "The protocol version, `8`",
21419
+ "description": "The protocol version, `9`",
21305
21420
  "name": "Nylorun-Protocol",
21306
21421
  "in": "header"
21307
21422
  },
@@ -21412,7 +21527,7 @@
21412
21527
  }
21413
21528
  },
21414
21529
  "401": {
21415
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
21530
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
21416
21531
  "content": {
21417
21532
  "application/json": {
21418
21533
  "schema": {
@@ -21422,7 +21537,7 @@
21422
21537
  }
21423
21538
  },
21424
21539
  "403": {
21425
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
21540
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
21426
21541
  "content": {
21427
21542
  "application/json": {
21428
21543
  "schema": {
@@ -21432,7 +21547,7 @@
21432
21547
  }
21433
21548
  },
21434
21549
  "404": {
21435
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
21550
+ "description": "Not found (`not_found`)",
21436
21551
  "content": {
21437
21552
  "application/json": {
21438
21553
  "schema": {
@@ -21512,10 +21627,10 @@
21512
21627
  {
21513
21628
  "schema": {
21514
21629
  "type": "string",
21515
- "description": "The protocol version, `8`"
21630
+ "description": "The protocol version, `9`"
21516
21631
  },
21517
21632
  "required": true,
21518
- "description": "The protocol version, `8`",
21633
+ "description": "The protocol version, `9`",
21519
21634
  "name": "Nylorun-Protocol",
21520
21635
  "in": "header"
21521
21636
  },
@@ -21562,7 +21677,7 @@
21562
21677
  }
21563
21678
  },
21564
21679
  "401": {
21565
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
21680
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
21566
21681
  "content": {
21567
21682
  "application/json": {
21568
21683
  "schema": {
@@ -21572,7 +21687,7 @@
21572
21687
  }
21573
21688
  },
21574
21689
  "403": {
21575
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
21690
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
21576
21691
  "content": {
21577
21692
  "application/json": {
21578
21693
  "schema": {
@@ -21582,7 +21697,7 @@
21582
21697
  }
21583
21698
  },
21584
21699
  "404": {
21585
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
21700
+ "description": "Not found (`not_found`)",
21586
21701
  "content": {
21587
21702
  "application/json": {
21588
21703
  "schema": {
@@ -21669,10 +21784,10 @@
21669
21784
  {
21670
21785
  "schema": {
21671
21786
  "type": "string",
21672
- "description": "The protocol version, `8`"
21787
+ "description": "The protocol version, `9`"
21673
21788
  },
21674
21789
  "required": true,
21675
- "description": "The protocol version, `8`",
21790
+ "description": "The protocol version, `9`",
21676
21791
  "name": "Nylorun-Protocol",
21677
21792
  "in": "header"
21678
21793
  },
@@ -21783,7 +21898,7 @@
21783
21898
  }
21784
21899
  },
21785
21900
  "401": {
21786
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
21901
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
21787
21902
  "content": {
21788
21903
  "application/json": {
21789
21904
  "schema": {
@@ -21793,7 +21908,7 @@
21793
21908
  }
21794
21909
  },
21795
21910
  "403": {
21796
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
21911
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
21797
21912
  "content": {
21798
21913
  "application/json": {
21799
21914
  "schema": {
@@ -21803,7 +21918,7 @@
21803
21918
  }
21804
21919
  },
21805
21920
  "404": {
21806
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
21921
+ "description": "Not found (`not_found`)",
21807
21922
  "content": {
21808
21923
  "application/json": {
21809
21924
  "schema": {
@@ -21893,10 +22008,10 @@
21893
22008
  {
21894
22009
  "schema": {
21895
22010
  "type": "string",
21896
- "description": "The protocol version, `8`"
22011
+ "description": "The protocol version, `9`"
21897
22012
  },
21898
22013
  "required": true,
21899
- "description": "The protocol version, `8`",
22014
+ "description": "The protocol version, `9`",
21900
22015
  "name": "Nylorun-Protocol",
21901
22016
  "in": "header"
21902
22017
  },
@@ -21943,7 +22058,7 @@
21943
22058
  }
21944
22059
  },
21945
22060
  "401": {
21946
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
22061
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
21947
22062
  "content": {
21948
22063
  "application/json": {
21949
22064
  "schema": {
@@ -21953,7 +22068,7 @@
21953
22068
  }
21954
22069
  },
21955
22070
  "403": {
21956
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
22071
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
21957
22072
  "content": {
21958
22073
  "application/json": {
21959
22074
  "schema": {
@@ -21963,7 +22078,7 @@
21963
22078
  }
21964
22079
  },
21965
22080
  "404": {
21966
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
22081
+ "description": "Not found (`not_found`)",
21967
22082
  "content": {
21968
22083
  "application/json": {
21969
22084
  "schema": {
@@ -22040,10 +22155,10 @@
22040
22155
  {
22041
22156
  "schema": {
22042
22157
  "type": "string",
22043
- "description": "The protocol version, `8`"
22158
+ "description": "The protocol version, `9`"
22044
22159
  },
22045
22160
  "required": true,
22046
- "description": "The protocol version, `8`",
22161
+ "description": "The protocol version, `9`",
22047
22162
  "name": "Nylorun-Protocol",
22048
22163
  "in": "header"
22049
22164
  },
@@ -22091,7 +22206,7 @@
22091
22206
  }
22092
22207
  },
22093
22208
  "401": {
22094
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
22209
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
22095
22210
  "content": {
22096
22211
  "application/json": {
22097
22212
  "schema": {
@@ -22101,7 +22216,7 @@
22101
22216
  }
22102
22217
  },
22103
22218
  "403": {
22104
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
22219
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
22105
22220
  "content": {
22106
22221
  "application/json": {
22107
22222
  "schema": {
@@ -22111,7 +22226,7 @@
22111
22226
  }
22112
22227
  },
22113
22228
  "404": {
22114
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
22229
+ "description": "Not found (`not_found`)",
22115
22230
  "content": {
22116
22231
  "application/json": {
22117
22232
  "schema": {
@@ -22178,10 +22293,10 @@
22178
22293
  {
22179
22294
  "schema": {
22180
22295
  "type": "string",
22181
- "description": "The protocol version, `8`"
22296
+ "description": "The protocol version, `9`"
22182
22297
  },
22183
22298
  "required": true,
22184
- "description": "The protocol version, `8`",
22299
+ "description": "The protocol version, `9`",
22185
22300
  "name": "Nylorun-Protocol",
22186
22301
  "in": "header"
22187
22302
  },
@@ -22238,7 +22353,7 @@
22238
22353
  }
22239
22354
  },
22240
22355
  "401": {
22241
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
22356
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
22242
22357
  "content": {
22243
22358
  "application/json": {
22244
22359
  "schema": {
@@ -22248,7 +22363,7 @@
22248
22363
  }
22249
22364
  },
22250
22365
  "403": {
22251
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
22366
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
22252
22367
  "content": {
22253
22368
  "application/json": {
22254
22369
  "schema": {
@@ -22258,7 +22373,7 @@
22258
22373
  }
22259
22374
  },
22260
22375
  "404": {
22261
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
22376
+ "description": "Not found (`not_found`)",
22262
22377
  "content": {
22263
22378
  "application/json": {
22264
22379
  "schema": {
@@ -22324,10 +22439,10 @@
22324
22439
  {
22325
22440
  "schema": {
22326
22441
  "type": "string",
22327
- "description": "The protocol version, `8`"
22442
+ "description": "The protocol version, `9`"
22328
22443
  },
22329
22444
  "required": false,
22330
- "description": "The protocol version, `8`",
22445
+ "description": "The protocol version, `9`",
22331
22446
  "name": "Nylorun-Protocol",
22332
22447
  "in": "header"
22333
22448
  },
@@ -22438,7 +22553,7 @@
22438
22553
  }
22439
22554
  },
22440
22555
  "401": {
22441
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
22556
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
22442
22557
  "content": {
22443
22558
  "application/json": {
22444
22559
  "schema": {
@@ -22448,7 +22563,7 @@
22448
22563
  }
22449
22564
  },
22450
22565
  "403": {
22451
- "description": "Not allowed for this credential or subject scope, a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
22566
+ "description": "Not allowed for this credential or subject scope (`scope_required`; a token also gets `WWW-Authenticate: Bearer error=\"insufficient_scope\"` and the scope), a key of the other API (`key_role_mismatch`), or an application key from a browser (`origin_rejected`)",
22452
22567
  "content": {
22453
22568
  "application/json": {
22454
22569
  "schema": {
@@ -22458,7 +22573,7 @@
22458
22573
  }
22459
22574
  },
22460
22575
  "404": {
22461
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
22576
+ "description": "Not found (`not_found`)",
22462
22577
  "content": {
22463
22578
  "application/json": {
22464
22579
  "schema": {
@@ -22567,10 +22682,10 @@
22567
22682
  {
22568
22683
  "schema": {
22569
22684
  "type": "string",
22570
- "description": "The protocol version, `8`"
22685
+ "description": "The protocol version, `9`"
22571
22686
  },
22572
22687
  "required": true,
22573
- "description": "The protocol version, `8`",
22688
+ "description": "The protocol version, `9`",
22574
22689
  "name": "Nylorun-Protocol",
22575
22690
  "in": "header"
22576
22691
  },
@@ -22617,7 +22732,7 @@
22617
22732
  }
22618
22733
  },
22619
22734
  "401": {
22620
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
22735
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
22621
22736
  "content": {
22622
22737
  "application/json": {
22623
22738
  "schema": {
@@ -22637,7 +22752,7 @@
22637
22752
  }
22638
22753
  },
22639
22754
  "404": {
22640
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
22755
+ "description": "Not found (`not_found`)",
22641
22756
  "content": {
22642
22757
  "application/json": {
22643
22758
  "schema": {
@@ -22669,6 +22784,30 @@
22669
22784
  }
22670
22785
  }
22671
22786
  },
22787
+ "/.well-known/oauth-protected-resource": {
22788
+ "get": {
22789
+ "tags": [
22790
+ "Service"
22791
+ ],
22792
+ "summary": "Get the protected resource metadata",
22793
+ "description": "OAuth 2.0 Protected Resource Metadata (RFC 9728): the identity providers whose access tokens the Runtime API accepts (the identity file's trusted issuers) and their scopes. Nylorun is never the authorization server: a client signs in at one of `authorization_servers` and presents its token as `Authorization: Bearer`. A `401` from the Runtime API names this document in `WWW-Authenticate` (`resource_metadata`). Needs no key or `Nylorun-Protocol`, and accepts an `Origin`.",
22794
+ "responses": {
22795
+ "200": {
22796
+ "description": "The metadata",
22797
+ "content": {
22798
+ "application/json": {
22799
+ "schema": {
22800
+ "$ref": "#/components/schemas/ProtectedResourceMetadata"
22801
+ }
22802
+ }
22803
+ }
22804
+ },
22805
+ "404": {
22806
+ "description": "The Runtime trusts no identity provider (no identity file)"
22807
+ }
22808
+ }
22809
+ }
22810
+ },
22672
22811
  "/v1/access/jwks": {
22673
22812
  "get": {
22674
22813
  "tags": [
@@ -22699,10 +22838,10 @@
22699
22838
  {
22700
22839
  "schema": {
22701
22840
  "type": "string",
22702
- "description": "The protocol version, `8`"
22841
+ "description": "The protocol version, `9`"
22703
22842
  },
22704
22843
  "required": true,
22705
- "description": "The protocol version, `8`",
22844
+ "description": "The protocol version, `9`",
22706
22845
  "name": "Nylorun-Protocol",
22707
22846
  "in": "header"
22708
22847
  },
@@ -22749,7 +22888,7 @@
22749
22888
  }
22750
22889
  },
22751
22890
  "401": {
22752
- "description": "The token expired (`token_expired`), or its issuer's keys cannot be fetched now (`issuer_unavailable`)",
22891
+ "description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
22753
22892
  "content": {
22754
22893
  "application/json": {
22755
22894
  "schema": {
@@ -22769,7 +22908,7 @@
22769
22908
  }
22770
22909
  },
22771
22910
  "404": {
22772
- "description": "Not found, or a credential the Tenant does not know (`not_found`)",
22911
+ "description": "Not found (`not_found`)",
22773
22912
  "content": {
22774
22913
  "application/json": {
22775
22914
  "schema": {
@@ -22848,7 +22987,7 @@
22848
22987
  },
22849
22988
  {
22850
22989
  "name": "Service",
22851
- "description": "Check a Runtime is up and speaks your protocol, ask who your credential is, and read the public keys of the tokens it signs. `/health`, `/ready`, the JWKS and the documents need no key."
22990
+ "description": "Check a Runtime is up and speaks your protocol, ask who your credential is, find the identity providers it takes tokens from, and read the public keys of the tokens it signs. `/health`, `/ready`, the protected resource metadata, the JWKS and the documents need no key."
22852
22991
  }
22853
22992
  ],
22854
22993
  "x-tagGroups": [