@rathnasgala2/schemas 3.2.0 → 3.4.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 +701 -1
  5. package/docs/catalogs/app-routes.json +365 -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 +18340 -4755
  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:525a0dbe7c97fb12ba29c2fea920143dcac315dd1c2d02a3306d219efc1a3e84",
4
+ "openApiDigest": "sha256:cecf9cd16c775f8368d5b37db7aae7bd0e72cafedb9c4829836bf66d9564165a",
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",
@@ -135,6 +135,18 @@
135
135
  "actionGrant": "none",
136
136
  "sourceFragment": "github"
137
137
  },
138
+ {
139
+ "operationId": "getMembershipInvitationsByToken",
140
+ "method": "GET",
141
+ "path": "/v2/membership-invitations/{token}",
142
+ "purpose": "read what an invitation link offers",
143
+ "capabilityKey": null,
144
+ "conditionalCapabilityKeys": [],
145
+ "activationGate": "MVP",
146
+ "assuranceClass": "SESSION",
147
+ "actionGrant": "none",
148
+ "sourceFragment": "membership-invitations"
149
+ },
138
150
  {
139
151
  "operationId": "postMembershipInvitationsByTokenAccept",
140
152
  "method": "POST",
@@ -197,6 +209,18 @@
197
209
  "actionGrant": "none",
198
210
  "sourceFragment": "organizations"
199
211
  },
212
+ {
213
+ "operationId": "getOrganizationsByOrganizationIdCapabilities",
214
+ "method": "GET",
215
+ "path": "/v2/organizations/{organizationId}/capabilities",
216
+ "purpose": "list the capabilities a custom role may grant",
217
+ "capabilityKey": "organization.members.view",
218
+ "conditionalCapabilityKeys": [],
219
+ "activationGate": "MVP",
220
+ "assuranceClass": "SESSION",
221
+ "actionGrant": "none",
222
+ "sourceFragment": "organizations"
223
+ },
200
224
  {
201
225
  "operationId": "getOrganizationsByOrganizationIdMembershipInvitations",
202
226
  "method": "GET",
@@ -281,6 +305,18 @@
281
305
  "actionGrant": "none",
282
306
  "sourceFragment": "organizations"
283
307
  },
308
+ {
309
+ "operationId": "deleteOrganizationsByOrganizationIdMembershipsByMembershipIdGrantsByGrantId",
310
+ "method": "DELETE",
311
+ "path": "/v2/organizations/{organizationId}/memberships/{membershipId}/grants/{grantId}",
312
+ "purpose": "remove one grant from a membership",
313
+ "capabilityKey": "organization.members.manage",
314
+ "conditionalCapabilityKeys": [],
315
+ "activationGate": "MVP",
316
+ "assuranceClass": "SESSION",
317
+ "actionGrant": "none",
318
+ "sourceFragment": "organizations"
319
+ },
284
320
  {
285
321
  "operationId": "getOrganizationsByOrganizationIdOperations",
286
322
  "method": "GET",
@@ -317,6 +353,18 @@
317
353
  "actionGrant": "none",
318
354
  "sourceFragment": "organizations"
319
355
  },
356
+ {
357
+ "operationId": "getOrganizationsByOrganizationIdOwnerTransfers",
358
+ "method": "GET",
359
+ "path": "/v2/organizations/{organizationId}/owner-transfers",
360
+ "purpose": "list the ownership transfers of an organization",
361
+ "capabilityKey": "organization.transfer",
362
+ "conditionalCapabilityKeys": [],
363
+ "activationGate": "MVP",
364
+ "assuranceClass": "SESSION",
365
+ "actionGrant": "none",
366
+ "sourceFragment": "organizations"
367
+ },
320
368
  {
321
369
  "operationId": "postOrganizationsByOrganizationIdOwnerTransfers",
322
370
  "method": "POST",
@@ -329,6 +377,18 @@
329
377
  "actionGrant": "none",
330
378
  "sourceFragment": "organizations"
331
379
  },
380
+ {
381
+ "operationId": "postOrganizationsByOrganizationIdOwnerTransfersPreview",
382
+ "method": "POST",
383
+ "path": "/v2/organizations/{organizationId}/owner-transfers:preview",
384
+ "purpose": "preview an organization ownership transfer",
385
+ "capabilityKey": "organization.transfer",
386
+ "conditionalCapabilityKeys": [],
387
+ "activationGate": "MVP",
388
+ "assuranceClass": "SESSION",
389
+ "actionGrant": "none",
390
+ "sourceFragment": "organizations"
391
+ },
332
392
  {
333
393
  "operationId": "getOrganizationsByOrganizationIdOwnerTransfersByTransferId",
334
394
  "method": "GET",
@@ -365,11 +425,35 @@
365
425
  "actionGrant": "none",
366
426
  "sourceFragment": "organizations"
367
427
  },
428
+ {
429
+ "operationId": "postOrganizationsByOrganizationIdOwnerTransfersByTransferIdDecline",
430
+ "method": "POST",
431
+ "path": "/v2/organizations/{organizationId}/owner-transfers/{transferId}:decline",
432
+ "purpose": "decline an organization ownership transfer",
433
+ "capabilityKey": "organization.transfer",
434
+ "conditionalCapabilityKeys": [],
435
+ "activationGate": "MVP",
436
+ "assuranceClass": "SESSION",
437
+ "actionGrant": "none",
438
+ "sourceFragment": "organizations"
439
+ },
440
+ {
441
+ "operationId": "getOrganizationsByOrganizationIdPublicationImports",
442
+ "method": "GET",
443
+ "path": "/v2/organizations/{organizationId}/publication-imports",
444
+ "purpose": "list repository imports",
445
+ "capabilityKey": "organization.view",
446
+ "conditionalCapabilityKeys": [],
447
+ "activationGate": "MVP",
448
+ "assuranceClass": "SESSION",
449
+ "actionGrant": "none",
450
+ "sourceFragment": "organizations"
451
+ },
368
452
  {
369
453
  "operationId": "postOrganizationsByOrganizationIdPublicationImports",
370
454
  "method": "POST",
371
455
  "path": "/v2/organizations/{organizationId}/publication-imports",
372
- "purpose": "inspect and import one author-controlled repository with atomic capacity reservation",
456
+ "purpose": "inspect an existing repository for import",
373
457
  "capabilityKey": "organization.publications.create",
374
458
  "conditionalCapabilityKeys": [],
375
459
  "activationGate": "MVP",
@@ -381,7 +465,7 @@
381
465
  "operationId": "getOrganizationsByOrganizationIdPublicationImportsByImportId",
382
466
  "method": "GET",
383
467
  "path": "/v2/organizations/{organizationId}/publication-imports/{importId}",
384
- "purpose": "read import findings, conflicts and operation status",
468
+ "purpose": "read a repository import",
385
469
  "capabilityKey": "organization.view",
386
470
  "conditionalCapabilityKeys": [],
387
471
  "activationGate": "MVP",
@@ -389,6 +473,78 @@
389
473
  "actionGrant": "none",
390
474
  "sourceFragment": "organizations"
391
475
  },
476
+ {
477
+ "operationId": "postOrganizationsByOrganizationIdPublicationImportsByImportIdCancel",
478
+ "method": "POST",
479
+ "path": "/v2/organizations/{organizationId}/publication-imports/{importId}:cancel",
480
+ "purpose": "cancel a repository import",
481
+ "capabilityKey": "organization.publications.create",
482
+ "conditionalCapabilityKeys": [],
483
+ "activationGate": "MVP",
484
+ "assuranceClass": "SESSION",
485
+ "actionGrant": "none",
486
+ "sourceFragment": "organizations"
487
+ },
488
+ {
489
+ "operationId": "postOrganizationsByOrganizationIdPublicationImportsByImportIdConnect",
490
+ "method": "POST",
491
+ "path": "/v2/organizations/{organizationId}/publication-imports/{importId}:connect",
492
+ "purpose": "connect an inspected repository as 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": "postOrganizationsByOrganizationIdPublicationImportsByImportIdConvert",
502
+ "method": "POST",
503
+ "path": "/v2/organizations/{organizationId}/publication-imports/{importId}:convert",
504
+ "purpose": "convert an inspected v1 repository into a new publication",
505
+ "capabilityKey": "organization.publications.create",
506
+ "conditionalCapabilityKeys": [],
507
+ "activationGate": "MVP",
508
+ "assuranceClass": "SESSION",
509
+ "actionGrant": "none",
510
+ "sourceFragment": "organizations"
511
+ },
512
+ {
513
+ "operationId": "getOrganizationsByOrganizationIdPublicationTransfers",
514
+ "method": "GET",
515
+ "path": "/v2/organizations/{organizationId}/publication-transfers",
516
+ "purpose": "list publication transfers of an 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": "postOrganizationsByOrganizationIdPublicationTransfersByTransferIdAccept",
526
+ "method": "POST",
527
+ "path": "/v2/organizations/{organizationId}/publication-transfers/{transferId}:accept",
528
+ "purpose": "accept 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
+ },
536
+ {
537
+ "operationId": "postOrganizationsByOrganizationIdPublicationTransfersByTransferIdDecline",
538
+ "method": "POST",
539
+ "path": "/v2/organizations/{organizationId}/publication-transfers/{transferId}:decline",
540
+ "purpose": "decline a publication moving into this organization",
541
+ "capabilityKey": "organization.publications.admin",
542
+ "conditionalCapabilityKeys": [],
543
+ "activationGate": "MVP",
544
+ "assuranceClass": "SESSION",
545
+ "actionGrant": "none",
546
+ "sourceFragment": "publication-transfers"
547
+ },
392
548
  {
393
549
  "operationId": "getOrganizationsByOrganizationIdPublications",
394
550
  "method": "GET",
@@ -622,6 +778,78 @@
622
778
  "actionGrant": "none",
623
779
  "sourceFragment": "organizations"
624
780
  },
781
+ {
782
+ "operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdDomains",
783
+ "method": "GET",
784
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/domains",
785
+ "purpose": "list the custom domains of a publication",
786
+ "capabilityKey": "publication.view",
787
+ "conditionalCapabilityKeys": [],
788
+ "activationGate": "MVP",
789
+ "assuranceClass": "SESSION",
790
+ "actionGrant": "none",
791
+ "sourceFragment": "domains"
792
+ },
793
+ {
794
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdDomains",
795
+ "method": "POST",
796
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/domains",
797
+ "purpose": "add a custom domain",
798
+ "capabilityKey": "publication.settings.manage",
799
+ "conditionalCapabilityKeys": [],
800
+ "activationGate": "MVP",
801
+ "assuranceClass": "SESSION",
802
+ "actionGrant": "none",
803
+ "sourceFragment": "domains"
804
+ },
805
+ {
806
+ "operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdDomainsByDomainId",
807
+ "method": "GET",
808
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/domains/{domainId}",
809
+ "purpose": "read a custom domain",
810
+ "capabilityKey": "publication.view",
811
+ "conditionalCapabilityKeys": [],
812
+ "activationGate": "MVP",
813
+ "assuranceClass": "SESSION",
814
+ "actionGrant": "none",
815
+ "sourceFragment": "domains"
816
+ },
817
+ {
818
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdDomainsByDomainIdCheck",
819
+ "method": "POST",
820
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/domains/{domainId}:check",
821
+ "purpose": "check a custom domain now",
822
+ "capabilityKey": "publication.settings.manage",
823
+ "conditionalCapabilityKeys": [],
824
+ "activationGate": "MVP",
825
+ "assuranceClass": "SESSION",
826
+ "actionGrant": "none",
827
+ "sourceFragment": "domains"
828
+ },
829
+ {
830
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdDomainsByDomainIdDetach",
831
+ "method": "POST",
832
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/domains/{domainId}:detach",
833
+ "purpose": "remove a custom domain",
834
+ "capabilityKey": "publication.settings.manage",
835
+ "conditionalCapabilityKeys": [],
836
+ "activationGate": "MVP",
837
+ "assuranceClass": "SESSION",
838
+ "actionGrant": "none",
839
+ "sourceFragment": "domains"
840
+ },
841
+ {
842
+ "operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdGenerationPolicy",
843
+ "method": "GET",
844
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/generation-policy",
845
+ "purpose": "read the Prism generation policy",
846
+ "capabilityKey": "publication.source.write",
847
+ "conditionalCapabilityKeys": [],
848
+ "activationGate": "MVP",
849
+ "assuranceClass": "SESSION",
850
+ "actionGrant": "none",
851
+ "sourceFragment": "prism"
852
+ },
625
853
  {
626
854
  "operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdHistory",
627
855
  "method": "GET",
@@ -694,6 +922,78 @@
694
922
  "actionGrant": "none",
695
923
  "sourceFragment": "moderation"
696
924
  },
925
+ {
926
+ "operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdPrismGenerations",
927
+ "method": "GET",
928
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/prism-generations",
929
+ "purpose": "list Prism generations",
930
+ "capabilityKey": "publication.source.write",
931
+ "conditionalCapabilityKeys": [],
932
+ "activationGate": "MVP",
933
+ "assuranceClass": "SESSION",
934
+ "actionGrant": "none",
935
+ "sourceFragment": "prism"
936
+ },
937
+ {
938
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdPrismGenerations",
939
+ "method": "POST",
940
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/prism-generations",
941
+ "purpose": "generate a Prism edition of an article",
942
+ "capabilityKey": "publication.source.write",
943
+ "conditionalCapabilityKeys": [],
944
+ "activationGate": "MVP",
945
+ "assuranceClass": "SESSION",
946
+ "actionGrant": "none",
947
+ "sourceFragment": "prism"
948
+ },
949
+ {
950
+ "operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdPrismGenerationsByGenerationId",
951
+ "method": "GET",
952
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/prism-generations/{generationId}",
953
+ "purpose": "read a Prism generation",
954
+ "capabilityKey": "publication.source.write",
955
+ "conditionalCapabilityKeys": [],
956
+ "activationGate": "MVP",
957
+ "assuranceClass": "SESSION",
958
+ "actionGrant": "none",
959
+ "sourceFragment": "prism"
960
+ },
961
+ {
962
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdPrismGenerationsByGenerationIdAccept",
963
+ "method": "POST",
964
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/prism-generations/{generationId}:accept",
965
+ "purpose": "accept a Prism candidate as an edition",
966
+ "capabilityKey": "publication.source.write",
967
+ "conditionalCapabilityKeys": [],
968
+ "activationGate": "MVP",
969
+ "assuranceClass": "SESSION",
970
+ "actionGrant": "none",
971
+ "sourceFragment": "prism"
972
+ },
973
+ {
974
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdPrismGenerationsByGenerationIdCancel",
975
+ "method": "POST",
976
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/prism-generations/{generationId}:cancel",
977
+ "purpose": "cancel a Prism generation",
978
+ "capabilityKey": "publication.source.write",
979
+ "conditionalCapabilityKeys": [],
980
+ "activationGate": "MVP",
981
+ "assuranceClass": "SESSION",
982
+ "actionGrant": "none",
983
+ "sourceFragment": "prism"
984
+ },
985
+ {
986
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdPrismGenerationsByGenerationIdReject",
987
+ "method": "POST",
988
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/prism-generations/{generationId}:reject",
989
+ "purpose": "discard a Prism candidate",
990
+ "capabilityKey": "publication.source.write",
991
+ "conditionalCapabilityKeys": [],
992
+ "activationGate": "MVP",
993
+ "assuranceClass": "SESSION",
994
+ "actionGrant": "none",
995
+ "sourceFragment": "prism"
996
+ },
697
997
  {
698
998
  "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdPublishes",
699
999
  "method": "POST",
@@ -944,6 +1244,54 @@
944
1244
  "actionGrant": "none",
945
1245
  "sourceFragment": "organizations"
946
1246
  },
1247
+ {
1248
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdTransfers",
1249
+ "method": "POST",
1250
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/transfers",
1251
+ "purpose": "start 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": "postOrganizationsByOrganizationIdPublicationsByPublicationIdTransfersPreview",
1261
+ "method": "POST",
1262
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/transfers:preview",
1263
+ "purpose": "preview moving a publication to another organization",
1264
+ "capabilityKey": "organization.publications.admin",
1265
+ "conditionalCapabilityKeys": [],
1266
+ "activationGate": "MVP",
1267
+ "assuranceClass": "SESSION",
1268
+ "actionGrant": "none",
1269
+ "sourceFragment": "publication-transfers"
1270
+ },
1271
+ {
1272
+ "operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdTransfersByTransferId",
1273
+ "method": "GET",
1274
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/transfers/{transferId}",
1275
+ "purpose": "read a publication transfer",
1276
+ "capabilityKey": "publication.view",
1277
+ "conditionalCapabilityKeys": [],
1278
+ "activationGate": "MVP",
1279
+ "assuranceClass": "SESSION",
1280
+ "actionGrant": "none",
1281
+ "sourceFragment": "publication-transfers"
1282
+ },
1283
+ {
1284
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdTransfersByTransferIdCancel",
1285
+ "method": "POST",
1286
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/transfers/{transferId}:cancel",
1287
+ "purpose": "cancel a publication transfer",
1288
+ "capabilityKey": "organization.publications.admin",
1289
+ "conditionalCapabilityKeys": [],
1290
+ "activationGate": "MVP",
1291
+ "assuranceClass": "SESSION",
1292
+ "actionGrant": "none",
1293
+ "sourceFragment": "publication-transfers"
1294
+ },
947
1295
  {
948
1296
  "operationId": "getOrganizationsByOrganizationIdRoles",
949
1297
  "method": "GET",
@@ -956,6 +1304,102 @@
956
1304
  "actionGrant": "none",
957
1305
  "sourceFragment": "organizations"
958
1306
  },
1307
+ {
1308
+ "operationId": "postOrganizationsByOrganizationIdRoles",
1309
+ "method": "POST",
1310
+ "path": "/v2/organizations/{organizationId}/roles",
1311
+ "purpose": "create 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": "deleteOrganizationsByOrganizationIdRolesByRoleId",
1321
+ "method": "DELETE",
1322
+ "path": "/v2/organizations/{organizationId}/roles/{roleId}",
1323
+ "purpose": "retire a custom role",
1324
+ "capabilityKey": "organization.roles.manage",
1325
+ "conditionalCapabilityKeys": [],
1326
+ "activationGate": "MVP",
1327
+ "assuranceClass": "SESSION",
1328
+ "actionGrant": "none",
1329
+ "sourceFragment": "organizations"
1330
+ },
1331
+ {
1332
+ "operationId": "getOrganizationsByOrganizationIdRolesByRoleId",
1333
+ "method": "GET",
1334
+ "path": "/v2/organizations/{organizationId}/roles/{roleId}",
1335
+ "purpose": "read one role",
1336
+ "capabilityKey": "organization.members.view",
1337
+ "conditionalCapabilityKeys": [],
1338
+ "activationGate": "MVP",
1339
+ "assuranceClass": "SESSION",
1340
+ "actionGrant": "none",
1341
+ "sourceFragment": "organizations"
1342
+ },
1343
+ {
1344
+ "operationId": "patchOrganizationsByOrganizationIdRolesByRoleId",
1345
+ "method": "PATCH",
1346
+ "path": "/v2/organizations/{organizationId}/roles/{roleId}",
1347
+ "purpose": "change a custom role",
1348
+ "capabilityKey": "organization.roles.manage",
1349
+ "conditionalCapabilityKeys": [],
1350
+ "activationGate": "MVP",
1351
+ "assuranceClass": "SESSION",
1352
+ "actionGrant": "none",
1353
+ "sourceFragment": "organizations"
1354
+ },
1355
+ {
1356
+ "operationId": "getOrganizationsByOrganizationIdRolesByRoleIdMembers",
1357
+ "method": "GET",
1358
+ "path": "/v2/organizations/{organizationId}/roles/{roleId}/members",
1359
+ "purpose": "list the members holding a role",
1360
+ "capabilityKey": "organization.members.view",
1361
+ "conditionalCapabilityKeys": [],
1362
+ "activationGate": "MVP",
1363
+ "assuranceClass": "SESSION",
1364
+ "actionGrant": "none",
1365
+ "sourceFragment": "organizations"
1366
+ },
1367
+ {
1368
+ "operationId": "getPlatformAdapters",
1369
+ "method": "GET",
1370
+ "path": "/v2/platform/adapters",
1371
+ "purpose": "list admitted adapters",
1372
+ "capabilityKey": "platform.adapters.manage",
1373
+ "conditionalCapabilityKeys": [],
1374
+ "activationGate": "MVP",
1375
+ "assuranceClass": "SESSION",
1376
+ "actionGrant": "none",
1377
+ "sourceFragment": "platform"
1378
+ },
1379
+ {
1380
+ "operationId": "getPlatformAuditEvents",
1381
+ "method": "GET",
1382
+ "path": "/v2/platform/audit-events",
1383
+ "purpose": "list audit events across the platform",
1384
+ "capabilityKey": "platform.audit.view",
1385
+ "conditionalCapabilityKeys": [],
1386
+ "activationGate": "MVP",
1387
+ "assuranceClass": "SESSION",
1388
+ "actionGrant": "none",
1389
+ "sourceFragment": "platform"
1390
+ },
1391
+ {
1392
+ "operationId": "getPlatformConfiguration",
1393
+ "method": "GET",
1394
+ "path": "/v2/platform/configuration",
1395
+ "purpose": "read the effective platform configuration",
1396
+ "capabilityKey": "platform.configuration.view",
1397
+ "conditionalCapabilityKeys": [],
1398
+ "activationGate": "MVP",
1399
+ "assuranceClass": "SESSION",
1400
+ "actionGrant": "none",
1401
+ "sourceFragment": "platform"
1402
+ },
959
1403
  {
960
1404
  "operationId": "deletePublicCommentsByCommentId",
961
1405
  "method": "DELETE",
@@ -968,6 +1412,18 @@
968
1412
  "actionGrant": "none",
969
1413
  "sourceFragment": "public-interactions"
970
1414
  },
1415
+ {
1416
+ "operationId": "postPublicCommentsByCommentIdAppeals",
1417
+ "method": "POST",
1418
+ "path": "/v2/public/comments/{commentId}/appeals",
1419
+ "purpose": "appeal the removal of my comment",
1420
+ "capabilityKey": null,
1421
+ "conditionalCapabilityKeys": [],
1422
+ "activationGate": "MVP",
1423
+ "assuranceClass": "SESSION",
1424
+ "actionGrant": "none",
1425
+ "sourceFragment": "public-interactions"
1426
+ },
971
1427
  {
972
1428
  "operationId": "postPublicCommentsByCommentIdReports",
973
1429
  "method": "POST",
@@ -1116,7 +1572,7 @@
1116
1572
  "operationId": "getSelfClosure",
1117
1573
  "method": "GET",
1118
1574
  "path": "/v2/self/closure",
1119
- "purpose": "account-closure state, fence and safe recovery actions",
1575
+ "purpose": "read my account closure",
1120
1576
  "capabilityKey": null,
1121
1577
  "conditionalCapabilityKeys": [],
1122
1578
  "activationGate": "MVP",
@@ -1128,7 +1584,43 @@
1128
1584
  "operationId": "postSelfClosure",
1129
1585
  "method": "POST",
1130
1586
  "path": "/v2/self/closure",
1131
- "purpose": "request fenced account closure",
1587
+ "purpose": "request account closure",
1588
+ "capabilityKey": null,
1589
+ "conditionalCapabilityKeys": [],
1590
+ "activationGate": "MVP",
1591
+ "assuranceClass": "SESSION",
1592
+ "actionGrant": "none",
1593
+ "sourceFragment": "self"
1594
+ },
1595
+ {
1596
+ "operationId": "postSelfClosureCancel",
1597
+ "method": "POST",
1598
+ "path": "/v2/self/closure:cancel",
1599
+ "purpose": "keep my account",
1600
+ "capabilityKey": null,
1601
+ "conditionalCapabilityKeys": [],
1602
+ "activationGate": "MVP",
1603
+ "assuranceClass": "SESSION",
1604
+ "actionGrant": "none",
1605
+ "sourceFragment": "self"
1606
+ },
1607
+ {
1608
+ "operationId": "postSelfClosurePreview",
1609
+ "method": "POST",
1610
+ "path": "/v2/self/closure:preview",
1611
+ "purpose": "preview closing my account",
1612
+ "capabilityKey": null,
1613
+ "conditionalCapabilityKeys": [],
1614
+ "activationGate": "MVP",
1615
+ "assuranceClass": "SESSION",
1616
+ "actionGrant": "none",
1617
+ "sourceFragment": "self"
1618
+ },
1619
+ {
1620
+ "operationId": "getSelfExports",
1621
+ "method": "GET",
1622
+ "path": "/v2/self/exports",
1623
+ "purpose": "list my account data exports",
1132
1624
  "capabilityKey": null,
1133
1625
  "conditionalCapabilityKeys": [],
1134
1626
  "activationGate": "MVP",
@@ -1140,7 +1632,7 @@
1140
1632
  "operationId": "postSelfExports",
1141
1633
  "method": "POST",
1142
1634
  "path": "/v2/self/exports",
1143
- "purpose": "request portable account export",
1635
+ "purpose": "request an account data export",
1144
1636
  "capabilityKey": null,
1145
1637
  "conditionalCapabilityKeys": [],
1146
1638
  "activationGate": "MVP",
@@ -1152,7 +1644,31 @@
1152
1644
  "operationId": "getSelfExportsByExportId",
1153
1645
  "method": "GET",
1154
1646
  "path": "/v2/self/exports/{exportId}",
1155
- "purpose": "account-export status and bounded download readiness",
1647
+ "purpose": "read 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": "postSelfExportsByExportIdDownload",
1657
+ "method": "POST",
1658
+ "path": "/v2/self/exports/{exportId}:download",
1659
+ "purpose": "get a one-time download link for an account data export",
1660
+ "capabilityKey": null,
1661
+ "conditionalCapabilityKeys": [],
1662
+ "activationGate": "MVP",
1663
+ "assuranceClass": "SESSION",
1664
+ "actionGrant": "none",
1665
+ "sourceFragment": "self"
1666
+ },
1667
+ {
1668
+ "operationId": "getSelfExportsByExportIdArchive",
1669
+ "method": "GET",
1670
+ "path": "/v2/self/exports/{exportId}/archive",
1671
+ "purpose": "download an account data export archive",
1156
1672
  "capabilityKey": null,
1157
1673
  "conditionalCapabilityKeys": [],
1158
1674
  "activationGate": "MVP",
@@ -1184,6 +1700,18 @@
1184
1700
  "actionGrant": "none",
1185
1701
  "sourceFragment": "self"
1186
1702
  },
1703
+ {
1704
+ "operationId": "getSelfOwnerTransfers",
1705
+ "method": "GET",
1706
+ "path": "/v2/self/owner-transfers",
1707
+ "purpose": "list ownership transfers addressed to me",
1708
+ "capabilityKey": null,
1709
+ "conditionalCapabilityKeys": [],
1710
+ "activationGate": "MVP",
1711
+ "assuranceClass": "SESSION",
1712
+ "actionGrant": "none",
1713
+ "sourceFragment": "self"
1714
+ },
1187
1715
  {
1188
1716
  "operationId": "postSelfPasskeyRegistrationOptions",
1189
1717
  "method": "POST",
@@ -1280,6 +1808,18 @@
1280
1808
  "actionGrant": "none",
1281
1809
  "sourceFragment": "self"
1282
1810
  },
1811
+ {
1812
+ "operationId": "postSelfSessionsRevokeOthers",
1813
+ "method": "POST",
1814
+ "path": "/v2/self/sessions:revoke-others",
1815
+ "purpose": "sign out every other session",
1816
+ "capabilityKey": null,
1817
+ "conditionalCapabilityKeys": [],
1818
+ "activationGate": "MVP",
1819
+ "assuranceClass": "SESSION",
1820
+ "actionGrant": "none",
1821
+ "sourceFragment": "self"
1822
+ },
1283
1823
  {
1284
1824
  "operationId": "deleteSelfSessionsBySessionFamilyId",
1285
1825
  "method": "DELETE",
@@ -1353,5 +1893,5 @@
1353
1893
  "sourceFragment": "workloads"
1354
1894
  }
1355
1895
  ],
1356
- "digest": "sha256:128580e72311d918d9206ce1ddc8cbd824a54b18c11826f47525247b18431611"
1896
+ "digest": "sha256:d48e61b03e54e96b485e677a5d31a7a09ecf5eecc784fe5922ead60017f81a18"
1357
1897
  }