@rathnasgala2/schemas 2.21.0 → 3.0.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.
- package/README.md +31 -30
- package/THIRD_PARTY_LICENSES.json +3 -3
- package/diagnostics/diagnostic-map.json +706 -4
- package/docs/catalogs/app-components.json +1107 -1
- package/docs/catalogs/app-routes.json +444 -1
- package/docs/catalogs/schema-inventory.json +5 -5
- package/examples/valid/build-input/rules.json +50 -0
- package/examples/valid/publication/rules.json +48 -0
- package/examples/valid/theme-contract/canonical.json +355 -19
- package/examples/valid/theme-contract/default-3.0.json +660 -0
- package/examples/valid/theme-contract/rules.json +3456 -552
- package/fixtures/boundary/build-input/rules.json +55 -0
- package/fixtures/boundary/publication/rules.json +53 -0
- package/fixtures/boundary/theme-contract/root.json +355 -19
- package/fixtures/boundary/theme-contract/rules.json +4158 -1226
- package/fixtures/invalid/build-input/GRAPHEME_LENGTH_INVALID/cases.json +11 -0
- package/fixtures/invalid/build-input/REQUEST_FIELD_UNKNOWN/cases.json +27 -0
- package/fixtures/invalid/build-input/SCHEMA_ENUM_INVALID/cases.json +11 -0
- package/fixtures/invalid/build-input/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +50 -0
- package/fixtures/invalid/build-input/SCHEMA_TYPE_INVALID/cases.json +22 -0
- package/fixtures/invalid/publication/GRAPHEME_LENGTH_INVALID/cases.json +11 -0
- package/fixtures/invalid/publication/REQUEST_FIELD_UNKNOWN/cases.json +23 -0
- package/fixtures/invalid/publication/SCHEMA_ENUM_INVALID/cases.json +9 -0
- package/fixtures/invalid/publication/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +42 -0
- package/fixtures/invalid/publication/SCHEMA_TYPE_INVALID/cases.json +18 -0
- package/fixtures/invalid/theme-contract/REQUEST_FIELD_UNKNOWN/cases.json +421 -20
- package/fixtures/invalid/theme-contract/SCHEMA_ARRAY_TOO_LONG/cases.json +2 -2
- package/fixtures/invalid/theme-contract/SCHEMA_ARRAY_TOO_SHORT/cases.json +1 -1
- package/fixtures/invalid/theme-contract/SCHEMA_CONSTANT_INVALID/cases.json +2155 -296
- package/fixtures/invalid/theme-contract/SCHEMA_ENUM_INVALID/cases.json +229 -9
- package/fixtures/invalid/theme-contract/SCHEMA_PATTERN_INVALID/cases.json +176 -0
- package/fixtures/invalid/theme-contract/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +8812 -1517
- package/fixtures/invalid/theme-contract/SCHEMA_STRING_TOO_LONG/cases.json +22 -0
- package/fixtures/manifest.json +5543 -161
- package/fixtures/s2/manifest.json +1 -1
- package/fixtures/s2/theme-contracts-digest-cycle.json +888 -36
- package/fixtures/unknown-field/build-input/rules.json +35 -0
- package/fixtures/unknown-field/publication/rules.json +35 -0
- package/fixtures/unknown-field/theme-contract/root.json +355 -19
- package/fixtures/unknown-field/theme-contract/rules.json +637 -22
- package/generated/browser/validator-core.mjs +3 -3
- package/generated/typescript/contracts/build-input.d.ts +8 -0
- package/generated/typescript/contracts/publication.d.ts +12 -0
- package/generated/typescript/contracts/theme-contract.d.ts +529 -9
- package/openapi/http-catalog.json +40 -2
- package/openapi/openapi.yaml +1348 -162
- package/package.json +1 -1
- package/sbom.cdx.json +23 -23
- package/schemas/build-input.schema.json +19 -0
- package/schemas/publication.schema.json +21 -0
- package/schemas/theme-contract.schema.json +1178 -83
package/openapi/openapi.yaml
CHANGED
|
@@ -1512,6 +1512,48 @@ components:
|
|
|
1512
1512
|
- version
|
|
1513
1513
|
- state
|
|
1514
1514
|
type: object
|
|
1515
|
+
GetOrganizationsByOrganizationIdPublicationsByPublicationIdHistoryResponse:
|
|
1516
|
+
additionalProperties: false
|
|
1517
|
+
allOf:
|
|
1518
|
+
- else:
|
|
1519
|
+
properties:
|
|
1520
|
+
nextCursor:
|
|
1521
|
+
type: "null"
|
|
1522
|
+
if:
|
|
1523
|
+
properties:
|
|
1524
|
+
hasMore:
|
|
1525
|
+
not:
|
|
1526
|
+
enum:
|
|
1527
|
+
- false
|
|
1528
|
+
type: boolean
|
|
1529
|
+
x-gala-const: true
|
|
1530
|
+
required:
|
|
1531
|
+
- hasMore
|
|
1532
|
+
then:
|
|
1533
|
+
properties:
|
|
1534
|
+
nextCursor:
|
|
1535
|
+
type: string
|
|
1536
|
+
required:
|
|
1537
|
+
- nextCursor
|
|
1538
|
+
properties:
|
|
1539
|
+
hasMore:
|
|
1540
|
+
type: boolean
|
|
1541
|
+
items:
|
|
1542
|
+
items:
|
|
1543
|
+
$ref: "#/components/schemas/HistoryEntry"
|
|
1544
|
+
maxItems: 100
|
|
1545
|
+
type: array
|
|
1546
|
+
nextCursor:
|
|
1547
|
+
description: Opaque cursor for the next page. Present and non-null exactly when `hasMore` is true; absent or null when `hasMore` is false. The length bounds constrain the string branch only.
|
|
1548
|
+
maxLength: 2048
|
|
1549
|
+
minLength: 1
|
|
1550
|
+
type:
|
|
1551
|
+
- string
|
|
1552
|
+
- "null"
|
|
1553
|
+
required:
|
|
1554
|
+
- items
|
|
1555
|
+
- hasMore
|
|
1556
|
+
type: object
|
|
1515
1557
|
GetOrganizationsByOrganizationIdPublicationsByPublicationIdRepositoryBindingsCurrentResponse:
|
|
1516
1558
|
additionalProperties: false
|
|
1517
1559
|
properties:
|
|
@@ -1644,6 +1686,8 @@ components:
|
|
|
1644
1686
|
format: uuid
|
|
1645
1687
|
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
1646
1688
|
type: string
|
|
1689
|
+
publishingPolicy:
|
|
1690
|
+
$ref: "#/components/schemas/PublishingPolicy"
|
|
1647
1691
|
slug:
|
|
1648
1692
|
maxLength: 80
|
|
1649
1693
|
minLength: 1
|
|
@@ -1709,6 +1753,61 @@ components:
|
|
|
1709
1753
|
- items
|
|
1710
1754
|
- hasMore
|
|
1711
1755
|
type: object
|
|
1756
|
+
GetOrganizationsByOrganizationIdPublicationsByPublicationIdSiteResponse:
|
|
1757
|
+
additionalProperties: false
|
|
1758
|
+
allOf:
|
|
1759
|
+
- else:
|
|
1760
|
+
not:
|
|
1761
|
+
required:
|
|
1762
|
+
- publishing
|
|
1763
|
+
if:
|
|
1764
|
+
properties:
|
|
1765
|
+
state:
|
|
1766
|
+
pattern: ^PUBLISHING$
|
|
1767
|
+
type: string
|
|
1768
|
+
x-gala-const: PUBLISHING
|
|
1769
|
+
required:
|
|
1770
|
+
- state
|
|
1771
|
+
then:
|
|
1772
|
+
required:
|
|
1773
|
+
- publishing
|
|
1774
|
+
description: Everything a Home screen needs in one read. `url` is the live site address, `null` when nothing has been published. `lastPublished` is absent when `state` is `NEVER_PUBLISHED`. `publishing` is present exactly while `state` is `PUBLISHING`.
|
|
1775
|
+
properties:
|
|
1776
|
+
attention:
|
|
1777
|
+
items:
|
|
1778
|
+
$ref: "#/components/schemas/SiteAttentionItem"
|
|
1779
|
+
maxItems: 20
|
|
1780
|
+
type: array
|
|
1781
|
+
lastPublished:
|
|
1782
|
+
$ref: "#/components/schemas/SiteLastPublished"
|
|
1783
|
+
pendingChanges:
|
|
1784
|
+
items:
|
|
1785
|
+
$ref: "#/components/schemas/SitePendingChange"
|
|
1786
|
+
maxItems: 200
|
|
1787
|
+
type: array
|
|
1788
|
+
publishing:
|
|
1789
|
+
$ref: "#/components/schemas/SitePublishing"
|
|
1790
|
+
state:
|
|
1791
|
+
enum:
|
|
1792
|
+
- LIVE
|
|
1793
|
+
- PUBLISHING
|
|
1794
|
+
- NEVER_PUBLISHED
|
|
1795
|
+
- FAILED
|
|
1796
|
+
- UNKNOWN
|
|
1797
|
+
type: string
|
|
1798
|
+
url:
|
|
1799
|
+
maxLength: 2048
|
|
1800
|
+
minLength: 1
|
|
1801
|
+
pattern: ^https://
|
|
1802
|
+
type:
|
|
1803
|
+
- string
|
|
1804
|
+
- "null"
|
|
1805
|
+
required:
|
|
1806
|
+
- url
|
|
1807
|
+
- state
|
|
1808
|
+
- pendingChanges
|
|
1809
|
+
- attention
|
|
1810
|
+
type: object
|
|
1712
1811
|
GetOrganizationsByOrganizationIdPublicationsResponse:
|
|
1713
1812
|
additionalProperties: false
|
|
1714
1813
|
allOf:
|
|
@@ -2231,6 +2330,149 @@ components:
|
|
|
2231
2330
|
- PRIVATE
|
|
2232
2331
|
- PUBLIC
|
|
2233
2332
|
type: string
|
|
2333
|
+
HistoryChange:
|
|
2334
|
+
additionalProperties: false
|
|
2335
|
+
allOf:
|
|
2336
|
+
- else:
|
|
2337
|
+
properties:
|
|
2338
|
+
action:
|
|
2339
|
+
enum:
|
|
2340
|
+
- CREATE
|
|
2341
|
+
- EDIT
|
|
2342
|
+
- DELETE
|
|
2343
|
+
if:
|
|
2344
|
+
properties:
|
|
2345
|
+
kind:
|
|
2346
|
+
pattern: ^LOOK$
|
|
2347
|
+
type: string
|
|
2348
|
+
x-gala-const: LOOK
|
|
2349
|
+
required:
|
|
2350
|
+
- kind
|
|
2351
|
+
then:
|
|
2352
|
+
properties:
|
|
2353
|
+
action:
|
|
2354
|
+
pattern: ^CHANGE$
|
|
2355
|
+
type: string
|
|
2356
|
+
x-gala-const: CHANGE
|
|
2357
|
+
properties:
|
|
2358
|
+
action:
|
|
2359
|
+
description: "`CHANGE` is used for `LOOK` and only for `LOOK`; `POST` and `PAGE` use `CREATE`, `EDIT` or `DELETE`."
|
|
2360
|
+
enum:
|
|
2361
|
+
- CREATE
|
|
2362
|
+
- EDIT
|
|
2363
|
+
- DELETE
|
|
2364
|
+
- CHANGE
|
|
2365
|
+
type: string
|
|
2366
|
+
kind:
|
|
2367
|
+
enum:
|
|
2368
|
+
- POST
|
|
2369
|
+
- PAGE
|
|
2370
|
+
- LOOK
|
|
2371
|
+
type: string
|
|
2372
|
+
path:
|
|
2373
|
+
description: Repository path of the post or page; absent for `LOOK`.
|
|
2374
|
+
maxLength: 512
|
|
2375
|
+
minLength: 1
|
|
2376
|
+
type: string
|
|
2377
|
+
theme:
|
|
2378
|
+
$ref: "#/components/schemas/SiteThemeChange"
|
|
2379
|
+
title:
|
|
2380
|
+
maxLength: 200
|
|
2381
|
+
minLength: 1
|
|
2382
|
+
type: string
|
|
2383
|
+
required:
|
|
2384
|
+
- kind
|
|
2385
|
+
- action
|
|
2386
|
+
- title
|
|
2387
|
+
type: object
|
|
2388
|
+
HistoryEntry:
|
|
2389
|
+
additionalProperties: false
|
|
2390
|
+
allOf:
|
|
2391
|
+
- else:
|
|
2392
|
+
not:
|
|
2393
|
+
required:
|
|
2394
|
+
- failure
|
|
2395
|
+
required:
|
|
2396
|
+
- versionId
|
|
2397
|
+
if:
|
|
2398
|
+
properties:
|
|
2399
|
+
outcome:
|
|
2400
|
+
pattern: ^FAILED$
|
|
2401
|
+
type: string
|
|
2402
|
+
x-gala-const: FAILED
|
|
2403
|
+
required:
|
|
2404
|
+
- outcome
|
|
2405
|
+
then:
|
|
2406
|
+
not:
|
|
2407
|
+
required:
|
|
2408
|
+
- versionId
|
|
2409
|
+
required:
|
|
2410
|
+
- failure
|
|
2411
|
+
description: One version that went live, or the trailing failed attempt. `versionId` is the deployment generation id and is accepted by `POST .../deployments:rollback` as `generationId`.
|
|
2412
|
+
properties:
|
|
2413
|
+
actor:
|
|
2414
|
+
$ref: "#/components/schemas/SiteActor"
|
|
2415
|
+
at:
|
|
2416
|
+
$ref: "#/components/schemas/PortableProblemRfc3339"
|
|
2417
|
+
changes:
|
|
2418
|
+
items:
|
|
2419
|
+
$ref: "#/components/schemas/HistoryChange"
|
|
2420
|
+
maxItems: 200
|
|
2421
|
+
type: array
|
|
2422
|
+
failedAttemptsBefore:
|
|
2423
|
+
$ref: "#/components/schemas/HistoryFailedAttempts"
|
|
2424
|
+
failure:
|
|
2425
|
+
$ref: "#/components/schemas/HistoryFailure"
|
|
2426
|
+
outcome:
|
|
2427
|
+
description: "`LIVE`: serving visitors now. `REPLACED`: went live and was superseded. `RESTORED`: went live by restoring an earlier version (`restoredFromVersionId`); once superseded it reads `REPLACED`. `FAILED`: only the trailing entry when the latest attempt failed."
|
|
2428
|
+
enum:
|
|
2429
|
+
- LIVE
|
|
2430
|
+
- REPLACED
|
|
2431
|
+
- RESTORED
|
|
2432
|
+
- FAILED
|
|
2433
|
+
type: string
|
|
2434
|
+
restoredFromVersionId:
|
|
2435
|
+
format: uuid
|
|
2436
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
2437
|
+
type: string
|
|
2438
|
+
versionId:
|
|
2439
|
+
format: uuid
|
|
2440
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
2441
|
+
type: string
|
|
2442
|
+
required:
|
|
2443
|
+
- at
|
|
2444
|
+
- actor
|
|
2445
|
+
- outcome
|
|
2446
|
+
- changes
|
|
2447
|
+
- failedAttemptsBefore
|
|
2448
|
+
type: object
|
|
2449
|
+
HistoryFailedAttempts:
|
|
2450
|
+
additionalProperties: false
|
|
2451
|
+
description: Failed publish attempts since the previous entry, folded into this one.
|
|
2452
|
+
properties:
|
|
2453
|
+
count:
|
|
2454
|
+
minimum: 0
|
|
2455
|
+
type: integer
|
|
2456
|
+
lastReason:
|
|
2457
|
+
maxLength: 80
|
|
2458
|
+
minLength: 1
|
|
2459
|
+
type: string
|
|
2460
|
+
required:
|
|
2461
|
+
- count
|
|
2462
|
+
type: object
|
|
2463
|
+
HistoryFailure:
|
|
2464
|
+
additionalProperties: false
|
|
2465
|
+
properties:
|
|
2466
|
+
reasonCode:
|
|
2467
|
+
maxLength: 80
|
|
2468
|
+
minLength: 1
|
|
2469
|
+
type: string
|
|
2470
|
+
retryable:
|
|
2471
|
+
type: boolean
|
|
2472
|
+
required:
|
|
2473
|
+
- reasonCode
|
|
2474
|
+
- retryable
|
|
2475
|
+
type: object
|
|
2234
2476
|
KernelAttemptSubmission:
|
|
2235
2477
|
additionalProperties: false
|
|
2236
2478
|
allOf:
|
|
@@ -3520,6 +3762,16 @@ components:
|
|
|
3520
3762
|
maxLength: 80
|
|
3521
3763
|
minLength: 1
|
|
3522
3764
|
type: string
|
|
3765
|
+
publishingPolicy:
|
|
3766
|
+
additionalProperties: false
|
|
3767
|
+
description: "A partial update of `PublishingPolicy`: an omitted member keeps its current value."
|
|
3768
|
+
minProperties: 1
|
|
3769
|
+
properties:
|
|
3770
|
+
galascribeMerges:
|
|
3771
|
+
type: boolean
|
|
3772
|
+
requireReview:
|
|
3773
|
+
type: boolean
|
|
3774
|
+
type: object
|
|
3523
3775
|
slug:
|
|
3524
3776
|
maxLength: 80
|
|
3525
3777
|
minLength: 1
|
|
@@ -3537,6 +3789,8 @@ components:
|
|
|
3537
3789
|
format: uuid
|
|
3538
3790
|
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
3539
3791
|
type: string
|
|
3792
|
+
publishingPolicy:
|
|
3793
|
+
$ref: "#/components/schemas/PublishingPolicy"
|
|
3540
3794
|
slug:
|
|
3541
3795
|
maxLength: 80
|
|
3542
3796
|
minLength: 1
|
|
@@ -9831,6 +10085,26 @@ components:
|
|
|
9831
10085
|
PostOrganizationsByOrganizationIdPublicationImportsResponse:
|
|
9832
10086
|
allOf:
|
|
9833
10087
|
- $ref: "#/components/schemas/OperationResponse"
|
|
10088
|
+
PostOrganizationsByOrganizationIdPublicationsByPublicationIdChangesPublishRequest:
|
|
10089
|
+
additionalProperties: false
|
|
10090
|
+
properties:
|
|
10091
|
+
changeIds:
|
|
10092
|
+
items:
|
|
10093
|
+
format: uuid
|
|
10094
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
10095
|
+
type: string
|
|
10096
|
+
maxItems: 20
|
|
10097
|
+
minItems: 1
|
|
10098
|
+
type: array
|
|
10099
|
+
uniqueItems: true
|
|
10100
|
+
scheduledFor:
|
|
10101
|
+
$ref: "#/components/schemas/PortableProblemRfc3339"
|
|
10102
|
+
required:
|
|
10103
|
+
- changeIds
|
|
10104
|
+
type: object
|
|
10105
|
+
PostOrganizationsByOrganizationIdPublicationsByPublicationIdChangesPublishResponse:
|
|
10106
|
+
allOf:
|
|
10107
|
+
- $ref: "#/components/schemas/PostOrganizationsByOrganizationIdPublicationsByPublicationIdPublishesResponse"
|
|
9834
10108
|
PostOrganizationsByOrganizationIdPublicationsByPublicationIdConfigurationChangesPlanRequest:
|
|
9835
10109
|
oneOf:
|
|
9836
10110
|
- additionalProperties: false
|
|
@@ -11121,6 +11395,20 @@ components:
|
|
|
11121
11395
|
- CANCELLED
|
|
11122
11396
|
- FINAL_FAILED
|
|
11123
11397
|
type: string
|
|
11398
|
+
PublishingPolicy:
|
|
11399
|
+
additionalProperties: false
|
|
11400
|
+
description: "How this publication publishes. Absence of the member on the publication resource means the defaults: `requireReview` false, `galascribeMerges` true."
|
|
11401
|
+
properties:
|
|
11402
|
+
galascribeMerges:
|
|
11403
|
+
description: Default true. When true Galascribe opens and merges the pull request itself through the GitHub App; when false each change must already be merged on GitHub before it can be published.
|
|
11404
|
+
type: boolean
|
|
11405
|
+
requireReview:
|
|
11406
|
+
description: Default false. When true a change needs an approved review before it can be published.
|
|
11407
|
+
type: boolean
|
|
11408
|
+
required:
|
|
11409
|
+
- requireReview
|
|
11410
|
+
- galascribeMerges
|
|
11411
|
+
type: object
|
|
11124
11412
|
PutOrganizationsByOrganizationIdPublicationsByPublicationIdDestinationRequest:
|
|
11125
11413
|
additionalProperties: false
|
|
11126
11414
|
allOf:
|
|
@@ -12264,72 +12552,232 @@ components:
|
|
|
12264
12552
|
- lastSeenAt
|
|
12265
12553
|
- current
|
|
12266
12554
|
type: object
|
|
12267
|
-
|
|
12555
|
+
SiteActor:
|
|
12268
12556
|
additionalProperties: false
|
|
12557
|
+
description: A person named in words. The identity is the display name; no principal id is exposed on this surface.
|
|
12269
12558
|
properties:
|
|
12270
|
-
|
|
12271
|
-
|
|
12272
|
-
|
|
12273
|
-
type: integer
|
|
12274
|
-
expectedCandidateDigest:
|
|
12275
|
-
pattern: ^sha256:[0-9a-f]{64}$
|
|
12276
|
-
type: string
|
|
12277
|
-
expectedContentType:
|
|
12278
|
-
maxLength: 128
|
|
12279
|
-
minLength: 3
|
|
12280
|
-
pattern: ^[a-z0-9][a-z0-9!#$&^_.+-]{0,62}/[a-z0-9][a-z0-9!#$&^_.+-]{0,62}(?:; charset=utf-8)?$
|
|
12281
|
-
type: string
|
|
12282
|
-
path:
|
|
12283
|
-
$ref: "#/components/schemas/PortableDeploymentReceiptRepoRelativePath"
|
|
12284
|
-
publicRoute:
|
|
12285
|
-
$ref: "#/components/schemas/PortableDeploymentReceiptCanonicalRoute"
|
|
12286
|
-
routeClass:
|
|
12287
|
-
enum:
|
|
12288
|
-
- html
|
|
12289
|
-
- feed
|
|
12290
|
-
- sitemap
|
|
12291
|
-
- asset
|
|
12292
|
-
- error
|
|
12559
|
+
displayName:
|
|
12560
|
+
maxLength: 200
|
|
12561
|
+
minLength: 1
|
|
12293
12562
|
type: string
|
|
12294
12563
|
required:
|
|
12295
|
-
-
|
|
12296
|
-
- publicRoute
|
|
12297
|
-
- routeClass
|
|
12298
|
-
- expectedContentType
|
|
12299
|
-
- byteLength
|
|
12300
|
-
- expectedCandidateDigest
|
|
12564
|
+
- displayName
|
|
12301
12565
|
type: object
|
|
12302
|
-
|
|
12566
|
+
SiteAttentionItem:
|
|
12303
12567
|
additionalProperties: false
|
|
12304
|
-
description:
|
|
12568
|
+
description: Something that needs a person to act. The list is empty when nothing does.
|
|
12305
12569
|
properties:
|
|
12306
|
-
|
|
12307
|
-
|
|
12570
|
+
code:
|
|
12571
|
+
enum:
|
|
12572
|
+
- REPOSITORY_NEEDS_UPDATE
|
|
12573
|
+
- CONTENT_CONFLICT
|
|
12574
|
+
- PUBLISH_FAILED
|
|
12575
|
+
- AUTHORIZATION_LOST
|
|
12576
|
+
- REPOSITORY_NOT_SET_UP
|
|
12577
|
+
- DESTINATION_NOT_CHOSEN
|
|
12578
|
+
type: string
|
|
12579
|
+
relatedChangeId:
|
|
12580
|
+
format: uuid
|
|
12581
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
12308
12582
|
type: string
|
|
12309
|
-
x-gala-const: fit
|
|
12310
|
-
verificationEntries:
|
|
12311
|
-
items:
|
|
12312
|
-
$ref: "#/components/schemas/VerificationPlanEntry"
|
|
12313
|
-
maxItems: 900
|
|
12314
|
-
minItems: 1
|
|
12315
|
-
type: array
|
|
12316
12583
|
required:
|
|
12317
|
-
-
|
|
12318
|
-
- verificationEntries
|
|
12584
|
+
- code
|
|
12319
12585
|
type: object
|
|
12320
|
-
|
|
12586
|
+
SiteLastPublished:
|
|
12321
12587
|
additionalProperties: false
|
|
12322
|
-
description: The complete verification plan does not fit one request, so the request states why and by how much instead of carrying a truncated plan.
|
|
12323
12588
|
properties:
|
|
12324
|
-
|
|
12325
|
-
|
|
12326
|
-
|
|
12327
|
-
|
|
12328
|
-
|
|
12329
|
-
|
|
12330
|
-
|
|
12331
|
-
|
|
12332
|
-
|
|
12589
|
+
actor:
|
|
12590
|
+
$ref: "#/components/schemas/SiteActor"
|
|
12591
|
+
at:
|
|
12592
|
+
$ref: "#/components/schemas/PortableProblemRfc3339"
|
|
12593
|
+
required:
|
|
12594
|
+
- at
|
|
12595
|
+
- actor
|
|
12596
|
+
type: object
|
|
12597
|
+
SitePendingChange:
|
|
12598
|
+
additionalProperties: false
|
|
12599
|
+
allOf:
|
|
12600
|
+
- else:
|
|
12601
|
+
properties:
|
|
12602
|
+
action:
|
|
12603
|
+
enum:
|
|
12604
|
+
- CREATE
|
|
12605
|
+
- EDIT
|
|
12606
|
+
- DELETE
|
|
12607
|
+
if:
|
|
12608
|
+
properties:
|
|
12609
|
+
kind:
|
|
12610
|
+
pattern: ^LOOK$
|
|
12611
|
+
type: string
|
|
12612
|
+
x-gala-const: LOOK
|
|
12613
|
+
required:
|
|
12614
|
+
- kind
|
|
12615
|
+
then:
|
|
12616
|
+
properties:
|
|
12617
|
+
action:
|
|
12618
|
+
pattern: ^CHANGE$
|
|
12619
|
+
type: string
|
|
12620
|
+
x-gala-const: CHANGE
|
|
12621
|
+
description: "One unpublished change in words. Exactly one entry exists per path (and one for the look): when several unpublished changes touch the same path only the newest is listed and older ones are superseded and omitted."
|
|
12622
|
+
properties:
|
|
12623
|
+
action:
|
|
12624
|
+
description: "`CHANGE` is used for `LOOK` and only for `LOOK`; `POST` and `PAGE` use `CREATE`, `EDIT` or `DELETE`."
|
|
12625
|
+
enum:
|
|
12626
|
+
- CREATE
|
|
12627
|
+
- EDIT
|
|
12628
|
+
- DELETE
|
|
12629
|
+
- CHANGE
|
|
12630
|
+
type: string
|
|
12631
|
+
author:
|
|
12632
|
+
$ref: "#/components/schemas/SiteActor"
|
|
12633
|
+
changeId:
|
|
12634
|
+
format: uuid
|
|
12635
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
12636
|
+
type: string
|
|
12637
|
+
kind:
|
|
12638
|
+
enum:
|
|
12639
|
+
- POST
|
|
12640
|
+
- PAGE
|
|
12641
|
+
- LOOK
|
|
12642
|
+
type: string
|
|
12643
|
+
path:
|
|
12644
|
+
description: Repository path of the post or page; absent for `LOOK`.
|
|
12645
|
+
maxLength: 512
|
|
12646
|
+
minLength: 1
|
|
12647
|
+
type: string
|
|
12648
|
+
review:
|
|
12649
|
+
description: "`NOT_REQUIRED` when the publication does not require review; otherwise `WAITING`, `APPROVED` or `CHANGES_REQUESTED`."
|
|
12650
|
+
enum:
|
|
12651
|
+
- NOT_REQUIRED
|
|
12652
|
+
- WAITING
|
|
12653
|
+
- APPROVED
|
|
12654
|
+
- CHANGES_REQUESTED
|
|
12655
|
+
type: string
|
|
12656
|
+
reviewId:
|
|
12657
|
+
description: The review a reviewer decides through `POST .../reviews/{reviewId}:decide`. Present when a review exists.
|
|
12658
|
+
format: uuid
|
|
12659
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
12660
|
+
type: string
|
|
12661
|
+
theme:
|
|
12662
|
+
$ref: "#/components/schemas/SiteThemeChange"
|
|
12663
|
+
title:
|
|
12664
|
+
maxLength: 200
|
|
12665
|
+
minLength: 1
|
|
12666
|
+
type: string
|
|
12667
|
+
updatedAt:
|
|
12668
|
+
$ref: "#/components/schemas/PortableProblemRfc3339"
|
|
12669
|
+
required:
|
|
12670
|
+
- changeId
|
|
12671
|
+
- kind
|
|
12672
|
+
- action
|
|
12673
|
+
- title
|
|
12674
|
+
- review
|
|
12675
|
+
- updatedAt
|
|
12676
|
+
- author
|
|
12677
|
+
type: object
|
|
12678
|
+
SitePublishing:
|
|
12679
|
+
additionalProperties: false
|
|
12680
|
+
properties:
|
|
12681
|
+
operationId:
|
|
12682
|
+
format: uuid
|
|
12683
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
12684
|
+
type: string
|
|
12685
|
+
stage:
|
|
12686
|
+
enum:
|
|
12687
|
+
- PREPARING
|
|
12688
|
+
- BUILDING
|
|
12689
|
+
- GOING_LIVE
|
|
12690
|
+
type: string
|
|
12691
|
+
startedAt:
|
|
12692
|
+
$ref: "#/components/schemas/PortableProblemRfc3339"
|
|
12693
|
+
required:
|
|
12694
|
+
- operationId
|
|
12695
|
+
- stage
|
|
12696
|
+
- startedAt
|
|
12697
|
+
type: object
|
|
12698
|
+
SiteThemeChange:
|
|
12699
|
+
additionalProperties: false
|
|
12700
|
+
properties:
|
|
12701
|
+
from:
|
|
12702
|
+
maxLength: 200
|
|
12703
|
+
minLength: 1
|
|
12704
|
+
type:
|
|
12705
|
+
- string
|
|
12706
|
+
- "null"
|
|
12707
|
+
to:
|
|
12708
|
+
maxLength: 200
|
|
12709
|
+
minLength: 1
|
|
12710
|
+
type: string
|
|
12711
|
+
required:
|
|
12712
|
+
- from
|
|
12713
|
+
- to
|
|
12714
|
+
type: object
|
|
12715
|
+
VerificationPlanEntry:
|
|
12716
|
+
additionalProperties: false
|
|
12717
|
+
properties:
|
|
12718
|
+
byteLength:
|
|
12719
|
+
format: int64
|
|
12720
|
+
minimum: 0
|
|
12721
|
+
type: integer
|
|
12722
|
+
expectedCandidateDigest:
|
|
12723
|
+
pattern: ^sha256:[0-9a-f]{64}$
|
|
12724
|
+
type: string
|
|
12725
|
+
expectedContentType:
|
|
12726
|
+
maxLength: 128
|
|
12727
|
+
minLength: 3
|
|
12728
|
+
pattern: ^[a-z0-9][a-z0-9!#$&^_.+-]{0,62}/[a-z0-9][a-z0-9!#$&^_.+-]{0,62}(?:; charset=utf-8)?$
|
|
12729
|
+
type: string
|
|
12730
|
+
path:
|
|
12731
|
+
$ref: "#/components/schemas/PortableDeploymentReceiptRepoRelativePath"
|
|
12732
|
+
publicRoute:
|
|
12733
|
+
$ref: "#/components/schemas/PortableDeploymentReceiptCanonicalRoute"
|
|
12734
|
+
routeClass:
|
|
12735
|
+
enum:
|
|
12736
|
+
- html
|
|
12737
|
+
- feed
|
|
12738
|
+
- sitemap
|
|
12739
|
+
- asset
|
|
12740
|
+
- error
|
|
12741
|
+
type: string
|
|
12742
|
+
required:
|
|
12743
|
+
- path
|
|
12744
|
+
- publicRoute
|
|
12745
|
+
- routeClass
|
|
12746
|
+
- expectedContentType
|
|
12747
|
+
- byteLength
|
|
12748
|
+
- expectedCandidateDigest
|
|
12749
|
+
type: object
|
|
12750
|
+
VerificationSubmissionFit:
|
|
12751
|
+
additionalProperties: false
|
|
12752
|
+
description: The complete verification plan fits one request, and the request carries every entry.
|
|
12753
|
+
properties:
|
|
12754
|
+
state:
|
|
12755
|
+
pattern: ^fit$
|
|
12756
|
+
type: string
|
|
12757
|
+
x-gala-const: fit
|
|
12758
|
+
verificationEntries:
|
|
12759
|
+
items:
|
|
12760
|
+
$ref: "#/components/schemas/VerificationPlanEntry"
|
|
12761
|
+
maxItems: 900
|
|
12762
|
+
minItems: 1
|
|
12763
|
+
type: array
|
|
12764
|
+
required:
|
|
12765
|
+
- state
|
|
12766
|
+
- verificationEntries
|
|
12767
|
+
type: object
|
|
12768
|
+
VerificationSubmissionUnfit:
|
|
12769
|
+
additionalProperties: false
|
|
12770
|
+
description: The complete verification plan does not fit one request, so the request states why and by how much instead of carrying a truncated plan.
|
|
12771
|
+
properties:
|
|
12772
|
+
canonicalFitRequestByteCount:
|
|
12773
|
+
format: int64
|
|
12774
|
+
minimum: 1
|
|
12775
|
+
type: integer
|
|
12776
|
+
reason:
|
|
12777
|
+
enum:
|
|
12778
|
+
- entry-count-exceeded
|
|
12779
|
+
- encoded-request-limit-exceeded
|
|
12780
|
+
type: string
|
|
12333
12781
|
requiredVerificationEntryCount:
|
|
12334
12782
|
maximum: 200000
|
|
12335
12783
|
minimum: 1
|
|
@@ -19688,6 +20136,8 @@ paths:
|
|
|
19688
20136
|
x-gala-success-category: query
|
|
19689
20137
|
x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
|
|
19690
20138
|
patch:
|
|
20139
|
+
description: |
|
|
20140
|
+
Updates publication metadata and state. As of schema 2.22.0 the request may also carry `publishingPolicy` (`requireReview`, `galascribeMerges`), a partial update: an omitted member keeps its value. The publication resource (`GET` and this response) returns `publishingPolicy`; its absence means the defaults, `requireReview` false and `galascribeMerges` true. The policy governs `POST .../changes:publish` and the review of changes.
|
|
19691
20141
|
operationId: patchOrganizationsByOrganizationIdPublicationsByPublicationId
|
|
19692
20142
|
parameters:
|
|
19693
20143
|
- $ref: "#/components/parameters/XCorrelationId"
|
|
@@ -20266,9 +20716,17 @@ paths:
|
|
|
20266
20716
|
- NONE
|
|
20267
20717
|
x-gala-success-category: query
|
|
20268
20718
|
x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
|
|
20269
|
-
/v2/organizations/{organizationId}/publications/{publicationId}/
|
|
20719
|
+
/v2/organizations/{organizationId}/publications/{publicationId}/changes:publish:
|
|
20270
20720
|
post:
|
|
20271
|
-
|
|
20721
|
+
description: |
|
|
20722
|
+
Publishes the named repository changes together. For each change, in order:
|
|
20723
|
+
|
|
20724
|
+
1. If the change is behind the main branch head it is brought up to date automatically when that is clean (the same file-level merge as `:bring-up-to-date`). When it is not clean nothing is written for any change and the response is `409 INVALID_SOURCE_STATE` with one error per conflicting path (`code: CONTENT_CONFLICT`, `pointer: /documents/<path>` or `/assets/<path>`) and the live head on `X-Gala-Current-Head`.
|
|
20725
|
+
2. If the publication's `publishingPolicy.requireReview` is true and the change has no approval, `409 INVALID_SOURCE_STATE` with `errors[].code REVIEW_REQUIRED` pointed at `/changeIds/<index>`.
|
|
20726
|
+
3. If `publishingPolicy.galascribeMerges` is true (the default) the server opens and merges the pull request itself through the GitHub App. Otherwise each change must already be merged on GitHub; one that is not is `409 INVALID_SOURCE_STATE` with `errors[].code SOURCE_NOT_MERGED` pointed at `/changeIds/<index>`.
|
|
20727
|
+
|
|
20728
|
+
Then ONE deploy of the resulting main head is started. Success is `202` with the accepted operation (kind `publish`; `publishId` names it, and the operation's `subject.generationId` names the generation once it exists). `scheduledFor` schedules the deploy instead of starting it now and additionally needs `publication.schedule`; it is cancelled with `:cancel` on the publish. `Idempotency-Key` replays the same acceptance. Whole-request validation happens before any change is merged: a refused request merges nothing.
|
|
20729
|
+
operationId: postOrganizationsByOrganizationIdPublicationsByPublicationIdChangesPublish
|
|
20272
20730
|
parameters:
|
|
20273
20731
|
- $ref: "#/components/parameters/XCorrelationId"
|
|
20274
20732
|
- example: 018f0000-0000-7000-8000-000000000001
|
|
@@ -20296,33 +20754,31 @@ paths:
|
|
|
20296
20754
|
nominal:
|
|
20297
20755
|
summary: Nominal valid request
|
|
20298
20756
|
value:
|
|
20299
|
-
|
|
20300
|
-
|
|
20301
|
-
inputDigest: sha256:0000000000000000000000000000000000000000000000000000000000000000
|
|
20757
|
+
changeIds:
|
|
20758
|
+
- 018f0000-0000-7000-8000-000000000001
|
|
20302
20759
|
schema:
|
|
20303
|
-
$ref: "#/components/schemas/
|
|
20760
|
+
$ref: "#/components/schemas/PostOrganizationsByOrganizationIdPublicationsByPublicationIdChangesPublishRequest"
|
|
20304
20761
|
required: true
|
|
20305
20762
|
responses:
|
|
20306
|
-
"
|
|
20763
|
+
"202":
|
|
20307
20764
|
content:
|
|
20308
20765
|
application/json:
|
|
20309
20766
|
examples:
|
|
20310
20767
|
nominal:
|
|
20311
20768
|
summary: Nominal successful response
|
|
20312
20769
|
value:
|
|
20313
|
-
|
|
20314
|
-
|
|
20315
|
-
|
|
20316
|
-
|
|
20317
|
-
|
|
20770
|
+
commandId: 018f0000-0000-7000-8000-000000000001
|
|
20771
|
+
operationId: 018f0000-0000-7000-8000-000000000001
|
|
20772
|
+
phase: accepted
|
|
20773
|
+
publishId: 018f0000-0000-7000-8000-000000000003
|
|
20774
|
+
resourceVersion: 0
|
|
20775
|
+
statusUrl: /v2/organizations/018f0000-0000-7000-8000-000000000001/operations/018f0000-0000-7000-8000-000000000002
|
|
20318
20776
|
schema:
|
|
20319
|
-
$ref: "#/components/schemas/
|
|
20320
|
-
description:
|
|
20777
|
+
$ref: "#/components/schemas/PostOrganizationsByOrganizationIdPublicationsByPublicationIdChangesPublishResponse"
|
|
20778
|
+
description: publish a batch of changes with one deploy of the resulting main head succeeded
|
|
20321
20779
|
headers:
|
|
20322
20780
|
Cache-Control:
|
|
20323
20781
|
$ref: "#/components/headers/CacheControlNoStore"
|
|
20324
|
-
Location:
|
|
20325
|
-
$ref: "#/components/headers/Location"
|
|
20326
20782
|
X-Correlation-Id:
|
|
20327
20783
|
$ref: "#/components/headers/XCorrelationId"
|
|
20328
20784
|
"400":
|
|
@@ -20469,8 +20925,12 @@ paths:
|
|
|
20469
20925
|
value:
|
|
20470
20926
|
code: INVALID_SOURCE_STATE
|
|
20471
20927
|
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
20472
|
-
detail: See the operation contract.
|
|
20473
|
-
errors:
|
|
20928
|
+
detail: "One or more changes cannot be published yet. Each error points at the change or path: CONTENT_CONFLICT at /documents/<path> or /assets/<path>, REVIEW_REQUIRED or SOURCE_NOT_MERGED at /changeIds/<index>. See the operation contract."
|
|
20929
|
+
errors:
|
|
20930
|
+
- code: CONTENT_CONFLICT
|
|
20931
|
+
pointer: /documents/content~1articles~1example.md
|
|
20932
|
+
- code: REVIEW_REQUIRED
|
|
20933
|
+
pointer: /changeIds/1
|
|
20474
20934
|
retryable: false
|
|
20475
20935
|
schemaId: urn:gala:schema:problem:2.0.0
|
|
20476
20936
|
schemaVersion: 2.0.0
|
|
@@ -20485,36 +20945,40 @@ paths:
|
|
|
20485
20945
|
$ref: "#/components/headers/CacheControlNoStore"
|
|
20486
20946
|
X-Correlation-Id:
|
|
20487
20947
|
$ref: "#/components/headers/XCorrelationId"
|
|
20948
|
+
X-Gala-Current-Head:
|
|
20949
|
+
$ref: "#/components/headers/XGalaCurrentHead"
|
|
20488
20950
|
x-gala-problem-codes:
|
|
20489
20951
|
- COMMAND_REPLAY_CONFLICT
|
|
20490
20952
|
- INVALID_SOURCE_STATE
|
|
20491
|
-
"
|
|
20953
|
+
"429":
|
|
20492
20954
|
content:
|
|
20493
20955
|
application/problem+json:
|
|
20494
20956
|
examples:
|
|
20495
|
-
|
|
20496
|
-
summary:
|
|
20957
|
+
RATE_LIMITED:
|
|
20958
|
+
summary: RATE_LIMITED
|
|
20497
20959
|
value:
|
|
20498
|
-
code:
|
|
20960
|
+
code: RATE_LIMITED
|
|
20499
20961
|
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
20500
20962
|
detail: See the operation contract.
|
|
20501
20963
|
errors: []
|
|
20502
|
-
retryable:
|
|
20964
|
+
retryable: true
|
|
20503
20965
|
schemaId: urn:gala:schema:problem:2.0.0
|
|
20504
20966
|
schemaVersion: 2.0.0
|
|
20505
|
-
status:
|
|
20506
|
-
title:
|
|
20507
|
-
type: urn:gala:problem:
|
|
20967
|
+
status: 429
|
|
20968
|
+
title: RATE_LIMITED
|
|
20969
|
+
type: urn:gala:problem:rate-limited
|
|
20508
20970
|
schema:
|
|
20509
20971
|
$ref: "#/components/schemas/Problem"
|
|
20510
|
-
description:
|
|
20972
|
+
description: RATE_LIMITED
|
|
20511
20973
|
headers:
|
|
20512
20974
|
Cache-Control:
|
|
20513
20975
|
$ref: "#/components/headers/CacheControlNoStore"
|
|
20976
|
+
Retry-After:
|
|
20977
|
+
$ref: "#/components/headers/RetryAfter"
|
|
20514
20978
|
X-Correlation-Id:
|
|
20515
20979
|
$ref: "#/components/headers/XCorrelationId"
|
|
20516
20980
|
x-gala-problem-codes:
|
|
20517
|
-
-
|
|
20981
|
+
- RATE_LIMITED
|
|
20518
20982
|
"503":
|
|
20519
20983
|
content:
|
|
20520
20984
|
application/problem+json:
|
|
@@ -20532,9 +20996,22 @@ paths:
|
|
|
20532
20996
|
status: 503
|
|
20533
20997
|
title: CAPABILITY_UNAVAILABLE
|
|
20534
20998
|
type: urn:gala:problem:capability-unavailable
|
|
20999
|
+
DEPENDENCY_UNAVAILABLE:
|
|
21000
|
+
summary: DEPENDENCY_UNAVAILABLE
|
|
21001
|
+
value:
|
|
21002
|
+
code: DEPENDENCY_UNAVAILABLE
|
|
21003
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
21004
|
+
detail: See the operation contract.
|
|
21005
|
+
errors: []
|
|
21006
|
+
retryable: true
|
|
21007
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
21008
|
+
schemaVersion: 2.0.0
|
|
21009
|
+
status: 503
|
|
21010
|
+
title: DEPENDENCY_UNAVAILABLE
|
|
21011
|
+
type: urn:gala:problem:dependency-unavailable
|
|
20535
21012
|
schema:
|
|
20536
21013
|
$ref: "#/components/schemas/Problem"
|
|
20537
|
-
description: CAPABILITY_UNAVAILABLE
|
|
21014
|
+
description: CAPABILITY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE
|
|
20538
21015
|
headers:
|
|
20539
21016
|
Cache-Control:
|
|
20540
21017
|
$ref: "#/components/headers/CacheControlNoStore"
|
|
@@ -20542,30 +21019,31 @@ paths:
|
|
|
20542
21019
|
$ref: "#/components/headers/XCorrelationId"
|
|
20543
21020
|
x-gala-problem-codes:
|
|
20544
21021
|
- CAPABILITY_UNAVAILABLE
|
|
21022
|
+
- DEPENDENCY_UNAVAILABLE
|
|
20545
21023
|
security:
|
|
20546
21024
|
- browserSession: []
|
|
20547
|
-
summary:
|
|
21025
|
+
summary: publish a batch of changes with one deploy of the resulting main head
|
|
20548
21026
|
tags:
|
|
20549
21027
|
- organizations
|
|
20550
21028
|
x-gala-activation-gate: MVP
|
|
20551
21029
|
x-gala-activation-guards:
|
|
20552
|
-
-
|
|
20553
|
-
x-gala-capability-key: publication.
|
|
20554
|
-
x-gala-concurrency:
|
|
21030
|
+
- Active binding epoch, admitted author-source contract, admitted destination, and no transfer or retirement fence
|
|
21031
|
+
x-gala-capability-key: publication.publish
|
|
21032
|
+
x-gala-concurrency: publication-and-destination-epochs
|
|
20555
21033
|
x-gala-conditional-capabilities:
|
|
20556
|
-
- capabilityKey: publication.
|
|
20557
|
-
when:
|
|
20558
|
-
- capabilityKey: publication.policy.manage
|
|
20559
|
-
when: changeKind == POLICY
|
|
21034
|
+
- capabilityKey: publication.schedule
|
|
21035
|
+
when: scheduledFor is present
|
|
20560
21036
|
x-gala-example-profile: NOMINAL_SUCCESS_AND_EACH_REACHABLE_PROBLEM
|
|
20561
21037
|
x-gala-nullability: required-and-nullable-are-explicit
|
|
20562
|
-
x-gala-purpose:
|
|
21038
|
+
x-gala-purpose: publish a batch of changes with one deploy of the resulting main head
|
|
20563
21039
|
x-gala-reachable-problems:
|
|
20564
21040
|
- AUTHENTICATION_REQUIRED
|
|
20565
21041
|
- AUTHORIZATION_DENIED
|
|
20566
21042
|
- CAPABILITY_UNAVAILABLE
|
|
20567
21043
|
- COMMAND_REPLAY_CONFLICT
|
|
21044
|
+
- DEPENDENCY_UNAVAILABLE
|
|
20568
21045
|
- INVALID_SOURCE_STATE
|
|
21046
|
+
- RATE_LIMITED
|
|
20569
21047
|
- REQUEST_FIELD_UNKNOWN
|
|
20570
21048
|
- RESOURCE_NOT_FOUND
|
|
20571
21049
|
- VALIDATION_FAILED
|
|
@@ -20573,29 +21051,340 @@ paths:
|
|
|
20573
21051
|
x-gala-state-guards:
|
|
20574
21052
|
- Publication:ACTIVE
|
|
20575
21053
|
- RepositoryBinding:ACTIVE
|
|
20576
|
-
-
|
|
20577
|
-
|
|
21054
|
+
- PublicationDestination:SET|LOCKED
|
|
21055
|
+
- RepositoryChange:PLANNED|AWAITING_CONFIRMATION|COMMITTED -> merged -> published
|
|
21056
|
+
x-gala-success-category: async
|
|
20578
21057
|
x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
|
|
20579
|
-
/v2/organizations/{organizationId}/publications/{publicationId}/
|
|
20580
|
-
|
|
20581
|
-
|
|
20582
|
-
|
|
20583
|
-
|
|
20584
|
-
|
|
20585
|
-
|
|
20586
|
-
|
|
20587
|
-
|
|
20588
|
-
|
|
20589
|
-
|
|
20590
|
-
|
|
20591
|
-
|
|
20592
|
-
|
|
20593
|
-
|
|
20594
|
-
|
|
20595
|
-
|
|
20596
|
-
|
|
20597
|
-
|
|
20598
|
-
|
|
21058
|
+
/v2/organizations/{organizationId}/publications/{publicationId}/configuration-changes:plan:
|
|
21059
|
+
post:
|
|
21060
|
+
operationId: postOrganizationsByOrganizationIdPublicationsByPublicationIdConfigurationChangesPlan
|
|
21061
|
+
parameters:
|
|
21062
|
+
- $ref: "#/components/parameters/XCorrelationId"
|
|
21063
|
+
- example: 018f0000-0000-7000-8000-000000000001
|
|
21064
|
+
in: path
|
|
21065
|
+
name: organizationId
|
|
21066
|
+
required: true
|
|
21067
|
+
schema:
|
|
21068
|
+
format: uuid
|
|
21069
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
21070
|
+
type: string
|
|
21071
|
+
- example: 018f0000-0000-7000-8000-000000000001
|
|
21072
|
+
in: path
|
|
21073
|
+
name: publicationId
|
|
21074
|
+
required: true
|
|
21075
|
+
schema:
|
|
21076
|
+
format: uuid
|
|
21077
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
21078
|
+
type: string
|
|
21079
|
+
- $ref: "#/components/parameters/IdempotencyKey"
|
|
21080
|
+
- $ref: "#/components/parameters/XCsrfToken"
|
|
21081
|
+
requestBody:
|
|
21082
|
+
content:
|
|
21083
|
+
application/json:
|
|
21084
|
+
examples:
|
|
21085
|
+
nominal:
|
|
21086
|
+
summary: Nominal valid request
|
|
21087
|
+
value:
|
|
21088
|
+
changeKind: PORTABLE_SETTINGS
|
|
21089
|
+
expectedHead: sha1:0000000000000000000000000000000000000000
|
|
21090
|
+
inputDigest: sha256:0000000000000000000000000000000000000000000000000000000000000000
|
|
21091
|
+
schema:
|
|
21092
|
+
$ref: "#/components/schemas/PostOrganizationsByOrganizationIdPublicationsByPublicationIdConfigurationChangesPlanRequest"
|
|
21093
|
+
required: true
|
|
21094
|
+
responses:
|
|
21095
|
+
"201":
|
|
21096
|
+
content:
|
|
21097
|
+
application/json:
|
|
21098
|
+
examples:
|
|
21099
|
+
nominal:
|
|
21100
|
+
summary: Nominal successful response
|
|
21101
|
+
value:
|
|
21102
|
+
changeId: 018f0000-0000-7000-8000-000000000001
|
|
21103
|
+
diffDigest: sha256:0000000000000000000000000000000000000000000000000000000000000000
|
|
21104
|
+
expectedHead: sha1:0000000000000000000000000000000000000000
|
|
21105
|
+
state: REQUESTED
|
|
21106
|
+
version: 0
|
|
21107
|
+
schema:
|
|
21108
|
+
$ref: "#/components/schemas/PostOrganizationsByOrganizationIdPublicationsByPublicationIdConfigurationChangesPlanResponse"
|
|
21109
|
+
description: plan typed publication or module configuration diff against exact Git head succeeded
|
|
21110
|
+
headers:
|
|
21111
|
+
Cache-Control:
|
|
21112
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
21113
|
+
Location:
|
|
21114
|
+
$ref: "#/components/headers/Location"
|
|
21115
|
+
X-Correlation-Id:
|
|
21116
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
21117
|
+
"400":
|
|
21118
|
+
content:
|
|
21119
|
+
application/problem+json:
|
|
21120
|
+
examples:
|
|
21121
|
+
REQUEST_FIELD_UNKNOWN:
|
|
21122
|
+
summary: REQUEST_FIELD_UNKNOWN
|
|
21123
|
+
value:
|
|
21124
|
+
code: REQUEST_FIELD_UNKNOWN
|
|
21125
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
21126
|
+
detail: See the operation contract.
|
|
21127
|
+
errors: []
|
|
21128
|
+
retryable: false
|
|
21129
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
21130
|
+
schemaVersion: 2.0.0
|
|
21131
|
+
status: 400
|
|
21132
|
+
title: REQUEST_FIELD_UNKNOWN
|
|
21133
|
+
type: urn:gala:problem:request-field-unknown
|
|
21134
|
+
VALIDATION_FAILED:
|
|
21135
|
+
summary: VALIDATION_FAILED
|
|
21136
|
+
value:
|
|
21137
|
+
code: VALIDATION_FAILED
|
|
21138
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
21139
|
+
detail: See the operation contract.
|
|
21140
|
+
errors: []
|
|
21141
|
+
retryable: false
|
|
21142
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
21143
|
+
schemaVersion: 2.0.0
|
|
21144
|
+
status: 400
|
|
21145
|
+
title: VALIDATION_FAILED
|
|
21146
|
+
type: urn:gala:problem:validation-failed
|
|
21147
|
+
schema:
|
|
21148
|
+
$ref: "#/components/schemas/Problem"
|
|
21149
|
+
description: REQUEST_FIELD_UNKNOWN, VALIDATION_FAILED
|
|
21150
|
+
headers:
|
|
21151
|
+
Cache-Control:
|
|
21152
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
21153
|
+
X-Correlation-Id:
|
|
21154
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
21155
|
+
x-gala-problem-codes:
|
|
21156
|
+
- REQUEST_FIELD_UNKNOWN
|
|
21157
|
+
- VALIDATION_FAILED
|
|
21158
|
+
"401":
|
|
21159
|
+
content:
|
|
21160
|
+
application/problem+json:
|
|
21161
|
+
examples:
|
|
21162
|
+
AUTHENTICATION_REQUIRED:
|
|
21163
|
+
summary: AUTHENTICATION_REQUIRED
|
|
21164
|
+
value:
|
|
21165
|
+
code: AUTHENTICATION_REQUIRED
|
|
21166
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
21167
|
+
detail: See the operation contract.
|
|
21168
|
+
errors: []
|
|
21169
|
+
retryable: false
|
|
21170
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
21171
|
+
schemaVersion: 2.0.0
|
|
21172
|
+
status: 401
|
|
21173
|
+
title: AUTHENTICATION_REQUIRED
|
|
21174
|
+
type: urn:gala:problem:authentication-required
|
|
21175
|
+
schema:
|
|
21176
|
+
$ref: "#/components/schemas/Problem"
|
|
21177
|
+
description: AUTHENTICATION_REQUIRED
|
|
21178
|
+
headers:
|
|
21179
|
+
Cache-Control:
|
|
21180
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
21181
|
+
X-Correlation-Id:
|
|
21182
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
21183
|
+
x-gala-problem-codes:
|
|
21184
|
+
- AUTHENTICATION_REQUIRED
|
|
21185
|
+
"403":
|
|
21186
|
+
content:
|
|
21187
|
+
application/problem+json:
|
|
21188
|
+
examples:
|
|
21189
|
+
AUTHORIZATION_DENIED:
|
|
21190
|
+
summary: AUTHORIZATION_DENIED
|
|
21191
|
+
value:
|
|
21192
|
+
code: AUTHORIZATION_DENIED
|
|
21193
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
21194
|
+
detail: See the operation contract.
|
|
21195
|
+
errors: []
|
|
21196
|
+
retryable: false
|
|
21197
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
21198
|
+
schemaVersion: 2.0.0
|
|
21199
|
+
status: 403
|
|
21200
|
+
title: AUTHORIZATION_DENIED
|
|
21201
|
+
type: urn:gala:problem:authorization-denied
|
|
21202
|
+
schema:
|
|
21203
|
+
$ref: "#/components/schemas/Problem"
|
|
21204
|
+
description: AUTHORIZATION_DENIED
|
|
21205
|
+
headers:
|
|
21206
|
+
Cache-Control:
|
|
21207
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
21208
|
+
X-Correlation-Id:
|
|
21209
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
21210
|
+
x-gala-problem-codes:
|
|
21211
|
+
- AUTHORIZATION_DENIED
|
|
21212
|
+
"404":
|
|
21213
|
+
content:
|
|
21214
|
+
application/problem+json:
|
|
21215
|
+
examples:
|
|
21216
|
+
RESOURCE_NOT_FOUND:
|
|
21217
|
+
summary: RESOURCE_NOT_FOUND
|
|
21218
|
+
value:
|
|
21219
|
+
code: RESOURCE_NOT_FOUND
|
|
21220
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
21221
|
+
detail: See the operation contract.
|
|
21222
|
+
errors: []
|
|
21223
|
+
retryable: false
|
|
21224
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
21225
|
+
schemaVersion: 2.0.0
|
|
21226
|
+
status: 404
|
|
21227
|
+
title: RESOURCE_NOT_FOUND
|
|
21228
|
+
type: urn:gala:problem:resource-not-found
|
|
21229
|
+
schema:
|
|
21230
|
+
$ref: "#/components/schemas/Problem"
|
|
21231
|
+
description: RESOURCE_NOT_FOUND
|
|
21232
|
+
headers:
|
|
21233
|
+
Cache-Control:
|
|
21234
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
21235
|
+
X-Correlation-Id:
|
|
21236
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
21237
|
+
x-gala-problem-codes:
|
|
21238
|
+
- RESOURCE_NOT_FOUND
|
|
21239
|
+
"409":
|
|
21240
|
+
content:
|
|
21241
|
+
application/problem+json:
|
|
21242
|
+
examples:
|
|
21243
|
+
COMMAND_REPLAY_CONFLICT:
|
|
21244
|
+
summary: COMMAND_REPLAY_CONFLICT
|
|
21245
|
+
value:
|
|
21246
|
+
code: COMMAND_REPLAY_CONFLICT
|
|
21247
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
21248
|
+
detail: See the operation contract.
|
|
21249
|
+
errors: []
|
|
21250
|
+
retryable: false
|
|
21251
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
21252
|
+
schemaVersion: 2.0.0
|
|
21253
|
+
status: 409
|
|
21254
|
+
title: COMMAND_REPLAY_CONFLICT
|
|
21255
|
+
type: urn:gala:problem:command-replay-conflict
|
|
21256
|
+
INVALID_SOURCE_STATE:
|
|
21257
|
+
summary: INVALID_SOURCE_STATE
|
|
21258
|
+
value:
|
|
21259
|
+
code: INVALID_SOURCE_STATE
|
|
21260
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
21261
|
+
detail: See the operation contract.
|
|
21262
|
+
errors: []
|
|
21263
|
+
retryable: false
|
|
21264
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
21265
|
+
schemaVersion: 2.0.0
|
|
21266
|
+
status: 409
|
|
21267
|
+
title: INVALID_SOURCE_STATE
|
|
21268
|
+
type: urn:gala:problem:invalid-source-state
|
|
21269
|
+
schema:
|
|
21270
|
+
$ref: "#/components/schemas/Problem"
|
|
21271
|
+
description: COMMAND_REPLAY_CONFLICT, INVALID_SOURCE_STATE
|
|
21272
|
+
headers:
|
|
21273
|
+
Cache-Control:
|
|
21274
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
21275
|
+
X-Correlation-Id:
|
|
21276
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
21277
|
+
x-gala-problem-codes:
|
|
21278
|
+
- COMMAND_REPLAY_CONFLICT
|
|
21279
|
+
- INVALID_SOURCE_STATE
|
|
21280
|
+
"422":
|
|
21281
|
+
content:
|
|
21282
|
+
application/problem+json:
|
|
21283
|
+
examples:
|
|
21284
|
+
VALIDATION_FAILED:
|
|
21285
|
+
summary: VALIDATION_FAILED
|
|
21286
|
+
value:
|
|
21287
|
+
code: VALIDATION_FAILED
|
|
21288
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
21289
|
+
detail: See the operation contract.
|
|
21290
|
+
errors: []
|
|
21291
|
+
retryable: false
|
|
21292
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
21293
|
+
schemaVersion: 2.0.0
|
|
21294
|
+
status: 422
|
|
21295
|
+
title: VALIDATION_FAILED
|
|
21296
|
+
type: urn:gala:problem:validation-failed
|
|
21297
|
+
schema:
|
|
21298
|
+
$ref: "#/components/schemas/Problem"
|
|
21299
|
+
description: VALIDATION_FAILED
|
|
21300
|
+
headers:
|
|
21301
|
+
Cache-Control:
|
|
21302
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
21303
|
+
X-Correlation-Id:
|
|
21304
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
21305
|
+
x-gala-problem-codes:
|
|
21306
|
+
- VALIDATION_FAILED
|
|
21307
|
+
"503":
|
|
21308
|
+
content:
|
|
21309
|
+
application/problem+json:
|
|
21310
|
+
examples:
|
|
21311
|
+
CAPABILITY_UNAVAILABLE:
|
|
21312
|
+
summary: CAPABILITY_UNAVAILABLE
|
|
21313
|
+
value:
|
|
21314
|
+
code: CAPABILITY_UNAVAILABLE
|
|
21315
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
21316
|
+
detail: See the operation contract.
|
|
21317
|
+
errors: []
|
|
21318
|
+
retryable: false
|
|
21319
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
21320
|
+
schemaVersion: 2.0.0
|
|
21321
|
+
status: 503
|
|
21322
|
+
title: CAPABILITY_UNAVAILABLE
|
|
21323
|
+
type: urn:gala:problem:capability-unavailable
|
|
21324
|
+
schema:
|
|
21325
|
+
$ref: "#/components/schemas/Problem"
|
|
21326
|
+
description: CAPABILITY_UNAVAILABLE
|
|
21327
|
+
headers:
|
|
21328
|
+
Cache-Control:
|
|
21329
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
21330
|
+
X-Correlation-Id:
|
|
21331
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
21332
|
+
x-gala-problem-codes:
|
|
21333
|
+
- CAPABILITY_UNAVAILABLE
|
|
21334
|
+
security:
|
|
21335
|
+
- browserSession: []
|
|
21336
|
+
summary: plan typed publication or module configuration diff against exact Git head
|
|
21337
|
+
tags:
|
|
21338
|
+
- organizations
|
|
21339
|
+
x-gala-activation-gate: MVP
|
|
21340
|
+
x-gala-activation-guards:
|
|
21341
|
+
- Current expected Git head, active binding epoch, and admitted typed configuration contract
|
|
21342
|
+
x-gala-capability-key: publication.settings.manage
|
|
21343
|
+
x-gala-concurrency: expected-git-head-and-binding-epoch
|
|
21344
|
+
x-gala-conditional-capabilities:
|
|
21345
|
+
- capabilityKey: publication.modules.manage
|
|
21346
|
+
when: changeKind == MODULES
|
|
21347
|
+
- capabilityKey: publication.policy.manage
|
|
21348
|
+
when: changeKind == POLICY
|
|
21349
|
+
x-gala-example-profile: NOMINAL_SUCCESS_AND_EACH_REACHABLE_PROBLEM
|
|
21350
|
+
x-gala-nullability: required-and-nullable-are-explicit
|
|
21351
|
+
x-gala-purpose: plan typed publication or module configuration diff against exact Git head
|
|
21352
|
+
x-gala-reachable-problems:
|
|
21353
|
+
- AUTHENTICATION_REQUIRED
|
|
21354
|
+
- AUTHORIZATION_DENIED
|
|
21355
|
+
- CAPABILITY_UNAVAILABLE
|
|
21356
|
+
- COMMAND_REPLAY_CONFLICT
|
|
21357
|
+
- INVALID_SOURCE_STATE
|
|
21358
|
+
- REQUEST_FIELD_UNKNOWN
|
|
21359
|
+
- RESOURCE_NOT_FOUND
|
|
21360
|
+
- VALIDATION_FAILED
|
|
21361
|
+
x-gala-replay-identity: idempotency-key
|
|
21362
|
+
x-gala-state-guards:
|
|
21363
|
+
- Publication:ACTIVE
|
|
21364
|
+
- RepositoryBinding:ACTIVE
|
|
21365
|
+
- RepositoryChange:REQUESTED -> PLANNED
|
|
21366
|
+
x-gala-success-category: create
|
|
21367
|
+
x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
|
|
21368
|
+
/v2/organizations/{organizationId}/publications/{publicationId}/content:
|
|
21369
|
+
get:
|
|
21370
|
+
description: |
|
|
21371
|
+
One git-trees read per declared content root at the linked repository's
|
|
21372
|
+
current main branch head, bounded at 2,000 entries. For each listed
|
|
21373
|
+
path the server additionally reads that file's header block (bounded,
|
|
21374
|
+
from the person's repository, nothing stored) to fill `summary`.
|
|
21375
|
+
Exactly one of `summary` or `unreadable` is present on every item this
|
|
21376
|
+
operation returns from schema 2.15.0 on: `summary` when the header
|
|
21377
|
+
parses, `unreadable` (with a closed `reason`) when it does not or the
|
|
21378
|
+
file exceeds the read bound. `kind` comes from the header's own
|
|
21379
|
+
`kind` when `summary` is present, and from which declared content
|
|
21380
|
+
root the path is under (ARTICLE for `content/articles/`, PAGE for
|
|
21381
|
+
`content/pages/`) when it is not. `limit` defaults to 50 here (the
|
|
21382
|
+
shared default is 25) because a content list row needs more per
|
|
21383
|
+
round trip than most lists; the server may return fewer items than
|
|
21384
|
+
`limit` even when more are available. `setUp` reports whether
|
|
21385
|
+
`gala/repository.json` is present on main, matching
|
|
21386
|
+
`GET .../repository/setup`'s `state`. `publication` is read from the
|
|
21387
|
+
settings files
|
|
20599
21388
|
(`gala/repository.json`, `gala/appearance.json`, `gala/authors/`) at
|
|
20600
21389
|
this same main-branch head, and is returned on every page of the
|
|
20601
21390
|
inventory, not only the first, so the editor has these facts
|
|
@@ -22594,6 +23383,8 @@ paths:
|
|
|
22594
23383
|
x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
|
|
22595
23384
|
/v2/organizations/{organizationId}/publications/{publicationId}/deployments:rollback:
|
|
22596
23385
|
post:
|
|
23386
|
+
description: |
|
|
23387
|
+
Also the restore operation of the history read: `generationId` is a history entry's `versionId`. Only a generation that went live is accepted; any other generation is `409 INVALID_SOURCE_STATE`. A restore is recorded in `GET .../history` as an entry with `outcome: RESTORED`. Clients pass a short `reasonCode` such as `RESTORE_FROM_HISTORY`.
|
|
22597
23388
|
operationId: postOrganizationsByOrganizationIdPublicationsByPublicationIdDeploymentsRollback
|
|
22598
23389
|
parameters:
|
|
22599
23390
|
- $ref: "#/components/parameters/XCorrelationId"
|
|
@@ -23349,127 +24140,317 @@ paths:
|
|
|
23349
24140
|
type: urn:gala:problem:invalid-source-state
|
|
23350
24141
|
schema:
|
|
23351
24142
|
$ref: "#/components/schemas/Problem"
|
|
23352
|
-
description: COMMAND_REPLAY_CONFLICT, INVALID_SOURCE_STATE
|
|
24143
|
+
description: COMMAND_REPLAY_CONFLICT, INVALID_SOURCE_STATE
|
|
24144
|
+
headers:
|
|
24145
|
+
Cache-Control:
|
|
24146
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
24147
|
+
X-Correlation-Id:
|
|
24148
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
24149
|
+
x-gala-problem-codes:
|
|
24150
|
+
- COMMAND_REPLAY_CONFLICT
|
|
24151
|
+
- INVALID_SOURCE_STATE
|
|
24152
|
+
"412":
|
|
24153
|
+
content:
|
|
24154
|
+
application/problem+json:
|
|
24155
|
+
examples:
|
|
24156
|
+
STALE_AGGREGATE_VERSION:
|
|
24157
|
+
summary: STALE_AGGREGATE_VERSION
|
|
24158
|
+
value:
|
|
24159
|
+
code: STALE_AGGREGATE_VERSION
|
|
24160
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
24161
|
+
detail: See the operation contract.
|
|
24162
|
+
errors: []
|
|
24163
|
+
retryable: false
|
|
24164
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
24165
|
+
schemaVersion: 2.0.0
|
|
24166
|
+
status: 412
|
|
24167
|
+
title: STALE_AGGREGATE_VERSION
|
|
24168
|
+
type: urn:gala:problem:stale-aggregate-version
|
|
24169
|
+
schema:
|
|
24170
|
+
$ref: "#/components/schemas/Problem"
|
|
24171
|
+
description: STALE_AGGREGATE_VERSION
|
|
24172
|
+
headers:
|
|
24173
|
+
Cache-Control:
|
|
24174
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
24175
|
+
X-Correlation-Id:
|
|
24176
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
24177
|
+
x-gala-problem-codes:
|
|
24178
|
+
- STALE_AGGREGATE_VERSION
|
|
24179
|
+
"422":
|
|
24180
|
+
content:
|
|
24181
|
+
application/problem+json:
|
|
24182
|
+
examples:
|
|
24183
|
+
VALIDATION_FAILED:
|
|
24184
|
+
summary: VALIDATION_FAILED
|
|
24185
|
+
value:
|
|
24186
|
+
code: VALIDATION_FAILED
|
|
24187
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
24188
|
+
detail: Region is not one row of the accepted region catalog. See the operation contract for the served/staging-bucket-equal and forbidden-providerBinding variants of this problem.
|
|
24189
|
+
errors:
|
|
24190
|
+
- code: VALIDATION_FAILED
|
|
24191
|
+
pointer: /providerBinding/region
|
|
24192
|
+
retryable: false
|
|
24193
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
24194
|
+
schemaVersion: 2.0.0
|
|
24195
|
+
status: 422
|
|
24196
|
+
title: VALIDATION_FAILED
|
|
24197
|
+
type: urn:gala:problem:validation-failed
|
|
24198
|
+
schema:
|
|
24199
|
+
$ref: "#/components/schemas/Problem"
|
|
24200
|
+
description: VALIDATION_FAILED
|
|
24201
|
+
headers:
|
|
24202
|
+
Cache-Control:
|
|
24203
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
24204
|
+
X-Correlation-Id:
|
|
24205
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
24206
|
+
x-gala-problem-codes:
|
|
24207
|
+
- VALIDATION_FAILED
|
|
24208
|
+
"503":
|
|
24209
|
+
content:
|
|
24210
|
+
application/problem+json:
|
|
24211
|
+
examples:
|
|
24212
|
+
CAPABILITY_UNAVAILABLE:
|
|
24213
|
+
summary: CAPABILITY_UNAVAILABLE
|
|
24214
|
+
value:
|
|
24215
|
+
code: CAPABILITY_UNAVAILABLE
|
|
24216
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
24217
|
+
detail: See the operation contract.
|
|
24218
|
+
errors: []
|
|
24219
|
+
retryable: false
|
|
24220
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
24221
|
+
schemaVersion: 2.0.0
|
|
24222
|
+
status: 503
|
|
24223
|
+
title: CAPABILITY_UNAVAILABLE
|
|
24224
|
+
type: urn:gala:problem:capability-unavailable
|
|
24225
|
+
schema:
|
|
24226
|
+
$ref: "#/components/schemas/Problem"
|
|
24227
|
+
description: CAPABILITY_UNAVAILABLE
|
|
24228
|
+
headers:
|
|
24229
|
+
Cache-Control:
|
|
24230
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
24231
|
+
X-Correlation-Id:
|
|
24232
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
24233
|
+
x-gala-problem-codes:
|
|
24234
|
+
- CAPABILITY_UNAVAILABLE
|
|
24235
|
+
security:
|
|
24236
|
+
- browserSession: []
|
|
24237
|
+
summary: set publication destination
|
|
24238
|
+
tags:
|
|
24239
|
+
- organizations
|
|
24240
|
+
x-gala-activation-gate: MVP
|
|
24241
|
+
x-gala-activation-guards:
|
|
24242
|
+
- Accepted region catalog membership, globally unique Spaces bucket names, and an unlocked destination
|
|
24243
|
+
x-gala-capability-key: publication.settings.manage
|
|
24244
|
+
x-gala-concurrency: if-match
|
|
24245
|
+
x-gala-conditional-capabilities: []
|
|
24246
|
+
x-gala-example-profile: NOMINAL_SUCCESS_AND_EACH_REACHABLE_PROBLEM
|
|
24247
|
+
x-gala-nullability: required-and-nullable-are-explicit
|
|
24248
|
+
x-gala-purpose: set publication destination
|
|
24249
|
+
x-gala-reachable-problems:
|
|
24250
|
+
- AUTHENTICATION_REQUIRED
|
|
24251
|
+
- AUTHORIZATION_DENIED
|
|
24252
|
+
- CAPABILITY_UNAVAILABLE
|
|
24253
|
+
- COMMAND_REPLAY_CONFLICT
|
|
24254
|
+
- INVALID_SOURCE_STATE
|
|
24255
|
+
- REQUEST_FIELD_UNKNOWN
|
|
24256
|
+
- RESOURCE_NOT_FOUND
|
|
24257
|
+
- STALE_AGGREGATE_VERSION
|
|
24258
|
+
- VALIDATION_FAILED
|
|
24259
|
+
x-gala-replay-identity: idempotency-key
|
|
24260
|
+
x-gala-state-guards:
|
|
24261
|
+
- Publication:PROVISIONING|ACTIVE|PAUSED
|
|
24262
|
+
- PublicationDestination:UNSET|SET
|
|
24263
|
+
x-gala-success-category: update
|
|
24264
|
+
x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
|
|
24265
|
+
/v2/organizations/{organizationId}/publications/{publicationId}/history:
|
|
24266
|
+
get:
|
|
24267
|
+
description: |
|
|
24268
|
+
Versions of the site that went live, newest first, on a stable keyset cursor, each described by who published it, when, and what changed in words. A failed attempt is never an entry of its own: failed attempts since the previous entry are folded into the next entry that went live as `failedAttemptsBefore`. Only when the latest attempt failed is there one trailing entry with `outcome: FAILED` (the first entry in the list), carrying `failure.reasonCode` and `failure.retryable` and no `versionId`.
|
|
24269
|
+
|
|
24270
|
+
`versionId` is the deployment generation id. To restore a version call `POST .../deployments:rollback` with `generationId` set to `versionId`; no separate restore operation exists. Only a version that went live is accepted; any other generation is `409 INVALID_SOURCE_STATE`.
|
|
24271
|
+
operationId: getOrganizationsByOrganizationIdPublicationsByPublicationIdHistory
|
|
24272
|
+
parameters:
|
|
24273
|
+
- $ref: "#/components/parameters/XCorrelationId"
|
|
24274
|
+
- example: 018f0000-0000-7000-8000-000000000001
|
|
24275
|
+
in: path
|
|
24276
|
+
name: organizationId
|
|
24277
|
+
required: true
|
|
24278
|
+
schema:
|
|
24279
|
+
format: uuid
|
|
24280
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
24281
|
+
type: string
|
|
24282
|
+
- example: 018f0000-0000-7000-8000-000000000001
|
|
24283
|
+
in: path
|
|
24284
|
+
name: publicationId
|
|
24285
|
+
required: true
|
|
24286
|
+
schema:
|
|
24287
|
+
format: uuid
|
|
24288
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
24289
|
+
type: string
|
|
24290
|
+
- $ref: "#/components/parameters/Cursor"
|
|
24291
|
+
- $ref: "#/components/parameters/Limit"
|
|
24292
|
+
responses:
|
|
24293
|
+
"200":
|
|
24294
|
+
content:
|
|
24295
|
+
application/json:
|
|
24296
|
+
examples:
|
|
24297
|
+
nominal:
|
|
24298
|
+
summary: Nominal successful response
|
|
24299
|
+
value:
|
|
24300
|
+
hasMore: false
|
|
24301
|
+
items:
|
|
24302
|
+
- actor:
|
|
24303
|
+
displayName: Asha Rao
|
|
24304
|
+
at: "2026-10-05T09:30:00Z"
|
|
24305
|
+
changes:
|
|
24306
|
+
- action: EDIT
|
|
24307
|
+
kind: POST
|
|
24308
|
+
path: content/articles/hello.md
|
|
24309
|
+
title: Hello, world
|
|
24310
|
+
failedAttemptsBefore:
|
|
24311
|
+
count: 1
|
|
24312
|
+
lastReason: BUILD_FAILED
|
|
24313
|
+
outcome: LIVE
|
|
24314
|
+
versionId: 018f0000-0000-7000-8000-000000000001
|
|
24315
|
+
schema:
|
|
24316
|
+
$ref: "#/components/schemas/GetOrganizationsByOrganizationIdPublicationsByPublicationIdHistoryResponse"
|
|
24317
|
+
description: list the versions of this publication that went live succeeded
|
|
24318
|
+
headers:
|
|
24319
|
+
Cache-Control:
|
|
24320
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
24321
|
+
X-Correlation-Id:
|
|
24322
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
24323
|
+
"400":
|
|
24324
|
+
content:
|
|
24325
|
+
application/problem+json:
|
|
24326
|
+
examples:
|
|
24327
|
+
VALIDATION_FAILED:
|
|
24328
|
+
summary: VALIDATION_FAILED
|
|
24329
|
+
value:
|
|
24330
|
+
code: VALIDATION_FAILED
|
|
24331
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
24332
|
+
detail: See the operation contract.
|
|
24333
|
+
errors: []
|
|
24334
|
+
retryable: false
|
|
24335
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
24336
|
+
schemaVersion: 2.0.0
|
|
24337
|
+
status: 400
|
|
24338
|
+
title: VALIDATION_FAILED
|
|
24339
|
+
type: urn:gala:problem:validation-failed
|
|
24340
|
+
schema:
|
|
24341
|
+
$ref: "#/components/schemas/Problem"
|
|
24342
|
+
description: VALIDATION_FAILED
|
|
23353
24343
|
headers:
|
|
23354
24344
|
Cache-Control:
|
|
23355
24345
|
$ref: "#/components/headers/CacheControlNoStore"
|
|
23356
24346
|
X-Correlation-Id:
|
|
23357
24347
|
$ref: "#/components/headers/XCorrelationId"
|
|
23358
24348
|
x-gala-problem-codes:
|
|
23359
|
-
-
|
|
23360
|
-
|
|
23361
|
-
"412":
|
|
24349
|
+
- VALIDATION_FAILED
|
|
24350
|
+
"401":
|
|
23362
24351
|
content:
|
|
23363
24352
|
application/problem+json:
|
|
23364
24353
|
examples:
|
|
23365
|
-
|
|
23366
|
-
summary:
|
|
24354
|
+
AUTHENTICATION_REQUIRED:
|
|
24355
|
+
summary: AUTHENTICATION_REQUIRED
|
|
23367
24356
|
value:
|
|
23368
|
-
code:
|
|
24357
|
+
code: AUTHENTICATION_REQUIRED
|
|
23369
24358
|
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
23370
24359
|
detail: See the operation contract.
|
|
23371
24360
|
errors: []
|
|
23372
24361
|
retryable: false
|
|
23373
24362
|
schemaId: urn:gala:schema:problem:2.0.0
|
|
23374
24363
|
schemaVersion: 2.0.0
|
|
23375
|
-
status:
|
|
23376
|
-
title:
|
|
23377
|
-
type: urn:gala:problem:
|
|
24364
|
+
status: 401
|
|
24365
|
+
title: AUTHENTICATION_REQUIRED
|
|
24366
|
+
type: urn:gala:problem:authentication-required
|
|
23378
24367
|
schema:
|
|
23379
24368
|
$ref: "#/components/schemas/Problem"
|
|
23380
|
-
description:
|
|
24369
|
+
description: AUTHENTICATION_REQUIRED
|
|
23381
24370
|
headers:
|
|
23382
24371
|
Cache-Control:
|
|
23383
24372
|
$ref: "#/components/headers/CacheControlNoStore"
|
|
23384
24373
|
X-Correlation-Id:
|
|
23385
24374
|
$ref: "#/components/headers/XCorrelationId"
|
|
23386
24375
|
x-gala-problem-codes:
|
|
23387
|
-
-
|
|
23388
|
-
"
|
|
24376
|
+
- AUTHENTICATION_REQUIRED
|
|
24377
|
+
"403":
|
|
23389
24378
|
content:
|
|
23390
24379
|
application/problem+json:
|
|
23391
24380
|
examples:
|
|
23392
|
-
|
|
23393
|
-
summary:
|
|
24381
|
+
AUTHORIZATION_DENIED:
|
|
24382
|
+
summary: AUTHORIZATION_DENIED
|
|
23394
24383
|
value:
|
|
23395
|
-
code:
|
|
24384
|
+
code: AUTHORIZATION_DENIED
|
|
23396
24385
|
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
23397
|
-
detail:
|
|
23398
|
-
errors:
|
|
23399
|
-
- code: VALIDATION_FAILED
|
|
23400
|
-
pointer: /providerBinding/region
|
|
24386
|
+
detail: See the operation contract.
|
|
24387
|
+
errors: []
|
|
23401
24388
|
retryable: false
|
|
23402
24389
|
schemaId: urn:gala:schema:problem:2.0.0
|
|
23403
24390
|
schemaVersion: 2.0.0
|
|
23404
|
-
status:
|
|
23405
|
-
title:
|
|
23406
|
-
type: urn:gala:problem:
|
|
24391
|
+
status: 403
|
|
24392
|
+
title: AUTHORIZATION_DENIED
|
|
24393
|
+
type: urn:gala:problem:authorization-denied
|
|
23407
24394
|
schema:
|
|
23408
24395
|
$ref: "#/components/schemas/Problem"
|
|
23409
|
-
description:
|
|
24396
|
+
description: AUTHORIZATION_DENIED
|
|
23410
24397
|
headers:
|
|
23411
24398
|
Cache-Control:
|
|
23412
24399
|
$ref: "#/components/headers/CacheControlNoStore"
|
|
23413
24400
|
X-Correlation-Id:
|
|
23414
24401
|
$ref: "#/components/headers/XCorrelationId"
|
|
23415
24402
|
x-gala-problem-codes:
|
|
23416
|
-
-
|
|
23417
|
-
"
|
|
24403
|
+
- AUTHORIZATION_DENIED
|
|
24404
|
+
"404":
|
|
23418
24405
|
content:
|
|
23419
24406
|
application/problem+json:
|
|
23420
24407
|
examples:
|
|
23421
|
-
|
|
23422
|
-
summary:
|
|
24408
|
+
RESOURCE_NOT_FOUND:
|
|
24409
|
+
summary: RESOURCE_NOT_FOUND
|
|
23423
24410
|
value:
|
|
23424
|
-
code:
|
|
24411
|
+
code: RESOURCE_NOT_FOUND
|
|
23425
24412
|
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
23426
24413
|
detail: See the operation contract.
|
|
23427
24414
|
errors: []
|
|
23428
24415
|
retryable: false
|
|
23429
24416
|
schemaId: urn:gala:schema:problem:2.0.0
|
|
23430
24417
|
schemaVersion: 2.0.0
|
|
23431
|
-
status:
|
|
23432
|
-
title:
|
|
23433
|
-
type: urn:gala:problem:
|
|
24418
|
+
status: 404
|
|
24419
|
+
title: RESOURCE_NOT_FOUND
|
|
24420
|
+
type: urn:gala:problem:resource-not-found
|
|
23434
24421
|
schema:
|
|
23435
24422
|
$ref: "#/components/schemas/Problem"
|
|
23436
|
-
description:
|
|
24423
|
+
description: RESOURCE_NOT_FOUND
|
|
23437
24424
|
headers:
|
|
23438
24425
|
Cache-Control:
|
|
23439
24426
|
$ref: "#/components/headers/CacheControlNoStore"
|
|
23440
24427
|
X-Correlation-Id:
|
|
23441
24428
|
$ref: "#/components/headers/XCorrelationId"
|
|
23442
24429
|
x-gala-problem-codes:
|
|
23443
|
-
-
|
|
24430
|
+
- RESOURCE_NOT_FOUND
|
|
23444
24431
|
security:
|
|
23445
24432
|
- browserSession: []
|
|
23446
|
-
summary:
|
|
24433
|
+
summary: list the versions of this publication that went live
|
|
23447
24434
|
tags:
|
|
23448
24435
|
- organizations
|
|
23449
24436
|
x-gala-activation-gate: MVP
|
|
23450
24437
|
x-gala-activation-guards:
|
|
23451
|
-
-
|
|
23452
|
-
x-gala-capability-key: publication.
|
|
23453
|
-
x-gala-concurrency:
|
|
24438
|
+
- NONE
|
|
24439
|
+
x-gala-capability-key: publication.view
|
|
24440
|
+
x-gala-concurrency: publication-and-destination-epochs
|
|
23454
24441
|
x-gala-conditional-capabilities: []
|
|
23455
24442
|
x-gala-example-profile: NOMINAL_SUCCESS_AND_EACH_REACHABLE_PROBLEM
|
|
23456
24443
|
x-gala-nullability: required-and-nullable-are-explicit
|
|
23457
|
-
x-gala-purpose:
|
|
24444
|
+
x-gala-purpose: list the versions of this publication that went live
|
|
23458
24445
|
x-gala-reachable-problems:
|
|
23459
24446
|
- AUTHENTICATION_REQUIRED
|
|
23460
24447
|
- AUTHORIZATION_DENIED
|
|
23461
|
-
- CAPABILITY_UNAVAILABLE
|
|
23462
|
-
- COMMAND_REPLAY_CONFLICT
|
|
23463
|
-
- INVALID_SOURCE_STATE
|
|
23464
|
-
- REQUEST_FIELD_UNKNOWN
|
|
23465
24448
|
- RESOURCE_NOT_FOUND
|
|
23466
|
-
- STALE_AGGREGATE_VERSION
|
|
23467
24449
|
- VALIDATION_FAILED
|
|
23468
|
-
x-gala-replay-identity:
|
|
24450
|
+
x-gala-replay-identity: safe-query
|
|
23469
24451
|
x-gala-state-guards:
|
|
23470
|
-
-
|
|
23471
|
-
|
|
23472
|
-
x-gala-success-category: update
|
|
24452
|
+
- NONE
|
|
24453
|
+
x-gala-success-category: query
|
|
23473
24454
|
x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
|
|
23474
24455
|
/v2/organizations/{organizationId}/publications/{publicationId}/publishes:
|
|
23475
24456
|
post:
|
|
@@ -27877,6 +28858,8 @@ paths:
|
|
|
27877
28858
|
x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
|
|
27878
28859
|
/v2/organizations/{organizationId}/publications/{publicationId}/reviews/{reviewId}:decide:
|
|
27879
28860
|
post:
|
|
28861
|
+
description: |
|
|
28862
|
+
The in-Galascribe approval. `APPROVE` approves; `REJECT` is the request-changes decision shown to people as "changes requested". When the publication's `publishingPolicy.galascribeMerges` is true (the default), approving also triggers the merge of the change's pull request through the GitHub App; the pull request is a mirror of the decision, not a second approval. `reviewId` for a pending change is `pendingChanges[].reviewId` of `GET .../site`.
|
|
27880
28863
|
operationId: postOrganizationsByOrganizationIdPublicationsByPublicationIdReviewsByReviewIdDecide
|
|
27881
28864
|
parameters:
|
|
27882
28865
|
- $ref: "#/components/parameters/XCorrelationId"
|
|
@@ -28216,6 +29199,209 @@ paths:
|
|
|
28216
29199
|
- Review:REQUESTED -> APPROVED|REJECTED
|
|
28217
29200
|
x-gala-success-category: update
|
|
28218
29201
|
x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
|
|
29202
|
+
/v2/organizations/{organizationId}/publications/{publicationId}/site:
|
|
29203
|
+
get:
|
|
29204
|
+
description: |
|
|
29205
|
+
The one read behind a Home screen: the live address, whether the site is live, publishing or has never been published, who published last, the unpublished changes in words, and what needs attention.
|
|
29206
|
+
|
|
29207
|
+
`pendingChanges` holds exactly one entry per path (and one for the look): the newest unpublished change for a path wins, older ones are superseded and omitted. `review` is `NOT_REQUIRED` unless the publication's `publishingPolicy.requireReview` is true. `attention[].code` is a closed vocabulary; `relatedChangeId` names the change that needs the action. `publishing.stage` follows `PREPARING`, `BUILDING`, `GOING_LIVE`. Read from the platform's own records; nothing is read from the person's repository.
|
|
29208
|
+
operationId: getOrganizationsByOrganizationIdPublicationsByPublicationIdSite
|
|
29209
|
+
parameters:
|
|
29210
|
+
- $ref: "#/components/parameters/XCorrelationId"
|
|
29211
|
+
- example: 018f0000-0000-7000-8000-000000000001
|
|
29212
|
+
in: path
|
|
29213
|
+
name: organizationId
|
|
29214
|
+
required: true
|
|
29215
|
+
schema:
|
|
29216
|
+
format: uuid
|
|
29217
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
29218
|
+
type: string
|
|
29219
|
+
- example: 018f0000-0000-7000-8000-000000000001
|
|
29220
|
+
in: path
|
|
29221
|
+
name: publicationId
|
|
29222
|
+
required: true
|
|
29223
|
+
schema:
|
|
29224
|
+
format: uuid
|
|
29225
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
29226
|
+
type: string
|
|
29227
|
+
responses:
|
|
29228
|
+
"200":
|
|
29229
|
+
content:
|
|
29230
|
+
application/json:
|
|
29231
|
+
examples:
|
|
29232
|
+
nominal:
|
|
29233
|
+
summary: Nominal successful response
|
|
29234
|
+
value:
|
|
29235
|
+
attention:
|
|
29236
|
+
- code: REPOSITORY_NEEDS_UPDATE
|
|
29237
|
+
relatedChangeId: 018f0000-0000-7000-8000-000000000002
|
|
29238
|
+
lastPublished:
|
|
29239
|
+
actor:
|
|
29240
|
+
displayName: Asha Rao
|
|
29241
|
+
at: "2026-10-05T09:30:00Z"
|
|
29242
|
+
pendingChanges:
|
|
29243
|
+
- action: EDIT
|
|
29244
|
+
author:
|
|
29245
|
+
displayName: Asha Rao
|
|
29246
|
+
changeId: 018f0000-0000-7000-8000-000000000002
|
|
29247
|
+
kind: POST
|
|
29248
|
+
path: content/articles/hello.md
|
|
29249
|
+
review: NOT_REQUIRED
|
|
29250
|
+
title: Hello, world
|
|
29251
|
+
updatedAt: "2026-10-05T09:30:00Z"
|
|
29252
|
+
- action: CHANGE
|
|
29253
|
+
author:
|
|
29254
|
+
displayName: Asha Rao
|
|
29255
|
+
changeId: 018f0000-0000-7000-8000-000000000003
|
|
29256
|
+
kind: LOOK
|
|
29257
|
+
review: NOT_REQUIRED
|
|
29258
|
+
theme:
|
|
29259
|
+
from: Default
|
|
29260
|
+
to: Journal
|
|
29261
|
+
title: Look
|
|
29262
|
+
updatedAt: "2026-10-05T09:30:00Z"
|
|
29263
|
+
state: LIVE
|
|
29264
|
+
url: https://example.galascribe.com/
|
|
29265
|
+
schema:
|
|
29266
|
+
$ref: "#/components/schemas/GetOrganizationsByOrganizationIdPublicationsByPublicationIdSiteResponse"
|
|
29267
|
+
description: read the site summary of this publication succeeded
|
|
29268
|
+
headers:
|
|
29269
|
+
Cache-Control:
|
|
29270
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
29271
|
+
X-Correlation-Id:
|
|
29272
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
29273
|
+
"400":
|
|
29274
|
+
content:
|
|
29275
|
+
application/problem+json:
|
|
29276
|
+
examples:
|
|
29277
|
+
VALIDATION_FAILED:
|
|
29278
|
+
summary: VALIDATION_FAILED
|
|
29279
|
+
value:
|
|
29280
|
+
code: VALIDATION_FAILED
|
|
29281
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
29282
|
+
detail: See the operation contract.
|
|
29283
|
+
errors: []
|
|
29284
|
+
retryable: false
|
|
29285
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
29286
|
+
schemaVersion: 2.0.0
|
|
29287
|
+
status: 400
|
|
29288
|
+
title: VALIDATION_FAILED
|
|
29289
|
+
type: urn:gala:problem:validation-failed
|
|
29290
|
+
schema:
|
|
29291
|
+
$ref: "#/components/schemas/Problem"
|
|
29292
|
+
description: VALIDATION_FAILED
|
|
29293
|
+
headers:
|
|
29294
|
+
Cache-Control:
|
|
29295
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
29296
|
+
X-Correlation-Id:
|
|
29297
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
29298
|
+
x-gala-problem-codes:
|
|
29299
|
+
- VALIDATION_FAILED
|
|
29300
|
+
"401":
|
|
29301
|
+
content:
|
|
29302
|
+
application/problem+json:
|
|
29303
|
+
examples:
|
|
29304
|
+
AUTHENTICATION_REQUIRED:
|
|
29305
|
+
summary: AUTHENTICATION_REQUIRED
|
|
29306
|
+
value:
|
|
29307
|
+
code: AUTHENTICATION_REQUIRED
|
|
29308
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
29309
|
+
detail: See the operation contract.
|
|
29310
|
+
errors: []
|
|
29311
|
+
retryable: false
|
|
29312
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
29313
|
+
schemaVersion: 2.0.0
|
|
29314
|
+
status: 401
|
|
29315
|
+
title: AUTHENTICATION_REQUIRED
|
|
29316
|
+
type: urn:gala:problem:authentication-required
|
|
29317
|
+
schema:
|
|
29318
|
+
$ref: "#/components/schemas/Problem"
|
|
29319
|
+
description: AUTHENTICATION_REQUIRED
|
|
29320
|
+
headers:
|
|
29321
|
+
Cache-Control:
|
|
29322
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
29323
|
+
X-Correlation-Id:
|
|
29324
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
29325
|
+
x-gala-problem-codes:
|
|
29326
|
+
- AUTHENTICATION_REQUIRED
|
|
29327
|
+
"403":
|
|
29328
|
+
content:
|
|
29329
|
+
application/problem+json:
|
|
29330
|
+
examples:
|
|
29331
|
+
AUTHORIZATION_DENIED:
|
|
29332
|
+
summary: AUTHORIZATION_DENIED
|
|
29333
|
+
value:
|
|
29334
|
+
code: AUTHORIZATION_DENIED
|
|
29335
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
29336
|
+
detail: See the operation contract.
|
|
29337
|
+
errors: []
|
|
29338
|
+
retryable: false
|
|
29339
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
29340
|
+
schemaVersion: 2.0.0
|
|
29341
|
+
status: 403
|
|
29342
|
+
title: AUTHORIZATION_DENIED
|
|
29343
|
+
type: urn:gala:problem:authorization-denied
|
|
29344
|
+
schema:
|
|
29345
|
+
$ref: "#/components/schemas/Problem"
|
|
29346
|
+
description: AUTHORIZATION_DENIED
|
|
29347
|
+
headers:
|
|
29348
|
+
Cache-Control:
|
|
29349
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
29350
|
+
X-Correlation-Id:
|
|
29351
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
29352
|
+
x-gala-problem-codes:
|
|
29353
|
+
- AUTHORIZATION_DENIED
|
|
29354
|
+
"404":
|
|
29355
|
+
content:
|
|
29356
|
+
application/problem+json:
|
|
29357
|
+
examples:
|
|
29358
|
+
RESOURCE_NOT_FOUND:
|
|
29359
|
+
summary: RESOURCE_NOT_FOUND
|
|
29360
|
+
value:
|
|
29361
|
+
code: RESOURCE_NOT_FOUND
|
|
29362
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
29363
|
+
detail: See the operation contract.
|
|
29364
|
+
errors: []
|
|
29365
|
+
retryable: false
|
|
29366
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
29367
|
+
schemaVersion: 2.0.0
|
|
29368
|
+
status: 404
|
|
29369
|
+
title: RESOURCE_NOT_FOUND
|
|
29370
|
+
type: urn:gala:problem:resource-not-found
|
|
29371
|
+
schema:
|
|
29372
|
+
$ref: "#/components/schemas/Problem"
|
|
29373
|
+
description: RESOURCE_NOT_FOUND
|
|
29374
|
+
headers:
|
|
29375
|
+
Cache-Control:
|
|
29376
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
29377
|
+
X-Correlation-Id:
|
|
29378
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
29379
|
+
x-gala-problem-codes:
|
|
29380
|
+
- RESOURCE_NOT_FOUND
|
|
29381
|
+
security:
|
|
29382
|
+
- browserSession: []
|
|
29383
|
+
summary: read the site summary of this publication
|
|
29384
|
+
tags:
|
|
29385
|
+
- organizations
|
|
29386
|
+
x-gala-activation-gate: MVP
|
|
29387
|
+
x-gala-activation-guards:
|
|
29388
|
+
- NONE
|
|
29389
|
+
x-gala-capability-key: publication.view
|
|
29390
|
+
x-gala-concurrency: publication-and-destination-epochs
|
|
29391
|
+
x-gala-conditional-capabilities: []
|
|
29392
|
+
x-gala-example-profile: NOMINAL_SUCCESS_AND_EACH_REACHABLE_PROBLEM
|
|
29393
|
+
x-gala-nullability: required-and-nullable-are-explicit
|
|
29394
|
+
x-gala-purpose: read the site summary of this publication
|
|
29395
|
+
x-gala-reachable-problems:
|
|
29396
|
+
- AUTHENTICATION_REQUIRED
|
|
29397
|
+
- AUTHORIZATION_DENIED
|
|
29398
|
+
- RESOURCE_NOT_FOUND
|
|
29399
|
+
- VALIDATION_FAILED
|
|
29400
|
+
x-gala-replay-identity: safe-query
|
|
29401
|
+
x-gala-state-guards:
|
|
29402
|
+
- NONE
|
|
29403
|
+
x-gala-success-category: query
|
|
29404
|
+
x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
|
|
28219
29405
|
/v2/organizations/{organizationId}/publications/{publicationId}:previewRetirement:
|
|
28220
29406
|
post:
|
|
28221
29407
|
description: |
|