@rathnasgala2/schemas 3.31.0 → 3.32.1
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/THIRD_PARTY_LICENSES.json +1 -1
- package/diagnostics/diagnostic-map.json +119 -0
- package/docs/catalogs/schema-inventory.json +7 -7
- package/examples/valid/build-input/rules.json +126 -0
- package/examples/valid/interactions-config/rules.json +10 -0
- package/examples/valid/publication/rules.json +86 -0
- package/fixtures/boundary/build-input/rules.json +176 -0
- package/fixtures/boundary/interactions-config/rules.json +10 -0
- package/fixtures/boundary/publication/rules.json +132 -0
- package/fixtures/invalid/build-input/GRAPHEME_LENGTH_INVALID/cases.json +33 -0
- package/fixtures/invalid/build-input/REQUEST_FIELD_UNKNOWN/cases.json +30 -0
- package/fixtures/invalid/build-input/SCHEMA_ARRAY_DUPLICATE/cases.json +11 -0
- package/fixtures/invalid/build-input/SCHEMA_ARRAY_TOO_LONG/cases.json +15 -0
- package/fixtures/invalid/build-input/SCHEMA_ENUM_INVALID/cases.json +11 -0
- package/fixtures/invalid/build-input/SCHEMA_NUMBER_TOO_LARGE/cases.json +11 -0
- package/fixtures/invalid/build-input/SCHEMA_PATTERN_INVALID/cases.json +22 -0
- package/fixtures/invalid/build-input/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +51 -0
- package/fixtures/invalid/build-input/SCHEMA_TYPE_INVALID/cases.json +53 -0
- package/fixtures/invalid/interactions-config/SCHEMA_TYPE_INVALID/cases.json +11 -0
- package/fixtures/invalid/publication/GRAPHEME_LENGTH_INVALID/cases.json +33 -0
- package/fixtures/invalid/publication/REQUEST_FIELD_UNKNOWN/cases.json +30 -0
- package/fixtures/invalid/publication/SCHEMA_ARRAY_DUPLICATE/cases.json +9 -0
- package/fixtures/invalid/publication/SCHEMA_ARRAY_TOO_LONG/cases.json +13 -0
- package/fixtures/invalid/publication/SCHEMA_PATTERN_INVALID/cases.json +22 -0
- package/fixtures/invalid/publication/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +40 -0
- package/fixtures/invalid/publication/SCHEMA_TYPE_INVALID/cases.json +40 -0
- package/fixtures/manifest.json +943 -8
- package/fixtures/unknown-field/build-input/rules.json +50 -0
- package/fixtures/unknown-field/interactions-config/rules.json +1 -0
- package/fixtures/unknown-field/publication/rules.json +46 -0
- package/generated/browser/validator-core.mjs +3 -3
- package/generated/typescript/contracts/artifact-manifest.d.ts +4 -2
- package/generated/typescript/contracts/build-input.d.ts +16 -1
- package/generated/typescript/contracts/build-provenance.d.ts +4 -2
- package/generated/typescript/contracts/interactions-config.d.ts +1 -0
- package/generated/typescript/contracts/publication.d.ts +13 -0
- package/openapi/http-catalog.json +80 -2
- package/openapi/openapi.yaml +1753 -250
- package/package.json +1 -1
- package/sbom.cdx.json +23 -23
- package/schemas/artifact-manifest.schema.json +4 -2
- package/schemas/build-input.schema.json +64 -3
- package/schemas/build-provenance.schema.json +4 -2
- package/schemas/interactions-config.schema.json +6 -1
- package/schemas/publication.schema.json +48 -0
package/openapi/openapi.yaml
CHANGED
|
@@ -927,6 +927,14 @@ components:
|
|
|
927
927
|
format: uuid
|
|
928
928
|
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
929
929
|
type: string
|
|
930
|
+
likeCount:
|
|
931
|
+
description: "SCHEMA-3.32.0: how many readers like the comment; absent counts as 0."
|
|
932
|
+
format: int64
|
|
933
|
+
minimum: 0
|
|
934
|
+
type: integer
|
|
935
|
+
likedByMe:
|
|
936
|
+
description: "SCHEMA-3.32.0: true when the signed-in reader likes the comment; absent counts as false."
|
|
937
|
+
type: boolean
|
|
930
938
|
moreReplies:
|
|
931
939
|
type: boolean
|
|
932
940
|
own:
|
|
@@ -937,6 +945,9 @@ components:
|
|
|
937
945
|
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
938
946
|
type: string
|
|
939
947
|
- type: "null"
|
|
948
|
+
pinned:
|
|
949
|
+
description: "SCHEMA-3.32.0: true for the one root comment the site owner pinned to the top of the article; absent counts as false."
|
|
950
|
+
type: boolean
|
|
940
951
|
replies:
|
|
941
952
|
items:
|
|
942
953
|
$ref: "#/components/schemas/CommentViewLevel1"
|
|
@@ -990,6 +1001,14 @@ components:
|
|
|
990
1001
|
format: uuid
|
|
991
1002
|
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
992
1003
|
type: string
|
|
1004
|
+
likeCount:
|
|
1005
|
+
description: "SCHEMA-3.32.0: how many readers like the comment; absent counts as 0."
|
|
1006
|
+
format: int64
|
|
1007
|
+
minimum: 0
|
|
1008
|
+
type: integer
|
|
1009
|
+
likedByMe:
|
|
1010
|
+
description: "SCHEMA-3.32.0: true when the signed-in reader likes the comment; absent counts as false."
|
|
1011
|
+
type: boolean
|
|
993
1012
|
moreReplies:
|
|
994
1013
|
type: boolean
|
|
995
1014
|
own:
|
|
@@ -1000,6 +1019,9 @@ components:
|
|
|
1000
1019
|
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
1001
1020
|
type: string
|
|
1002
1021
|
- type: "null"
|
|
1022
|
+
pinned:
|
|
1023
|
+
description: "SCHEMA-3.32.0: true for the one root comment the site owner pinned to the top of the article; absent counts as false."
|
|
1024
|
+
type: boolean
|
|
1003
1025
|
replies:
|
|
1004
1026
|
items:
|
|
1005
1027
|
$ref: "#/components/schemas/CommentViewLevel2"
|
|
@@ -1053,6 +1075,14 @@ components:
|
|
|
1053
1075
|
format: uuid
|
|
1054
1076
|
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
1055
1077
|
type: string
|
|
1078
|
+
likeCount:
|
|
1079
|
+
description: "SCHEMA-3.32.0: how many readers like the comment; absent counts as 0."
|
|
1080
|
+
format: int64
|
|
1081
|
+
minimum: 0
|
|
1082
|
+
type: integer
|
|
1083
|
+
likedByMe:
|
|
1084
|
+
description: "SCHEMA-3.32.0: true when the signed-in reader likes the comment; absent counts as false."
|
|
1085
|
+
type: boolean
|
|
1056
1086
|
moreReplies:
|
|
1057
1087
|
type: boolean
|
|
1058
1088
|
own:
|
|
@@ -1063,6 +1093,9 @@ components:
|
|
|
1063
1093
|
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
1064
1094
|
type: string
|
|
1065
1095
|
- type: "null"
|
|
1096
|
+
pinned:
|
|
1097
|
+
description: "SCHEMA-3.32.0: true for the one root comment the site owner pinned to the top of the article; absent counts as false."
|
|
1098
|
+
type: boolean
|
|
1066
1099
|
replies:
|
|
1067
1100
|
items:
|
|
1068
1101
|
$ref: "#/components/schemas/CommentViewLevel3"
|
|
@@ -1116,6 +1149,14 @@ components:
|
|
|
1116
1149
|
format: uuid
|
|
1117
1150
|
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
1118
1151
|
type: string
|
|
1152
|
+
likeCount:
|
|
1153
|
+
description: "SCHEMA-3.32.0: how many readers like the comment; absent counts as 0."
|
|
1154
|
+
format: int64
|
|
1155
|
+
minimum: 0
|
|
1156
|
+
type: integer
|
|
1157
|
+
likedByMe:
|
|
1158
|
+
description: "SCHEMA-3.32.0: true when the signed-in reader likes the comment; absent counts as false."
|
|
1159
|
+
type: boolean
|
|
1119
1160
|
moreReplies:
|
|
1120
1161
|
type: boolean
|
|
1121
1162
|
own:
|
|
@@ -1126,6 +1167,9 @@ components:
|
|
|
1126
1167
|
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
1127
1168
|
type: string
|
|
1128
1169
|
- type: "null"
|
|
1170
|
+
pinned:
|
|
1171
|
+
description: "SCHEMA-3.32.0: true for the one root comment the site owner pinned to the top of the article; absent counts as false."
|
|
1172
|
+
type: boolean
|
|
1129
1173
|
replies:
|
|
1130
1174
|
maxItems: 0
|
|
1131
1175
|
type: array
|
|
@@ -1494,7 +1538,10 @@ components:
|
|
|
1494
1538
|
keeps the stored value, an object replaces it whole, `null` clears it.
|
|
1495
1539
|
`title`, `defaultLanguage` and `socialLinks` cannot be cleared.
|
|
1496
1540
|
`socialLinks` (max 32, the publication file's own limit) replaces
|
|
1497
|
-
the whole list. `
|
|
1541
|
+
the whole list. SCHEMA-3.32.0: `recommendations` (the sites the author
|
|
1542
|
+
recommends, max 24, `url` unique within the list) follows `crawlers`
|
|
1543
|
+
and not `socialLinks`: absent keeps the stored list, an array replaces
|
|
1544
|
+
the whole list, `null` clears it. `canonicalBase` is never client-settable: it changes
|
|
1498
1545
|
only through domain attach and detach. A profile that changes nothing is
|
|
1499
1546
|
`422 VALIDATION_FAILED` pointed at `/publicationProfile`; member
|
|
1500
1547
|
failures point at `/publicationProfile/<member>`.
|
|
@@ -1530,6 +1577,13 @@ components:
|
|
|
1530
1577
|
oneOf:
|
|
1531
1578
|
- $ref: "#/components/schemas/PortablePublicationPerformance"
|
|
1532
1579
|
- type: "null"
|
|
1580
|
+
recommendations:
|
|
1581
|
+
oneOf:
|
|
1582
|
+
- items:
|
|
1583
|
+
$ref: "#/components/schemas/Recommendation"
|
|
1584
|
+
maxItems: 24
|
|
1585
|
+
type: array
|
|
1586
|
+
- type: "null"
|
|
1533
1587
|
socialLinks:
|
|
1534
1588
|
items:
|
|
1535
1589
|
$ref: "#/components/schemas/PortablePublicationSocialLink"
|
|
@@ -1541,6 +1595,35 @@ components:
|
|
|
1541
1595
|
maximum: 120
|
|
1542
1596
|
minimum: 1
|
|
1543
1597
|
type: object
|
|
1598
|
+
ContentDocumentHistoryEntry:
|
|
1599
|
+
additionalProperties: false
|
|
1600
|
+
description: "SCHEMA-3.32.0: one commit that changed a content document. `source` is `draft` (saved from the editor), `publish` (a publish of the site), `import` (an import) or `unknown` (a commit Galascribe did not make). `authorLogin` is present only when GitHub names the committer."
|
|
1601
|
+
properties:
|
|
1602
|
+
authorLogin:
|
|
1603
|
+
maxLength: 39
|
|
1604
|
+
minLength: 1
|
|
1605
|
+
type: string
|
|
1606
|
+
committedAt:
|
|
1607
|
+
"": ../schemas/problem.schema.json#/$defs/rfc3339
|
|
1608
|
+
message:
|
|
1609
|
+
maxLength: 200
|
|
1610
|
+
type: string
|
|
1611
|
+
revision:
|
|
1612
|
+
pattern: ^(?:sha1:[0-9a-f]{40}|sha256:[0-9a-f]{64})$
|
|
1613
|
+
type: string
|
|
1614
|
+
source:
|
|
1615
|
+
enum:
|
|
1616
|
+
- draft
|
|
1617
|
+
- publish
|
|
1618
|
+
- import
|
|
1619
|
+
- unknown
|
|
1620
|
+
type: string
|
|
1621
|
+
required:
|
|
1622
|
+
- revision
|
|
1623
|
+
- committedAt
|
|
1624
|
+
- message
|
|
1625
|
+
- source
|
|
1626
|
+
type: object
|
|
1544
1627
|
ContentFrontmatter:
|
|
1545
1628
|
$ref: "#/components/schemas/PortableContentFrontmatterDocument"
|
|
1546
1629
|
ContentInventoryItem:
|
|
@@ -1745,7 +1828,9 @@ components:
|
|
|
1745
1828
|
page it opened. Carries no personal data beyond what each author
|
|
1746
1829
|
file itself already publishes. `listing`, `aiRights` and `performance`
|
|
1747
1830
|
(SCHEMA-3.25.1, optional) are the publication file's 3.25.0 members,
|
|
1748
|
-
absent when the file carries none.
|
|
1831
|
+
absent when the file carries none. `recommendations` (SCHEMA-3.32.0,
|
|
1832
|
+
optional) is the publication file's list of recommended sites, absent
|
|
1833
|
+
when the file carries none.
|
|
1749
1834
|
properties:
|
|
1750
1835
|
aiRights:
|
|
1751
1836
|
$ref: "#/components/schemas/PortablePublicationAiRights"
|
|
@@ -1769,6 +1854,11 @@ components:
|
|
|
1769
1854
|
$ref: "#/components/schemas/PortablePublicationListing"
|
|
1770
1855
|
performance:
|
|
1771
1856
|
$ref: "#/components/schemas/PortablePublicationPerformance"
|
|
1857
|
+
recommendations:
|
|
1858
|
+
items:
|
|
1859
|
+
$ref: "#/components/schemas/Recommendation"
|
|
1860
|
+
maxItems: 24
|
|
1861
|
+
type: array
|
|
1772
1862
|
socialLinks:
|
|
1773
1863
|
items:
|
|
1774
1864
|
$ref: "#/components/schemas/PortablePublicationSocialLink"
|
|
@@ -3595,6 +3685,18 @@ components:
|
|
|
3595
3685
|
- items
|
|
3596
3686
|
- nextCursor
|
|
3597
3687
|
type: object
|
|
3688
|
+
GetOrganizationsByOrganizationIdPublicationsByPublicationIdContentDocumentsHistoryResponse:
|
|
3689
|
+
additionalProperties: false
|
|
3690
|
+
description: "SCHEMA-3.32.0: the commits on the linked repository's main branch that changed one path, newest first, at most 50."
|
|
3691
|
+
properties:
|
|
3692
|
+
entries:
|
|
3693
|
+
items:
|
|
3694
|
+
"": "#/components/schemas/ContentDocumentHistoryEntry"
|
|
3695
|
+
maxItems: 50
|
|
3696
|
+
type: array
|
|
3697
|
+
required:
|
|
3698
|
+
- entries
|
|
3699
|
+
type: object
|
|
3598
3700
|
GetOrganizationsByOrganizationIdPublicationsByPublicationIdContentDocumentsResponse:
|
|
3599
3701
|
additionalProperties: false
|
|
3600
3702
|
properties:
|
|
@@ -4454,6 +4556,13 @@ components:
|
|
|
4454
4556
|
maxItems: 200
|
|
4455
4557
|
type: array
|
|
4456
4558
|
uniqueItems: true
|
|
4559
|
+
createdAt:
|
|
4560
|
+
description: |-
|
|
4561
|
+
SCHEMA-3.32.1: when the publication was created. Optional so a server that has not recorded it, and every 3.32.0 response, still validates; a client treats absent as unknown.
|
|
4562
|
+
|
|
4563
|
+
Canonical Gala instant: the UTC millisecond subset of RFC 3339, exactly `YYYY-MM-DDThh:mm:ss.sssZ`. Stated here rather than as a `pattern` because a generated `OffsetDateTime` cannot carry one (LOCAL-56).
|
|
4564
|
+
format: date-time
|
|
4565
|
+
type: string
|
|
4457
4566
|
name:
|
|
4458
4567
|
maxLength: 80
|
|
4459
4568
|
minLength: 1
|
|
@@ -7396,12 +7505,15 @@ components:
|
|
|
7396
7505
|
- state
|
|
7397
7506
|
type: object
|
|
7398
7507
|
ModerationDecision:
|
|
7508
|
+
description: "SCHEMA-3.32.0: `PIN` and `UNPIN` pin a visible root comment to the top of its article's comments, or release it. They apply to a visible root comment only, and change nothing else about it."
|
|
7399
7509
|
enum:
|
|
7400
7510
|
- HOLD
|
|
7401
7511
|
- RESTORE
|
|
7402
7512
|
- REMOVE
|
|
7403
7513
|
- DISMISS_REPORTS
|
|
7404
7514
|
- DENY_APPEAL
|
|
7515
|
+
- PIN
|
|
7516
|
+
- UNPIN
|
|
7405
7517
|
type: string
|
|
7406
7518
|
ModerationQueueItem:
|
|
7407
7519
|
additionalProperties: false
|
|
@@ -7461,12 +7573,20 @@ components:
|
|
|
7461
7573
|
format: uuid
|
|
7462
7574
|
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
7463
7575
|
type: string
|
|
7576
|
+
likeCount:
|
|
7577
|
+
description: "SCHEMA-3.32.1: how many readers like the comment; absent counts as 0."
|
|
7578
|
+
format: int64
|
|
7579
|
+
minimum: 0
|
|
7580
|
+
type: integer
|
|
7464
7581
|
parentId:
|
|
7465
7582
|
oneOf:
|
|
7466
7583
|
- format: uuid
|
|
7467
7584
|
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
7468
7585
|
type: string
|
|
7469
7586
|
- type: "null"
|
|
7587
|
+
pinned:
|
|
7588
|
+
description: "SCHEMA-3.32.1: true for the one root comment the site owner pinned to the top of the article; absent counts as false."
|
|
7589
|
+
type: boolean
|
|
7470
7590
|
state:
|
|
7471
7591
|
$ref: "#/components/schemas/CommentInternalState"
|
|
7472
7592
|
required:
|
|
@@ -7551,10 +7671,17 @@ components:
|
|
|
7551
7671
|
type: object
|
|
7552
7672
|
NewsletterConfirmation:
|
|
7553
7673
|
additionalProperties: false
|
|
7554
|
-
description: "SCHEMA-3.23.0: what the confirmation page shows for one confirmation token."
|
|
7674
|
+
description: "SCHEMA-3.23.0: what the confirmation page shows for one confirmation token. SCHEMA-3.32.0: `afterSignupUrl` (the site's own after-signup address, when set) and `recommendations` (the sites the author recommends, when any) are present only when the site has them."
|
|
7555
7675
|
properties:
|
|
7676
|
+
afterSignupUrl:
|
|
7677
|
+
$ref: "#/components/schemas/PortablePublicationUrlHttps"
|
|
7556
7678
|
publication:
|
|
7557
7679
|
$ref: "#/components/schemas/AudiencePublication"
|
|
7680
|
+
recommendations:
|
|
7681
|
+
items:
|
|
7682
|
+
$ref: "#/components/schemas/Recommendation"
|
|
7683
|
+
maxItems: 24
|
|
7684
|
+
type: array
|
|
7558
7685
|
state:
|
|
7559
7686
|
$ref: "#/components/schemas/NewsletterConfirmationState"
|
|
7560
7687
|
required:
|
|
@@ -7578,6 +7705,13 @@ components:
|
|
|
7578
7705
|
additionalProperties: false
|
|
7579
7706
|
description: "SCHEMA-3.23.0: the send log of one post: when it went out and how many addresses it reached. `recipients` is the confirmed subscribers at send time; `sent`, `failed` and `deferred` (held back by a daily ceiling, retried later) account for them."
|
|
7580
7707
|
properties:
|
|
7708
|
+
clicked:
|
|
7709
|
+
description: "SCHEMA-3.32.0: addresses that clicked a link in the issue, from the mail provider; null when not yet known."
|
|
7710
|
+
format: int64
|
|
7711
|
+
minimum: 0
|
|
7712
|
+
type:
|
|
7713
|
+
- integer
|
|
7714
|
+
- "null"
|
|
7581
7715
|
contentId:
|
|
7582
7716
|
format: uuid
|
|
7583
7717
|
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
@@ -7586,6 +7720,13 @@ components:
|
|
|
7586
7720
|
format: int64
|
|
7587
7721
|
minimum: 0
|
|
7588
7722
|
type: integer
|
|
7723
|
+
delivered:
|
|
7724
|
+
description: "SCHEMA-3.32.0: addresses the receiving server accepted the issue for, from the mail provider; null when not yet known."
|
|
7725
|
+
format: int64
|
|
7726
|
+
minimum: 0
|
|
7727
|
+
type:
|
|
7728
|
+
- integer
|
|
7729
|
+
- "null"
|
|
7589
7730
|
failed:
|
|
7590
7731
|
format: int64
|
|
7591
7732
|
minimum: 0
|
|
@@ -7594,6 +7735,13 @@ components:
|
|
|
7594
7735
|
format: uuid
|
|
7595
7736
|
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
7596
7737
|
type: string
|
|
7738
|
+
opened:
|
|
7739
|
+
description: "SCHEMA-3.32.0: addresses that opened the issue, from the mail provider; an estimate, because open tracking is pixel-based and mail clients can load or block the pixel for the reader. Null when not yet known."
|
|
7740
|
+
format: int64
|
|
7741
|
+
minimum: 0
|
|
7742
|
+
type:
|
|
7743
|
+
- integer
|
|
7744
|
+
- "null"
|
|
7597
7745
|
recipients:
|
|
7598
7746
|
format: int64
|
|
7599
7747
|
minimum: 0
|
|
@@ -7627,8 +7775,12 @@ components:
|
|
|
7627
7775
|
type: string
|
|
7628
7776
|
NewsletterSettings:
|
|
7629
7777
|
additionalProperties: false
|
|
7630
|
-
description: "SCHEMA-3.23.0: the newsletter configuration of a site at the linked repository's main branch head, as `gala/publication.json` carries it, plus read-only status. `url` is set in `link` mode only; `emailContent` and `replyToOwner` in `galascribe` mode only; `title` and `text` in both modes; every one is null otherwise. `ownerPostalAddressSet` says whether the site owner has saved a postal address (`GET /v2/self/postal-address`); the Galascribe newsletter cannot be turned on without one. `paused` is true while sends are stopped for the site: the platform newsletter kill switch is on, or the owner has no postal address. `capacity` is the organization's subscriber allowance. `openChange` names an existing not-yet-published change of this publication that touches the file, or is null. `setUp` matches `GET .../repository/setup` `state`."
|
|
7778
|
+
description: "SCHEMA-3.23.0: the newsletter configuration of a site at the linked repository's main branch head, as `gala/publication.json` carries it, plus read-only status. `url` is set in `link` mode only; `emailContent` and `replyToOwner` in `galascribe` mode only; `title` and `text` in both modes; every one is null otherwise. `ownerPostalAddressSet` says whether the site owner has saved a postal address (`GET /v2/self/postal-address`); the Galascribe newsletter cannot be turned on without one. `paused` is true while sends are stopped for the site: the platform newsletter kill switch is on, or the owner has no postal address. `capacity` is the organization's subscriber allowance. `openChange` names an existing not-yet-published change of this publication that touches the file, or is null. `setUp` matches `GET .../repository/setup` `state`. SCHEMA-3.32.0: `welcome` and `afterSignupUrl` (`galascribe` mode only; null when unset or in another mode) are optional members, so a 3.31 reader ignores them."
|
|
7631
7779
|
properties:
|
|
7780
|
+
afterSignupUrl:
|
|
7781
|
+
oneOf:
|
|
7782
|
+
- $ref: "#/components/schemas/PortablePublicationUrlHttps"
|
|
7783
|
+
- type: "null"
|
|
7632
7784
|
capacity:
|
|
7633
7785
|
$ref: "#/components/schemas/NewsletterCapacity"
|
|
7634
7786
|
emailContent:
|
|
@@ -7666,6 +7818,10 @@ components:
|
|
|
7666
7818
|
oneOf:
|
|
7667
7819
|
- $ref: "#/components/schemas/PortablePublicationUrlHttps"
|
|
7668
7820
|
- type: "null"
|
|
7821
|
+
welcome:
|
|
7822
|
+
oneOf:
|
|
7823
|
+
- $ref: "#/components/schemas/NewsletterWelcome"
|
|
7824
|
+
- type: "null"
|
|
7669
7825
|
required:
|
|
7670
7826
|
- mode
|
|
7671
7827
|
- url
|
|
@@ -7729,11 +7885,12 @@ components:
|
|
|
7729
7885
|
- confirmedAt
|
|
7730
7886
|
type: object
|
|
7731
7887
|
NewsletterSubscriberState:
|
|
7732
|
-
description: "SCHEMA-3.23.0: `pending` (asked, not yet confirmed), `confirmed`, or `unsubscribed` (the address is kept only as a suppression digest, so its row has no `email`)."
|
|
7888
|
+
description: "SCHEMA-3.23.0: `pending` (asked, not yet confirmed), `confirmed`, or `unsubscribed` (the address is kept only as a suppression digest, so its row has no `email`). SCHEMA-3.32.0: `suppressed` is an address mail to which bounced or drew a spam complaint; it receives nothing further and cannot be re-imported or re-subscribed by the owner."
|
|
7733
7889
|
enum:
|
|
7734
7890
|
- pending
|
|
7735
7891
|
- confirmed
|
|
7736
7892
|
- unsubscribed
|
|
7893
|
+
- suppressed
|
|
7737
7894
|
type: string
|
|
7738
7895
|
NewsletterSubscription:
|
|
7739
7896
|
additionalProperties: false
|
|
@@ -7758,6 +7915,25 @@ components:
|
|
|
7758
7915
|
- subscribed
|
|
7759
7916
|
- unsubscribed
|
|
7760
7917
|
type: string
|
|
7918
|
+
NewsletterWelcome:
|
|
7919
|
+
additionalProperties: false
|
|
7920
|
+
description: "SCHEMA-3.32.0: the welcome email mailed once to a new subscriber after they confirm: a one-line subject of 1 to 120 graphemes and a plain-text body of 1 to 2000 graphemes."
|
|
7921
|
+
properties:
|
|
7922
|
+
body:
|
|
7923
|
+
$ref: "#/components/schemas/PortablePublicationPlainText"
|
|
7924
|
+
x-gala-graphemeLength:
|
|
7925
|
+
maximum: 2000
|
|
7926
|
+
minimum: 1
|
|
7927
|
+
subject:
|
|
7928
|
+
$ref: "#/components/schemas/PortablePublicationPlainText"
|
|
7929
|
+
pattern: ^[^\r\n\u2028\u2029]+$
|
|
7930
|
+
x-gala-graphemeLength:
|
|
7931
|
+
maximum: 120
|
|
7932
|
+
minimum: 1
|
|
7933
|
+
required:
|
|
7934
|
+
- subject
|
|
7935
|
+
- body
|
|
7936
|
+
type: object
|
|
7761
7937
|
NotificationCadence:
|
|
7762
7938
|
description: "SCHEMA-3.23.0: how often a category is emailed. `instant` sends one email per notification, `daily` one digest per day, `off` none. The inbox row exists whatever the cadence."
|
|
7763
7939
|
enum:
|
|
@@ -15689,6 +15865,10 @@ components:
|
|
|
15689
15865
|
type: boolean
|
|
15690
15866
|
enabled:
|
|
15691
15867
|
type: boolean
|
|
15868
|
+
likes:
|
|
15869
|
+
default: false
|
|
15870
|
+
description: "SCHEMA-3.32.0: when true, signed-in readers can like a comment. An absent member means false, so every 3.31 configuration still validates."
|
|
15871
|
+
type: boolean
|
|
15692
15872
|
maxDepth:
|
|
15693
15873
|
maximum: 4
|
|
15694
15874
|
minimum: 1
|
|
@@ -16280,6 +16460,14 @@ components:
|
|
|
16280
16460
|
$ref: "#/components/schemas/PortablePublicationPublicationPolicies"
|
|
16281
16461
|
profile:
|
|
16282
16462
|
$ref: "#/components/schemas/PortablePublicationPublicationProfile"
|
|
16463
|
+
recommendations:
|
|
16464
|
+
description: "SCHEMA-3.32.0: the sites the author recommends, shown to readers after they subscribe and published as `/.well-known/recommendations.json`. At most 24; `url` is unique within the array. JSON Schema cannot express uniqueness by one member, so consumers enforce it. An absent member means no recommendations."
|
|
16465
|
+
items:
|
|
16466
|
+
$ref: "#/components/schemas/PortablePublicationRecommendation"
|
|
16467
|
+
maxItems: 24
|
|
16468
|
+
minItems: 0
|
|
16469
|
+
type: array
|
|
16470
|
+
uniqueItems: true
|
|
16283
16471
|
schemaId:
|
|
16284
16472
|
pattern: ^urn:gala:schema:publication:2\.0\.0$
|
|
16285
16473
|
type: string
|
|
@@ -16399,6 +16587,9 @@ components:
|
|
|
16399
16587
|
- additionalProperties: false
|
|
16400
16588
|
description: "Galascribe mode: the panel is an email field and a Subscribe button. `title` and `text` are the panel heading and sentence; there is no `url`. The API refuses to turn this mode on until the site owner has a postal address in their Account."
|
|
16401
16589
|
properties:
|
|
16590
|
+
afterSignupUrl:
|
|
16591
|
+
$ref: "#/components/schemas/PortablePublicationUrlHttps"
|
|
16592
|
+
description: "SCHEMA-3.32.0: where the subscriber is sent after they confirm. It must be an https URL; the API applies its own open-redirect rules. An absent member shows the Galascribe confirmation page."
|
|
16402
16593
|
emailContent:
|
|
16403
16594
|
description: "`card` mails the post title, description, image and a Read the post button; the template renders no email fragment. `full` mails the whole post: for each published post the template renders an email-safe HTML fragment at `/_gala/email/<content id>.html` (`<content id>` is the post's front-matter `id`; absolute URLs and inline-safe markup only; `noindex`; absent from the sitemap, the feeds, the search index and the llms files), which the API fetches after the generation is certified live."
|
|
16404
16595
|
enum:
|
|
@@ -16418,6 +16609,25 @@ components:
|
|
|
16418
16609
|
minimum: 1
|
|
16419
16610
|
title:
|
|
16420
16611
|
$ref: "#/components/schemas/PortablePublicationPlainLabel"
|
|
16612
|
+
welcome:
|
|
16613
|
+
additionalProperties: false
|
|
16614
|
+
description: "SCHEMA-3.32.0: the welcome email mailed once to a new subscriber after they confirm. `subject` is one line (no line break) of 1 to 120 graphemes; `body` is plain text of 1 to 2000 graphemes. An absent `welcome` member means no welcome email."
|
|
16615
|
+
properties:
|
|
16616
|
+
body:
|
|
16617
|
+
$ref: "#/components/schemas/PortablePublicationPlainText"
|
|
16618
|
+
x-gala-graphemeLength:
|
|
16619
|
+
maximum: 2000
|
|
16620
|
+
minimum: 1
|
|
16621
|
+
subject:
|
|
16622
|
+
$ref: "#/components/schemas/PortablePublicationPlainText"
|
|
16623
|
+
pattern: ^[^\r\n\u2028\u2029]+$
|
|
16624
|
+
x-gala-graphemeLength:
|
|
16625
|
+
maximum: 120
|
|
16626
|
+
minimum: 1
|
|
16627
|
+
required:
|
|
16628
|
+
- subject
|
|
16629
|
+
- body
|
|
16630
|
+
type: object
|
|
16421
16631
|
required:
|
|
16422
16632
|
- mode
|
|
16423
16633
|
- title
|
|
@@ -16493,6 +16703,26 @@ components:
|
|
|
16493
16703
|
- route
|
|
16494
16704
|
- body
|
|
16495
16705
|
type: object
|
|
16706
|
+
PortablePublicationRecommendation:
|
|
16707
|
+
additionalProperties: false
|
|
16708
|
+
description: "SCHEMA-3.32.0: one site the author recommends to readers."
|
|
16709
|
+
properties:
|
|
16710
|
+
addedOn:
|
|
16711
|
+
description: The day the recommendation was added, YYYY-MM-DD (UTC). It feeds the `created_at` and `updated_at` members of the site's `/.well-known/recommendations.json` entry.
|
|
16712
|
+
pattern: ^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])$
|
|
16713
|
+
type: string
|
|
16714
|
+
description:
|
|
16715
|
+
$ref: "#/components/schemas/PortablePublicationPlainText"
|
|
16716
|
+
x-gala-graphemeLength:
|
|
16717
|
+
maximum: 300
|
|
16718
|
+
title:
|
|
16719
|
+
$ref: "#/components/schemas/PortablePublicationPlainLabel"
|
|
16720
|
+
url:
|
|
16721
|
+
$ref: "#/components/schemas/PortablePublicationUrlHttps"
|
|
16722
|
+
required:
|
|
16723
|
+
- url
|
|
16724
|
+
- title
|
|
16725
|
+
type: object
|
|
16496
16726
|
PortablePublicationRepoRelativePath:
|
|
16497
16727
|
description: NFC UTF-8 repository-relative path using slash separators, with no leading slash, dot segment, NUL, backslash, or percent-decoded traversal.
|
|
16498
16728
|
format: gala-repository-relative-path
|
|
@@ -16849,6 +17079,28 @@ components:
|
|
|
16849
17079
|
- organizations
|
|
16850
17080
|
- capabilities
|
|
16851
17081
|
type: object
|
|
17082
|
+
PostCallbacksBrevoRequest:
|
|
17083
|
+
description: Raw Brevo webhook JSON authenticated by the X-Gala-Webhook-Token header. Brevo posts one event per call; an object or an array of objects is accepted and every member is opaque to the contract.
|
|
17084
|
+
oneOf:
|
|
17085
|
+
- additionalProperties: true
|
|
17086
|
+
type: object
|
|
17087
|
+
- items:
|
|
17088
|
+
additionalProperties: true
|
|
17089
|
+
type: object
|
|
17090
|
+
maxItems: 1000
|
|
17091
|
+
type: array
|
|
17092
|
+
PostCallbacksBrevoResponse:
|
|
17093
|
+
additionalProperties: false
|
|
17094
|
+
properties:
|
|
17095
|
+
accepted:
|
|
17096
|
+
not:
|
|
17097
|
+
enum:
|
|
17098
|
+
- false
|
|
17099
|
+
type: boolean
|
|
17100
|
+
x-gala-const: true
|
|
17101
|
+
required:
|
|
17102
|
+
- accepted
|
|
17103
|
+
type: object
|
|
16852
17104
|
PostCallbacksGithubAppRequest:
|
|
16853
17105
|
additionalProperties: true
|
|
16854
17106
|
description: Raw GitHub webhook JSON authenticated over the exact received bytes; event and delivery identities are carried in required GitHub headers.
|
|
@@ -17537,6 +17789,31 @@ components:
|
|
|
17537
17789
|
- expectedHead
|
|
17538
17790
|
- diffDigest
|
|
17539
17791
|
type: object
|
|
17792
|
+
PostOrganizationsByOrganizationIdPublicationsByPublicationIdContentLinkPreviewRequest:
|
|
17793
|
+
additionalProperties: false
|
|
17794
|
+
description: "SCHEMA-3.32.0: the page to preview. Only https addresses are fetched."
|
|
17795
|
+
properties:
|
|
17796
|
+
url:
|
|
17797
|
+
$ref: "#/components/schemas/PortablePublicationUrlHttps"
|
|
17798
|
+
required:
|
|
17799
|
+
- url
|
|
17800
|
+
type: object
|
|
17801
|
+
PostOrganizationsByOrganizationIdPublicationsByPublicationIdContentLinkPreviewResponse:
|
|
17802
|
+
additionalProperties: false
|
|
17803
|
+
description: "SCHEMA-3.32.0: what the page says about itself. Every member is omitted when the page does not give one; there is no image."
|
|
17804
|
+
properties:
|
|
17805
|
+
canonicalUrl:
|
|
17806
|
+
$ref: "#/components/schemas/PortablePublicationUrlHttps"
|
|
17807
|
+
description:
|
|
17808
|
+
maxLength: 500
|
|
17809
|
+
type: string
|
|
17810
|
+
siteName:
|
|
17811
|
+
maxLength: 200
|
|
17812
|
+
type: string
|
|
17813
|
+
title:
|
|
17814
|
+
maxLength: 300
|
|
17815
|
+
type: string
|
|
17816
|
+
type: object
|
|
17540
17817
|
PostOrganizationsByOrganizationIdPublicationsByPublicationIdDeploymentsByGenerationIdReconcileRequest:
|
|
17541
17818
|
additionalProperties: false
|
|
17542
17819
|
properties:
|
|
@@ -17726,6 +18003,55 @@ components:
|
|
|
17726
18003
|
type: object
|
|
17727
18004
|
PostOrganizationsByOrganizationIdPublicationsByPublicationIdModerationCommentsByCommentIdDecideResponse:
|
|
17728
18005
|
$ref: "#/components/schemas/ModerationQueueItem"
|
|
18006
|
+
PostOrganizationsByOrganizationIdPublicationsByPublicationIdNewsletterSubscribersImportRequest:
|
|
18007
|
+
additionalProperties: false
|
|
18008
|
+
description: "SCHEMA-3.32.0: the addresses to invite, already parsed from the owner's file. `attestation` must be true: the owner states that every address agreed to hear from them. Each new address becomes a `pending` subscriber and is sent the confirmation email; nobody is subscribed without confirming."
|
|
18009
|
+
properties:
|
|
18010
|
+
addresses:
|
|
18011
|
+
items:
|
|
18012
|
+
format: email
|
|
18013
|
+
maxLength: 320
|
|
18014
|
+
minLength: 3
|
|
18015
|
+
type: string
|
|
18016
|
+
maxItems: 5000
|
|
18017
|
+
minItems: 1
|
|
18018
|
+
type: array
|
|
18019
|
+
attestation:
|
|
18020
|
+
not:
|
|
18021
|
+
enum:
|
|
18022
|
+
- false
|
|
18023
|
+
type: boolean
|
|
18024
|
+
x-gala-const: true
|
|
18025
|
+
required:
|
|
18026
|
+
- addresses
|
|
18027
|
+
- attestation
|
|
18028
|
+
type: object
|
|
18029
|
+
PostOrganizationsByOrganizationIdPublicationsByPublicationIdNewsletterSubscribersImportResponse:
|
|
18030
|
+
additionalProperties: false
|
|
18031
|
+
description: "SCHEMA-3.32.0: what the import did. `queued` addresses were new and had a confirmation email queued; `skippedKnown` were already pending, confirmed, unsubscribed or suppressed; `invalid` were not usable addresses; `overCapacity` were left out because the organization's subscriber allowance was reached."
|
|
18032
|
+
properties:
|
|
18033
|
+
invalid:
|
|
18034
|
+
format: int64
|
|
18035
|
+
minimum: 0
|
|
18036
|
+
type: integer
|
|
18037
|
+
overCapacity:
|
|
18038
|
+
format: int64
|
|
18039
|
+
minimum: 0
|
|
18040
|
+
type: integer
|
|
18041
|
+
queued:
|
|
18042
|
+
format: int64
|
|
18043
|
+
minimum: 0
|
|
18044
|
+
type: integer
|
|
18045
|
+
skippedKnown:
|
|
18046
|
+
format: int64
|
|
18047
|
+
minimum: 0
|
|
18048
|
+
type: integer
|
|
18049
|
+
required:
|
|
18050
|
+
- queued
|
|
18051
|
+
- skippedKnown
|
|
18052
|
+
- invalid
|
|
18053
|
+
- overCapacity
|
|
18054
|
+
type: object
|
|
17729
18055
|
PostOrganizationsByOrganizationIdPublicationsByPublicationIdOverviewRefreshResponse:
|
|
17730
18056
|
$ref: "#/components/schemas/PublicationOverview"
|
|
17731
18057
|
PostOrganizationsByOrganizationIdPublicationsByPublicationIdPreviewRetirementResponse:
|
|
@@ -20853,8 +21179,12 @@ components:
|
|
|
20853
21179
|
- text
|
|
20854
21180
|
- emailContent
|
|
20855
21181
|
- replyToOwner
|
|
20856
|
-
description: "Members by mode: `off` takes none besides `mode`; `link` takes `url`, `title` and `text` (all required); `galascribe` takes `title`, `text`, `emailContent` and `replyToOwner` (all required). A member that does not belong to the chosen mode is `422 VALIDATION_FAILED` pointed at that member."
|
|
21182
|
+
description: "Members by mode: `off` takes none besides `mode`; `link` takes `url`, `title` and `text` (all required); `galascribe` takes `title`, `text`, `emailContent` and `replyToOwner` (all required). A member that does not belong to the chosen mode is `422 VALIDATION_FAILED` pointed at that member. SCHEMA-3.32.0: `welcome` and `afterSignupUrl` are optional in `galascribe` mode (an absent member leaves the stored value as it is and null removes it)."
|
|
20857
21183
|
properties:
|
|
21184
|
+
afterSignupUrl:
|
|
21185
|
+
oneOf:
|
|
21186
|
+
- $ref: "#/components/schemas/PortablePublicationUrlHttps"
|
|
21187
|
+
- type: "null"
|
|
20858
21188
|
emailContent:
|
|
20859
21189
|
$ref: "#/components/schemas/NewsletterEmailContent"
|
|
20860
21190
|
mode:
|
|
@@ -20870,6 +21200,10 @@ components:
|
|
|
20870
21200
|
$ref: "#/components/schemas/PortablePublicationPlainLabel"
|
|
20871
21201
|
url:
|
|
20872
21202
|
$ref: "#/components/schemas/PortablePublicationUrlHttps"
|
|
21203
|
+
welcome:
|
|
21204
|
+
oneOf:
|
|
21205
|
+
- $ref: "#/components/schemas/NewsletterWelcome"
|
|
21206
|
+
- type: "null"
|
|
20873
21207
|
required:
|
|
20874
21208
|
- mode
|
|
20875
21209
|
type: object
|
|
@@ -21792,6 +22126,25 @@ components:
|
|
|
21792
22126
|
required:
|
|
21793
22127
|
- origin
|
|
21794
22128
|
type: object
|
|
22129
|
+
Recommendation:
|
|
22130
|
+
additionalProperties: false
|
|
22131
|
+
description: "SCHEMA-3.32.0: one site the author recommends to readers. `addedOn` is the day it was added (YYYY-MM-DD, UTC) and feeds the `created_at` and `updated_at` of the site's `/.well-known/recommendations.json` entry."
|
|
22132
|
+
properties:
|
|
22133
|
+
addedOn:
|
|
22134
|
+
pattern: ^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])$
|
|
22135
|
+
type: string
|
|
22136
|
+
description:
|
|
22137
|
+
$ref: "#/components/schemas/PortablePublicationPlainText"
|
|
22138
|
+
x-gala-graphemeLength:
|
|
22139
|
+
maximum: 300
|
|
22140
|
+
title:
|
|
22141
|
+
$ref: "#/components/schemas/PortablePublicationPlainLabel"
|
|
22142
|
+
url:
|
|
22143
|
+
$ref: "#/components/schemas/PortablePublicationUrlHttps"
|
|
22144
|
+
required:
|
|
22145
|
+
- url
|
|
22146
|
+
- title
|
|
22147
|
+
type: object
|
|
21795
22148
|
RecoveryCodeStatus:
|
|
21796
22149
|
additionalProperties: false
|
|
21797
22150
|
description: How many codes of the current recovery code set are still unused.
|
|
@@ -22816,6 +23169,10 @@ components:
|
|
|
22816
23169
|
description: Scoped credential an operator creates; acts as that operator within its scopes. Refused for every operation without `x-gala-api-key-scope`.
|
|
22817
23170
|
scheme: bearer
|
|
22818
23171
|
type: http
|
|
23172
|
+
brevoWebhookToken:
|
|
23173
|
+
in: header
|
|
23174
|
+
name: X-Gala-Webhook-Token
|
|
23175
|
+
type: apiKey
|
|
22819
23176
|
browserSession:
|
|
22820
23177
|
in: cookie
|
|
22821
23178
|
name: __Host-gala-session
|
|
@@ -23490,6 +23847,103 @@ paths:
|
|
|
23490
23847
|
- NONE
|
|
23491
23848
|
x-gala-success-category: protocol
|
|
23492
23849
|
x-gala-tenant-scope: NONE
|
|
23850
|
+
/v2/callbacks/brevo:
|
|
23851
|
+
post:
|
|
23852
|
+
description: |
|
|
23853
|
+
Brevo transactional-email event webhook (delivered, opened, clicked, bounced, complaint and similar). Brevo posts one event per call; the body is an opaque JSON object or an array of such objects and the contract does not describe Brevo's own fields. The call is authenticated by the shared token in the `X-Gala-Webhook-Token` header, which the deployment configures in Brevo's webhook headers. `202` means the body was admitted for asynchronous processing, including an event the API ignores or has already seen. `400` is a malformed body, `401` is a missing or wrong token.
|
|
23854
|
+
operationId: postCallbacksBrevo
|
|
23855
|
+
parameters:
|
|
23856
|
+
- $ref: "#/components/parameters/XCorrelationId"
|
|
23857
|
+
- example: wh_0000000000000000000000000000000000000000
|
|
23858
|
+
in: header
|
|
23859
|
+
name: X-Gala-Webhook-Token
|
|
23860
|
+
required: true
|
|
23861
|
+
schema:
|
|
23862
|
+
maxLength: 1024
|
|
23863
|
+
minLength: 1
|
|
23864
|
+
type: string
|
|
23865
|
+
requestBody:
|
|
23866
|
+
content:
|
|
23867
|
+
application/json:
|
|
23868
|
+
examples:
|
|
23869
|
+
nominal:
|
|
23870
|
+
summary: Nominal valid request
|
|
23871
|
+
value: {}
|
|
23872
|
+
schema:
|
|
23873
|
+
$ref: "#/components/schemas/PostCallbacksBrevoRequest"
|
|
23874
|
+
required: true
|
|
23875
|
+
responses:
|
|
23876
|
+
"202":
|
|
23877
|
+
content:
|
|
23878
|
+
application/json:
|
|
23879
|
+
examples:
|
|
23880
|
+
nominal:
|
|
23881
|
+
summary: Nominal successful response
|
|
23882
|
+
value:
|
|
23883
|
+
accepted: true
|
|
23884
|
+
schema:
|
|
23885
|
+
$ref: "#/components/schemas/PostCallbacksBrevoResponse"
|
|
23886
|
+
description: admit an authenticated Brevo email event succeeded
|
|
23887
|
+
headers:
|
|
23888
|
+
Cache-Control:
|
|
23889
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
23890
|
+
X-Correlation-Id:
|
|
23891
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
23892
|
+
"400":
|
|
23893
|
+
$ref: "#/components/responses/ValidationFailed"
|
|
23894
|
+
"401":
|
|
23895
|
+
content:
|
|
23896
|
+
application/problem+json:
|
|
23897
|
+
examples:
|
|
23898
|
+
AUTHENTICATION_REQUIRED:
|
|
23899
|
+
summary: AUTHENTICATION_REQUIRED
|
|
23900
|
+
value:
|
|
23901
|
+
code: AUTHENTICATION_REQUIRED
|
|
23902
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
23903
|
+
detail: See the operation contract.
|
|
23904
|
+
errors: []
|
|
23905
|
+
retryable: false
|
|
23906
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
23907
|
+
schemaVersion: 2.0.0
|
|
23908
|
+
status: 401
|
|
23909
|
+
title: AUTHENTICATION_REQUIRED
|
|
23910
|
+
type: urn:gala:problem:authentication-required
|
|
23911
|
+
schema:
|
|
23912
|
+
$ref: "#/components/schemas/Problem"
|
|
23913
|
+
description: AUTHENTICATION_REQUIRED
|
|
23914
|
+
headers:
|
|
23915
|
+
Cache-Control:
|
|
23916
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
23917
|
+
X-Correlation-Id:
|
|
23918
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
23919
|
+
x-gala-problem-codes:
|
|
23920
|
+
- AUTHENTICATION_REQUIRED
|
|
23921
|
+
"413":
|
|
23922
|
+
$ref: "#/components/responses/RequestTooLarge"
|
|
23923
|
+
"415":
|
|
23924
|
+
$ref: "#/components/responses/UnsupportedMediaType"
|
|
23925
|
+
security:
|
|
23926
|
+
- brevoWebhookToken: []
|
|
23927
|
+
summary: admit an authenticated Brevo email event
|
|
23928
|
+
tags:
|
|
23929
|
+
- callbacks
|
|
23930
|
+
x-gala-activation-gate: MVP
|
|
23931
|
+
x-gala-activation-guards:
|
|
23932
|
+
- NONE
|
|
23933
|
+
x-gala-capability-key: null
|
|
23934
|
+
x-gala-concurrency: provider-event-idempotency-and-event-time-ordering
|
|
23935
|
+
x-gala-conditional-capabilities: []
|
|
23936
|
+
x-gala-example-profile: NOMINAL_SUCCESS_AND_EACH_REACHABLE_PROBLEM
|
|
23937
|
+
x-gala-nullability: required-and-nullable-are-explicit
|
|
23938
|
+
x-gala-purpose: admit an authenticated Brevo email event
|
|
23939
|
+
x-gala-reachable-problems:
|
|
23940
|
+
- AUTHENTICATION_REQUIRED
|
|
23941
|
+
- VALIDATION_FAILED
|
|
23942
|
+
x-gala-replay-identity: brevo-message-id-and-event-time
|
|
23943
|
+
x-gala-state-guards:
|
|
23944
|
+
- NONE
|
|
23945
|
+
x-gala-success-category: provider-callback
|
|
23946
|
+
x-gala-tenant-scope: NONE
|
|
23493
23947
|
/v2/callbacks/cloudflare/oauth:
|
|
23494
23948
|
get:
|
|
23495
23949
|
description: |
|
|
@@ -40058,6 +40512,534 @@ paths:
|
|
|
40058
40512
|
- NONE
|
|
40059
40513
|
x-gala-success-category: query
|
|
40060
40514
|
x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
|
|
40515
|
+
/v2/organizations/{organizationId}/publications/{publicationId}/content/documents/history:
|
|
40516
|
+
get:
|
|
40517
|
+
description: |
|
|
40518
|
+
Needs `publication.view`. Lists the commits on the linked repository's
|
|
40519
|
+
main branch that changed `path`, newest first, at most 50. Each entry
|
|
40520
|
+
carries the `revision` (the commit to pass as `revision` to `GET
|
|
40521
|
+
.../content/documents`), when it was committed, the committer's GitHub
|
|
40522
|
+
login when GitHub names one, the first line of the commit message and
|
|
40523
|
+
`source`: `draft` (saved from the editor), `publish` (a publish of the
|
|
40524
|
+
site), `import` (an import) or `unknown` (a commit Galascribe did not
|
|
40525
|
+
make). A path with no commit on main, or an unknown path, is `404
|
|
40526
|
+
RESOURCE_NOT_FOUND`.
|
|
40527
|
+
operationId: getOrganizationsByOrganizationIdPublicationsByPublicationIdContentDocumentsHistory
|
|
40528
|
+
parameters:
|
|
40529
|
+
- $ref: "#/components/parameters/XCorrelationId"
|
|
40530
|
+
- example: 018f0000-0000-7000-8000-000000000001
|
|
40531
|
+
in: path
|
|
40532
|
+
name: organizationId
|
|
40533
|
+
required: true
|
|
40534
|
+
schema:
|
|
40535
|
+
format: uuid
|
|
40536
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
40537
|
+
type: string
|
|
40538
|
+
- example: 018f0000-0000-7000-8000-000000000001
|
|
40539
|
+
in: path
|
|
40540
|
+
name: publicationId
|
|
40541
|
+
required: true
|
|
40542
|
+
schema:
|
|
40543
|
+
format: uuid
|
|
40544
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
40545
|
+
type: string
|
|
40546
|
+
- example: content/articles/example.md
|
|
40547
|
+
in: query
|
|
40548
|
+
name: path
|
|
40549
|
+
required: true
|
|
40550
|
+
schema:
|
|
40551
|
+
maxLength: 512
|
|
40552
|
+
minLength: 1
|
|
40553
|
+
pattern: ^(?!/)(?!.*(?:^|/)\.)(?!gala\.lock\.json$)(?:gala/theme-pages/[^\x00-\x1f\x7f\\/]+|(?!gala(?:/|$))[^\x00-\x1f\x7f\\]+)$
|
|
40554
|
+
type: string
|
|
40555
|
+
responses:
|
|
40556
|
+
"200":
|
|
40557
|
+
content:
|
|
40558
|
+
application/json:
|
|
40559
|
+
examples:
|
|
40560
|
+
nominal:
|
|
40561
|
+
summary: Nominal successful response
|
|
40562
|
+
value:
|
|
40563
|
+
entries:
|
|
40564
|
+
- authorLogin: octocat
|
|
40565
|
+
committedAt: "2026-11-03T09:30:00.000Z"
|
|
40566
|
+
message: Update example
|
|
40567
|
+
revision: sha1:0000000000000000000000000000000000000000
|
|
40568
|
+
source: draft
|
|
40569
|
+
schema:
|
|
40570
|
+
$ref: "#/components/schemas/GetOrganizationsByOrganizationIdPublicationsByPublicationIdContentDocumentsHistoryResponse"
|
|
40571
|
+
description: list the history of one content document succeeded
|
|
40572
|
+
headers:
|
|
40573
|
+
Cache-Control:
|
|
40574
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
40575
|
+
X-Correlation-Id:
|
|
40576
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
40577
|
+
"400":
|
|
40578
|
+
content:
|
|
40579
|
+
application/problem+json:
|
|
40580
|
+
examples:
|
|
40581
|
+
VALIDATION_FAILED:
|
|
40582
|
+
summary: VALIDATION_FAILED
|
|
40583
|
+
value:
|
|
40584
|
+
code: VALIDATION_FAILED
|
|
40585
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
40586
|
+
detail: See the operation contract.
|
|
40587
|
+
errors: []
|
|
40588
|
+
retryable: false
|
|
40589
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
40590
|
+
schemaVersion: 2.0.0
|
|
40591
|
+
status: 400
|
|
40592
|
+
title: VALIDATION_FAILED
|
|
40593
|
+
type: urn:gala:problem:validation-failed
|
|
40594
|
+
schema:
|
|
40595
|
+
$ref: "#/components/schemas/Problem"
|
|
40596
|
+
description: VALIDATION_FAILED
|
|
40597
|
+
headers:
|
|
40598
|
+
Cache-Control:
|
|
40599
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
40600
|
+
X-Correlation-Id:
|
|
40601
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
40602
|
+
x-gala-problem-codes:
|
|
40603
|
+
- VALIDATION_FAILED
|
|
40604
|
+
"401":
|
|
40605
|
+
content:
|
|
40606
|
+
application/problem+json:
|
|
40607
|
+
examples:
|
|
40608
|
+
AUTHENTICATION_REQUIRED:
|
|
40609
|
+
summary: AUTHENTICATION_REQUIRED
|
|
40610
|
+
value:
|
|
40611
|
+
code: AUTHENTICATION_REQUIRED
|
|
40612
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
40613
|
+
detail: See the operation contract.
|
|
40614
|
+
errors: []
|
|
40615
|
+
retryable: false
|
|
40616
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
40617
|
+
schemaVersion: 2.0.0
|
|
40618
|
+
status: 401
|
|
40619
|
+
title: AUTHENTICATION_REQUIRED
|
|
40620
|
+
type: urn:gala:problem:authentication-required
|
|
40621
|
+
schema:
|
|
40622
|
+
$ref: "#/components/schemas/Problem"
|
|
40623
|
+
description: AUTHENTICATION_REQUIRED
|
|
40624
|
+
headers:
|
|
40625
|
+
Cache-Control:
|
|
40626
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
40627
|
+
X-Correlation-Id:
|
|
40628
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
40629
|
+
x-gala-problem-codes:
|
|
40630
|
+
- AUTHENTICATION_REQUIRED
|
|
40631
|
+
"403":
|
|
40632
|
+
content:
|
|
40633
|
+
application/problem+json:
|
|
40634
|
+
examples:
|
|
40635
|
+
AUTHORIZATION_DENIED:
|
|
40636
|
+
summary: AUTHORIZATION_DENIED
|
|
40637
|
+
value:
|
|
40638
|
+
code: AUTHORIZATION_DENIED
|
|
40639
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
40640
|
+
detail: See the operation contract.
|
|
40641
|
+
errors: []
|
|
40642
|
+
retryable: false
|
|
40643
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
40644
|
+
schemaVersion: 2.0.0
|
|
40645
|
+
status: 403
|
|
40646
|
+
title: AUTHORIZATION_DENIED
|
|
40647
|
+
type: urn:gala:problem:authorization-denied
|
|
40648
|
+
schema:
|
|
40649
|
+
$ref: "#/components/schemas/Problem"
|
|
40650
|
+
description: AUTHORIZATION_DENIED
|
|
40651
|
+
headers:
|
|
40652
|
+
Cache-Control:
|
|
40653
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
40654
|
+
X-Correlation-Id:
|
|
40655
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
40656
|
+
x-gala-problem-codes:
|
|
40657
|
+
- AUTHORIZATION_DENIED
|
|
40658
|
+
"404":
|
|
40659
|
+
content:
|
|
40660
|
+
application/problem+json:
|
|
40661
|
+
examples:
|
|
40662
|
+
RESOURCE_NOT_FOUND:
|
|
40663
|
+
summary: RESOURCE_NOT_FOUND
|
|
40664
|
+
value:
|
|
40665
|
+
code: RESOURCE_NOT_FOUND
|
|
40666
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
40667
|
+
detail: See the operation contract.
|
|
40668
|
+
errors: []
|
|
40669
|
+
retryable: false
|
|
40670
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
40671
|
+
schemaVersion: 2.0.0
|
|
40672
|
+
status: 404
|
|
40673
|
+
title: RESOURCE_NOT_FOUND
|
|
40674
|
+
type: urn:gala:problem:resource-not-found
|
|
40675
|
+
schema:
|
|
40676
|
+
$ref: "#/components/schemas/Problem"
|
|
40677
|
+
description: RESOURCE_NOT_FOUND
|
|
40678
|
+
headers:
|
|
40679
|
+
Cache-Control:
|
|
40680
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
40681
|
+
X-Correlation-Id:
|
|
40682
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
40683
|
+
x-gala-problem-codes:
|
|
40684
|
+
- RESOURCE_NOT_FOUND
|
|
40685
|
+
"429":
|
|
40686
|
+
content:
|
|
40687
|
+
application/problem+json:
|
|
40688
|
+
examples:
|
|
40689
|
+
RATE_LIMITED:
|
|
40690
|
+
summary: RATE_LIMITED
|
|
40691
|
+
value:
|
|
40692
|
+
code: RATE_LIMITED
|
|
40693
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
40694
|
+
detail: See the operation contract.
|
|
40695
|
+
errors: []
|
|
40696
|
+
retryable: true
|
|
40697
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
40698
|
+
schemaVersion: 2.0.0
|
|
40699
|
+
status: 429
|
|
40700
|
+
title: RATE_LIMITED
|
|
40701
|
+
type: urn:gala:problem:rate-limited
|
|
40702
|
+
schema:
|
|
40703
|
+
$ref: "#/components/schemas/Problem"
|
|
40704
|
+
description: RATE_LIMITED
|
|
40705
|
+
headers:
|
|
40706
|
+
Cache-Control:
|
|
40707
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
40708
|
+
Retry-After:
|
|
40709
|
+
$ref: "#/components/headers/RetryAfter"
|
|
40710
|
+
X-Correlation-Id:
|
|
40711
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
40712
|
+
x-gala-problem-codes:
|
|
40713
|
+
- RATE_LIMITED
|
|
40714
|
+
"503":
|
|
40715
|
+
content:
|
|
40716
|
+
application/problem+json:
|
|
40717
|
+
examples:
|
|
40718
|
+
CAPABILITY_UNAVAILABLE:
|
|
40719
|
+
summary: CAPABILITY_UNAVAILABLE
|
|
40720
|
+
value:
|
|
40721
|
+
code: CAPABILITY_UNAVAILABLE
|
|
40722
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
40723
|
+
detail: See the operation contract.
|
|
40724
|
+
errors: []
|
|
40725
|
+
retryable: false
|
|
40726
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
40727
|
+
schemaVersion: 2.0.0
|
|
40728
|
+
status: 503
|
|
40729
|
+
title: CAPABILITY_UNAVAILABLE
|
|
40730
|
+
type: urn:gala:problem:capability-unavailable
|
|
40731
|
+
DEPENDENCY_UNAVAILABLE:
|
|
40732
|
+
summary: DEPENDENCY_UNAVAILABLE
|
|
40733
|
+
value:
|
|
40734
|
+
code: DEPENDENCY_UNAVAILABLE
|
|
40735
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
40736
|
+
detail: See the operation contract.
|
|
40737
|
+
errors: []
|
|
40738
|
+
retryable: true
|
|
40739
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
40740
|
+
schemaVersion: 2.0.0
|
|
40741
|
+
status: 503
|
|
40742
|
+
title: DEPENDENCY_UNAVAILABLE
|
|
40743
|
+
type: urn:gala:problem:dependency-unavailable
|
|
40744
|
+
schema:
|
|
40745
|
+
$ref: "#/components/schemas/Problem"
|
|
40746
|
+
description: CAPABILITY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE
|
|
40747
|
+
headers:
|
|
40748
|
+
Cache-Control:
|
|
40749
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
40750
|
+
X-Correlation-Id:
|
|
40751
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
40752
|
+
x-gala-problem-codes:
|
|
40753
|
+
- CAPABILITY_UNAVAILABLE
|
|
40754
|
+
- DEPENDENCY_UNAVAILABLE
|
|
40755
|
+
security:
|
|
40756
|
+
- browserSession: []
|
|
40757
|
+
summary: list the history of one content document
|
|
40758
|
+
tags:
|
|
40759
|
+
- organizations
|
|
40760
|
+
x-gala-activation-gate: MVP
|
|
40761
|
+
x-gala-activation-guards:
|
|
40762
|
+
- Active repository binding and configured GitHub App identity capability
|
|
40763
|
+
x-gala-capability-key: publication.view
|
|
40764
|
+
x-gala-concurrency: binding-epoch
|
|
40765
|
+
x-gala-conditional-capabilities: []
|
|
40766
|
+
x-gala-example-profile: NOMINAL_SUCCESS_AND_EACH_REACHABLE_PROBLEM
|
|
40767
|
+
x-gala-nullability: required-and-nullable-are-explicit
|
|
40768
|
+
x-gala-purpose: list the history of one content document
|
|
40769
|
+
x-gala-reachable-problems:
|
|
40770
|
+
- AUTHENTICATION_REQUIRED
|
|
40771
|
+
- AUTHORIZATION_DENIED
|
|
40772
|
+
- CAPABILITY_UNAVAILABLE
|
|
40773
|
+
- DEPENDENCY_UNAVAILABLE
|
|
40774
|
+
- RATE_LIMITED
|
|
40775
|
+
- RESOURCE_NOT_FOUND
|
|
40776
|
+
- VALIDATION_FAILED
|
|
40777
|
+
x-gala-replay-identity: safe-query
|
|
40778
|
+
x-gala-state-guards:
|
|
40779
|
+
- NONE
|
|
40780
|
+
x-gala-success-category: query
|
|
40781
|
+
x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
|
|
40782
|
+
/v2/organizations/{organizationId}/publications/{publicationId}/content/link-preview:
|
|
40783
|
+
post:
|
|
40784
|
+
description: |
|
|
40785
|
+
Needs `publication.source.write`. The server fetches `url` (https only; never an address on a private or internal network, and at most a few redirects, each re-checked) and returns what the page says about itself, for the editor's bookmark card: `title`, `description`, `siteName` and `canonicalUrl`, from Open Graph or standard metadata. Each member is omitted when the page does not give one. No image is returned or fetched. A page that cannot be reached, is not HTML or is too large is `422 VALIDATION_FAILED` pointed at `/url`. Calls are rate-limited per caller (`429 RATE_LIMITED`).
|
|
40786
|
+
operationId: postOrganizationsByOrganizationIdPublicationsByPublicationIdContentLinkPreview
|
|
40787
|
+
parameters:
|
|
40788
|
+
- $ref: "#/components/parameters/XCorrelationId"
|
|
40789
|
+
- example: 018f0000-0000-7000-8000-000000000001
|
|
40790
|
+
in: path
|
|
40791
|
+
name: organizationId
|
|
40792
|
+
required: true
|
|
40793
|
+
schema:
|
|
40794
|
+
format: uuid
|
|
40795
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
40796
|
+
type: string
|
|
40797
|
+
- example: 018f0000-0000-7000-8000-000000000001
|
|
40798
|
+
in: path
|
|
40799
|
+
name: publicationId
|
|
40800
|
+
required: true
|
|
40801
|
+
schema:
|
|
40802
|
+
format: uuid
|
|
40803
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
40804
|
+
type: string
|
|
40805
|
+
- $ref: "#/components/parameters/XCsrfToken"
|
|
40806
|
+
requestBody:
|
|
40807
|
+
content:
|
|
40808
|
+
application/json:
|
|
40809
|
+
examples:
|
|
40810
|
+
nominal:
|
|
40811
|
+
summary: Nominal valid request
|
|
40812
|
+
value:
|
|
40813
|
+
url: https://example.com/article
|
|
40814
|
+
schema:
|
|
40815
|
+
$ref: "#/components/schemas/PostOrganizationsByOrganizationIdPublicationsByPublicationIdContentLinkPreviewRequest"
|
|
40816
|
+
required: true
|
|
40817
|
+
responses:
|
|
40818
|
+
"200":
|
|
40819
|
+
content:
|
|
40820
|
+
application/json:
|
|
40821
|
+
examples:
|
|
40822
|
+
nominal:
|
|
40823
|
+
summary: Nominal successful response
|
|
40824
|
+
value:
|
|
40825
|
+
canonicalUrl: https://example.com/article
|
|
40826
|
+
description: A short description of the page.
|
|
40827
|
+
siteName: Example
|
|
40828
|
+
title: Example article
|
|
40829
|
+
schema:
|
|
40830
|
+
$ref: "#/components/schemas/PostOrganizationsByOrganizationIdPublicationsByPublicationIdContentLinkPreviewResponse"
|
|
40831
|
+
description: preview one linked page succeeded
|
|
40832
|
+
headers:
|
|
40833
|
+
Cache-Control:
|
|
40834
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
40835
|
+
X-Correlation-Id:
|
|
40836
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
40837
|
+
"400":
|
|
40838
|
+
content:
|
|
40839
|
+
application/problem+json:
|
|
40840
|
+
examples:
|
|
40841
|
+
REQUEST_FIELD_UNKNOWN:
|
|
40842
|
+
summary: REQUEST_FIELD_UNKNOWN
|
|
40843
|
+
value:
|
|
40844
|
+
code: REQUEST_FIELD_UNKNOWN
|
|
40845
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
40846
|
+
detail: See the operation contract.
|
|
40847
|
+
errors: []
|
|
40848
|
+
retryable: false
|
|
40849
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
40850
|
+
schemaVersion: 2.0.0
|
|
40851
|
+
status: 400
|
|
40852
|
+
title: REQUEST_FIELD_UNKNOWN
|
|
40853
|
+
type: urn:gala:problem:request-field-unknown
|
|
40854
|
+
VALIDATION_FAILED:
|
|
40855
|
+
summary: VALIDATION_FAILED
|
|
40856
|
+
value:
|
|
40857
|
+
code: VALIDATION_FAILED
|
|
40858
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
40859
|
+
detail: See the operation contract.
|
|
40860
|
+
errors: []
|
|
40861
|
+
retryable: false
|
|
40862
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
40863
|
+
schemaVersion: 2.0.0
|
|
40864
|
+
status: 400
|
|
40865
|
+
title: VALIDATION_FAILED
|
|
40866
|
+
type: urn:gala:problem:validation-failed
|
|
40867
|
+
schema:
|
|
40868
|
+
$ref: "#/components/schemas/Problem"
|
|
40869
|
+
description: REQUEST_FIELD_UNKNOWN, VALIDATION_FAILED
|
|
40870
|
+
headers:
|
|
40871
|
+
Cache-Control:
|
|
40872
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
40873
|
+
X-Correlation-Id:
|
|
40874
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
40875
|
+
x-gala-problem-codes:
|
|
40876
|
+
- REQUEST_FIELD_UNKNOWN
|
|
40877
|
+
- VALIDATION_FAILED
|
|
40878
|
+
"401":
|
|
40879
|
+
content:
|
|
40880
|
+
application/problem+json:
|
|
40881
|
+
examples:
|
|
40882
|
+
AUTHENTICATION_REQUIRED:
|
|
40883
|
+
summary: AUTHENTICATION_REQUIRED
|
|
40884
|
+
value:
|
|
40885
|
+
code: AUTHENTICATION_REQUIRED
|
|
40886
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
40887
|
+
detail: See the operation contract.
|
|
40888
|
+
errors: []
|
|
40889
|
+
retryable: false
|
|
40890
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
40891
|
+
schemaVersion: 2.0.0
|
|
40892
|
+
status: 401
|
|
40893
|
+
title: AUTHENTICATION_REQUIRED
|
|
40894
|
+
type: urn:gala:problem:authentication-required
|
|
40895
|
+
schema:
|
|
40896
|
+
$ref: "#/components/schemas/Problem"
|
|
40897
|
+
description: AUTHENTICATION_REQUIRED
|
|
40898
|
+
headers:
|
|
40899
|
+
Cache-Control:
|
|
40900
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
40901
|
+
X-Correlation-Id:
|
|
40902
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
40903
|
+
x-gala-problem-codes:
|
|
40904
|
+
- AUTHENTICATION_REQUIRED
|
|
40905
|
+
"403":
|
|
40906
|
+
content:
|
|
40907
|
+
application/problem+json:
|
|
40908
|
+
examples:
|
|
40909
|
+
AUTHORIZATION_DENIED:
|
|
40910
|
+
summary: AUTHORIZATION_DENIED
|
|
40911
|
+
value:
|
|
40912
|
+
code: AUTHORIZATION_DENIED
|
|
40913
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
40914
|
+
detail: See the operation contract.
|
|
40915
|
+
errors: []
|
|
40916
|
+
retryable: false
|
|
40917
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
40918
|
+
schemaVersion: 2.0.0
|
|
40919
|
+
status: 403
|
|
40920
|
+
title: AUTHORIZATION_DENIED
|
|
40921
|
+
type: urn:gala:problem:authorization-denied
|
|
40922
|
+
schema:
|
|
40923
|
+
$ref: "#/components/schemas/Problem"
|
|
40924
|
+
description: AUTHORIZATION_DENIED
|
|
40925
|
+
headers:
|
|
40926
|
+
Cache-Control:
|
|
40927
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
40928
|
+
X-Correlation-Id:
|
|
40929
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
40930
|
+
x-gala-problem-codes:
|
|
40931
|
+
- AUTHORIZATION_DENIED
|
|
40932
|
+
"404":
|
|
40933
|
+
content:
|
|
40934
|
+
application/problem+json:
|
|
40935
|
+
examples:
|
|
40936
|
+
RESOURCE_NOT_FOUND:
|
|
40937
|
+
summary: RESOURCE_NOT_FOUND
|
|
40938
|
+
value:
|
|
40939
|
+
code: RESOURCE_NOT_FOUND
|
|
40940
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
40941
|
+
detail: See the operation contract.
|
|
40942
|
+
errors: []
|
|
40943
|
+
retryable: false
|
|
40944
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
40945
|
+
schemaVersion: 2.0.0
|
|
40946
|
+
status: 404
|
|
40947
|
+
title: RESOURCE_NOT_FOUND
|
|
40948
|
+
type: urn:gala:problem:resource-not-found
|
|
40949
|
+
schema:
|
|
40950
|
+
$ref: "#/components/schemas/Problem"
|
|
40951
|
+
description: RESOURCE_NOT_FOUND
|
|
40952
|
+
headers:
|
|
40953
|
+
Cache-Control:
|
|
40954
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
40955
|
+
X-Correlation-Id:
|
|
40956
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
40957
|
+
x-gala-problem-codes:
|
|
40958
|
+
- RESOURCE_NOT_FOUND
|
|
40959
|
+
"422":
|
|
40960
|
+
content:
|
|
40961
|
+
application/problem+json:
|
|
40962
|
+
examples:
|
|
40963
|
+
VALIDATION_FAILED:
|
|
40964
|
+
summary: VALIDATION_FAILED
|
|
40965
|
+
value:
|
|
40966
|
+
code: VALIDATION_FAILED
|
|
40967
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
40968
|
+
detail: The page could not be reached, is not an HTML page or is too large. See the operation contract.
|
|
40969
|
+
errors:
|
|
40970
|
+
- code: VALIDATION_FAILED
|
|
40971
|
+
pointer: /url
|
|
40972
|
+
retryable: false
|
|
40973
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
40974
|
+
schemaVersion: 2.0.0
|
|
40975
|
+
status: 422
|
|
40976
|
+
title: VALIDATION_FAILED
|
|
40977
|
+
type: urn:gala:problem:validation-failed
|
|
40978
|
+
schema:
|
|
40979
|
+
$ref: "#/components/schemas/Problem"
|
|
40980
|
+
description: VALIDATION_FAILED
|
|
40981
|
+
headers:
|
|
40982
|
+
Cache-Control:
|
|
40983
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
40984
|
+
X-Correlation-Id:
|
|
40985
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
40986
|
+
x-gala-problem-codes:
|
|
40987
|
+
- VALIDATION_FAILED
|
|
40988
|
+
"429":
|
|
40989
|
+
content:
|
|
40990
|
+
application/problem+json:
|
|
40991
|
+
examples:
|
|
40992
|
+
RATE_LIMITED:
|
|
40993
|
+
summary: RATE_LIMITED
|
|
40994
|
+
value:
|
|
40995
|
+
code: RATE_LIMITED
|
|
40996
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
40997
|
+
detail: See the operation contract.
|
|
40998
|
+
errors: []
|
|
40999
|
+
retryable: true
|
|
41000
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
41001
|
+
schemaVersion: 2.0.0
|
|
41002
|
+
status: 429
|
|
41003
|
+
title: RATE_LIMITED
|
|
41004
|
+
type: urn:gala:problem:rate-limited
|
|
41005
|
+
schema:
|
|
41006
|
+
$ref: "#/components/schemas/Problem"
|
|
41007
|
+
description: RATE_LIMITED
|
|
41008
|
+
headers:
|
|
41009
|
+
Cache-Control:
|
|
41010
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
41011
|
+
Retry-After:
|
|
41012
|
+
$ref: "#/components/headers/RetryAfter"
|
|
41013
|
+
X-Correlation-Id:
|
|
41014
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
41015
|
+
x-gala-problem-codes:
|
|
41016
|
+
- RATE_LIMITED
|
|
41017
|
+
security:
|
|
41018
|
+
- browserSession: []
|
|
41019
|
+
summary: preview one linked page
|
|
41020
|
+
tags:
|
|
41021
|
+
- organizations
|
|
41022
|
+
x-gala-activation-gate: MVP
|
|
41023
|
+
x-gala-activation-guards:
|
|
41024
|
+
- NONE
|
|
41025
|
+
x-gala-capability-key: publication.source.write
|
|
41026
|
+
x-gala-concurrency: authorization-and-publication-epochs
|
|
41027
|
+
x-gala-conditional-capabilities: []
|
|
41028
|
+
x-gala-example-profile: NOMINAL_SUCCESS_AND_EACH_REACHABLE_PROBLEM
|
|
41029
|
+
x-gala-nullability: required-and-nullable-are-explicit
|
|
41030
|
+
x-gala-purpose: preview one linked page
|
|
41031
|
+
x-gala-reachable-problems:
|
|
41032
|
+
- AUTHENTICATION_REQUIRED
|
|
41033
|
+
- AUTHORIZATION_DENIED
|
|
41034
|
+
- RATE_LIMITED
|
|
41035
|
+
- REQUEST_FIELD_UNKNOWN
|
|
41036
|
+
- RESOURCE_NOT_FOUND
|
|
41037
|
+
- VALIDATION_FAILED
|
|
41038
|
+
x-gala-replay-identity: natural-idempotent-state
|
|
41039
|
+
x-gala-state-guards:
|
|
41040
|
+
- NONE
|
|
41041
|
+
x-gala-success-category: query
|
|
41042
|
+
x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
|
|
40061
41043
|
/v2/organizations/{organizationId}/publications/{publicationId}/content/preview-context:
|
|
40062
41044
|
get:
|
|
40063
41045
|
description: |
|
|
@@ -48728,6 +49710,11 @@ paths:
|
|
|
48728
49710
|
removed and settles the appeal `DENIED` (`note` optional, at most 1000
|
|
48729
49711
|
characters). `DENY_APPEAL` without a pending appeal is `409
|
|
48730
49712
|
INVALID_DECISION`. Only a person decides an appeal.
|
|
49713
|
+
SCHEMA-3.32.0: `PIN` pins a visible root comment to the top of its
|
|
49714
|
+
article's comments (at most one pinned comment per article; pinning
|
|
49715
|
+
another moves the pin) and `UNPIN` releases it; on any other comment, or
|
|
49716
|
+
when the comment is already in the asked state, they are `409
|
|
49717
|
+
INVALID_DECISION`.
|
|
48731
49718
|
operationId: postOrganizationsByOrganizationIdPublicationsByPublicationIdModerationCommentsByCommentIdDecide
|
|
48732
49719
|
parameters:
|
|
48733
49720
|
- $ref: "#/components/parameters/XCorrelationId"
|
|
@@ -50061,6 +51048,192 @@ paths:
|
|
|
50061
51048
|
- NONE
|
|
50062
51049
|
x-gala-success-category: protocol
|
|
50063
51050
|
x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
|
|
51051
|
+
/v2/organizations/{organizationId}/publications/{publicationId}/newsletter-subscribers:import:
|
|
51052
|
+
post:
|
|
51053
|
+
description: |
|
|
51054
|
+
Needs `publication.audience.manage`. The body is the addresses the owner's file held, already parsed by the App (at most 5000 per call), with `attestation: true`: the owner states that every address agreed to hear from them. Each address that is new becomes a `pending` subscriber and is sent the same confirmation email a reader who signs up receives; nobody is subscribed until they confirm. An address that is already known (`pending`, `confirmed`, `unsubscribed` or `suppressed`) is skipped and counted in `skippedKnown`, so repeating a call is harmless. `invalid` counts entries that are not usable addresses and `overCapacity` those left out because the organization's subscriber allowance was reached. A call without `attestation: true` is `400 VALIDATION_FAILED`. `409 NEWSLETTER_UNAVAILABLE` when the site takes no subscribers (it is not in Galascribe newsletter mode).
|
|
51055
|
+
operationId: postOrganizationsByOrganizationIdPublicationsByPublicationIdNewsletterSubscribersImport
|
|
51056
|
+
parameters:
|
|
51057
|
+
- $ref: "#/components/parameters/XCorrelationId"
|
|
51058
|
+
- example: 018f0000-0000-7000-8000-000000000001
|
|
51059
|
+
in: path
|
|
51060
|
+
name: organizationId
|
|
51061
|
+
required: true
|
|
51062
|
+
schema:
|
|
51063
|
+
format: uuid
|
|
51064
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
51065
|
+
type: string
|
|
51066
|
+
- example: 018f0000-0000-7000-8000-000000000001
|
|
51067
|
+
in: path
|
|
51068
|
+
name: publicationId
|
|
51069
|
+
required: true
|
|
51070
|
+
schema:
|
|
51071
|
+
format: uuid
|
|
51072
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
51073
|
+
type: string
|
|
51074
|
+
- $ref: "#/components/parameters/XCsrfToken"
|
|
51075
|
+
requestBody:
|
|
51076
|
+
content:
|
|
51077
|
+
application/json:
|
|
51078
|
+
examples:
|
|
51079
|
+
nominal:
|
|
51080
|
+
summary: Nominal valid request
|
|
51081
|
+
value:
|
|
51082
|
+
addresses:
|
|
51083
|
+
- reader@example.com
|
|
51084
|
+
attestation: true
|
|
51085
|
+
schema:
|
|
51086
|
+
$ref: "#/components/schemas/PostOrganizationsByOrganizationIdPublicationsByPublicationIdNewsletterSubscribersImportRequest"
|
|
51087
|
+
required: true
|
|
51088
|
+
responses:
|
|
51089
|
+
"202":
|
|
51090
|
+
content:
|
|
51091
|
+
application/json:
|
|
51092
|
+
examples:
|
|
51093
|
+
nominal:
|
|
51094
|
+
summary: Nominal successful response
|
|
51095
|
+
value:
|
|
51096
|
+
invalid: 0
|
|
51097
|
+
overCapacity: 0
|
|
51098
|
+
queued: 1
|
|
51099
|
+
skippedKnown: 0
|
|
51100
|
+
schema:
|
|
51101
|
+
$ref: "#/components/schemas/PostOrganizationsByOrganizationIdPublicationsByPublicationIdNewsletterSubscribersImportResponse"
|
|
51102
|
+
description: import a site's newsletter subscribers succeeded
|
|
51103
|
+
headers:
|
|
51104
|
+
Cache-Control:
|
|
51105
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
51106
|
+
X-Correlation-Id:
|
|
51107
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
51108
|
+
"400":
|
|
51109
|
+
content:
|
|
51110
|
+
application/problem+json:
|
|
51111
|
+
examples:
|
|
51112
|
+
REQUEST_FIELD_UNKNOWN:
|
|
51113
|
+
summary: REQUEST_FIELD_UNKNOWN
|
|
51114
|
+
value:
|
|
51115
|
+
code: REQUEST_FIELD_UNKNOWN
|
|
51116
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
51117
|
+
detail: See the operation contract.
|
|
51118
|
+
errors: []
|
|
51119
|
+
retryable: false
|
|
51120
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
51121
|
+
schemaVersion: 2.0.0
|
|
51122
|
+
status: 400
|
|
51123
|
+
title: REQUEST_FIELD_UNKNOWN
|
|
51124
|
+
type: urn:gala:problem:request-field-unknown
|
|
51125
|
+
VALIDATION_FAILED:
|
|
51126
|
+
summary: VALIDATION_FAILED
|
|
51127
|
+
value:
|
|
51128
|
+
code: VALIDATION_FAILED
|
|
51129
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
51130
|
+
detail: See the operation contract.
|
|
51131
|
+
errors: []
|
|
51132
|
+
retryable: false
|
|
51133
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
51134
|
+
schemaVersion: 2.0.0
|
|
51135
|
+
status: 400
|
|
51136
|
+
title: VALIDATION_FAILED
|
|
51137
|
+
type: urn:gala:problem:validation-failed
|
|
51138
|
+
schema:
|
|
51139
|
+
$ref: "#/components/schemas/Problem"
|
|
51140
|
+
description: REQUEST_FIELD_UNKNOWN, VALIDATION_FAILED
|
|
51141
|
+
headers:
|
|
51142
|
+
Cache-Control:
|
|
51143
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
51144
|
+
X-Correlation-Id:
|
|
51145
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
51146
|
+
x-gala-problem-codes:
|
|
51147
|
+
- REQUEST_FIELD_UNKNOWN
|
|
51148
|
+
- VALIDATION_FAILED
|
|
51149
|
+
"401":
|
|
51150
|
+
content:
|
|
51151
|
+
application/problem+json:
|
|
51152
|
+
examples:
|
|
51153
|
+
AUTHENTICATION_REQUIRED:
|
|
51154
|
+
summary: AUTHENTICATION_REQUIRED
|
|
51155
|
+
value:
|
|
51156
|
+
code: AUTHENTICATION_REQUIRED
|
|
51157
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
51158
|
+
detail: See the operation contract.
|
|
51159
|
+
errors: []
|
|
51160
|
+
retryable: false
|
|
51161
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
51162
|
+
schemaVersion: 2.0.0
|
|
51163
|
+
status: 401
|
|
51164
|
+
title: AUTHENTICATION_REQUIRED
|
|
51165
|
+
type: urn:gala:problem:authentication-required
|
|
51166
|
+
schema:
|
|
51167
|
+
$ref: "#/components/schemas/Problem"
|
|
51168
|
+
description: AUTHENTICATION_REQUIRED
|
|
51169
|
+
headers:
|
|
51170
|
+
Cache-Control:
|
|
51171
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
51172
|
+
X-Correlation-Id:
|
|
51173
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
51174
|
+
x-gala-problem-codes:
|
|
51175
|
+
- AUTHENTICATION_REQUIRED
|
|
51176
|
+
"403":
|
|
51177
|
+
$ref: "#/components/responses/AuthorizationDenied"
|
|
51178
|
+
"404":
|
|
51179
|
+
$ref: "#/components/responses/ResourceNotFound"
|
|
51180
|
+
"409":
|
|
51181
|
+
content:
|
|
51182
|
+
application/problem+json:
|
|
51183
|
+
examples:
|
|
51184
|
+
NEWSLETTER_UNAVAILABLE:
|
|
51185
|
+
summary: NEWSLETTER_UNAVAILABLE
|
|
51186
|
+
value:
|
|
51187
|
+
code: NEWSLETTER_UNAVAILABLE
|
|
51188
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
51189
|
+
detail: See the operation contract.
|
|
51190
|
+
errors: []
|
|
51191
|
+
retryable: false
|
|
51192
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
51193
|
+
schemaVersion: 2.0.0
|
|
51194
|
+
status: 409
|
|
51195
|
+
title: NEWSLETTER_UNAVAILABLE
|
|
51196
|
+
type: urn:gala:problem:newsletter-unavailable
|
|
51197
|
+
schema:
|
|
51198
|
+
$ref: "#/components/schemas/Problem"
|
|
51199
|
+
description: NEWSLETTER_UNAVAILABLE
|
|
51200
|
+
headers:
|
|
51201
|
+
Cache-Control:
|
|
51202
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
51203
|
+
X-Correlation-Id:
|
|
51204
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
51205
|
+
x-gala-problem-codes:
|
|
51206
|
+
- NEWSLETTER_UNAVAILABLE
|
|
51207
|
+
"413":
|
|
51208
|
+
$ref: "#/components/responses/RequestTooLarge"
|
|
51209
|
+
"415":
|
|
51210
|
+
$ref: "#/components/responses/UnsupportedMediaType"
|
|
51211
|
+
security:
|
|
51212
|
+
- browserSession: []
|
|
51213
|
+
summary: import a site's newsletter subscribers
|
|
51214
|
+
tags:
|
|
51215
|
+
- audience
|
|
51216
|
+
x-gala-activation-gate: MVP
|
|
51217
|
+
x-gala-activation-guards:
|
|
51218
|
+
- NONE
|
|
51219
|
+
x-gala-capability-key: publication.audience.manage
|
|
51220
|
+
x-gala-concurrency: authorization-and-publication-epochs
|
|
51221
|
+
x-gala-conditional-capabilities: []
|
|
51222
|
+
x-gala-example-profile: NOMINAL_SUCCESS_AND_EACH_REACHABLE_PROBLEM
|
|
51223
|
+
x-gala-nullability: required-and-nullable-are-explicit
|
|
51224
|
+
x-gala-purpose: import a site's newsletter subscribers
|
|
51225
|
+
x-gala-reachable-problems:
|
|
51226
|
+
- AUTHENTICATION_REQUIRED
|
|
51227
|
+
- AUTHORIZATION_DENIED
|
|
51228
|
+
- NEWSLETTER_UNAVAILABLE
|
|
51229
|
+
- REQUEST_FIELD_UNKNOWN
|
|
51230
|
+
- RESOURCE_NOT_FOUND
|
|
51231
|
+
- VALIDATION_FAILED
|
|
51232
|
+
x-gala-replay-identity: natural-idempotent-state
|
|
51233
|
+
x-gala-state-guards:
|
|
51234
|
+
- NONE
|
|
51235
|
+
x-gala-success-category: async
|
|
51236
|
+
x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
|
|
50064
51237
|
/v2/organizations/{organizationId}/publications/{publicationId}/overview:
|
|
50065
51238
|
get:
|
|
50066
51239
|
description: |
|
|
@@ -66400,10 +67573,550 @@ paths:
|
|
|
66400
67573
|
content:
|
|
66401
67574
|
application/problem+json:
|
|
66402
67575
|
examples:
|
|
66403
|
-
NOT_COMMENT_AUTHOR:
|
|
66404
|
-
summary: NOT_COMMENT_AUTHOR
|
|
67576
|
+
NOT_COMMENT_AUTHOR:
|
|
67577
|
+
summary: NOT_COMMENT_AUTHOR
|
|
67578
|
+
value:
|
|
67579
|
+
code: NOT_COMMENT_AUTHOR
|
|
67580
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
67581
|
+
detail: See the operation contract.
|
|
67582
|
+
errors: []
|
|
67583
|
+
retryable: false
|
|
67584
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
67585
|
+
schemaVersion: 2.0.0
|
|
67586
|
+
status: 403
|
|
67587
|
+
title: NOT_COMMENT_AUTHOR
|
|
67588
|
+
type: urn:gala:problem:not-comment-author
|
|
67589
|
+
READER_TOKEN_SCOPE:
|
|
67590
|
+
summary: READER_TOKEN_SCOPE
|
|
67591
|
+
value:
|
|
67592
|
+
code: READER_TOKEN_SCOPE
|
|
67593
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
67594
|
+
detail: See the operation contract.
|
|
67595
|
+
errors: []
|
|
67596
|
+
retryable: false
|
|
67597
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
67598
|
+
schemaVersion: 2.0.0
|
|
67599
|
+
status: 403
|
|
67600
|
+
title: READER_TOKEN_SCOPE
|
|
67601
|
+
type: urn:gala:problem:reader-token-scope
|
|
67602
|
+
schema:
|
|
67603
|
+
$ref: "#/components/schemas/Problem"
|
|
67604
|
+
description: NOT_COMMENT_AUTHOR, READER_TOKEN_SCOPE
|
|
67605
|
+
headers:
|
|
67606
|
+
Cache-Control:
|
|
67607
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
67608
|
+
X-Correlation-Id:
|
|
67609
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
67610
|
+
x-gala-problem-codes:
|
|
67611
|
+
- NOT_COMMENT_AUTHOR
|
|
67612
|
+
- READER_TOKEN_SCOPE
|
|
67613
|
+
"404":
|
|
67614
|
+
content:
|
|
67615
|
+
application/problem+json:
|
|
67616
|
+
examples:
|
|
67617
|
+
COMMENT_NOT_FOUND:
|
|
67618
|
+
summary: COMMENT_NOT_FOUND
|
|
67619
|
+
value:
|
|
67620
|
+
code: COMMENT_NOT_FOUND
|
|
67621
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
67622
|
+
detail: See the operation contract.
|
|
67623
|
+
errors: []
|
|
67624
|
+
retryable: false
|
|
67625
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
67626
|
+
schemaVersion: 2.0.0
|
|
67627
|
+
status: 404
|
|
67628
|
+
title: COMMENT_NOT_FOUND
|
|
67629
|
+
type: urn:gala:problem:comment-not-found
|
|
67630
|
+
schema:
|
|
67631
|
+
$ref: "#/components/schemas/Problem"
|
|
67632
|
+
description: COMMENT_NOT_FOUND
|
|
67633
|
+
headers:
|
|
67634
|
+
Cache-Control:
|
|
67635
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
67636
|
+
X-Correlation-Id:
|
|
67637
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
67638
|
+
x-gala-problem-codes:
|
|
67639
|
+
- COMMENT_NOT_FOUND
|
|
67640
|
+
security:
|
|
67641
|
+
- readerBearer: []
|
|
67642
|
+
summary: delete the reader's own comment
|
|
67643
|
+
tags:
|
|
67644
|
+
- public-interactions
|
|
67645
|
+
x-gala-activation-gate: MVP
|
|
67646
|
+
x-gala-activation-guards:
|
|
67647
|
+
- NONE
|
|
67648
|
+
x-gala-capability-key: null
|
|
67649
|
+
x-gala-concurrency: none
|
|
67650
|
+
x-gala-conditional-capabilities: []
|
|
67651
|
+
x-gala-example-profile: NOMINAL_SUCCESS_AND_EACH_REACHABLE_PROBLEM
|
|
67652
|
+
x-gala-nullability: required-and-nullable-are-explicit
|
|
67653
|
+
x-gala-purpose: delete the reader's own comment
|
|
67654
|
+
x-gala-reachable-problems:
|
|
67655
|
+
- COMMENT_NOT_FOUND
|
|
67656
|
+
- NOT_COMMENT_AUTHOR
|
|
67657
|
+
- READER_AUTHENTICATION_REQUIRED
|
|
67658
|
+
- READER_TOKEN_SCOPE
|
|
67659
|
+
- VALIDATION_FAILED
|
|
67660
|
+
x-gala-replay-identity: natural-idempotent-state
|
|
67661
|
+
x-gala-state-guards:
|
|
67662
|
+
- NONE
|
|
67663
|
+
x-gala-success-category: delete
|
|
67664
|
+
x-gala-tenant-scope: NONE
|
|
67665
|
+
/v2/public/comments/{commentId}/appeals:
|
|
67666
|
+
post:
|
|
67667
|
+
description: |
|
|
67668
|
+
The comment's author asks the moderators to look again at a removal or
|
|
67669
|
+
hold. One appeal per removal: `409 APPEAL_EXISTS` when one was already
|
|
67670
|
+
made against the current removal; `409 APPEAL_NOT_ALLOWED` when the
|
|
67671
|
+
comment is not removed or held, or the reader is not its author. At most
|
|
67672
|
+
5 appeals a day per reader (`429 RATE_LIMITED`). A human decides; the
|
|
67673
|
+
answer shows under the comment.
|
|
67674
|
+
operationId: postPublicCommentsByCommentIdAppeals
|
|
67675
|
+
parameters:
|
|
67676
|
+
- $ref: "#/components/parameters/XCorrelationId"
|
|
67677
|
+
- example: 018f0000-0000-7000-8000-000000000001
|
|
67678
|
+
in: path
|
|
67679
|
+
name: commentId
|
|
67680
|
+
required: true
|
|
67681
|
+
schema:
|
|
67682
|
+
format: uuid
|
|
67683
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
67684
|
+
type: string
|
|
67685
|
+
requestBody:
|
|
67686
|
+
content:
|
|
67687
|
+
application/json:
|
|
67688
|
+
examples:
|
|
67689
|
+
nominal:
|
|
67690
|
+
summary: Nominal valid request
|
|
67691
|
+
value:
|
|
67692
|
+
note: The link was to my own project page, not spam.
|
|
67693
|
+
schema:
|
|
67694
|
+
$ref: "#/components/schemas/PostPublicCommentsByCommentIdAppealsRequest"
|
|
67695
|
+
required: true
|
|
67696
|
+
responses:
|
|
67697
|
+
"202":
|
|
67698
|
+
content:
|
|
67699
|
+
application/json:
|
|
67700
|
+
examples:
|
|
67701
|
+
nominal:
|
|
67702
|
+
summary: Nominal successful response
|
|
67703
|
+
value:
|
|
67704
|
+
status: RECEIVED
|
|
67705
|
+
schema:
|
|
67706
|
+
$ref: "#/components/schemas/PostPublicCommentsByCommentIdAppealsResponse"
|
|
67707
|
+
description: appeal the removal of my comment succeeded
|
|
67708
|
+
headers:
|
|
67709
|
+
Cache-Control:
|
|
67710
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
67711
|
+
X-Correlation-Id:
|
|
67712
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
67713
|
+
"400":
|
|
67714
|
+
content:
|
|
67715
|
+
application/problem+json:
|
|
67716
|
+
examples:
|
|
67717
|
+
REQUEST_FIELD_UNKNOWN:
|
|
67718
|
+
summary: REQUEST_FIELD_UNKNOWN
|
|
67719
|
+
value:
|
|
67720
|
+
code: REQUEST_FIELD_UNKNOWN
|
|
67721
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
67722
|
+
detail: See the operation contract.
|
|
67723
|
+
errors: []
|
|
67724
|
+
retryable: false
|
|
67725
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
67726
|
+
schemaVersion: 2.0.0
|
|
67727
|
+
status: 400
|
|
67728
|
+
title: REQUEST_FIELD_UNKNOWN
|
|
67729
|
+
type: urn:gala:problem:request-field-unknown
|
|
67730
|
+
VALIDATION_FAILED:
|
|
67731
|
+
summary: VALIDATION_FAILED
|
|
67732
|
+
value:
|
|
67733
|
+
code: VALIDATION_FAILED
|
|
67734
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
67735
|
+
detail: See the operation contract.
|
|
67736
|
+
errors: []
|
|
67737
|
+
retryable: false
|
|
67738
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
67739
|
+
schemaVersion: 2.0.0
|
|
67740
|
+
status: 400
|
|
67741
|
+
title: VALIDATION_FAILED
|
|
67742
|
+
type: urn:gala:problem:validation-failed
|
|
67743
|
+
schema:
|
|
67744
|
+
$ref: "#/components/schemas/Problem"
|
|
67745
|
+
description: REQUEST_FIELD_UNKNOWN, VALIDATION_FAILED
|
|
67746
|
+
headers:
|
|
67747
|
+
Cache-Control:
|
|
67748
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
67749
|
+
X-Correlation-Id:
|
|
67750
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
67751
|
+
x-gala-problem-codes:
|
|
67752
|
+
- REQUEST_FIELD_UNKNOWN
|
|
67753
|
+
- VALIDATION_FAILED
|
|
67754
|
+
"401":
|
|
67755
|
+
content:
|
|
67756
|
+
application/problem+json:
|
|
67757
|
+
examples:
|
|
67758
|
+
READER_AUTHENTICATION_REQUIRED:
|
|
67759
|
+
summary: READER_AUTHENTICATION_REQUIRED
|
|
67760
|
+
value:
|
|
67761
|
+
code: READER_AUTHENTICATION_REQUIRED
|
|
67762
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
67763
|
+
detail: See the operation contract.
|
|
67764
|
+
errors: []
|
|
67765
|
+
retryable: false
|
|
67766
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
67767
|
+
schemaVersion: 2.0.0
|
|
67768
|
+
status: 401
|
|
67769
|
+
title: READER_AUTHENTICATION_REQUIRED
|
|
67770
|
+
type: urn:gala:problem:reader-authentication-required
|
|
67771
|
+
schema:
|
|
67772
|
+
$ref: "#/components/schemas/Problem"
|
|
67773
|
+
description: READER_AUTHENTICATION_REQUIRED
|
|
67774
|
+
headers:
|
|
67775
|
+
Cache-Control:
|
|
67776
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
67777
|
+
X-Correlation-Id:
|
|
67778
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
67779
|
+
x-gala-problem-codes:
|
|
67780
|
+
- READER_AUTHENTICATION_REQUIRED
|
|
67781
|
+
"403":
|
|
67782
|
+
content:
|
|
67783
|
+
application/problem+json:
|
|
67784
|
+
examples:
|
|
67785
|
+
READER_TOKEN_SCOPE:
|
|
67786
|
+
summary: READER_TOKEN_SCOPE
|
|
67787
|
+
value:
|
|
67788
|
+
code: READER_TOKEN_SCOPE
|
|
67789
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
67790
|
+
detail: See the operation contract.
|
|
67791
|
+
errors: []
|
|
67792
|
+
retryable: false
|
|
67793
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
67794
|
+
schemaVersion: 2.0.0
|
|
67795
|
+
status: 403
|
|
67796
|
+
title: READER_TOKEN_SCOPE
|
|
67797
|
+
type: urn:gala:problem:reader-token-scope
|
|
67798
|
+
schema:
|
|
67799
|
+
$ref: "#/components/schemas/Problem"
|
|
67800
|
+
description: READER_TOKEN_SCOPE
|
|
67801
|
+
headers:
|
|
67802
|
+
Cache-Control:
|
|
67803
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
67804
|
+
X-Correlation-Id:
|
|
67805
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
67806
|
+
x-gala-problem-codes:
|
|
67807
|
+
- READER_TOKEN_SCOPE
|
|
67808
|
+
"404":
|
|
67809
|
+
content:
|
|
67810
|
+
application/problem+json:
|
|
67811
|
+
examples:
|
|
67812
|
+
COMMENT_NOT_FOUND:
|
|
67813
|
+
summary: COMMENT_NOT_FOUND
|
|
67814
|
+
value:
|
|
67815
|
+
code: COMMENT_NOT_FOUND
|
|
67816
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
67817
|
+
detail: See the operation contract.
|
|
67818
|
+
errors: []
|
|
67819
|
+
retryable: false
|
|
67820
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
67821
|
+
schemaVersion: 2.0.0
|
|
67822
|
+
status: 404
|
|
67823
|
+
title: COMMENT_NOT_FOUND
|
|
67824
|
+
type: urn:gala:problem:comment-not-found
|
|
67825
|
+
schema:
|
|
67826
|
+
$ref: "#/components/schemas/Problem"
|
|
67827
|
+
description: COMMENT_NOT_FOUND
|
|
67828
|
+
headers:
|
|
67829
|
+
Cache-Control:
|
|
67830
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
67831
|
+
X-Correlation-Id:
|
|
67832
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
67833
|
+
x-gala-problem-codes:
|
|
67834
|
+
- COMMENT_NOT_FOUND
|
|
67835
|
+
"409":
|
|
67836
|
+
content:
|
|
67837
|
+
application/problem+json:
|
|
67838
|
+
examples:
|
|
67839
|
+
APPEAL_EXISTS:
|
|
67840
|
+
summary: APPEAL_EXISTS
|
|
67841
|
+
value:
|
|
67842
|
+
code: APPEAL_EXISTS
|
|
67843
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
67844
|
+
detail: See the operation contract.
|
|
67845
|
+
errors: []
|
|
67846
|
+
retryable: false
|
|
67847
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
67848
|
+
schemaVersion: 2.0.0
|
|
67849
|
+
status: 409
|
|
67850
|
+
title: APPEAL_EXISTS
|
|
67851
|
+
type: urn:gala:problem:appeal-exists
|
|
67852
|
+
APPEAL_NOT_ALLOWED:
|
|
67853
|
+
summary: APPEAL_NOT_ALLOWED
|
|
67854
|
+
value:
|
|
67855
|
+
code: APPEAL_NOT_ALLOWED
|
|
67856
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
67857
|
+
detail: See the operation contract.
|
|
67858
|
+
errors: []
|
|
67859
|
+
retryable: false
|
|
67860
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
67861
|
+
schemaVersion: 2.0.0
|
|
67862
|
+
status: 409
|
|
67863
|
+
title: APPEAL_NOT_ALLOWED
|
|
67864
|
+
type: urn:gala:problem:appeal-not-allowed
|
|
67865
|
+
schema:
|
|
67866
|
+
$ref: "#/components/schemas/Problem"
|
|
67867
|
+
description: APPEAL_EXISTS, APPEAL_NOT_ALLOWED
|
|
67868
|
+
headers:
|
|
67869
|
+
Cache-Control:
|
|
67870
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
67871
|
+
X-Correlation-Id:
|
|
67872
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
67873
|
+
x-gala-problem-codes:
|
|
67874
|
+
- APPEAL_EXISTS
|
|
67875
|
+
- APPEAL_NOT_ALLOWED
|
|
67876
|
+
"429":
|
|
67877
|
+
content:
|
|
67878
|
+
application/problem+json:
|
|
67879
|
+
examples:
|
|
67880
|
+
RATE_LIMITED:
|
|
67881
|
+
summary: RATE_LIMITED
|
|
67882
|
+
value:
|
|
67883
|
+
code: RATE_LIMITED
|
|
67884
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
67885
|
+
detail: See the operation contract.
|
|
67886
|
+
errors: []
|
|
67887
|
+
retryable: true
|
|
67888
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
67889
|
+
schemaVersion: 2.0.0
|
|
67890
|
+
status: 429
|
|
67891
|
+
title: RATE_LIMITED
|
|
67892
|
+
type: urn:gala:problem:rate-limited
|
|
67893
|
+
schema:
|
|
67894
|
+
$ref: "#/components/schemas/Problem"
|
|
67895
|
+
description: RATE_LIMITED
|
|
67896
|
+
headers:
|
|
67897
|
+
Cache-Control:
|
|
67898
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
67899
|
+
Retry-After:
|
|
67900
|
+
$ref: "#/components/headers/RetryAfter"
|
|
67901
|
+
X-Correlation-Id:
|
|
67902
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
67903
|
+
x-gala-problem-codes:
|
|
67904
|
+
- RATE_LIMITED
|
|
67905
|
+
security:
|
|
67906
|
+
- readerBearer: []
|
|
67907
|
+
summary: appeal the removal of my comment
|
|
67908
|
+
tags:
|
|
67909
|
+
- public-interactions
|
|
67910
|
+
x-gala-activation-gate: MVP
|
|
67911
|
+
x-gala-activation-guards:
|
|
67912
|
+
- NONE
|
|
67913
|
+
x-gala-capability-key: null
|
|
67914
|
+
x-gala-concurrency: none
|
|
67915
|
+
x-gala-conditional-capabilities: []
|
|
67916
|
+
x-gala-example-profile: NOMINAL_SUCCESS_AND_EACH_REACHABLE_PROBLEM
|
|
67917
|
+
x-gala-nullability: required-and-nullable-are-explicit
|
|
67918
|
+
x-gala-purpose: appeal the removal of my comment
|
|
67919
|
+
x-gala-reachable-problems:
|
|
67920
|
+
- APPEAL_EXISTS
|
|
67921
|
+
- APPEAL_NOT_ALLOWED
|
|
67922
|
+
- COMMENT_NOT_FOUND
|
|
67923
|
+
- RATE_LIMITED
|
|
67924
|
+
- READER_AUTHENTICATION_REQUIRED
|
|
67925
|
+
- READER_TOKEN_SCOPE
|
|
67926
|
+
- REQUEST_FIELD_UNKNOWN
|
|
67927
|
+
- VALIDATION_FAILED
|
|
67928
|
+
x-gala-replay-identity: one-appeal-per-removal
|
|
67929
|
+
x-gala-state-guards:
|
|
67930
|
+
- NONE
|
|
67931
|
+
x-gala-success-category: async
|
|
67932
|
+
x-gala-tenant-scope: NONE
|
|
67933
|
+
/v2/public/comments/{commentId}/like:
|
|
67934
|
+
delete:
|
|
67935
|
+
description: "SCHEMA-3.32.0: the signed-in reader withdraws their like. Always allowed, even when likes have since been turned off, and harmless when there is no like (`204` both times)."
|
|
67936
|
+
operationId: deletePublicCommentsByCommentIdLike
|
|
67937
|
+
parameters:
|
|
67938
|
+
- $ref: "#/components/parameters/XCorrelationId"
|
|
67939
|
+
- example: 018f0000-0000-7000-8000-000000000001
|
|
67940
|
+
in: path
|
|
67941
|
+
name: commentId
|
|
67942
|
+
required: true
|
|
67943
|
+
schema:
|
|
67944
|
+
format: uuid
|
|
67945
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
67946
|
+
type: string
|
|
67947
|
+
responses:
|
|
67948
|
+
"204":
|
|
67949
|
+
description: withdraw the signed-in reader's like on one comment succeeded
|
|
67950
|
+
headers:
|
|
67951
|
+
Cache-Control:
|
|
67952
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
67953
|
+
X-Correlation-Id:
|
|
67954
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
67955
|
+
"400":
|
|
67956
|
+
$ref: "#/components/responses/ValidationFailed"
|
|
67957
|
+
"401":
|
|
67958
|
+
content:
|
|
67959
|
+
application/problem+json:
|
|
67960
|
+
examples:
|
|
67961
|
+
READER_AUTHENTICATION_REQUIRED:
|
|
67962
|
+
summary: READER_AUTHENTICATION_REQUIRED
|
|
67963
|
+
value:
|
|
67964
|
+
code: READER_AUTHENTICATION_REQUIRED
|
|
67965
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
67966
|
+
detail: See the operation contract.
|
|
67967
|
+
errors: []
|
|
67968
|
+
retryable: false
|
|
67969
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
67970
|
+
schemaVersion: 2.0.0
|
|
67971
|
+
status: 401
|
|
67972
|
+
title: READER_AUTHENTICATION_REQUIRED
|
|
67973
|
+
type: urn:gala:problem:reader-authentication-required
|
|
67974
|
+
schema:
|
|
67975
|
+
$ref: "#/components/schemas/Problem"
|
|
67976
|
+
description: READER_AUTHENTICATION_REQUIRED
|
|
67977
|
+
headers:
|
|
67978
|
+
Cache-Control:
|
|
67979
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
67980
|
+
X-Correlation-Id:
|
|
67981
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
67982
|
+
x-gala-problem-codes:
|
|
67983
|
+
- READER_AUTHENTICATION_REQUIRED
|
|
67984
|
+
"403":
|
|
67985
|
+
content:
|
|
67986
|
+
application/problem+json:
|
|
67987
|
+
examples:
|
|
67988
|
+
READER_TOKEN_SCOPE:
|
|
67989
|
+
summary: READER_TOKEN_SCOPE
|
|
67990
|
+
value:
|
|
67991
|
+
code: READER_TOKEN_SCOPE
|
|
67992
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
67993
|
+
detail: See the operation contract.
|
|
67994
|
+
errors: []
|
|
67995
|
+
retryable: false
|
|
67996
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
67997
|
+
schemaVersion: 2.0.0
|
|
67998
|
+
status: 403
|
|
67999
|
+
title: READER_TOKEN_SCOPE
|
|
68000
|
+
type: urn:gala:problem:reader-token-scope
|
|
68001
|
+
schema:
|
|
68002
|
+
$ref: "#/components/schemas/Problem"
|
|
68003
|
+
description: READER_TOKEN_SCOPE
|
|
68004
|
+
headers:
|
|
68005
|
+
Cache-Control:
|
|
68006
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
68007
|
+
X-Correlation-Id:
|
|
68008
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
68009
|
+
x-gala-problem-codes:
|
|
68010
|
+
- READER_TOKEN_SCOPE
|
|
68011
|
+
"404":
|
|
68012
|
+
content:
|
|
68013
|
+
application/problem+json:
|
|
68014
|
+
examples:
|
|
68015
|
+
COMMENT_NOT_FOUND:
|
|
68016
|
+
summary: COMMENT_NOT_FOUND
|
|
68017
|
+
value:
|
|
68018
|
+
code: COMMENT_NOT_FOUND
|
|
68019
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
68020
|
+
detail: See the operation contract.
|
|
68021
|
+
errors: []
|
|
68022
|
+
retryable: false
|
|
68023
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
68024
|
+
schemaVersion: 2.0.0
|
|
68025
|
+
status: 404
|
|
68026
|
+
title: COMMENT_NOT_FOUND
|
|
68027
|
+
type: urn:gala:problem:comment-not-found
|
|
68028
|
+
schema:
|
|
68029
|
+
$ref: "#/components/schemas/Problem"
|
|
68030
|
+
description: COMMENT_NOT_FOUND
|
|
68031
|
+
headers:
|
|
68032
|
+
Cache-Control:
|
|
68033
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
68034
|
+
X-Correlation-Id:
|
|
68035
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
68036
|
+
x-gala-problem-codes:
|
|
68037
|
+
- COMMENT_NOT_FOUND
|
|
68038
|
+
security:
|
|
68039
|
+
- readerBearer: []
|
|
68040
|
+
summary: withdraw the signed-in reader's like on one comment
|
|
68041
|
+
tags:
|
|
68042
|
+
- public-interactions
|
|
68043
|
+
x-gala-activation-gate: MVP
|
|
68044
|
+
x-gala-activation-guards:
|
|
68045
|
+
- NONE
|
|
68046
|
+
x-gala-capability-key: null
|
|
68047
|
+
x-gala-concurrency: none
|
|
68048
|
+
x-gala-conditional-capabilities: []
|
|
68049
|
+
x-gala-example-profile: NOMINAL_SUCCESS_AND_EACH_REACHABLE_PROBLEM
|
|
68050
|
+
x-gala-nullability: required-and-nullable-are-explicit
|
|
68051
|
+
x-gala-purpose: withdraw the signed-in reader's like on one comment
|
|
68052
|
+
x-gala-reachable-problems:
|
|
68053
|
+
- COMMENT_NOT_FOUND
|
|
68054
|
+
- READER_AUTHENTICATION_REQUIRED
|
|
68055
|
+
- READER_TOKEN_SCOPE
|
|
68056
|
+
- VALIDATION_FAILED
|
|
68057
|
+
x-gala-replay-identity: natural-idempotent-state
|
|
68058
|
+
x-gala-state-guards:
|
|
68059
|
+
- NONE
|
|
68060
|
+
x-gala-success-category: delete
|
|
68061
|
+
x-gala-tenant-scope: NONE
|
|
68062
|
+
put:
|
|
68063
|
+
description: "SCHEMA-3.32.0: the signed-in reader likes the comment. Liking again is harmless (`204` both times). Needs `comments.likes` on in the site's interactions configuration, otherwise `404 INTERACTIONS_DISABLED`. A removed, held or deleted comment cannot be liked (`404 COMMENT_NOT_FOUND`)."
|
|
68064
|
+
operationId: putPublicCommentsByCommentIdLike
|
|
68065
|
+
parameters:
|
|
68066
|
+
- $ref: "#/components/parameters/XCorrelationId"
|
|
68067
|
+
- example: 018f0000-0000-7000-8000-000000000001
|
|
68068
|
+
in: path
|
|
68069
|
+
name: commentId
|
|
68070
|
+
required: true
|
|
68071
|
+
schema:
|
|
68072
|
+
format: uuid
|
|
68073
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
68074
|
+
type: string
|
|
68075
|
+
responses:
|
|
68076
|
+
"204":
|
|
68077
|
+
description: like one comment as the signed-in reader succeeded
|
|
68078
|
+
headers:
|
|
68079
|
+
Cache-Control:
|
|
68080
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
68081
|
+
X-Correlation-Id:
|
|
68082
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
68083
|
+
"400":
|
|
68084
|
+
$ref: "#/components/responses/ValidationFailed"
|
|
68085
|
+
"401":
|
|
68086
|
+
content:
|
|
68087
|
+
application/problem+json:
|
|
68088
|
+
examples:
|
|
68089
|
+
READER_AUTHENTICATION_REQUIRED:
|
|
68090
|
+
summary: READER_AUTHENTICATION_REQUIRED
|
|
68091
|
+
value:
|
|
68092
|
+
code: READER_AUTHENTICATION_REQUIRED
|
|
68093
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
68094
|
+
detail: See the operation contract.
|
|
68095
|
+
errors: []
|
|
68096
|
+
retryable: false
|
|
68097
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
68098
|
+
schemaVersion: 2.0.0
|
|
68099
|
+
status: 401
|
|
68100
|
+
title: READER_AUTHENTICATION_REQUIRED
|
|
68101
|
+
type: urn:gala:problem:reader-authentication-required
|
|
68102
|
+
schema:
|
|
68103
|
+
$ref: "#/components/schemas/Problem"
|
|
68104
|
+
description: READER_AUTHENTICATION_REQUIRED
|
|
68105
|
+
headers:
|
|
68106
|
+
Cache-Control:
|
|
68107
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
68108
|
+
X-Correlation-Id:
|
|
68109
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
68110
|
+
x-gala-problem-codes:
|
|
68111
|
+
- READER_AUTHENTICATION_REQUIRED
|
|
68112
|
+
"403":
|
|
68113
|
+
content:
|
|
68114
|
+
application/problem+json:
|
|
68115
|
+
examples:
|
|
68116
|
+
READER_RESTRICTED:
|
|
68117
|
+
summary: READER_RESTRICTED
|
|
66405
68118
|
value:
|
|
66406
|
-
code:
|
|
68119
|
+
code: READER_RESTRICTED
|
|
66407
68120
|
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
66408
68121
|
detail: See the operation contract.
|
|
66409
68122
|
errors: []
|
|
@@ -66411,8 +68124,8 @@ paths:
|
|
|
66411
68124
|
schemaId: urn:gala:schema:problem:2.0.0
|
|
66412
68125
|
schemaVersion: 2.0.0
|
|
66413
68126
|
status: 403
|
|
66414
|
-
title:
|
|
66415
|
-
type: urn:gala:problem:
|
|
68127
|
+
title: READER_RESTRICTED
|
|
68128
|
+
type: urn:gala:problem:reader-restricted
|
|
66416
68129
|
READER_TOKEN_SCOPE:
|
|
66417
68130
|
summary: READER_TOKEN_SCOPE
|
|
66418
68131
|
value:
|
|
@@ -66428,14 +68141,14 @@ paths:
|
|
|
66428
68141
|
type: urn:gala:problem:reader-token-scope
|
|
66429
68142
|
schema:
|
|
66430
68143
|
$ref: "#/components/schemas/Problem"
|
|
66431
|
-
description:
|
|
68144
|
+
description: READER_RESTRICTED, READER_TOKEN_SCOPE
|
|
66432
68145
|
headers:
|
|
66433
68146
|
Cache-Control:
|
|
66434
68147
|
$ref: "#/components/headers/CacheControlNoStore"
|
|
66435
68148
|
X-Correlation-Id:
|
|
66436
68149
|
$ref: "#/components/headers/XCorrelationId"
|
|
66437
68150
|
x-gala-problem-codes:
|
|
66438
|
-
-
|
|
68151
|
+
- READER_RESTRICTED
|
|
66439
68152
|
- READER_TOKEN_SCOPE
|
|
66440
68153
|
"404":
|
|
66441
68154
|
content:
|
|
@@ -66454,192 +68167,10 @@ paths:
|
|
|
66454
68167
|
status: 404
|
|
66455
68168
|
title: COMMENT_NOT_FOUND
|
|
66456
68169
|
type: urn:gala:problem:comment-not-found
|
|
66457
|
-
|
|
66458
|
-
|
|
66459
|
-
description: COMMENT_NOT_FOUND
|
|
66460
|
-
headers:
|
|
66461
|
-
Cache-Control:
|
|
66462
|
-
$ref: "#/components/headers/CacheControlNoStore"
|
|
66463
|
-
X-Correlation-Id:
|
|
66464
|
-
$ref: "#/components/headers/XCorrelationId"
|
|
66465
|
-
x-gala-problem-codes:
|
|
66466
|
-
- COMMENT_NOT_FOUND
|
|
66467
|
-
security:
|
|
66468
|
-
- readerBearer: []
|
|
66469
|
-
summary: delete the reader's own comment
|
|
66470
|
-
tags:
|
|
66471
|
-
- public-interactions
|
|
66472
|
-
x-gala-activation-gate: MVP
|
|
66473
|
-
x-gala-activation-guards:
|
|
66474
|
-
- NONE
|
|
66475
|
-
x-gala-capability-key: null
|
|
66476
|
-
x-gala-concurrency: none
|
|
66477
|
-
x-gala-conditional-capabilities: []
|
|
66478
|
-
x-gala-example-profile: NOMINAL_SUCCESS_AND_EACH_REACHABLE_PROBLEM
|
|
66479
|
-
x-gala-nullability: required-and-nullable-are-explicit
|
|
66480
|
-
x-gala-purpose: delete the reader's own comment
|
|
66481
|
-
x-gala-reachable-problems:
|
|
66482
|
-
- COMMENT_NOT_FOUND
|
|
66483
|
-
- NOT_COMMENT_AUTHOR
|
|
66484
|
-
- READER_AUTHENTICATION_REQUIRED
|
|
66485
|
-
- READER_TOKEN_SCOPE
|
|
66486
|
-
- VALIDATION_FAILED
|
|
66487
|
-
x-gala-replay-identity: natural-idempotent-state
|
|
66488
|
-
x-gala-state-guards:
|
|
66489
|
-
- NONE
|
|
66490
|
-
x-gala-success-category: delete
|
|
66491
|
-
x-gala-tenant-scope: NONE
|
|
66492
|
-
/v2/public/comments/{commentId}/appeals:
|
|
66493
|
-
post:
|
|
66494
|
-
description: |
|
|
66495
|
-
The comment's author asks the moderators to look again at a removal or
|
|
66496
|
-
hold. One appeal per removal: `409 APPEAL_EXISTS` when one was already
|
|
66497
|
-
made against the current removal; `409 APPEAL_NOT_ALLOWED` when the
|
|
66498
|
-
comment is not removed or held, or the reader is not its author. At most
|
|
66499
|
-
5 appeals a day per reader (`429 RATE_LIMITED`). A human decides; the
|
|
66500
|
-
answer shows under the comment.
|
|
66501
|
-
operationId: postPublicCommentsByCommentIdAppeals
|
|
66502
|
-
parameters:
|
|
66503
|
-
- $ref: "#/components/parameters/XCorrelationId"
|
|
66504
|
-
- example: 018f0000-0000-7000-8000-000000000001
|
|
66505
|
-
in: path
|
|
66506
|
-
name: commentId
|
|
66507
|
-
required: true
|
|
66508
|
-
schema:
|
|
66509
|
-
format: uuid
|
|
66510
|
-
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
66511
|
-
type: string
|
|
66512
|
-
requestBody:
|
|
66513
|
-
content:
|
|
66514
|
-
application/json:
|
|
66515
|
-
examples:
|
|
66516
|
-
nominal:
|
|
66517
|
-
summary: Nominal valid request
|
|
66518
|
-
value:
|
|
66519
|
-
note: The link was to my own project page, not spam.
|
|
66520
|
-
schema:
|
|
66521
|
-
$ref: "#/components/schemas/PostPublicCommentsByCommentIdAppealsRequest"
|
|
66522
|
-
required: true
|
|
66523
|
-
responses:
|
|
66524
|
-
"202":
|
|
66525
|
-
content:
|
|
66526
|
-
application/json:
|
|
66527
|
-
examples:
|
|
66528
|
-
nominal:
|
|
66529
|
-
summary: Nominal successful response
|
|
66530
|
-
value:
|
|
66531
|
-
status: RECEIVED
|
|
66532
|
-
schema:
|
|
66533
|
-
$ref: "#/components/schemas/PostPublicCommentsByCommentIdAppealsResponse"
|
|
66534
|
-
description: appeal the removal of my comment succeeded
|
|
66535
|
-
headers:
|
|
66536
|
-
Cache-Control:
|
|
66537
|
-
$ref: "#/components/headers/CacheControlNoStore"
|
|
66538
|
-
X-Correlation-Id:
|
|
66539
|
-
$ref: "#/components/headers/XCorrelationId"
|
|
66540
|
-
"400":
|
|
66541
|
-
content:
|
|
66542
|
-
application/problem+json:
|
|
66543
|
-
examples:
|
|
66544
|
-
REQUEST_FIELD_UNKNOWN:
|
|
66545
|
-
summary: REQUEST_FIELD_UNKNOWN
|
|
66546
|
-
value:
|
|
66547
|
-
code: REQUEST_FIELD_UNKNOWN
|
|
66548
|
-
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
66549
|
-
detail: See the operation contract.
|
|
66550
|
-
errors: []
|
|
66551
|
-
retryable: false
|
|
66552
|
-
schemaId: urn:gala:schema:problem:2.0.0
|
|
66553
|
-
schemaVersion: 2.0.0
|
|
66554
|
-
status: 400
|
|
66555
|
-
title: REQUEST_FIELD_UNKNOWN
|
|
66556
|
-
type: urn:gala:problem:request-field-unknown
|
|
66557
|
-
VALIDATION_FAILED:
|
|
66558
|
-
summary: VALIDATION_FAILED
|
|
66559
|
-
value:
|
|
66560
|
-
code: VALIDATION_FAILED
|
|
66561
|
-
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
66562
|
-
detail: See the operation contract.
|
|
66563
|
-
errors: []
|
|
66564
|
-
retryable: false
|
|
66565
|
-
schemaId: urn:gala:schema:problem:2.0.0
|
|
66566
|
-
schemaVersion: 2.0.0
|
|
66567
|
-
status: 400
|
|
66568
|
-
title: VALIDATION_FAILED
|
|
66569
|
-
type: urn:gala:problem:validation-failed
|
|
66570
|
-
schema:
|
|
66571
|
-
$ref: "#/components/schemas/Problem"
|
|
66572
|
-
description: REQUEST_FIELD_UNKNOWN, VALIDATION_FAILED
|
|
66573
|
-
headers:
|
|
66574
|
-
Cache-Control:
|
|
66575
|
-
$ref: "#/components/headers/CacheControlNoStore"
|
|
66576
|
-
X-Correlation-Id:
|
|
66577
|
-
$ref: "#/components/headers/XCorrelationId"
|
|
66578
|
-
x-gala-problem-codes:
|
|
66579
|
-
- REQUEST_FIELD_UNKNOWN
|
|
66580
|
-
- VALIDATION_FAILED
|
|
66581
|
-
"401":
|
|
66582
|
-
content:
|
|
66583
|
-
application/problem+json:
|
|
66584
|
-
examples:
|
|
66585
|
-
READER_AUTHENTICATION_REQUIRED:
|
|
66586
|
-
summary: READER_AUTHENTICATION_REQUIRED
|
|
66587
|
-
value:
|
|
66588
|
-
code: READER_AUTHENTICATION_REQUIRED
|
|
66589
|
-
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
66590
|
-
detail: See the operation contract.
|
|
66591
|
-
errors: []
|
|
66592
|
-
retryable: false
|
|
66593
|
-
schemaId: urn:gala:schema:problem:2.0.0
|
|
66594
|
-
schemaVersion: 2.0.0
|
|
66595
|
-
status: 401
|
|
66596
|
-
title: READER_AUTHENTICATION_REQUIRED
|
|
66597
|
-
type: urn:gala:problem:reader-authentication-required
|
|
66598
|
-
schema:
|
|
66599
|
-
$ref: "#/components/schemas/Problem"
|
|
66600
|
-
description: READER_AUTHENTICATION_REQUIRED
|
|
66601
|
-
headers:
|
|
66602
|
-
Cache-Control:
|
|
66603
|
-
$ref: "#/components/headers/CacheControlNoStore"
|
|
66604
|
-
X-Correlation-Id:
|
|
66605
|
-
$ref: "#/components/headers/XCorrelationId"
|
|
66606
|
-
x-gala-problem-codes:
|
|
66607
|
-
- READER_AUTHENTICATION_REQUIRED
|
|
66608
|
-
"403":
|
|
66609
|
-
content:
|
|
66610
|
-
application/problem+json:
|
|
66611
|
-
examples:
|
|
66612
|
-
READER_TOKEN_SCOPE:
|
|
66613
|
-
summary: READER_TOKEN_SCOPE
|
|
66614
|
-
value:
|
|
66615
|
-
code: READER_TOKEN_SCOPE
|
|
66616
|
-
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
66617
|
-
detail: See the operation contract.
|
|
66618
|
-
errors: []
|
|
66619
|
-
retryable: false
|
|
66620
|
-
schemaId: urn:gala:schema:problem:2.0.0
|
|
66621
|
-
schemaVersion: 2.0.0
|
|
66622
|
-
status: 403
|
|
66623
|
-
title: READER_TOKEN_SCOPE
|
|
66624
|
-
type: urn:gala:problem:reader-token-scope
|
|
66625
|
-
schema:
|
|
66626
|
-
$ref: "#/components/schemas/Problem"
|
|
66627
|
-
description: READER_TOKEN_SCOPE
|
|
66628
|
-
headers:
|
|
66629
|
-
Cache-Control:
|
|
66630
|
-
$ref: "#/components/headers/CacheControlNoStore"
|
|
66631
|
-
X-Correlation-Id:
|
|
66632
|
-
$ref: "#/components/headers/XCorrelationId"
|
|
66633
|
-
x-gala-problem-codes:
|
|
66634
|
-
- READER_TOKEN_SCOPE
|
|
66635
|
-
"404":
|
|
66636
|
-
content:
|
|
66637
|
-
application/problem+json:
|
|
66638
|
-
examples:
|
|
66639
|
-
COMMENT_NOT_FOUND:
|
|
66640
|
-
summary: COMMENT_NOT_FOUND
|
|
68170
|
+
INTERACTIONS_DISABLED:
|
|
68171
|
+
summary: INTERACTIONS_DISABLED
|
|
66641
68172
|
value:
|
|
66642
|
-
code:
|
|
68173
|
+
code: INTERACTIONS_DISABLED
|
|
66643
68174
|
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
66644
68175
|
detail: See the operation contract.
|
|
66645
68176
|
errors: []
|
|
@@ -66647,11 +68178,11 @@ paths:
|
|
|
66647
68178
|
schemaId: urn:gala:schema:problem:2.0.0
|
|
66648
68179
|
schemaVersion: 2.0.0
|
|
66649
68180
|
status: 404
|
|
66650
|
-
title:
|
|
66651
|
-
type: urn:gala:problem:
|
|
68181
|
+
title: INTERACTIONS_DISABLED
|
|
68182
|
+
type: urn:gala:problem:interactions-disabled
|
|
66652
68183
|
schema:
|
|
66653
68184
|
$ref: "#/components/schemas/Problem"
|
|
66654
|
-
description: COMMENT_NOT_FOUND
|
|
68185
|
+
description: COMMENT_NOT_FOUND, INTERACTIONS_DISABLED
|
|
66655
68186
|
headers:
|
|
66656
68187
|
Cache-Control:
|
|
66657
68188
|
$ref: "#/components/headers/CacheControlNoStore"
|
|
@@ -66659,47 +68190,7 @@ paths:
|
|
|
66659
68190
|
$ref: "#/components/headers/XCorrelationId"
|
|
66660
68191
|
x-gala-problem-codes:
|
|
66661
68192
|
- COMMENT_NOT_FOUND
|
|
66662
|
-
|
|
66663
|
-
content:
|
|
66664
|
-
application/problem+json:
|
|
66665
|
-
examples:
|
|
66666
|
-
APPEAL_EXISTS:
|
|
66667
|
-
summary: APPEAL_EXISTS
|
|
66668
|
-
value:
|
|
66669
|
-
code: APPEAL_EXISTS
|
|
66670
|
-
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
66671
|
-
detail: See the operation contract.
|
|
66672
|
-
errors: []
|
|
66673
|
-
retryable: false
|
|
66674
|
-
schemaId: urn:gala:schema:problem:2.0.0
|
|
66675
|
-
schemaVersion: 2.0.0
|
|
66676
|
-
status: 409
|
|
66677
|
-
title: APPEAL_EXISTS
|
|
66678
|
-
type: urn:gala:problem:appeal-exists
|
|
66679
|
-
APPEAL_NOT_ALLOWED:
|
|
66680
|
-
summary: APPEAL_NOT_ALLOWED
|
|
66681
|
-
value:
|
|
66682
|
-
code: APPEAL_NOT_ALLOWED
|
|
66683
|
-
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
66684
|
-
detail: See the operation contract.
|
|
66685
|
-
errors: []
|
|
66686
|
-
retryable: false
|
|
66687
|
-
schemaId: urn:gala:schema:problem:2.0.0
|
|
66688
|
-
schemaVersion: 2.0.0
|
|
66689
|
-
status: 409
|
|
66690
|
-
title: APPEAL_NOT_ALLOWED
|
|
66691
|
-
type: urn:gala:problem:appeal-not-allowed
|
|
66692
|
-
schema:
|
|
66693
|
-
$ref: "#/components/schemas/Problem"
|
|
66694
|
-
description: APPEAL_EXISTS, APPEAL_NOT_ALLOWED
|
|
66695
|
-
headers:
|
|
66696
|
-
Cache-Control:
|
|
66697
|
-
$ref: "#/components/headers/CacheControlNoStore"
|
|
66698
|
-
X-Correlation-Id:
|
|
66699
|
-
$ref: "#/components/headers/XCorrelationId"
|
|
66700
|
-
x-gala-problem-codes:
|
|
66701
|
-
- APPEAL_EXISTS
|
|
66702
|
-
- APPEAL_NOT_ALLOWED
|
|
68193
|
+
- INTERACTIONS_DISABLED
|
|
66703
68194
|
"429":
|
|
66704
68195
|
content:
|
|
66705
68196
|
application/problem+json:
|
|
@@ -66731,7 +68222,7 @@ paths:
|
|
|
66731
68222
|
- RATE_LIMITED
|
|
66732
68223
|
security:
|
|
66733
68224
|
- readerBearer: []
|
|
66734
|
-
summary:
|
|
68225
|
+
summary: like one comment as the signed-in reader
|
|
66735
68226
|
tags:
|
|
66736
68227
|
- public-interactions
|
|
66737
68228
|
x-gala-activation-gate: MVP
|
|
@@ -66742,20 +68233,19 @@ paths:
|
|
|
66742
68233
|
x-gala-conditional-capabilities: []
|
|
66743
68234
|
x-gala-example-profile: NOMINAL_SUCCESS_AND_EACH_REACHABLE_PROBLEM
|
|
66744
68235
|
x-gala-nullability: required-and-nullable-are-explicit
|
|
66745
|
-
x-gala-purpose:
|
|
68236
|
+
x-gala-purpose: like one comment as the signed-in reader
|
|
66746
68237
|
x-gala-reachable-problems:
|
|
66747
|
-
- APPEAL_EXISTS
|
|
66748
|
-
- APPEAL_NOT_ALLOWED
|
|
66749
68238
|
- COMMENT_NOT_FOUND
|
|
68239
|
+
- INTERACTIONS_DISABLED
|
|
66750
68240
|
- RATE_LIMITED
|
|
66751
68241
|
- READER_AUTHENTICATION_REQUIRED
|
|
68242
|
+
- READER_RESTRICTED
|
|
66752
68243
|
- READER_TOKEN_SCOPE
|
|
66753
|
-
- REQUEST_FIELD_UNKNOWN
|
|
66754
68244
|
- VALIDATION_FAILED
|
|
66755
|
-
x-gala-replay-identity:
|
|
68245
|
+
x-gala-replay-identity: natural-idempotent-state
|
|
66756
68246
|
x-gala-state-guards:
|
|
66757
68247
|
- NONE
|
|
66758
|
-
x-gala-success-category:
|
|
68248
|
+
x-gala-success-category: delete
|
|
66759
68249
|
x-gala-tenant-scope: NONE
|
|
66760
68250
|
/v2/public/comments/{commentId}/reports:
|
|
66761
68251
|
post:
|
|
@@ -68619,7 +70109,7 @@ paths:
|
|
|
68619
70109
|
x-gala-tenant-scope: NONE
|
|
68620
70110
|
/v2/public/publications/{publicationId}/contents/{contentId}/comments:
|
|
68621
70111
|
get:
|
|
68622
|
-
description: "Without `parentId`: 20 roots per page, newest first, each with its descendants inline oldest first (at most 50 per root; `moreReplies` is true beyond that). With `parentId`: the children of that comment, oldest first, 50 per page. Removed and deleted comments appear as tombstones only when they have visible descendants."
|
|
70112
|
+
description: "Without `parentId`: 20 roots per page, newest first, each with its descendants inline oldest first (at most 50 per root; `moreReplies` is true beyond that). With `parentId`: the children of that comment, oldest first, 50 per page. Removed and deleted comments appear as tombstones only when they have visible descendants. SCHEMA-3.32.0: `sort` orders the roots, `newest` (the default) or `oldest`; replies stay oldest first. On the first page of a `newest` or `oldest` list, the one pinned root comment, if any, comes first, whatever the sort. A `cursor` is valid only with the `sort` it was issued for."
|
|
68623
70113
|
operationId: getPublicPublicationsByPublicationIdContentsByContentIdComments
|
|
68624
70114
|
parameters:
|
|
68625
70115
|
- $ref: "#/components/parameters/XCorrelationId"
|
|
@@ -68648,6 +70138,16 @@ paths:
|
|
|
68648
70138
|
format: uuid
|
|
68649
70139
|
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
68650
70140
|
type: string
|
|
70141
|
+
- example: newest
|
|
70142
|
+
in: query
|
|
70143
|
+
name: sort
|
|
70144
|
+
required: false
|
|
70145
|
+
schema:
|
|
70146
|
+
default: newest
|
|
70147
|
+
enum:
|
|
70148
|
+
- newest
|
|
70149
|
+
- oldest
|
|
70150
|
+
type: string
|
|
68651
70151
|
responses:
|
|
68652
70152
|
"200":
|
|
68653
70153
|
content:
|
|
@@ -68669,8 +70169,11 @@ paths:
|
|
|
68669
70169
|
depth: 0
|
|
68670
70170
|
editedAt: null
|
|
68671
70171
|
id: 018f0000-0000-7000-8000-000000000001
|
|
70172
|
+
likeCount: 3
|
|
70173
|
+
likedByMe: false
|
|
68672
70174
|
moreReplies: false
|
|
68673
70175
|
parentId: null
|
|
70176
|
+
pinned: false
|
|
68674
70177
|
replies: []
|
|
68675
70178
|
state: VISIBLE
|
|
68676
70179
|
viewer:
|