@rathnasgala2/schemas 3.26.0 → 3.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THIRD_PARTY_LICENSES.json +1 -1
- package/docs/catalogs/schema-inventory.json +2 -2
- package/openapi/http-catalog.json +28 -2
- package/openapi/openapi.yaml +431 -3
- package/package.json +1 -1
- package/sbom.cdx.json +23 -23
|
@@ -229,9 +229,9 @@
|
|
|
229
229
|
"version": "2.0.0",
|
|
230
230
|
"path": "openapi/openapi.yaml",
|
|
231
231
|
"materialized": true,
|
|
232
|
-
"sourceDigest": "sha256:
|
|
232
|
+
"sourceDigest": "sha256:82f4c024ac6f9d5d06f6fdcad3e4978c941cbbfc9308b4d1d5d9bb454c31f687",
|
|
233
233
|
"typescriptRootType": null
|
|
234
234
|
}
|
|
235
235
|
],
|
|
236
|
-
"digest": "sha256:
|
|
236
|
+
"digest": "sha256:6a44045d7e41cdeaab0e6c1c948b4a0f12d16977bddb47b2587a9aca08df86a8"
|
|
237
237
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "2.0.0",
|
|
3
3
|
"sourceDesignRevision": "a53052955ceb6c1aa10c886289dc832eedfe6de0a00004df07d353ac19c4403a",
|
|
4
|
-
"openApiDigest": "sha256:
|
|
4
|
+
"openApiDigest": "sha256:82f4c024ac6f9d5d06f6fdcad3e4978c941cbbfc9308b4d1d5d9bb454c31f687",
|
|
5
5
|
"operations": [
|
|
6
6
|
{
|
|
7
7
|
"operationId": "getInternalHealth",
|
|
@@ -1453,6 +1453,32 @@
|
|
|
1453
1453
|
"apiKeyScope": null,
|
|
1454
1454
|
"sourceFragment": "audience"
|
|
1455
1455
|
},
|
|
1456
|
+
{
|
|
1457
|
+
"operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdOverview",
|
|
1458
|
+
"method": "GET",
|
|
1459
|
+
"path": "/v2/organizations/{organizationId}/publications/{publicationId}/overview",
|
|
1460
|
+
"purpose": "read a site's overview",
|
|
1461
|
+
"capabilityKey": "publication.view",
|
|
1462
|
+
"conditionalCapabilityKeys": [],
|
|
1463
|
+
"activationGate": "MVP",
|
|
1464
|
+
"assuranceClass": "SESSION",
|
|
1465
|
+
"actionGrant": "none",
|
|
1466
|
+
"apiKeyScope": null,
|
|
1467
|
+
"sourceFragment": "audience"
|
|
1468
|
+
},
|
|
1469
|
+
{
|
|
1470
|
+
"operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdOverviewRefresh",
|
|
1471
|
+
"method": "POST",
|
|
1472
|
+
"path": "/v2/organizations/{organizationId}/publications/{publicationId}/overview:refresh",
|
|
1473
|
+
"purpose": "refresh a site's overview",
|
|
1474
|
+
"capabilityKey": "publication.view",
|
|
1475
|
+
"conditionalCapabilityKeys": [],
|
|
1476
|
+
"activationGate": "MVP",
|
|
1477
|
+
"assuranceClass": "SESSION",
|
|
1478
|
+
"actionGrant": "none",
|
|
1479
|
+
"apiKeyScope": null,
|
|
1480
|
+
"sourceFragment": "audience"
|
|
1481
|
+
},
|
|
1456
1482
|
{
|
|
1457
1483
|
"operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdPolicySettings",
|
|
1458
1484
|
"method": "GET",
|
|
@@ -3258,5 +3284,5 @@
|
|
|
3258
3284
|
"sourceFragment": "workloads"
|
|
3259
3285
|
}
|
|
3260
3286
|
],
|
|
3261
|
-
"digest": "sha256:
|
|
3287
|
+
"digest": "sha256:be3610e2d83052bec0111df25c7b5fbc4cea7143d55e2bdc5800eeddea9843af"
|
|
3262
3288
|
}
|
package/openapi/openapi.yaml
CHANGED
|
@@ -1500,6 +1500,10 @@ components:
|
|
|
1500
1500
|
oneOf:
|
|
1501
1501
|
- $ref: "#/components/schemas/PortableContentFrontmatterDeleteDate"
|
|
1502
1502
|
- type: "null"
|
|
1503
|
+
description:
|
|
1504
|
+
description: "SCHEMA-3.28.0: the post's front-matter description, so the Posts list can show an excerpt without reading each document; absent when the header carries none."
|
|
1505
|
+
maxLength: 320
|
|
1506
|
+
type: string
|
|
1503
1507
|
language:
|
|
1504
1508
|
$ref: "#/components/schemas/PortableContentFrontmatterBcp47"
|
|
1505
1509
|
publishAfter:
|
|
@@ -2486,7 +2490,11 @@ components:
|
|
|
2486
2490
|
type: object
|
|
2487
2491
|
FollowState:
|
|
2488
2492
|
additionalProperties: false
|
|
2493
|
+
description: "SCHEMA-3.27.0: whether the reader follows the author. `followers` is the number of readers following this author on this site; it is present only when the bearer token is for this publication and its principal holds `publication.audience.read` on it (the site's team, the same people who may open the Audience page), and absent for every other caller, including callers with no token."
|
|
2489
2494
|
properties:
|
|
2495
|
+
followers:
|
|
2496
|
+
minimum: 0
|
|
2497
|
+
type: integer
|
|
2490
2498
|
following:
|
|
2491
2499
|
type: boolean
|
|
2492
2500
|
required:
|
|
@@ -3866,6 +3874,8 @@ components:
|
|
|
3866
3874
|
- items
|
|
3867
3875
|
- nextCursor
|
|
3868
3876
|
type: object
|
|
3877
|
+
GetOrganizationsByOrganizationIdPublicationsByPublicationIdOverviewResponse:
|
|
3878
|
+
$ref: "#/components/schemas/PublicationOverview"
|
|
3869
3879
|
GetOrganizationsByOrganizationIdPublicationsByPublicationIdPolicySettingsResponse:
|
|
3870
3880
|
additionalProperties: false
|
|
3871
3881
|
properties:
|
|
@@ -16415,6 +16425,8 @@ components:
|
|
|
16415
16425
|
type: object
|
|
16416
16426
|
PostOrganizationsByOrganizationIdPublicationsByPublicationIdModerationCommentsByCommentIdDecideResponse:
|
|
16417
16427
|
$ref: "#/components/schemas/ModerationQueueItem"
|
|
16428
|
+
PostOrganizationsByOrganizationIdPublicationsByPublicationIdOverviewRefreshResponse:
|
|
16429
|
+
$ref: "#/components/schemas/PublicationOverview"
|
|
16418
16430
|
PostOrganizationsByOrganizationIdPublicationsByPublicationIdPreviewRetirementResponse:
|
|
16419
16431
|
additionalProperties: false
|
|
16420
16432
|
description: The persisted consequence preview a retirement command must quote back. A client never fabricates `consequencePreviewId` or `consequenceDigest` (LOCAL-36 G-17).
|
|
@@ -18835,6 +18847,123 @@ components:
|
|
|
18835
18847
|
- name
|
|
18836
18848
|
- slug
|
|
18837
18849
|
type: object
|
|
18850
|
+
PublicationOverview:
|
|
18851
|
+
additionalProperties: false
|
|
18852
|
+
description: |
|
|
18853
|
+
SCHEMA-3.28.0: the Home page's at-a-glance numbers for one site. The
|
|
18854
|
+
counts are a snapshot taken at `computedAt` and valid until
|
|
18855
|
+
`expiresAt` (cached at least 24 hours per site); `lastPublish` and
|
|
18856
|
+
`reviewsWaitingOnYou` are live. When `posts.complete` is false the scan
|
|
18857
|
+
was truncated and the post counts are a lower bound.
|
|
18858
|
+
properties:
|
|
18859
|
+
computedAt:
|
|
18860
|
+
description: "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)."
|
|
18861
|
+
format: date-time
|
|
18862
|
+
type: string
|
|
18863
|
+
expiresAt:
|
|
18864
|
+
description: "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)."
|
|
18865
|
+
format: date-time
|
|
18866
|
+
type: string
|
|
18867
|
+
followers:
|
|
18868
|
+
format: int64
|
|
18869
|
+
minimum: 0
|
|
18870
|
+
type: integer
|
|
18871
|
+
interactions:
|
|
18872
|
+
additionalProperties: false
|
|
18873
|
+
properties:
|
|
18874
|
+
comments:
|
|
18875
|
+
format: int64
|
|
18876
|
+
minimum: 0
|
|
18877
|
+
type: integer
|
|
18878
|
+
commentsAwaitingModeration:
|
|
18879
|
+
format: int64
|
|
18880
|
+
minimum: 0
|
|
18881
|
+
type: integer
|
|
18882
|
+
reactions:
|
|
18883
|
+
format: int64
|
|
18884
|
+
minimum: 0
|
|
18885
|
+
type: integer
|
|
18886
|
+
required:
|
|
18887
|
+
- reactions
|
|
18888
|
+
- comments
|
|
18889
|
+
- commentsAwaitingModeration
|
|
18890
|
+
type: object
|
|
18891
|
+
lastPublish:
|
|
18892
|
+
oneOf:
|
|
18893
|
+
- additionalProperties: false
|
|
18894
|
+
properties:
|
|
18895
|
+
at:
|
|
18896
|
+
description: "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)."
|
|
18897
|
+
format: date-time
|
|
18898
|
+
type: string
|
|
18899
|
+
outcome:
|
|
18900
|
+
enum:
|
|
18901
|
+
- SUCCEEDED
|
|
18902
|
+
- FAILED
|
|
18903
|
+
- PUBLISHING
|
|
18904
|
+
type: string
|
|
18905
|
+
required:
|
|
18906
|
+
- at
|
|
18907
|
+
- outcome
|
|
18908
|
+
type: object
|
|
18909
|
+
- type: "null"
|
|
18910
|
+
newsletterSubscribers:
|
|
18911
|
+
additionalProperties: false
|
|
18912
|
+
properties:
|
|
18913
|
+
confirmed:
|
|
18914
|
+
format: int64
|
|
18915
|
+
minimum: 0
|
|
18916
|
+
type: integer
|
|
18917
|
+
pending:
|
|
18918
|
+
format: int64
|
|
18919
|
+
minimum: 0
|
|
18920
|
+
type: integer
|
|
18921
|
+
required:
|
|
18922
|
+
- confirmed
|
|
18923
|
+
- pending
|
|
18924
|
+
type: object
|
|
18925
|
+
posts:
|
|
18926
|
+
additionalProperties: false
|
|
18927
|
+
properties:
|
|
18928
|
+
complete:
|
|
18929
|
+
type: boolean
|
|
18930
|
+
draft:
|
|
18931
|
+
format: int64
|
|
18932
|
+
minimum: 0
|
|
18933
|
+
type: integer
|
|
18934
|
+
published:
|
|
18935
|
+
format: int64
|
|
18936
|
+
minimum: 0
|
|
18937
|
+
type: integer
|
|
18938
|
+
scheduled:
|
|
18939
|
+
format: int64
|
|
18940
|
+
minimum: 0
|
|
18941
|
+
type: integer
|
|
18942
|
+
required:
|
|
18943
|
+
- published
|
|
18944
|
+
- draft
|
|
18945
|
+
- scheduled
|
|
18946
|
+
- complete
|
|
18947
|
+
type: object
|
|
18948
|
+
reviewsWaitingOnYou:
|
|
18949
|
+
format: int64
|
|
18950
|
+
minimum: 0
|
|
18951
|
+
type: integer
|
|
18952
|
+
unreadContactMessages:
|
|
18953
|
+
format: int64
|
|
18954
|
+
minimum: 0
|
|
18955
|
+
type: integer
|
|
18956
|
+
required:
|
|
18957
|
+
- computedAt
|
|
18958
|
+
- expiresAt
|
|
18959
|
+
- followers
|
|
18960
|
+
- newsletterSubscribers
|
|
18961
|
+
- unreadContactMessages
|
|
18962
|
+
- interactions
|
|
18963
|
+
- posts
|
|
18964
|
+
- lastPublish
|
|
18965
|
+
- reviewsWaitingOnYou
|
|
18966
|
+
type: object
|
|
18838
18967
|
PublicationState:
|
|
18839
18968
|
enum:
|
|
18840
18969
|
- PROVISIONING
|
|
@@ -46781,6 +46910,305 @@ paths:
|
|
|
46781
46910
|
- NONE
|
|
46782
46911
|
x-gala-success-category: protocol
|
|
46783
46912
|
x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
|
|
46913
|
+
/v2/organizations/{organizationId}/publications/{publicationId}/overview:
|
|
46914
|
+
get:
|
|
46915
|
+
description: |
|
|
46916
|
+
Needs `publication.view`. The Home page's at-a-glance numbers for one
|
|
46917
|
+
site as a `PublicationOverview`. The body is a snapshot cached for at
|
|
46918
|
+
least 24 hours per site: `computedAt` says when it was taken and
|
|
46919
|
+
`expiresAt` when it may be recomputed. `lastPublish` and
|
|
46920
|
+
`reviewsWaitingOnYou` are live and read at request time, not from the
|
|
46921
|
+
snapshot. `posts.complete` is false when the scan was truncated, and
|
|
46922
|
+
the post counts are then a lower bound. The response carries an `ETag`
|
|
46923
|
+
and honours `If-None-Match` with `304` and no body. `POST
|
|
46924
|
+
.../overview:refresh` recomputes the snapshot on demand.
|
|
46925
|
+
operationId: getOrganizationsByOrganizationIdPublicationsByPublicationIdOverview
|
|
46926
|
+
parameters:
|
|
46927
|
+
- $ref: "#/components/parameters/XCorrelationId"
|
|
46928
|
+
- example: 018f0000-0000-7000-8000-000000000001
|
|
46929
|
+
in: path
|
|
46930
|
+
name: organizationId
|
|
46931
|
+
required: true
|
|
46932
|
+
schema:
|
|
46933
|
+
format: uuid
|
|
46934
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
46935
|
+
type: string
|
|
46936
|
+
- example: 018f0000-0000-7000-8000-000000000001
|
|
46937
|
+
in: path
|
|
46938
|
+
name: publicationId
|
|
46939
|
+
required: true
|
|
46940
|
+
schema:
|
|
46941
|
+
format: uuid
|
|
46942
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
46943
|
+
type: string
|
|
46944
|
+
- description: A previously returned `ETag`; a match answers `304`.
|
|
46945
|
+
example: '"a1b2c3d4"'
|
|
46946
|
+
in: header
|
|
46947
|
+
name: If-None-Match
|
|
46948
|
+
required: false
|
|
46949
|
+
schema:
|
|
46950
|
+
maxLength: 256
|
|
46951
|
+
type: string
|
|
46952
|
+
responses:
|
|
46953
|
+
"200":
|
|
46954
|
+
content:
|
|
46955
|
+
application/json:
|
|
46956
|
+
examples:
|
|
46957
|
+
nominal:
|
|
46958
|
+
summary: Nominal successful response
|
|
46959
|
+
value:
|
|
46960
|
+
computedAt: "2026-10-31T06:00:00.000Z"
|
|
46961
|
+
expiresAt: "2026-11-01T06:00:00.000Z"
|
|
46962
|
+
followers: 12
|
|
46963
|
+
interactions:
|
|
46964
|
+
comments: 8
|
|
46965
|
+
commentsAwaitingModeration: 1
|
|
46966
|
+
reactions: 41
|
|
46967
|
+
lastPublish:
|
|
46968
|
+
at: "2026-10-30T18:30:00.000Z"
|
|
46969
|
+
outcome: SUCCEEDED
|
|
46970
|
+
newsletterSubscribers:
|
|
46971
|
+
confirmed: 120
|
|
46972
|
+
pending: 4
|
|
46973
|
+
posts:
|
|
46974
|
+
complete: true
|
|
46975
|
+
draft: 3
|
|
46976
|
+
published: 25
|
|
46977
|
+
scheduled: 2
|
|
46978
|
+
reviewsWaitingOnYou: 0
|
|
46979
|
+
unreadContactMessages: 2
|
|
46980
|
+
schema:
|
|
46981
|
+
$ref: "#/components/schemas/GetOrganizationsByOrganizationIdPublicationsByPublicationIdOverviewResponse"
|
|
46982
|
+
description: read a site's overview succeeded
|
|
46983
|
+
headers:
|
|
46984
|
+
Cache-Control:
|
|
46985
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
46986
|
+
ETag:
|
|
46987
|
+
description: Validator of this snapshot and the live fields.
|
|
46988
|
+
required: true
|
|
46989
|
+
schema:
|
|
46990
|
+
maxLength: 256
|
|
46991
|
+
type: string
|
|
46992
|
+
X-Correlation-Id:
|
|
46993
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
46994
|
+
"304":
|
|
46995
|
+
description: the caller's `If-None-Match` still matches; no body
|
|
46996
|
+
headers:
|
|
46997
|
+
ETag:
|
|
46998
|
+
description: Validator of this snapshot and the live fields.
|
|
46999
|
+
required: true
|
|
47000
|
+
schema:
|
|
47001
|
+
maxLength: 256
|
|
47002
|
+
type: string
|
|
47003
|
+
X-Correlation-Id:
|
|
47004
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
47005
|
+
"400":
|
|
47006
|
+
$ref: "#/components/responses/ValidationFailed"
|
|
47007
|
+
"401":
|
|
47008
|
+
content:
|
|
47009
|
+
application/problem+json:
|
|
47010
|
+
examples:
|
|
47011
|
+
AUTHENTICATION_REQUIRED:
|
|
47012
|
+
summary: AUTHENTICATION_REQUIRED
|
|
47013
|
+
value:
|
|
47014
|
+
code: AUTHENTICATION_REQUIRED
|
|
47015
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
47016
|
+
detail: See the operation contract.
|
|
47017
|
+
errors: []
|
|
47018
|
+
retryable: false
|
|
47019
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
47020
|
+
schemaVersion: 2.0.0
|
|
47021
|
+
status: 401
|
|
47022
|
+
title: AUTHENTICATION_REQUIRED
|
|
47023
|
+
type: urn:gala:problem:authentication-required
|
|
47024
|
+
schema:
|
|
47025
|
+
$ref: "#/components/schemas/Problem"
|
|
47026
|
+
description: AUTHENTICATION_REQUIRED
|
|
47027
|
+
headers:
|
|
47028
|
+
Cache-Control:
|
|
47029
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
47030
|
+
X-Correlation-Id:
|
|
47031
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
47032
|
+
x-gala-problem-codes:
|
|
47033
|
+
- AUTHENTICATION_REQUIRED
|
|
47034
|
+
"403":
|
|
47035
|
+
$ref: "#/components/responses/AuthorizationDenied"
|
|
47036
|
+
"404":
|
|
47037
|
+
$ref: "#/components/responses/ResourceNotFound"
|
|
47038
|
+
security:
|
|
47039
|
+
- browserSession: []
|
|
47040
|
+
summary: read a site's overview
|
|
47041
|
+
tags:
|
|
47042
|
+
- audience
|
|
47043
|
+
x-gala-activation-gate: MVP
|
|
47044
|
+
x-gala-activation-guards:
|
|
47045
|
+
- NONE
|
|
47046
|
+
x-gala-capability-key: publication.view
|
|
47047
|
+
x-gala-concurrency: authorization-and-publication-epochs
|
|
47048
|
+
x-gala-conditional-capabilities: []
|
|
47049
|
+
x-gala-example-profile: NOMINAL_SUCCESS_AND_EACH_REACHABLE_PROBLEM
|
|
47050
|
+
x-gala-nullability: required-and-nullable-are-explicit
|
|
47051
|
+
x-gala-purpose: read a site's overview
|
|
47052
|
+
x-gala-reachable-problems:
|
|
47053
|
+
- AUTHENTICATION_REQUIRED
|
|
47054
|
+
- AUTHORIZATION_DENIED
|
|
47055
|
+
- RESOURCE_NOT_FOUND
|
|
47056
|
+
- VALIDATION_FAILED
|
|
47057
|
+
x-gala-replay-identity: safe-query
|
|
47058
|
+
x-gala-state-guards:
|
|
47059
|
+
- NONE
|
|
47060
|
+
x-gala-success-category: query
|
|
47061
|
+
x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
|
|
47062
|
+
/v2/organizations/{organizationId}/publications/{publicationId}/overview:refresh:
|
|
47063
|
+
post:
|
|
47064
|
+
description: |
|
|
47065
|
+
Needs `publication.view`. Recomputes the site's overview snapshot now
|
|
47066
|
+
and returns the same `PublicationOverview` as the read. At most one
|
|
47067
|
+
refresh per site per minute; a faster second call answers `429
|
|
47068
|
+
RATE_LIMITED` with `Retry-After`.
|
|
47069
|
+
operationId: postOrganizationsByOrganizationIdPublicationsByPublicationIdOverviewRefresh
|
|
47070
|
+
parameters:
|
|
47071
|
+
- $ref: "#/components/parameters/XCorrelationId"
|
|
47072
|
+
- example: 018f0000-0000-7000-8000-000000000001
|
|
47073
|
+
in: path
|
|
47074
|
+
name: organizationId
|
|
47075
|
+
required: true
|
|
47076
|
+
schema:
|
|
47077
|
+
format: uuid
|
|
47078
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
47079
|
+
type: string
|
|
47080
|
+
- example: 018f0000-0000-7000-8000-000000000001
|
|
47081
|
+
in: path
|
|
47082
|
+
name: publicationId
|
|
47083
|
+
required: true
|
|
47084
|
+
schema:
|
|
47085
|
+
format: uuid
|
|
47086
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
47087
|
+
type: string
|
|
47088
|
+
- $ref: "#/components/parameters/XCsrfToken"
|
|
47089
|
+
responses:
|
|
47090
|
+
"200":
|
|
47091
|
+
content:
|
|
47092
|
+
application/json:
|
|
47093
|
+
examples:
|
|
47094
|
+
nominal:
|
|
47095
|
+
summary: Nominal successful response
|
|
47096
|
+
value:
|
|
47097
|
+
computedAt: "2026-10-31T06:00:00.000Z"
|
|
47098
|
+
expiresAt: "2026-11-01T06:00:00.000Z"
|
|
47099
|
+
followers: 12
|
|
47100
|
+
interactions:
|
|
47101
|
+
comments: 8
|
|
47102
|
+
commentsAwaitingModeration: 1
|
|
47103
|
+
reactions: 41
|
|
47104
|
+
lastPublish:
|
|
47105
|
+
at: "2026-10-30T18:30:00.000Z"
|
|
47106
|
+
outcome: SUCCEEDED
|
|
47107
|
+
newsletterSubscribers:
|
|
47108
|
+
confirmed: 120
|
|
47109
|
+
pending: 4
|
|
47110
|
+
posts:
|
|
47111
|
+
complete: true
|
|
47112
|
+
draft: 3
|
|
47113
|
+
published: 25
|
|
47114
|
+
scheduled: 2
|
|
47115
|
+
reviewsWaitingOnYou: 0
|
|
47116
|
+
unreadContactMessages: 2
|
|
47117
|
+
schema:
|
|
47118
|
+
$ref: "#/components/schemas/PostOrganizationsByOrganizationIdPublicationsByPublicationIdOverviewRefreshResponse"
|
|
47119
|
+
description: refresh a site's overview succeeded
|
|
47120
|
+
headers:
|
|
47121
|
+
Cache-Control:
|
|
47122
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
47123
|
+
X-Correlation-Id:
|
|
47124
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
47125
|
+
"400":
|
|
47126
|
+
$ref: "#/components/responses/ValidationFailed"
|
|
47127
|
+
"401":
|
|
47128
|
+
content:
|
|
47129
|
+
application/problem+json:
|
|
47130
|
+
examples:
|
|
47131
|
+
AUTHENTICATION_REQUIRED:
|
|
47132
|
+
summary: AUTHENTICATION_REQUIRED
|
|
47133
|
+
value:
|
|
47134
|
+
code: AUTHENTICATION_REQUIRED
|
|
47135
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
47136
|
+
detail: See the operation contract.
|
|
47137
|
+
errors: []
|
|
47138
|
+
retryable: false
|
|
47139
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
47140
|
+
schemaVersion: 2.0.0
|
|
47141
|
+
status: 401
|
|
47142
|
+
title: AUTHENTICATION_REQUIRED
|
|
47143
|
+
type: urn:gala:problem:authentication-required
|
|
47144
|
+
schema:
|
|
47145
|
+
$ref: "#/components/schemas/Problem"
|
|
47146
|
+
description: AUTHENTICATION_REQUIRED
|
|
47147
|
+
headers:
|
|
47148
|
+
Cache-Control:
|
|
47149
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
47150
|
+
X-Correlation-Id:
|
|
47151
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
47152
|
+
x-gala-problem-codes:
|
|
47153
|
+
- AUTHENTICATION_REQUIRED
|
|
47154
|
+
"403":
|
|
47155
|
+
$ref: "#/components/responses/AuthorizationDenied"
|
|
47156
|
+
"404":
|
|
47157
|
+
$ref: "#/components/responses/ResourceNotFound"
|
|
47158
|
+
"429":
|
|
47159
|
+
content:
|
|
47160
|
+
application/problem+json:
|
|
47161
|
+
examples:
|
|
47162
|
+
RATE_LIMITED:
|
|
47163
|
+
summary: RATE_LIMITED
|
|
47164
|
+
value:
|
|
47165
|
+
code: RATE_LIMITED
|
|
47166
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
47167
|
+
detail: See the operation contract.
|
|
47168
|
+
errors: []
|
|
47169
|
+
retryable: true
|
|
47170
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
47171
|
+
schemaVersion: 2.0.0
|
|
47172
|
+
status: 429
|
|
47173
|
+
title: RATE_LIMITED
|
|
47174
|
+
type: urn:gala:problem:rate-limited
|
|
47175
|
+
schema:
|
|
47176
|
+
$ref: "#/components/schemas/Problem"
|
|
47177
|
+
description: RATE_LIMITED
|
|
47178
|
+
headers:
|
|
47179
|
+
Cache-Control:
|
|
47180
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
47181
|
+
Retry-After:
|
|
47182
|
+
$ref: "#/components/headers/RetryAfter"
|
|
47183
|
+
X-Correlation-Id:
|
|
47184
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
47185
|
+
x-gala-problem-codes:
|
|
47186
|
+
- RATE_LIMITED
|
|
47187
|
+
security:
|
|
47188
|
+
- browserSession: []
|
|
47189
|
+
summary: refresh a site's overview
|
|
47190
|
+
tags:
|
|
47191
|
+
- audience
|
|
47192
|
+
x-gala-activation-gate: MVP
|
|
47193
|
+
x-gala-activation-guards:
|
|
47194
|
+
- NONE
|
|
47195
|
+
x-gala-capability-key: publication.view
|
|
47196
|
+
x-gala-concurrency: authorization-and-publication-epochs
|
|
47197
|
+
x-gala-conditional-capabilities: []
|
|
47198
|
+
x-gala-example-profile: NOMINAL_SUCCESS_AND_EACH_REACHABLE_PROBLEM
|
|
47199
|
+
x-gala-nullability: required-and-nullable-are-explicit
|
|
47200
|
+
x-gala-purpose: refresh a site's overview
|
|
47201
|
+
x-gala-reachable-problems:
|
|
47202
|
+
- AUTHENTICATION_REQUIRED
|
|
47203
|
+
- AUTHORIZATION_DENIED
|
|
47204
|
+
- RATE_LIMITED
|
|
47205
|
+
- RESOURCE_NOT_FOUND
|
|
47206
|
+
- VALIDATION_FAILED
|
|
47207
|
+
x-gala-replay-identity: natural-idempotent-state
|
|
47208
|
+
x-gala-state-guards:
|
|
47209
|
+
- NONE
|
|
47210
|
+
x-gala-success-category: protocol
|
|
47211
|
+
x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
|
|
46784
47212
|
/v2/organizations/{organizationId}/publications/{publicationId}/policy-settings:
|
|
46785
47213
|
get:
|
|
46786
47214
|
description: Reads the site's Terms and Privacy text at the linked repository's current main branch head, meaning the `policies` member of `gala/publication.json` and the two markdown files it names. `source` is `FILE` when the repository names its own pages, and `terms` and `privacy` then carry each page's title and markdown. `source` is `DEFAULT` when `policies` is absent, and the site then shows the default text of `@rathnasgala2/schemas/site-policy-defaults`, which the API does not carry, and `terms` and `privacy` are omitted. `setUp` matches `GET .../repository/setup`'s `state`; `openChange` names an existing not-yet-published change of this publication that touches `gala/publication.json` or a policy file, or is null. SCHEMA-3.17.0 adds `422 VALIDATION_FAILED`, answered when `gala/publication.json` names a policy file that does not exist at the head; the repository is then inconsistent and no page text can be read, so the author fixes the repository (or writes both pages again with `PUT`) before the read answers.
|
|
@@ -64022,7 +64450,7 @@ paths:
|
|
|
64022
64450
|
x-gala-tenant-scope: NONE
|
|
64023
64451
|
/v2/public/publications/{publicationId}/authors/{authorId}/follow:
|
|
64024
64452
|
delete:
|
|
64025
|
-
description: Idempotent, and allowed whether or not the site still has follows turned on or is live, so a reader can always leave. `404 AUTHOR_NOT_FOUND` only when the site names no such author and the reader holds no follow of that id.
|
|
64453
|
+
description: Idempotent, and allowed whether or not the site still has follows turned on or is live, so a reader can always leave. `404 AUTHOR_NOT_FOUND` only when the site names no such author and the reader holds no follow of that id. On a site-team token (this publication's token whose principal holds `publication.audience.read`) the response also carries `followers`, the number of readers following the author; it is absent for every other caller, including callers with no token.
|
|
64026
64454
|
operationId: deletePublicPublicationsByPublicationIdAuthorsByAuthorIdFollow
|
|
64027
64455
|
parameters:
|
|
64028
64456
|
- $ref: "#/components/parameters/XCorrelationId"
|
|
@@ -64197,7 +64625,7 @@ paths:
|
|
|
64197
64625
|
x-gala-success-category: protocol
|
|
64198
64626
|
x-gala-tenant-scope: NONE
|
|
64199
64627
|
get:
|
|
64200
|
-
description: Public read with an optional reader bearer token. With a token, `following` says whether that reader follows the author; without one it is false. The site's Follow button decides whether to show itself from the `follows.enabled` setting it was built with, not from this read.
|
|
64628
|
+
description: Public read with an optional reader bearer token. With a token, `following` says whether that reader follows the author; without one it is false. The site's Follow button decides whether to show itself from the `follows.enabled` setting it was built with, not from this read. On a site-team token (this publication's token whose principal holds `publication.audience.read`) the response also carries `followers`, the number of readers following the author; it is absent for every other caller, including callers with no token.
|
|
64201
64629
|
operationId: getPublicPublicationsByPublicationIdAuthorsByAuthorIdFollow
|
|
64202
64630
|
parameters:
|
|
64203
64631
|
- $ref: "#/components/parameters/XCorrelationId"
|
|
@@ -64302,7 +64730,7 @@ paths:
|
|
|
64302
64730
|
x-gala-success-category: query
|
|
64303
64731
|
x-gala-tenant-scope: NONE
|
|
64304
64732
|
put:
|
|
64305
|
-
description: "Idempotent: following twice is the same as following once. A follow is a reader's own business: only that reader sees it, the site owner sees a display name in the follower list and there is no public follower count. `409 FOLLOWS_DISABLED` while the author has the Follow button off. `404 AUTHOR_NOT_FOUND` when the site names no such author."
|
|
64733
|
+
description: "Idempotent: following twice is the same as following once. A follow is a reader's own business: only that reader sees it, the site owner sees a display name in the follower list and there is no public follower count. `409 FOLLOWS_DISABLED` while the author has the Follow button off. `404 AUTHOR_NOT_FOUND` when the site names no such author. On a site-team token (this publication's token whose principal holds `publication.audience.read`) the response also carries `followers`, the number of readers following the author; it is absent for every other caller, including callers with no token."
|
|
64306
64734
|
operationId: putPublicPublicationsByPublicationIdAuthorsByAuthorIdFollow
|
|
64307
64735
|
parameters:
|
|
64308
64736
|
- $ref: "#/components/parameters/XCorrelationId"
|
package/package.json
CHANGED
package/sbom.cdx.json
CHANGED
|
@@ -97,8 +97,8 @@
|
|
|
97
97
|
"type": "library",
|
|
98
98
|
"name": "schemas",
|
|
99
99
|
"group": "@rathnasgala2",
|
|
100
|
-
"version": "3.
|
|
101
|
-
"bom-ref": "@rathnasgala2/schemas@3.
|
|
100
|
+
"version": "3.28.0",
|
|
101
|
+
"bom-ref": "@rathnasgala2/schemas@3.28.0",
|
|
102
102
|
"description": "Executable JSON Schema and OpenAPI contracts for Galascribe",
|
|
103
103
|
"licenses": [
|
|
104
104
|
{
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
],
|
|
111
|
-
"purl": "pkg:npm/%40rathnasgala2/schemas@3.
|
|
111
|
+
"purl": "pkg:npm/%40rathnasgala2/schemas@3.28.0?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2Frathnasgala2%2Fschema.git",
|
|
112
112
|
"externalReferences": [
|
|
113
113
|
{
|
|
114
114
|
"url": "https://github.com/rathnasgala2/schema/issues",
|
|
@@ -153,7 +153,7 @@
|
|
|
153
153
|
"type": "library",
|
|
154
154
|
"name": "ajv-formats",
|
|
155
155
|
"version": "3.0.1",
|
|
156
|
-
"bom-ref": "@rathnasgala2/schemas@3.
|
|
156
|
+
"bom-ref": "@rathnasgala2/schemas@3.28.0|ajv-formats@3.0.1",
|
|
157
157
|
"licenses": [
|
|
158
158
|
{
|
|
159
159
|
"license": {
|
|
@@ -187,7 +187,7 @@
|
|
|
187
187
|
"type": "library",
|
|
188
188
|
"name": "ajv",
|
|
189
189
|
"version": "8.20.0",
|
|
190
|
-
"bom-ref": "@rathnasgala2/schemas@3.
|
|
190
|
+
"bom-ref": "@rathnasgala2/schemas@3.28.0|ajv@8.20.0",
|
|
191
191
|
"licenses": [
|
|
192
192
|
{
|
|
193
193
|
"license": {
|
|
@@ -221,7 +221,7 @@
|
|
|
221
221
|
"type": "library",
|
|
222
222
|
"name": "fast-deep-equal",
|
|
223
223
|
"version": "3.1.3",
|
|
224
|
-
"bom-ref": "@rathnasgala2/schemas@3.
|
|
224
|
+
"bom-ref": "@rathnasgala2/schemas@3.28.0|fast-deep-equal@3.1.3",
|
|
225
225
|
"licenses": [
|
|
226
226
|
{
|
|
227
227
|
"license": {
|
|
@@ -255,7 +255,7 @@
|
|
|
255
255
|
"type": "library",
|
|
256
256
|
"name": "fast-uri",
|
|
257
257
|
"version": "3.1.8",
|
|
258
|
-
"bom-ref": "@rathnasgala2/schemas@3.
|
|
258
|
+
"bom-ref": "@rathnasgala2/schemas@3.28.0|fast-uri@3.1.8",
|
|
259
259
|
"licenses": [
|
|
260
260
|
{
|
|
261
261
|
"license": {
|
|
@@ -289,7 +289,7 @@
|
|
|
289
289
|
"type": "library",
|
|
290
290
|
"name": "json-schema-traverse",
|
|
291
291
|
"version": "1.0.0",
|
|
292
|
-
"bom-ref": "@rathnasgala2/schemas@3.
|
|
292
|
+
"bom-ref": "@rathnasgala2/schemas@3.28.0|json-schema-traverse@1.0.0",
|
|
293
293
|
"licenses": [
|
|
294
294
|
{
|
|
295
295
|
"license": {
|
|
@@ -323,7 +323,7 @@
|
|
|
323
323
|
"type": "library",
|
|
324
324
|
"name": "require-from-string",
|
|
325
325
|
"version": "2.0.2",
|
|
326
|
-
"bom-ref": "@rathnasgala2/schemas@3.
|
|
326
|
+
"bom-ref": "@rathnasgala2/schemas@3.28.0|require-from-string@2.0.2",
|
|
327
327
|
"licenses": [
|
|
328
328
|
{
|
|
329
329
|
"license": {
|
|
@@ -1064,10 +1064,10 @@
|
|
|
1064
1064
|
],
|
|
1065
1065
|
"dependencies": [
|
|
1066
1066
|
{
|
|
1067
|
-
"ref": "@rathnasgala2/schemas@3.
|
|
1067
|
+
"ref": "@rathnasgala2/schemas@3.28.0",
|
|
1068
1068
|
"dependsOn": [
|
|
1069
|
-
"@rathnasgala2/schemas@3.
|
|
1070
|
-
"@rathnasgala2/schemas@3.
|
|
1069
|
+
"@rathnasgala2/schemas@3.28.0|ajv-formats@3.0.1",
|
|
1070
|
+
"@rathnasgala2/schemas@3.28.0|ajv@8.20.0",
|
|
1071
1071
|
"pkg:npm/semver@7.8.5",
|
|
1072
1072
|
"urn:gala:source-data:iana-ipv4-special-registry",
|
|
1073
1073
|
"urn:gala:source-data:iana-ipv6-special-registry",
|
|
@@ -1089,31 +1089,31 @@
|
|
|
1089
1089
|
]
|
|
1090
1090
|
},
|
|
1091
1091
|
{
|
|
1092
|
-
"ref": "@rathnasgala2/schemas@3.
|
|
1092
|
+
"ref": "@rathnasgala2/schemas@3.28.0|ajv-formats@3.0.1",
|
|
1093
1093
|
"dependsOn": [
|
|
1094
|
-
"@rathnasgala2/schemas@3.
|
|
1094
|
+
"@rathnasgala2/schemas@3.28.0|ajv@8.20.0"
|
|
1095
1095
|
]
|
|
1096
1096
|
},
|
|
1097
1097
|
{
|
|
1098
|
-
"ref": "@rathnasgala2/schemas@3.
|
|
1098
|
+
"ref": "@rathnasgala2/schemas@3.28.0|ajv@8.20.0",
|
|
1099
1099
|
"dependsOn": [
|
|
1100
|
-
"@rathnasgala2/schemas@3.
|
|
1101
|
-
"@rathnasgala2/schemas@3.
|
|
1102
|
-
"@rathnasgala2/schemas@3.
|
|
1103
|
-
"@rathnasgala2/schemas@3.
|
|
1100
|
+
"@rathnasgala2/schemas@3.28.0|fast-deep-equal@3.1.3",
|
|
1101
|
+
"@rathnasgala2/schemas@3.28.0|fast-uri@3.1.8",
|
|
1102
|
+
"@rathnasgala2/schemas@3.28.0|json-schema-traverse@1.0.0",
|
|
1103
|
+
"@rathnasgala2/schemas@3.28.0|require-from-string@2.0.2"
|
|
1104
1104
|
]
|
|
1105
1105
|
},
|
|
1106
1106
|
{
|
|
1107
|
-
"ref": "@rathnasgala2/schemas@3.
|
|
1107
|
+
"ref": "@rathnasgala2/schemas@3.28.0|fast-deep-equal@3.1.3"
|
|
1108
1108
|
},
|
|
1109
1109
|
{
|
|
1110
|
-
"ref": "@rathnasgala2/schemas@3.
|
|
1110
|
+
"ref": "@rathnasgala2/schemas@3.28.0|fast-uri@3.1.8"
|
|
1111
1111
|
},
|
|
1112
1112
|
{
|
|
1113
|
-
"ref": "@rathnasgala2/schemas@3.
|
|
1113
|
+
"ref": "@rathnasgala2/schemas@3.28.0|json-schema-traverse@1.0.0"
|
|
1114
1114
|
},
|
|
1115
1115
|
{
|
|
1116
|
-
"ref": "@rathnasgala2/schemas@3.
|
|
1116
|
+
"ref": "@rathnasgala2/schemas@3.28.0|require-from-string@2.0.2"
|
|
1117
1117
|
},
|
|
1118
1118
|
{
|
|
1119
1119
|
"ref": "pkg:npm/semver@7.8.5"
|