@rathnasgala2/schemas 3.1.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +12 -9
  2. package/THIRD_PARTY_LICENSES.json +1 -1
  3. package/diagnostics/diagnostic-map.json +138 -0
  4. package/docs/catalogs/app-components.json +589 -1
  5. package/docs/catalogs/app-routes.json +328 -11
  6. package/docs/catalogs/schema-inventory.json +5 -5
  7. package/examples/valid/appearance/rules.json +22 -0
  8. package/examples/valid/build-input/rules.json +136 -0
  9. package/examples/valid/content-frontmatter/rules.json +108 -0
  10. package/fixtures/boundary/appearance/rules.json +22 -0
  11. package/fixtures/boundary/build-input/rules.json +136 -0
  12. package/fixtures/boundary/content-frontmatter/rules.json +108 -0
  13. package/fixtures/invalid/appearance/REQUEST_FIELD_UNKNOWN/cases.json +9 -0
  14. package/fixtures/invalid/appearance/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +9 -0
  15. package/fixtures/invalid/appearance/SCHEMA_TYPE_INVALID/cases.json +20 -0
  16. package/fixtures/invalid/build-input/REQUEST_FIELD_UNKNOWN/cases.json +47 -0
  17. package/fixtures/invalid/build-input/SCHEMA_CONSTANT_INVALID/cases.json +11 -0
  18. package/fixtures/invalid/build-input/SCHEMA_ENUM_INVALID/cases.json +22 -0
  19. package/fixtures/invalid/build-input/SCHEMA_NEGATED_RULE_MATCHED/cases.json +11 -0
  20. package/fixtures/invalid/build-input/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +173 -0
  21. package/fixtures/invalid/build-input/SCHEMA_TYPE_INVALID/cases.json +40 -0
  22. package/fixtures/invalid/content-frontmatter/REQUEST_FIELD_UNKNOWN/cases.json +38 -0
  23. package/fixtures/invalid/content-frontmatter/SCHEMA_CONSTANT_INVALID/cases.json +11 -0
  24. package/fixtures/invalid/content-frontmatter/SCHEMA_ENUM_INVALID/cases.json +22 -0
  25. package/fixtures/invalid/content-frontmatter/SCHEMA_NEGATED_RULE_MATCHED/cases.json +9 -0
  26. package/fixtures/invalid/content-frontmatter/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +164 -0
  27. package/fixtures/invalid/content-frontmatter/SCHEMA_TYPE_INVALID/cases.json +20 -0
  28. package/fixtures/manifest.json +1064 -6
  29. package/fixtures/unknown-field/appearance/rules.json +14 -0
  30. package/fixtures/unknown-field/build-input/rules.json +69 -0
  31. package/fixtures/unknown-field/content-frontmatter/rules.json +55 -0
  32. package/generated/browser/validator-core.mjs +3 -3
  33. package/generated/typescript/contracts/appearance.d.ts +5 -0
  34. package/generated/typescript/contracts/build-input.d.ts +21 -2
  35. package/generated/typescript/contracts/content-frontmatter.d.ts +14 -1
  36. package/openapi/http-catalog.json +549 -9
  37. package/openapi/openapi.yaml +18249 -4571
  38. package/package.json +1 -1
  39. package/sbom.cdx.json +23 -23
  40. package/schemas/appearance.schema.json +8 -0
  41. package/schemas/build-input.schema.json +44 -3
  42. package/schemas/content-frontmatter.schema.json +32 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "2.0.0",
3
3
  "sourceDesignRevision": "a53052955ceb6c1aa10c886289dc832eedfe6de0a00004df07d353ac19c4403a",
4
- "openApiDigest": "sha256:b926672f6094bd397d63ae05f96eff46a47109e12aeca1761bdb3ee7c3957e5e",
4
+ "openApiDigest": "sha256:809e90c9de881490b5d3981e3112ee557ce8bcb338f3e554c5c8749dd2c3e0cf",
5
5
  "operations": [
6
6
  {
7
7
  "operationId": "getInternalHealth",
@@ -55,7 +55,7 @@
55
55
  "operationId": "postAuthenticationRecoveryCode",
56
56
  "method": "POST",
57
57
  "path": "/v2/authentication/recovery-code",
58
- "purpose": "consume one recovery code through a bound recovery transaction",
58
+ "purpose": "sign in with a recovery code",
59
59
  "capabilityKey": null,
60
60
  "conditionalCapabilityKeys": [],
61
61
  "activationGate": "MVP",
@@ -197,6 +197,18 @@
197
197
  "actionGrant": "none",
198
198
  "sourceFragment": "organizations"
199
199
  },
200
+ {
201
+ "operationId": "getOrganizationsByOrganizationIdCapabilities",
202
+ "method": "GET",
203
+ "path": "/v2/organizations/{organizationId}/capabilities",
204
+ "purpose": "list the capabilities a custom role may grant",
205
+ "capabilityKey": "organization.members.view",
206
+ "conditionalCapabilityKeys": [],
207
+ "activationGate": "MVP",
208
+ "assuranceClass": "SESSION",
209
+ "actionGrant": "none",
210
+ "sourceFragment": "organizations"
211
+ },
200
212
  {
201
213
  "operationId": "getOrganizationsByOrganizationIdMembershipInvitations",
202
214
  "method": "GET",
@@ -281,6 +293,18 @@
281
293
  "actionGrant": "none",
282
294
  "sourceFragment": "organizations"
283
295
  },
296
+ {
297
+ "operationId": "deleteOrganizationsByOrganizationIdMembershipsByMembershipIdGrantsByGrantId",
298
+ "method": "DELETE",
299
+ "path": "/v2/organizations/{organizationId}/memberships/{membershipId}/grants/{grantId}",
300
+ "purpose": "remove one grant from a membership",
301
+ "capabilityKey": "organization.members.manage",
302
+ "conditionalCapabilityKeys": [],
303
+ "activationGate": "MVP",
304
+ "assuranceClass": "SESSION",
305
+ "actionGrant": "none",
306
+ "sourceFragment": "organizations"
307
+ },
284
308
  {
285
309
  "operationId": "getOrganizationsByOrganizationIdOperations",
286
310
  "method": "GET",
@@ -317,6 +341,18 @@
317
341
  "actionGrant": "none",
318
342
  "sourceFragment": "organizations"
319
343
  },
344
+ {
345
+ "operationId": "getOrganizationsByOrganizationIdOwnerTransfers",
346
+ "method": "GET",
347
+ "path": "/v2/organizations/{organizationId}/owner-transfers",
348
+ "purpose": "list the ownership transfers of an organization",
349
+ "capabilityKey": "organization.transfer",
350
+ "conditionalCapabilityKeys": [],
351
+ "activationGate": "MVP",
352
+ "assuranceClass": "SESSION",
353
+ "actionGrant": "none",
354
+ "sourceFragment": "organizations"
355
+ },
320
356
  {
321
357
  "operationId": "postOrganizationsByOrganizationIdOwnerTransfers",
322
358
  "method": "POST",
@@ -329,6 +365,18 @@
329
365
  "actionGrant": "none",
330
366
  "sourceFragment": "organizations"
331
367
  },
368
+ {
369
+ "operationId": "postOrganizationsByOrganizationIdOwnerTransfersPreview",
370
+ "method": "POST",
371
+ "path": "/v2/organizations/{organizationId}/owner-transfers:preview",
372
+ "purpose": "preview an organization ownership transfer",
373
+ "capabilityKey": "organization.transfer",
374
+ "conditionalCapabilityKeys": [],
375
+ "activationGate": "MVP",
376
+ "assuranceClass": "SESSION",
377
+ "actionGrant": "none",
378
+ "sourceFragment": "organizations"
379
+ },
332
380
  {
333
381
  "operationId": "getOrganizationsByOrganizationIdOwnerTransfersByTransferId",
334
382
  "method": "GET",
@@ -365,11 +413,35 @@
365
413
  "actionGrant": "none",
366
414
  "sourceFragment": "organizations"
367
415
  },
416
+ {
417
+ "operationId": "postOrganizationsByOrganizationIdOwnerTransfersByTransferIdDecline",
418
+ "method": "POST",
419
+ "path": "/v2/organizations/{organizationId}/owner-transfers/{transferId}:decline",
420
+ "purpose": "decline an organization ownership transfer",
421
+ "capabilityKey": "organization.transfer",
422
+ "conditionalCapabilityKeys": [],
423
+ "activationGate": "MVP",
424
+ "assuranceClass": "SESSION",
425
+ "actionGrant": "none",
426
+ "sourceFragment": "organizations"
427
+ },
428
+ {
429
+ "operationId": "getOrganizationsByOrganizationIdPublicationImports",
430
+ "method": "GET",
431
+ "path": "/v2/organizations/{organizationId}/publication-imports",
432
+ "purpose": "list repository imports",
433
+ "capabilityKey": "organization.view",
434
+ "conditionalCapabilityKeys": [],
435
+ "activationGate": "MVP",
436
+ "assuranceClass": "SESSION",
437
+ "actionGrant": "none",
438
+ "sourceFragment": "organizations"
439
+ },
368
440
  {
369
441
  "operationId": "postOrganizationsByOrganizationIdPublicationImports",
370
442
  "method": "POST",
371
443
  "path": "/v2/organizations/{organizationId}/publication-imports",
372
- "purpose": "inspect and import one author-controlled repository with atomic capacity reservation",
444
+ "purpose": "inspect an existing repository for import",
373
445
  "capabilityKey": "organization.publications.create",
374
446
  "conditionalCapabilityKeys": [],
375
447
  "activationGate": "MVP",
@@ -381,7 +453,7 @@
381
453
  "operationId": "getOrganizationsByOrganizationIdPublicationImportsByImportId",
382
454
  "method": "GET",
383
455
  "path": "/v2/organizations/{organizationId}/publication-imports/{importId}",
384
- "purpose": "read import findings, conflicts and operation status",
456
+ "purpose": "read a repository import",
385
457
  "capabilityKey": "organization.view",
386
458
  "conditionalCapabilityKeys": [],
387
459
  "activationGate": "MVP",
@@ -389,6 +461,78 @@
389
461
  "actionGrant": "none",
390
462
  "sourceFragment": "organizations"
391
463
  },
464
+ {
465
+ "operationId": "postOrganizationsByOrganizationIdPublicationImportsByImportIdCancel",
466
+ "method": "POST",
467
+ "path": "/v2/organizations/{organizationId}/publication-imports/{importId}:cancel",
468
+ "purpose": "cancel a repository import",
469
+ "capabilityKey": "organization.publications.create",
470
+ "conditionalCapabilityKeys": [],
471
+ "activationGate": "MVP",
472
+ "assuranceClass": "SESSION",
473
+ "actionGrant": "none",
474
+ "sourceFragment": "organizations"
475
+ },
476
+ {
477
+ "operationId": "postOrganizationsByOrganizationIdPublicationImportsByImportIdConnect",
478
+ "method": "POST",
479
+ "path": "/v2/organizations/{organizationId}/publication-imports/{importId}:connect",
480
+ "purpose": "connect an inspected repository as a new publication",
481
+ "capabilityKey": "organization.publications.create",
482
+ "conditionalCapabilityKeys": [],
483
+ "activationGate": "MVP",
484
+ "assuranceClass": "SESSION",
485
+ "actionGrant": "none",
486
+ "sourceFragment": "organizations"
487
+ },
488
+ {
489
+ "operationId": "postOrganizationsByOrganizationIdPublicationImportsByImportIdConvert",
490
+ "method": "POST",
491
+ "path": "/v2/organizations/{organizationId}/publication-imports/{importId}:convert",
492
+ "purpose": "convert an inspected v1 repository into a new publication",
493
+ "capabilityKey": "organization.publications.create",
494
+ "conditionalCapabilityKeys": [],
495
+ "activationGate": "MVP",
496
+ "assuranceClass": "SESSION",
497
+ "actionGrant": "none",
498
+ "sourceFragment": "organizations"
499
+ },
500
+ {
501
+ "operationId": "getOrganizationsByOrganizationIdPublicationTransfers",
502
+ "method": "GET",
503
+ "path": "/v2/organizations/{organizationId}/publication-transfers",
504
+ "purpose": "list publication transfers of an organization",
505
+ "capabilityKey": "organization.publications.admin",
506
+ "conditionalCapabilityKeys": [],
507
+ "activationGate": "MVP",
508
+ "assuranceClass": "SESSION",
509
+ "actionGrant": "none",
510
+ "sourceFragment": "publication-transfers"
511
+ },
512
+ {
513
+ "operationId": "postOrganizationsByOrganizationIdPublicationTransfersByTransferIdAccept",
514
+ "method": "POST",
515
+ "path": "/v2/organizations/{organizationId}/publication-transfers/{transferId}:accept",
516
+ "purpose": "accept a publication moving into this organization",
517
+ "capabilityKey": "organization.publications.admin",
518
+ "conditionalCapabilityKeys": [],
519
+ "activationGate": "MVP",
520
+ "assuranceClass": "SESSION",
521
+ "actionGrant": "none",
522
+ "sourceFragment": "publication-transfers"
523
+ },
524
+ {
525
+ "operationId": "postOrganizationsByOrganizationIdPublicationTransfersByTransferIdDecline",
526
+ "method": "POST",
527
+ "path": "/v2/organizations/{organizationId}/publication-transfers/{transferId}:decline",
528
+ "purpose": "decline a publication moving into this organization",
529
+ "capabilityKey": "organization.publications.admin",
530
+ "conditionalCapabilityKeys": [],
531
+ "activationGate": "MVP",
532
+ "assuranceClass": "SESSION",
533
+ "actionGrant": "none",
534
+ "sourceFragment": "publication-transfers"
535
+ },
392
536
  {
393
537
  "operationId": "getOrganizationsByOrganizationIdPublications",
394
538
  "method": "GET",
@@ -622,6 +766,78 @@
622
766
  "actionGrant": "none",
623
767
  "sourceFragment": "organizations"
624
768
  },
769
+ {
770
+ "operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdDomains",
771
+ "method": "GET",
772
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/domains",
773
+ "purpose": "list the custom domains of a publication",
774
+ "capabilityKey": "publication.view",
775
+ "conditionalCapabilityKeys": [],
776
+ "activationGate": "MVP",
777
+ "assuranceClass": "SESSION",
778
+ "actionGrant": "none",
779
+ "sourceFragment": "domains"
780
+ },
781
+ {
782
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdDomains",
783
+ "method": "POST",
784
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/domains",
785
+ "purpose": "add a custom domain",
786
+ "capabilityKey": "publication.settings.manage",
787
+ "conditionalCapabilityKeys": [],
788
+ "activationGate": "MVP",
789
+ "assuranceClass": "SESSION",
790
+ "actionGrant": "none",
791
+ "sourceFragment": "domains"
792
+ },
793
+ {
794
+ "operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdDomainsByDomainId",
795
+ "method": "GET",
796
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/domains/{domainId}",
797
+ "purpose": "read a custom domain",
798
+ "capabilityKey": "publication.view",
799
+ "conditionalCapabilityKeys": [],
800
+ "activationGate": "MVP",
801
+ "assuranceClass": "SESSION",
802
+ "actionGrant": "none",
803
+ "sourceFragment": "domains"
804
+ },
805
+ {
806
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdDomainsByDomainIdCheck",
807
+ "method": "POST",
808
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/domains/{domainId}:check",
809
+ "purpose": "check a custom domain now",
810
+ "capabilityKey": "publication.settings.manage",
811
+ "conditionalCapabilityKeys": [],
812
+ "activationGate": "MVP",
813
+ "assuranceClass": "SESSION",
814
+ "actionGrant": "none",
815
+ "sourceFragment": "domains"
816
+ },
817
+ {
818
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdDomainsByDomainIdDetach",
819
+ "method": "POST",
820
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/domains/{domainId}:detach",
821
+ "purpose": "remove a custom domain",
822
+ "capabilityKey": "publication.settings.manage",
823
+ "conditionalCapabilityKeys": [],
824
+ "activationGate": "MVP",
825
+ "assuranceClass": "SESSION",
826
+ "actionGrant": "none",
827
+ "sourceFragment": "domains"
828
+ },
829
+ {
830
+ "operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdGenerationPolicy",
831
+ "method": "GET",
832
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/generation-policy",
833
+ "purpose": "read the Prism generation policy",
834
+ "capabilityKey": "publication.source.write",
835
+ "conditionalCapabilityKeys": [],
836
+ "activationGate": "MVP",
837
+ "assuranceClass": "SESSION",
838
+ "actionGrant": "none",
839
+ "sourceFragment": "prism"
840
+ },
625
841
  {
626
842
  "operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdHistory",
627
843
  "method": "GET",
@@ -694,6 +910,78 @@
694
910
  "actionGrant": "none",
695
911
  "sourceFragment": "moderation"
696
912
  },
913
+ {
914
+ "operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdPrismGenerations",
915
+ "method": "GET",
916
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/prism-generations",
917
+ "purpose": "list Prism generations",
918
+ "capabilityKey": "publication.source.write",
919
+ "conditionalCapabilityKeys": [],
920
+ "activationGate": "MVP",
921
+ "assuranceClass": "SESSION",
922
+ "actionGrant": "none",
923
+ "sourceFragment": "prism"
924
+ },
925
+ {
926
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdPrismGenerations",
927
+ "method": "POST",
928
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/prism-generations",
929
+ "purpose": "generate a Prism edition of an article",
930
+ "capabilityKey": "publication.source.write",
931
+ "conditionalCapabilityKeys": [],
932
+ "activationGate": "MVP",
933
+ "assuranceClass": "SESSION",
934
+ "actionGrant": "none",
935
+ "sourceFragment": "prism"
936
+ },
937
+ {
938
+ "operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdPrismGenerationsByGenerationId",
939
+ "method": "GET",
940
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/prism-generations/{generationId}",
941
+ "purpose": "read a Prism generation",
942
+ "capabilityKey": "publication.source.write",
943
+ "conditionalCapabilityKeys": [],
944
+ "activationGate": "MVP",
945
+ "assuranceClass": "SESSION",
946
+ "actionGrant": "none",
947
+ "sourceFragment": "prism"
948
+ },
949
+ {
950
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdPrismGenerationsByGenerationIdAccept",
951
+ "method": "POST",
952
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/prism-generations/{generationId}:accept",
953
+ "purpose": "accept a Prism candidate as an edition",
954
+ "capabilityKey": "publication.source.write",
955
+ "conditionalCapabilityKeys": [],
956
+ "activationGate": "MVP",
957
+ "assuranceClass": "SESSION",
958
+ "actionGrant": "none",
959
+ "sourceFragment": "prism"
960
+ },
961
+ {
962
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdPrismGenerationsByGenerationIdCancel",
963
+ "method": "POST",
964
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/prism-generations/{generationId}:cancel",
965
+ "purpose": "cancel a Prism generation",
966
+ "capabilityKey": "publication.source.write",
967
+ "conditionalCapabilityKeys": [],
968
+ "activationGate": "MVP",
969
+ "assuranceClass": "SESSION",
970
+ "actionGrant": "none",
971
+ "sourceFragment": "prism"
972
+ },
973
+ {
974
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdPrismGenerationsByGenerationIdReject",
975
+ "method": "POST",
976
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/prism-generations/{generationId}:reject",
977
+ "purpose": "discard a Prism candidate",
978
+ "capabilityKey": "publication.source.write",
979
+ "conditionalCapabilityKeys": [],
980
+ "activationGate": "MVP",
981
+ "assuranceClass": "SESSION",
982
+ "actionGrant": "none",
983
+ "sourceFragment": "prism"
984
+ },
697
985
  {
698
986
  "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdPublishes",
699
987
  "method": "POST",
@@ -830,6 +1118,18 @@
830
1118
  "actionGrant": "none",
831
1119
  "sourceFragment": "organizations"
832
1120
  },
1121
+ {
1122
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdRepositoryChangesByChangeIdDismiss",
1123
+ "method": "POST",
1124
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/repository-changes/{changeId}:dismiss",
1125
+ "purpose": "dismiss a change closed on GitHub",
1126
+ "capabilityKey": "publication.source.write",
1127
+ "conditionalCapabilityKeys": [],
1128
+ "activationGate": "MVP",
1129
+ "assuranceClass": "SESSION",
1130
+ "actionGrant": "none",
1131
+ "sourceFragment": "organizations"
1132
+ },
833
1133
  {
834
1134
  "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdRepositorySetUp",
835
1135
  "method": "POST",
@@ -932,6 +1232,54 @@
932
1232
  "actionGrant": "none",
933
1233
  "sourceFragment": "organizations"
934
1234
  },
1235
+ {
1236
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdTransfers",
1237
+ "method": "POST",
1238
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/transfers",
1239
+ "purpose": "start moving a publication to another organization",
1240
+ "capabilityKey": "organization.publications.admin",
1241
+ "conditionalCapabilityKeys": [],
1242
+ "activationGate": "MVP",
1243
+ "assuranceClass": "SESSION",
1244
+ "actionGrant": "none",
1245
+ "sourceFragment": "publication-transfers"
1246
+ },
1247
+ {
1248
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdTransfersPreview",
1249
+ "method": "POST",
1250
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/transfers:preview",
1251
+ "purpose": "preview moving a publication to another organization",
1252
+ "capabilityKey": "organization.publications.admin",
1253
+ "conditionalCapabilityKeys": [],
1254
+ "activationGate": "MVP",
1255
+ "assuranceClass": "SESSION",
1256
+ "actionGrant": "none",
1257
+ "sourceFragment": "publication-transfers"
1258
+ },
1259
+ {
1260
+ "operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdTransfersByTransferId",
1261
+ "method": "GET",
1262
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/transfers/{transferId}",
1263
+ "purpose": "read a publication transfer",
1264
+ "capabilityKey": "publication.view",
1265
+ "conditionalCapabilityKeys": [],
1266
+ "activationGate": "MVP",
1267
+ "assuranceClass": "SESSION",
1268
+ "actionGrant": "none",
1269
+ "sourceFragment": "publication-transfers"
1270
+ },
1271
+ {
1272
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdTransfersByTransferIdCancel",
1273
+ "method": "POST",
1274
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/transfers/{transferId}:cancel",
1275
+ "purpose": "cancel a publication transfer",
1276
+ "capabilityKey": "organization.publications.admin",
1277
+ "conditionalCapabilityKeys": [],
1278
+ "activationGate": "MVP",
1279
+ "assuranceClass": "SESSION",
1280
+ "actionGrant": "none",
1281
+ "sourceFragment": "publication-transfers"
1282
+ },
935
1283
  {
936
1284
  "operationId": "getOrganizationsByOrganizationIdRoles",
937
1285
  "method": "GET",
@@ -944,6 +1292,102 @@
944
1292
  "actionGrant": "none",
945
1293
  "sourceFragment": "organizations"
946
1294
  },
1295
+ {
1296
+ "operationId": "postOrganizationsByOrganizationIdRoles",
1297
+ "method": "POST",
1298
+ "path": "/v2/organizations/{organizationId}/roles",
1299
+ "purpose": "create a custom role",
1300
+ "capabilityKey": "organization.roles.manage",
1301
+ "conditionalCapabilityKeys": [],
1302
+ "activationGate": "MVP",
1303
+ "assuranceClass": "SESSION",
1304
+ "actionGrant": "none",
1305
+ "sourceFragment": "organizations"
1306
+ },
1307
+ {
1308
+ "operationId": "deleteOrganizationsByOrganizationIdRolesByRoleId",
1309
+ "method": "DELETE",
1310
+ "path": "/v2/organizations/{organizationId}/roles/{roleId}",
1311
+ "purpose": "retire a custom role",
1312
+ "capabilityKey": "organization.roles.manage",
1313
+ "conditionalCapabilityKeys": [],
1314
+ "activationGate": "MVP",
1315
+ "assuranceClass": "SESSION",
1316
+ "actionGrant": "none",
1317
+ "sourceFragment": "organizations"
1318
+ },
1319
+ {
1320
+ "operationId": "getOrganizationsByOrganizationIdRolesByRoleId",
1321
+ "method": "GET",
1322
+ "path": "/v2/organizations/{organizationId}/roles/{roleId}",
1323
+ "purpose": "read one role",
1324
+ "capabilityKey": "organization.members.view",
1325
+ "conditionalCapabilityKeys": [],
1326
+ "activationGate": "MVP",
1327
+ "assuranceClass": "SESSION",
1328
+ "actionGrant": "none",
1329
+ "sourceFragment": "organizations"
1330
+ },
1331
+ {
1332
+ "operationId": "patchOrganizationsByOrganizationIdRolesByRoleId",
1333
+ "method": "PATCH",
1334
+ "path": "/v2/organizations/{organizationId}/roles/{roleId}",
1335
+ "purpose": "change a custom role",
1336
+ "capabilityKey": "organization.roles.manage",
1337
+ "conditionalCapabilityKeys": [],
1338
+ "activationGate": "MVP",
1339
+ "assuranceClass": "SESSION",
1340
+ "actionGrant": "none",
1341
+ "sourceFragment": "organizations"
1342
+ },
1343
+ {
1344
+ "operationId": "getOrganizationsByOrganizationIdRolesByRoleIdMembers",
1345
+ "method": "GET",
1346
+ "path": "/v2/organizations/{organizationId}/roles/{roleId}/members",
1347
+ "purpose": "list the members holding a role",
1348
+ "capabilityKey": "organization.members.view",
1349
+ "conditionalCapabilityKeys": [],
1350
+ "activationGate": "MVP",
1351
+ "assuranceClass": "SESSION",
1352
+ "actionGrant": "none",
1353
+ "sourceFragment": "organizations"
1354
+ },
1355
+ {
1356
+ "operationId": "getPlatformAdapters",
1357
+ "method": "GET",
1358
+ "path": "/v2/platform/adapters",
1359
+ "purpose": "list admitted adapters",
1360
+ "capabilityKey": "platform.adapters.manage",
1361
+ "conditionalCapabilityKeys": [],
1362
+ "activationGate": "MVP",
1363
+ "assuranceClass": "SESSION",
1364
+ "actionGrant": "none",
1365
+ "sourceFragment": "platform"
1366
+ },
1367
+ {
1368
+ "operationId": "getPlatformAuditEvents",
1369
+ "method": "GET",
1370
+ "path": "/v2/platform/audit-events",
1371
+ "purpose": "list audit events across the platform",
1372
+ "capabilityKey": "platform.audit.view",
1373
+ "conditionalCapabilityKeys": [],
1374
+ "activationGate": "MVP",
1375
+ "assuranceClass": "SESSION",
1376
+ "actionGrant": "none",
1377
+ "sourceFragment": "platform"
1378
+ },
1379
+ {
1380
+ "operationId": "getPlatformConfiguration",
1381
+ "method": "GET",
1382
+ "path": "/v2/platform/configuration",
1383
+ "purpose": "read the effective platform configuration",
1384
+ "capabilityKey": "platform.configuration.view",
1385
+ "conditionalCapabilityKeys": [],
1386
+ "activationGate": "MVP",
1387
+ "assuranceClass": "SESSION",
1388
+ "actionGrant": "none",
1389
+ "sourceFragment": "platform"
1390
+ },
947
1391
  {
948
1392
  "operationId": "deletePublicCommentsByCommentId",
949
1393
  "method": "DELETE",
@@ -956,6 +1400,18 @@
956
1400
  "actionGrant": "none",
957
1401
  "sourceFragment": "public-interactions"
958
1402
  },
1403
+ {
1404
+ "operationId": "postPublicCommentsByCommentIdAppeals",
1405
+ "method": "POST",
1406
+ "path": "/v2/public/comments/{commentId}/appeals",
1407
+ "purpose": "appeal the removal of my comment",
1408
+ "capabilityKey": null,
1409
+ "conditionalCapabilityKeys": [],
1410
+ "activationGate": "MVP",
1411
+ "assuranceClass": "SESSION",
1412
+ "actionGrant": "none",
1413
+ "sourceFragment": "public-interactions"
1414
+ },
959
1415
  {
960
1416
  "operationId": "postPublicCommentsByCommentIdReports",
961
1417
  "method": "POST",
@@ -1104,7 +1560,7 @@
1104
1560
  "operationId": "getSelfClosure",
1105
1561
  "method": "GET",
1106
1562
  "path": "/v2/self/closure",
1107
- "purpose": "account-closure state, fence and safe recovery actions",
1563
+ "purpose": "read my account closure",
1108
1564
  "capabilityKey": null,
1109
1565
  "conditionalCapabilityKeys": [],
1110
1566
  "activationGate": "MVP",
@@ -1116,7 +1572,43 @@
1116
1572
  "operationId": "postSelfClosure",
1117
1573
  "method": "POST",
1118
1574
  "path": "/v2/self/closure",
1119
- "purpose": "request fenced account closure",
1575
+ "purpose": "request account closure",
1576
+ "capabilityKey": null,
1577
+ "conditionalCapabilityKeys": [],
1578
+ "activationGate": "MVP",
1579
+ "assuranceClass": "SESSION",
1580
+ "actionGrant": "none",
1581
+ "sourceFragment": "self"
1582
+ },
1583
+ {
1584
+ "operationId": "postSelfClosureCancel",
1585
+ "method": "POST",
1586
+ "path": "/v2/self/closure:cancel",
1587
+ "purpose": "keep my account",
1588
+ "capabilityKey": null,
1589
+ "conditionalCapabilityKeys": [],
1590
+ "activationGate": "MVP",
1591
+ "assuranceClass": "SESSION",
1592
+ "actionGrant": "none",
1593
+ "sourceFragment": "self"
1594
+ },
1595
+ {
1596
+ "operationId": "postSelfClosurePreview",
1597
+ "method": "POST",
1598
+ "path": "/v2/self/closure:preview",
1599
+ "purpose": "preview closing my account",
1600
+ "capabilityKey": null,
1601
+ "conditionalCapabilityKeys": [],
1602
+ "activationGate": "MVP",
1603
+ "assuranceClass": "SESSION",
1604
+ "actionGrant": "none",
1605
+ "sourceFragment": "self"
1606
+ },
1607
+ {
1608
+ "operationId": "getSelfExports",
1609
+ "method": "GET",
1610
+ "path": "/v2/self/exports",
1611
+ "purpose": "list my account data exports",
1120
1612
  "capabilityKey": null,
1121
1613
  "conditionalCapabilityKeys": [],
1122
1614
  "activationGate": "MVP",
@@ -1128,7 +1620,7 @@
1128
1620
  "operationId": "postSelfExports",
1129
1621
  "method": "POST",
1130
1622
  "path": "/v2/self/exports",
1131
- "purpose": "request portable account export",
1623
+ "purpose": "request an account data export",
1132
1624
  "capabilityKey": null,
1133
1625
  "conditionalCapabilityKeys": [],
1134
1626
  "activationGate": "MVP",
@@ -1140,7 +1632,31 @@
1140
1632
  "operationId": "getSelfExportsByExportId",
1141
1633
  "method": "GET",
1142
1634
  "path": "/v2/self/exports/{exportId}",
1143
- "purpose": "account-export status and bounded download readiness",
1635
+ "purpose": "read an account data export",
1636
+ "capabilityKey": null,
1637
+ "conditionalCapabilityKeys": [],
1638
+ "activationGate": "MVP",
1639
+ "assuranceClass": "SESSION",
1640
+ "actionGrant": "none",
1641
+ "sourceFragment": "self"
1642
+ },
1643
+ {
1644
+ "operationId": "postSelfExportsByExportIdDownload",
1645
+ "method": "POST",
1646
+ "path": "/v2/self/exports/{exportId}:download",
1647
+ "purpose": "get a one-time download link for an account data export",
1648
+ "capabilityKey": null,
1649
+ "conditionalCapabilityKeys": [],
1650
+ "activationGate": "MVP",
1651
+ "assuranceClass": "SESSION",
1652
+ "actionGrant": "none",
1653
+ "sourceFragment": "self"
1654
+ },
1655
+ {
1656
+ "operationId": "getSelfExportsByExportIdArchive",
1657
+ "method": "GET",
1658
+ "path": "/v2/self/exports/{exportId}/archive",
1659
+ "purpose": "download an account data export archive",
1144
1660
  "capabilityKey": null,
1145
1661
  "conditionalCapabilityKeys": [],
1146
1662
  "activationGate": "MVP",
@@ -1172,6 +1688,18 @@
1172
1688
  "actionGrant": "none",
1173
1689
  "sourceFragment": "self"
1174
1690
  },
1691
+ {
1692
+ "operationId": "getSelfOwnerTransfers",
1693
+ "method": "GET",
1694
+ "path": "/v2/self/owner-transfers",
1695
+ "purpose": "list ownership transfers addressed to me",
1696
+ "capabilityKey": null,
1697
+ "conditionalCapabilityKeys": [],
1698
+ "activationGate": "MVP",
1699
+ "assuranceClass": "SESSION",
1700
+ "actionGrant": "none",
1701
+ "sourceFragment": "self"
1702
+ },
1175
1703
  {
1176
1704
  "operationId": "postSelfPasskeyRegistrationOptions",
1177
1705
  "method": "POST",
@@ -1268,6 +1796,18 @@
1268
1796
  "actionGrant": "none",
1269
1797
  "sourceFragment": "self"
1270
1798
  },
1799
+ {
1800
+ "operationId": "postSelfSessionsRevokeOthers",
1801
+ "method": "POST",
1802
+ "path": "/v2/self/sessions:revoke-others",
1803
+ "purpose": "sign out every other session",
1804
+ "capabilityKey": null,
1805
+ "conditionalCapabilityKeys": [],
1806
+ "activationGate": "MVP",
1807
+ "assuranceClass": "SESSION",
1808
+ "actionGrant": "none",
1809
+ "sourceFragment": "self"
1810
+ },
1271
1811
  {
1272
1812
  "operationId": "deleteSelfSessionsBySessionFamilyId",
1273
1813
  "method": "DELETE",
@@ -1341,5 +1881,5 @@
1341
1881
  "sourceFragment": "workloads"
1342
1882
  }
1343
1883
  ],
1344
- "digest": "sha256:ea81649bfded3f08fa1b7cbe4de25d76c2becfc5899daa2e807b7d8a4870fa25"
1884
+ "digest": "sha256:26f2ffa785981c34d5383d29bb63a918816d143e9615c7b3d86d86f60a28b3d7"
1345
1885
  }