@rathnasgala2/schemas 3.16.0 → 3.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -3
- package/THIRD_PARTY_LICENSES.json +1 -1
- package/catalog-sources/internal-event-actions.json +1 -1
- package/diagnostics/diagnostic-map.json +57 -0
- package/docs/catalogs/internal-event-actions.json +2 -2
- package/docs/catalogs/schema-inventory.json +7 -7
- package/examples/valid/adapter-capability/rules.json +12 -0
- package/examples/valid/deployment-intent/rules.json +12 -0
- package/examples/valid/deployment-observation/rules.json +12 -0
- package/examples/valid/deployment-receipt/rules.json +12 -0
- package/examples/valid/problem/rules.json +39 -0
- package/fixtures/boundary/adapter-capability/rules.json +26 -0
- package/fixtures/boundary/deployment-intent/rules.json +26 -0
- package/fixtures/boundary/deployment-observation/rules.json +26 -0
- package/fixtures/boundary/deployment-receipt/rules.json +26 -0
- package/fixtures/boundary/problem/rules.json +81 -0
- package/fixtures/invalid/adapter-capability/SCHEMA_PATTERN_INVALID/cases.json +11 -0
- package/fixtures/invalid/adapter-capability/SCHEMA_STRING_TOO_LONG/cases.json +11 -0
- package/fixtures/invalid/adapter-capability/UTF8_BYTE_LENGTH_INVALID/cases.json +11 -0
- package/fixtures/invalid/deployment-intent/SCHEMA_PATTERN_INVALID/cases.json +11 -0
- package/fixtures/invalid/deployment-intent/SCHEMA_STRING_TOO_LONG/cases.json +11 -0
- package/fixtures/invalid/deployment-intent/UTF8_BYTE_LENGTH_INVALID/cases.json +11 -0
- package/fixtures/invalid/deployment-observation/SCHEMA_PATTERN_INVALID/cases.json +11 -0
- package/fixtures/invalid/deployment-observation/SCHEMA_STRING_TOO_LONG/cases.json +11 -0
- package/fixtures/invalid/deployment-observation/UTF8_BYTE_LENGTH_INVALID/cases.json +11 -0
- package/fixtures/invalid/deployment-receipt/SCHEMA_PATTERN_INVALID/cases.json +11 -0
- package/fixtures/invalid/deployment-receipt/SCHEMA_STRING_TOO_LONG/cases.json +11 -0
- package/fixtures/invalid/deployment-receipt/UTF8_BYTE_LENGTH_INVALID/cases.json +11 -0
- package/fixtures/invalid/problem/GRAPHEME_LENGTH_INVALID/cases.json +9 -0
- package/fixtures/invalid/problem/SCHEMA_STRING_TOO_LONG/cases.json +27 -0
- package/fixtures/invalid/problem/SCHEMA_STRING_TOO_SHORT/cases.json +9 -0
- package/fixtures/invalid/problem/SCHEMA_TYPE_INVALID/cases.json +18 -0
- package/fixtures/manifest.json +447 -10
- package/fixtures/unknown-field/adapter-capability/rules.json +3 -0
- package/fixtures/unknown-field/deployment-intent/rules.json +3 -0
- package/fixtures/unknown-field/deployment-observation/rules.json +3 -0
- package/fixtures/unknown-field/deployment-receipt/rules.json +3 -0
- package/fixtures/unknown-field/problem/rules.json +7 -0
- package/generated/browser/validator-core.mjs +2 -2
- package/generated/typescript/contracts/adapter-capability.d.ts +1 -0
- package/generated/typescript/contracts/deployment-intent.d.ts +1 -0
- package/generated/typescript/contracts/deployment-observation.d.ts +1 -0
- package/generated/typescript/contracts/deployment-receipt.d.ts +1 -0
- package/generated/typescript/contracts/problem.d.ts +4 -0
- package/openapi/http-catalog.json +16 -3
- package/openapi/openapi.yaml +526 -10
- package/package.json +1 -1
- package/sbom.cdx.json +23 -23
- package/schemas/adapter-capability.schema.json +7 -0
- package/schemas/deployment-intent.schema.json +7 -0
- package/schemas/deployment-observation.schema.json +7 -0
- package/schemas/deployment-receipt.schema.json +7 -0
- package/schemas/problem.schema.json +21 -0
package/openapi/openapi.yaml
CHANGED
|
@@ -1923,10 +1923,70 @@ components:
|
|
|
1923
1923
|
- provider
|
|
1924
1924
|
- intents
|
|
1925
1925
|
type: object
|
|
1926
|
+
DomainBaseMove:
|
|
1927
|
+
additionalProperties: false
|
|
1928
|
+
description: |
|
|
1929
|
+
SCHEMA-3.17.0. Where the system's move of the site's canonical base
|
|
1930
|
+
(`gala/publication.json` `canonicalBase`) stands. Connecting a domain
|
|
1931
|
+
moves the base to the custom address and removing it moves the base
|
|
1932
|
+
back to the github.io address, each as a system operation
|
|
1933
|
+
(`domain_base_move`) that proposes the "Site address" change and
|
|
1934
|
+
publishes it, ordered so no address serves a build made for the other.
|
|
1935
|
+
A person never has to publish for it.
|
|
1936
|
+
properties:
|
|
1937
|
+
changeId:
|
|
1938
|
+
description: |
|
|
1939
|
+
The repository change that carries the base move, once proposed.
|
|
1940
|
+
format: uuid
|
|
1941
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
1942
|
+
type: string
|
|
1943
|
+
operationId:
|
|
1944
|
+
description: |
|
|
1945
|
+
The `domain_base_move` operation doing the work, once it exists;
|
|
1946
|
+
read it at `/v2/organizations/{organizationId}/operations/{operationId}`.
|
|
1947
|
+
format: uuid
|
|
1948
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
1949
|
+
type: string
|
|
1950
|
+
reason:
|
|
1951
|
+
description: |
|
|
1952
|
+
Why the move is not progressing, when it is not: a stable upper-case
|
|
1953
|
+
code. Known values: `MOVE_FAILED` (an attempt failed; the next check
|
|
1954
|
+
cycle retries), `MOVE_STUCK` (three attempts failed; the author's
|
|
1955
|
+
Check now retries), `MOVE_ABANDONED` (the move back to the github.io
|
|
1956
|
+
address on removal gave up) and `AUTHORITY_LAPSED` (the stored
|
|
1957
|
+
publish authority the move runs under could not be restated from the
|
|
1958
|
+
latest decision). Absent while the move is progressing or not
|
|
1959
|
+
needed. A client shows a generic sentence for a value it does not
|
|
1960
|
+
know.
|
|
1961
|
+
maxLength: 80
|
|
1962
|
+
minLength: 1
|
|
1963
|
+
type: string
|
|
1964
|
+
state:
|
|
1965
|
+
description: |
|
|
1966
|
+
`NOT_NEEDED`: the profile base already is the address the site is
|
|
1967
|
+
served from. `PENDING`: a move is required and has not started.
|
|
1968
|
+
`MOVING`: the move operation is running. `FAILED`: the last attempt
|
|
1969
|
+
failed (`reason` says how; it is retried until `MOVE_STUCK`).
|
|
1970
|
+
`PROPOSED`: the "Site address" change exists (`changeId`) and is not
|
|
1971
|
+
yet published. `PUBLISHED`: the move completed and the base is
|
|
1972
|
+
live.
|
|
1973
|
+
enum:
|
|
1974
|
+
- NOT_NEEDED
|
|
1975
|
+
- PENDING
|
|
1976
|
+
- MOVING
|
|
1977
|
+
- FAILED
|
|
1978
|
+
- PROPOSED
|
|
1979
|
+
- PUBLISHED
|
|
1980
|
+
type: string
|
|
1981
|
+
required:
|
|
1982
|
+
- state
|
|
1983
|
+
type: object
|
|
1926
1984
|
DomainBinding:
|
|
1927
1985
|
additionalProperties: false
|
|
1928
|
-
description: A custom domain on GitHub Pages for one publication (SCHEMA-3.3.0). `dns.records` are exactly the records to add at the registrar (a CNAME to `<owner>.github.io` for a subdomain; GitHub's four A and four AAAA records for an apex). Galascribe checks DNS before it sets the Pages custom domain, then waits for GitHub's certificate and routing; `ACTIVE` proposes the change that moves `canonicalBase` to the domain, and the site moves at the next publish. `expiresAt` is set while `OWNERSHIP_PENDING` (7 days).
|
|
1986
|
+
description: A custom domain on GitHub Pages for one publication (SCHEMA-3.3.0). `dns.records` are exactly the records to add at the registrar (a CNAME to `<owner>.github.io` for a subdomain; GitHub's four A and four AAAA records for an apex). Galascribe checks DNS before it sets the Pages custom domain, then waits for GitHub's certificate and routing; `ACTIVE` proposes the change that moves `canonicalBase` to the domain, and the site moves at the next publish. `expiresAt` is set while `OWNERSHIP_PENDING` (7 days). SCHEMA-3.17.0 adds `redirectsFromProjectPath`, which says whether GitHub already redirects the project path to the domain (from the moment the Pages CNAME is set until it is removed) and so decides the address the site is served from and the base it must be built for, and `baseMove`, which says where the system's move of that base stands (the `WAIT_FOR_MOVE` next step is shown while it runs). Both are optional so a 3.16 body still validates.
|
|
1929
1987
|
properties:
|
|
1988
|
+
baseMove:
|
|
1989
|
+
$ref: "#/components/schemas/DomainBaseMove"
|
|
1930
1990
|
canonicalBase:
|
|
1931
1991
|
$ref: "#/components/schemas/DomainCanonicalBase"
|
|
1932
1992
|
certificate:
|
|
@@ -1983,6 +2043,17 @@ components:
|
|
|
1983
2043
|
- provider
|
|
1984
2044
|
- since
|
|
1985
2045
|
type: object
|
|
2046
|
+
redirectsFromProjectPath:
|
|
2047
|
+
description: |
|
|
2048
|
+
SCHEMA-3.17.0. True while GitHub redirects the repository's
|
|
2049
|
+
github.io project path to this domain, which it does from the moment
|
|
2050
|
+
the Pages CNAME is set until it is removed. While it is true the
|
|
2051
|
+
site is served from the domain, so the canonical base it must carry
|
|
2052
|
+
is the domain's; while it is false the project path serves the site
|
|
2053
|
+
and the base is the github.io address. The server derives it from
|
|
2054
|
+
its own record of when the CNAME was set and removed, so a client
|
|
2055
|
+
reads the flag and does not infer it from `state`.
|
|
2056
|
+
type: boolean
|
|
1986
2057
|
routing:
|
|
1987
2058
|
$ref: "#/components/schemas/DomainRouting"
|
|
1988
2059
|
state:
|
|
@@ -2131,7 +2202,7 @@ components:
|
|
|
2131
2202
|
type: string
|
|
2132
2203
|
DomainNextStep:
|
|
2133
2204
|
additionalProperties: false
|
|
2134
|
-
description: What is being waited on, or what the author should do next. Known codes include `ADD_DNS_RECORDS`, `WAIT_FOR_DNS`, `WAIT_FOR_CERTIFICATE`, `WAIT_FOR_ROUTING`, `PUBLISH_TO_SWITCH`, `FIX_DNS_RECORD`, `REMOVE_DNS_RECORDS`, `TURN_ON_CLOUDFLARE_PROXY` (SCHEMA-3.6.0, the certificate is issued and the author may let Cloudflare proxy the site) and `NONE`; a client shows `detail` for codes it does not know.
|
|
2205
|
+
description: What is being waited on, or what the author should do next. Known codes include `ADD_DNS_RECORDS`, `WAIT_FOR_DNS`, `WAIT_FOR_CERTIFICATE`, `WAIT_FOR_ROUTING`, `PUBLISH_TO_SWITCH`, `FIX_DNS_RECORD`, `REMOVE_DNS_RECORDS`, `TURN_ON_CLOUDFLARE_PROXY` (SCHEMA-3.6.0, the certificate is issued and the author may let Cloudflare proxy the site), `WAIT_FOR_MOVE` (SCHEMA-3.17.0, Galascribe is moving the site's canonical base to or from the domain; `baseMove` says where it is and nothing is asked of the author) and `NONE`; a client shows `detail` for codes it does not know.
|
|
2135
2206
|
properties:
|
|
2136
2207
|
code:
|
|
2137
2208
|
maxLength: 80
|
|
@@ -5139,7 +5210,7 @@ components:
|
|
|
5139
5210
|
additionalProperties: false
|
|
5140
5211
|
properties:
|
|
5141
5212
|
reasonCode:
|
|
5142
|
-
description: "A free string. Known values: RUN_NOT_STARTED, BUILD_FAILED, RUN_CANCELLED, RUN_TIMED_OUT, WORKFLOW_UNAVAILABLE, DEPLOY_FAILED, PAGES_NOT_AVAILABLE, REPORT_FAILED, LIVE_CHECK_FAILED, CHANGE_CLOSED_ON_GITHUB. Clients must tolerate other values."
|
|
5213
|
+
description: "A free string. Known values: RUN_NOT_STARTED, BUILD_FAILED, RUN_CANCELLED, RUN_TIMED_OUT, WORKFLOW_UNAVAILABLE, DEPLOY_FAILED, PAGES_NOT_AVAILABLE, REPORT_FAILED, LIVE_CHECK_FAILED, CHANGE_CLOSED_ON_GITHUB and, new in 3.17.0, DESTINATION_BUSY_TIMEOUT, DESTINATION_FENCE_EXPIRED, CANONICAL_BASE_MISMATCH, DOMAIN_NOT_READY (the same codes as `OperationReason`). Clients must tolerate other values."
|
|
5143
5214
|
maxLength: 80
|
|
5144
5215
|
minLength: 1
|
|
5145
5216
|
type: string
|
|
@@ -5900,6 +5971,8 @@ components:
|
|
|
5900
5971
|
type: string
|
|
5901
5972
|
currentAttemptManagedReceipt:
|
|
5902
5973
|
$ref: "#/components/schemas/PortableDeploymentReceiptDocument"
|
|
5974
|
+
held:
|
|
5975
|
+
$ref: "#/components/schemas/OperationHeld"
|
|
5903
5976
|
kind:
|
|
5904
5977
|
$ref: "#/components/schemas/OperationKind"
|
|
5905
5978
|
managedReceipt:
|
|
@@ -5925,6 +5998,8 @@ components:
|
|
|
5925
5998
|
type: string
|
|
5926
5999
|
phase:
|
|
5927
6000
|
$ref: "#/components/schemas/OperationPhase"
|
|
6001
|
+
reason:
|
|
6002
|
+
$ref: "#/components/schemas/OperationReason"
|
|
5928
6003
|
recoveryActions:
|
|
5929
6004
|
items:
|
|
5930
6005
|
maxLength: 80
|
|
@@ -6459,6 +6534,8 @@ components:
|
|
|
6459
6534
|
format: uuid
|
|
6460
6535
|
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
6461
6536
|
type: string
|
|
6537
|
+
held:
|
|
6538
|
+
$ref: "#/components/schemas/OperationHeld"
|
|
6462
6539
|
kind:
|
|
6463
6540
|
$ref: "#/components/schemas/OperationKind"
|
|
6464
6541
|
operationId:
|
|
@@ -6474,6 +6551,8 @@ components:
|
|
|
6474
6551
|
- failed_no_effect
|
|
6475
6552
|
- cancelled_no_effect
|
|
6476
6553
|
type: string
|
|
6554
|
+
reason:
|
|
6555
|
+
$ref: "#/components/schemas/OperationReason"
|
|
6477
6556
|
recoveryActions:
|
|
6478
6557
|
items:
|
|
6479
6558
|
maxLength: 80
|
|
@@ -6502,19 +6581,70 @@ components:
|
|
|
6502
6581
|
- blockers
|
|
6503
6582
|
- recoveryActions
|
|
6504
6583
|
type: object
|
|
6584
|
+
OperationHeld:
|
|
6585
|
+
additionalProperties: false
|
|
6586
|
+
description: |
|
|
6587
|
+
SCHEMA-3.17.0. Present on an operation that is still `accepted` and is
|
|
6588
|
+
not starting because another operation of the same publication holds
|
|
6589
|
+
its destination: the destination fence a deploy opens at intent
|
|
6590
|
+
exchange stays held until that operation ends, and a publish does not
|
|
6591
|
+
dispatch while it is held. It names the holder so a client can say what
|
|
6592
|
+
the operation is waiting for instead of showing a bare `accepted`.
|
|
6593
|
+
Absent when nothing holds the destination and on every operation that
|
|
6594
|
+
has started or ended. A held operation ends with
|
|
6595
|
+
`DESTINATION_BUSY_TIMEOUT` if the holder does not release the fence
|
|
6596
|
+
within the server's bound (see `reason`).
|
|
6597
|
+
properties:
|
|
6598
|
+
byOperationId:
|
|
6599
|
+
description: The operation that holds the destination.
|
|
6600
|
+
format: uuid
|
|
6601
|
+
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
6602
|
+
type: string
|
|
6603
|
+
holderPhase:
|
|
6604
|
+
description: |
|
|
6605
|
+
The holder's lifecycle state now, spelled as the transition
|
|
6606
|
+
catalog spells a `PublicationOperation` state in capitals
|
|
6607
|
+
(`ACCEPTED`, `EXECUTING`, `RECONCILING`, `COMPLETED`,
|
|
6608
|
+
`FAILED_NO_EFFECT`, `CANCELLED_NO_EFFECT`), which is not the
|
|
6609
|
+
lower-case `phase` an operation read carries. A client shows a
|
|
6610
|
+
value it does not know as it is.
|
|
6611
|
+
maxLength: 80
|
|
6612
|
+
minLength: 1
|
|
6613
|
+
type: string
|
|
6614
|
+
holderReason:
|
|
6615
|
+
$ref: "#/components/schemas/OperationReason"
|
|
6616
|
+
description: |
|
|
6617
|
+
Why the holder is in that state, when it is known: its terminal
|
|
6618
|
+
`reason`, or the verdict its run settled with while the fence is
|
|
6619
|
+
still being released. Absent while the holder is simply running.
|
|
6620
|
+
since:
|
|
6621
|
+
$ref: "#/components/schemas/PortableProblemRfc3339"
|
|
6622
|
+
description: When this operation was accepted and started waiting for the destination.
|
|
6623
|
+
required:
|
|
6624
|
+
- byOperationId
|
|
6625
|
+
- since
|
|
6626
|
+
- holderPhase
|
|
6627
|
+
type: object
|
|
6505
6628
|
OperationKind:
|
|
6506
6629
|
description: |
|
|
6507
6630
|
What kind of work the operation is, so a client can label it and route
|
|
6508
6631
|
to the right screen without parsing `statusUrl` or inferring from
|
|
6509
6632
|
`subject`. The vocabulary is exactly the organization-scoped operations
|
|
6510
|
-
that
|
|
6633
|
+
that create an operation row (the ones that answer `202 Accepted`, and
|
|
6634
|
+
from 3.17.0 the system-initiated `domain_base_move`); it is
|
|
6511
6635
|
spelled the way the API's own `operation_type` column is
|
|
6512
6636
|
(`^[a-z][a-z0-9_]*$`), and `publication_retirement` and
|
|
6513
6637
|
`repository_change_commit` are already that column's literals. A member
|
|
6514
|
-
is added only by a reviewed contract change.
|
|
6638
|
+
is added only by a reviewed contract change. `domain_base_move`
|
|
6639
|
+
(SCHEMA-3.17.0, the API's `DOMAIN_BASE_MOVE` dispatch kind) is the
|
|
6640
|
+
system-initiated operation that moves a site's canonical base to or
|
|
6641
|
+
from its custom domain around the CNAME switch; nobody requests it, so
|
|
6642
|
+
it is reached through an operation's `held.byOperationId` or a site
|
|
6643
|
+
read rather than a `202`.
|
|
6515
6644
|
enum:
|
|
6516
6645
|
- deployment_reconcile
|
|
6517
6646
|
- deployment_rollback
|
|
6647
|
+
- domain_base_move
|
|
6518
6648
|
- publication_import
|
|
6519
6649
|
- publication_retirement
|
|
6520
6650
|
- publish
|
|
@@ -6531,6 +6661,31 @@ components:
|
|
|
6531
6661
|
- failed_no_effect
|
|
6532
6662
|
- cancelled_no_effect
|
|
6533
6663
|
type: string
|
|
6664
|
+
OperationReason:
|
|
6665
|
+
description: |
|
|
6666
|
+
SCHEMA-3.17.0. A stable upper-case code saying why an operation ended
|
|
6667
|
+
the way it did, or why it is in its phase: set on a `failed_no_effect`
|
|
6668
|
+
or `cancelled_no_effect` operation and on one that is `reconciling`
|
|
6669
|
+
because its deploy failed; absent on a running or successful operation
|
|
6670
|
+
and on operations that ended before 3.17.0. A free string within the
|
|
6671
|
+
pattern, not a closed enumeration, so a client shows a generic sentence
|
|
6672
|
+
for a code it does not know. Known values: `RUN_NOT_STARTED`,
|
|
6673
|
+
`BUILD_FAILED`, `RUN_CANCELLED`, `RUN_TIMED_OUT`,
|
|
6674
|
+
`WORKFLOW_UNAVAILABLE`, `DEPLOY_FAILED`, `PAGES_NOT_AVAILABLE`,
|
|
6675
|
+
`REPORT_FAILED`, `LIVE_CHECK_FAILED`, `CHANGE_CLOSED_ON_GITHUB` (the
|
|
6676
|
+
`reasonCode` values of a history failure) and, new in 3.17.0,
|
|
6677
|
+
`DESTINATION_BUSY_TIMEOUT` (the operation was held behind another that
|
|
6678
|
+
did not release the destination within the server's bound, so it ended
|
|
6679
|
+
without creating a run), `DESTINATION_FENCE_EXPIRED` (the destination
|
|
6680
|
+
fence this operation held was closed by the server's reaper after its
|
|
6681
|
+
run settled with no receipt), `CANONICAL_BASE_MISMATCH` (the site's
|
|
6682
|
+
canonical base was not the address it is served from when the
|
|
6683
|
+
operation was dispatched) and `DOMAIN_NOT_READY` (a custom domain was
|
|
6684
|
+
part-way through its switch and no origin could be verified).
|
|
6685
|
+
maxLength: 64
|
|
6686
|
+
minLength: 3
|
|
6687
|
+
pattern: ^[A-Z][A-Z0-9_]{2,63}$
|
|
6688
|
+
type: string
|
|
6534
6689
|
OperationResponse:
|
|
6535
6690
|
additionalProperties: false
|
|
6536
6691
|
properties:
|
|
@@ -8300,6 +8455,14 @@ components:
|
|
|
8300
8455
|
$ref: "#/components/schemas/PortableDeploymentIntentDestinationProviderCoordinates"
|
|
8301
8456
|
targetDigest:
|
|
8302
8457
|
$ref: "#/components/schemas/PortableDeploymentIntentDigest"
|
|
8458
|
+
verificationBaseUrl:
|
|
8459
|
+
allOf:
|
|
8460
|
+
- $ref: "#/components/schemas/PortableDeploymentIntentUrlHttps"
|
|
8461
|
+
description: "SCHEMA-3.17.0, optional: the address the deploy is verified at when that differs from `baseUrl`, the build base. It is the origin and path that answer over HTTPS right now (the github.io project address before a custom domain is set, the custom base once it serves): a lowercase exact host with no userinfo, port, query or fragment; a path is allowed. Absent means `baseUrl` is both the build base and the verification address, exactly as before 3.17.0. When present it is a member of `destination` like `baseUrl`, so it is inside the capability decision record that `decisionDigest` covers (RFC 8785 canonical member order); a record without it digests exactly as it did before."
|
|
8462
|
+
maxLength: 2048
|
|
8463
|
+
pattern: ^https://[a-z0-9](?:[a-z0-9.-]{0,251}[a-z0-9])?(?:/[^?#\s]*)?$
|
|
8464
|
+
x-gala-utf8ByteLength:
|
|
8465
|
+
maximum: 2048
|
|
8303
8466
|
required:
|
|
8304
8467
|
- environment
|
|
8305
8468
|
- adapterId
|
|
@@ -11997,6 +12160,14 @@ components:
|
|
|
11997
12160
|
$ref: "#/components/schemas/PortableDeploymentReceiptDestinationProviderCoordinates"
|
|
11998
12161
|
targetDigest:
|
|
11999
12162
|
$ref: "#/components/schemas/PortableDeploymentReceiptDigest"
|
|
12163
|
+
verificationBaseUrl:
|
|
12164
|
+
allOf:
|
|
12165
|
+
- $ref: "#/components/schemas/PortableDeploymentReceiptUrlHttps"
|
|
12166
|
+
description: "SCHEMA-3.17.0, optional: the address the deploy is verified at when that differs from `baseUrl`, the build base. It is the origin and path that answer over HTTPS right now (the github.io project address before a custom domain is set, the custom base once it serves): a lowercase exact host with no userinfo, port, query or fragment; a path is allowed. Absent means `baseUrl` is both the build base and the verification address, exactly as before 3.17.0. When present it is a member of `destination` like `baseUrl`, so it is inside the capability decision record that `decisionDigest` covers (RFC 8785 canonical member order); a record without it digests exactly as it did before."
|
|
12167
|
+
maxLength: 2048
|
|
12168
|
+
pattern: ^https://[a-z0-9](?:[a-z0-9.-]{0,251}[a-z0-9])?(?:/[^?#\s]*)?$
|
|
12169
|
+
x-gala-utf8ByteLength:
|
|
12170
|
+
maximum: 2048
|
|
12000
12171
|
required:
|
|
12001
12172
|
- environment
|
|
12002
12173
|
- adapterId
|
|
@@ -13590,16 +13761,36 @@ components:
|
|
|
13590
13761
|
x-gala-graphemeLength:
|
|
13591
13762
|
maximum: 500
|
|
13592
13763
|
minimum: 0
|
|
13764
|
+
domainState:
|
|
13765
|
+
description: "SCHEMA-3.17.0, optional, carried by a CANONICAL_BASE_MISMATCH problem and absent from every other: the state of the site's custom-domain binding that decided `expectedBase` (a `DomainBindingState` value such as `CERTIFICATE_PENDING` or `ACTIVE`), absent when the site has no custom domain. A client shows a value it does not know as is."
|
|
13766
|
+
maxLength: 80
|
|
13767
|
+
minLength: 1
|
|
13768
|
+
type: string
|
|
13593
13769
|
errors:
|
|
13594
13770
|
items:
|
|
13595
13771
|
$ref: "#/components/schemas/PortableProblemFieldError"
|
|
13596
13772
|
maxItems: 100
|
|
13597
13773
|
minItems: 0
|
|
13598
13774
|
type: array
|
|
13775
|
+
expectedBase:
|
|
13776
|
+
allOf:
|
|
13777
|
+
- $ref: "#/components/schemas/PortableProblemUrlHttps"
|
|
13778
|
+
description: "SCHEMA-3.17.0, optional, carried by a CANONICAL_BASE_MISMATCH problem and absent from every other: the address the site is served from right now and so the canonical base its publication profile must carry (the active custom domain once the domain redirects the project path, otherwise the github.io address)."
|
|
13779
|
+
maxLength: 2048
|
|
13599
13780
|
instance:
|
|
13600
13781
|
$ref: "#/components/schemas/PortableProblemCanonicalRoute"
|
|
13601
13782
|
operationId:
|
|
13602
13783
|
$ref: "#/components/schemas/PortableProblemStableId"
|
|
13784
|
+
profileBase:
|
|
13785
|
+
description: "SCHEMA-3.17.0, optional, carried by a CANONICAL_BASE_MISMATCH problem and absent from every other: the canonical base the publication profile (`gala/publication.json`) carries now, as written. A string rather than an https URL because the mismatch can be a value that is not one (for example an http address)."
|
|
13786
|
+
maxLength: 2048
|
|
13787
|
+
type: string
|
|
13788
|
+
remedy:
|
|
13789
|
+
$ref: "#/components/schemas/PortableProblemPlainText"
|
|
13790
|
+
description: "SCHEMA-3.17.0, optional, carried by a CANONICAL_BASE_MISMATCH problem and absent from every other: one sentence, written for the author, saying what resolves the mismatch. A client may render it verbatim."
|
|
13791
|
+
x-gala-graphemeLength:
|
|
13792
|
+
maximum: 500
|
|
13793
|
+
minimum: 1
|
|
13603
13794
|
retryable:
|
|
13604
13795
|
type: boolean
|
|
13605
13796
|
schemaId:
|
|
@@ -14078,6 +14269,22 @@ components:
|
|
|
14078
14269
|
required:
|
|
14079
14270
|
- accepted
|
|
14080
14271
|
type: object
|
|
14272
|
+
PostCallbacksStripeRequest:
|
|
14273
|
+
additionalProperties: true
|
|
14274
|
+
description: Raw Stripe event JSON authenticated over the exact received bytes by the required Stripe-Signature header; the event object is opaque to the contract.
|
|
14275
|
+
type: object
|
|
14276
|
+
PostCallbacksStripeResponse:
|
|
14277
|
+
additionalProperties: false
|
|
14278
|
+
properties:
|
|
14279
|
+
accepted:
|
|
14280
|
+
not:
|
|
14281
|
+
enum:
|
|
14282
|
+
- false
|
|
14283
|
+
type: boolean
|
|
14284
|
+
x-gala-const: true
|
|
14285
|
+
required:
|
|
14286
|
+
- accepted
|
|
14287
|
+
type: object
|
|
14081
14288
|
PostClaimsByTokenAcceptResponse:
|
|
14082
14289
|
additionalProperties: false
|
|
14083
14290
|
properties:
|
|
@@ -16519,6 +16726,38 @@ components:
|
|
|
16519
16726
|
type: object
|
|
16520
16727
|
PostWorkloadsDeploymentReceiptsRequest:
|
|
16521
16728
|
additionalProperties: false
|
|
16729
|
+
allOf:
|
|
16730
|
+
- else:
|
|
16731
|
+
required:
|
|
16732
|
+
- kernelJournal
|
|
16733
|
+
if:
|
|
16734
|
+
properties:
|
|
16735
|
+
deployFailure:
|
|
16736
|
+
properties:
|
|
16737
|
+
journal:
|
|
16738
|
+
pattern: ^absent$
|
|
16739
|
+
type: string
|
|
16740
|
+
x-gala-const: absent
|
|
16741
|
+
required:
|
|
16742
|
+
- journal
|
|
16743
|
+
required:
|
|
16744
|
+
- deployFailure
|
|
16745
|
+
then:
|
|
16746
|
+
not:
|
|
16747
|
+
required:
|
|
16748
|
+
- kernelJournal
|
|
16749
|
+
description: |
|
|
16750
|
+
The deployment receipt the workflow reports for one operation.
|
|
16751
|
+
SCHEMA-3.17.0 lets it report a deploy that failed before, or without,
|
|
16752
|
+
a kernel journal. `deployFailure` classifies the failure; when its
|
|
16753
|
+
`journal` is `absent` the deploy wrote no journal and `kernelJournal`
|
|
16754
|
+
must be omitted, and the API accepts the report as terminal evidence
|
|
16755
|
+
that nothing changed once the run has settled as failed. Without
|
|
16756
|
+
`deployFailure`, or with `journal` `present`, `kernelJournal` is
|
|
16757
|
+
required exactly as before. `verifiedAt` records the origin the deploy
|
|
16758
|
+
was verified at, which differs from `publicBaseUrl` while a custom
|
|
16759
|
+
domain is being switched. Both members are optional, so every 3.16
|
|
16760
|
+
submission is still valid.
|
|
16522
16761
|
properties:
|
|
16523
16762
|
adapterId:
|
|
16524
16763
|
maxLength: 80
|
|
@@ -16539,6 +16778,8 @@ components:
|
|
|
16539
16778
|
artifactManifestDigest:
|
|
16540
16779
|
pattern: ^sha256:[0-9a-f]{64}$
|
|
16541
16780
|
type: string
|
|
16781
|
+
deployFailure:
|
|
16782
|
+
$ref: "#/components/schemas/ReceiptSubmissionDeployFailure"
|
|
16542
16783
|
destinationGenerationId:
|
|
16543
16784
|
format: uuid
|
|
16544
16785
|
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
@@ -16590,6 +16831,8 @@ components:
|
|
|
16590
16831
|
sourceCommit:
|
|
16591
16832
|
pattern: ^(?:sha1:[0-9a-f]{40}|sha256:[0-9a-f]{64})$
|
|
16592
16833
|
type: string
|
|
16834
|
+
verifiedAt:
|
|
16835
|
+
$ref: "#/components/schemas/ReceiptSubmissionVerifiedAt"
|
|
16593
16836
|
workflowCompletedAt:
|
|
16594
16837
|
$ref: "#/components/schemas/PortableDeploymentReceiptRfc3339"
|
|
16595
16838
|
workflowStartedAt:
|
|
@@ -16613,7 +16856,6 @@ components:
|
|
|
16613
16856
|
- observedRoutes
|
|
16614
16857
|
- workflowStartedAt
|
|
16615
16858
|
- workflowCompletedAt
|
|
16616
|
-
- kernelJournal
|
|
16617
16859
|
type: object
|
|
16618
16860
|
PostWorkloadsDeploymentReceiptsResponse:
|
|
16619
16861
|
allOf:
|
|
@@ -17867,7 +18109,10 @@ components:
|
|
|
17867
18109
|
LOCAL-60): the decision is server-owned, so the API constructs the
|
|
17868
18110
|
record, derives this digest and refuses a disagreement with `422
|
|
17869
18111
|
VALIDATION_FAILED`. Required in 2.8.x; required and server-derived
|
|
17870
|
-
in the retained deployment-intent document.
|
|
18112
|
+
in the retained deployment-intent document. SCHEMA-3.17.0: the
|
|
18113
|
+
record's `destination` carries `verificationBaseUrl` when the
|
|
18114
|
+
request does, so the digest covers it, as a member of `destination`
|
|
18115
|
+
like `baseUrl`; a request without it digests as it did before.
|
|
17871
18116
|
pattern: ^sha256:[0-9a-f]{64}$
|
|
17872
18117
|
type: string
|
|
17873
18118
|
destination:
|
|
@@ -18151,6 +18396,26 @@ components:
|
|
|
18151
18396
|
provider binding (`GALA-DESTINATION-PROVIDER-BINDING-V2`) and
|
|
18152
18397
|
refuses a disagreement with `422 VALIDATION_FAILED`. Required in
|
|
18153
18398
|
the retained document.
|
|
18399
|
+
verificationBaseUrl:
|
|
18400
|
+
allOf:
|
|
18401
|
+
- $ref: "#/components/schemas/PortableDeploymentIntentUrlHttps"
|
|
18402
|
+
description: |
|
|
18403
|
+
Optional (SCHEMA-3.17.0): the address the deploy is verified at
|
|
18404
|
+
when that differs from `baseUrl`, the build base. It is the origin
|
|
18405
|
+
and path that answer over HTTPS right now: the github.io project
|
|
18406
|
+
address before a custom domain's CNAME is set, the custom base once
|
|
18407
|
+
it serves. A lowercase exact host with no userinfo, port, query or
|
|
18408
|
+
fragment; a path is allowed. The API refuses a value it does not
|
|
18409
|
+
consider the serving address with `422 VALIDATION_FAILED`, and
|
|
18410
|
+
retains it in the deployment intent's `destination`. When present it
|
|
18411
|
+
is inside the capability decision record, so `capabilityDecisionDigest`
|
|
18412
|
+
covers it as it covers `baseUrl` (RFC 8785 canonical member order);
|
|
18413
|
+
when absent the digest is exactly what it was before 3.17.0.
|
|
18414
|
+
maxLength: 2048
|
|
18415
|
+
pattern: ^https://[a-z0-9](?:[a-z0-9.-]{0,251}[a-z0-9])?(?:/[^?#\s]*)?$
|
|
18416
|
+
type: string
|
|
18417
|
+
x-gala-utf8ByteLength:
|
|
18418
|
+
maximum: 2048
|
|
18154
18419
|
required:
|
|
18155
18420
|
- adapterId
|
|
18156
18421
|
- adapterVersion
|
|
@@ -18353,6 +18618,73 @@ components:
|
|
|
18353
18618
|
- operationId
|
|
18354
18619
|
- statusUrl
|
|
18355
18620
|
type: object
|
|
18621
|
+
ReceiptSubmissionDeployFailure:
|
|
18622
|
+
additionalProperties: false
|
|
18623
|
+
description: |
|
|
18624
|
+
SCHEMA-3.17.0. Why a deploy failed, as the workflow classified it, so
|
|
18625
|
+
the API can settle the operation with a named cause even when the
|
|
18626
|
+
deploy wrote no kernel journal.
|
|
18627
|
+
properties:
|
|
18628
|
+
failureCode:
|
|
18629
|
+
description: |
|
|
18630
|
+
A stable upper-case code naming the failure, for example
|
|
18631
|
+
`PAGES_PUBLIC_REDIRECT` (the public read was redirected, `toHost`
|
|
18632
|
+
says where). A free string within the pattern, not a closed
|
|
18633
|
+
enumeration; a client shows a generic sentence for a code it does
|
|
18634
|
+
not know.
|
|
18635
|
+
maxLength: 64
|
|
18636
|
+
minLength: 3
|
|
18637
|
+
pattern: ^[A-Z][A-Z0-9_]{2,63}$
|
|
18638
|
+
type: string
|
|
18639
|
+
journal:
|
|
18640
|
+
description: |
|
|
18641
|
+
`present`: the deploy wrote a kernel journal and the submission
|
|
18642
|
+
carries it as `kernelJournal`. `absent`: the deploy failed before
|
|
18643
|
+
any journal existed; `kernelJournal` must be omitted.
|
|
18644
|
+
enum:
|
|
18645
|
+
- present
|
|
18646
|
+
- absent
|
|
18647
|
+
type: string
|
|
18648
|
+
stage:
|
|
18649
|
+
description: |
|
|
18650
|
+
The deployment stage the failure happened in (for example
|
|
18651
|
+
`preflight`, `staging` or `observation`), when it happened in one.
|
|
18652
|
+
Absent for a failure before any stage ran.
|
|
18653
|
+
maxLength: 64
|
|
18654
|
+
minLength: 1
|
|
18655
|
+
pattern: ^[a-z][a-z0-9-]{0,63}$
|
|
18656
|
+
type: string
|
|
18657
|
+
toHost:
|
|
18658
|
+
description: |
|
|
18659
|
+
For a redirect failure, the lower-case host the public read was
|
|
18660
|
+
redirected to (an IDNA hostname, no scheme, port or path).
|
|
18661
|
+
maxLength: 253
|
|
18662
|
+
minLength: 1
|
|
18663
|
+
pattern: ^[a-z0-9](?:[a-z0-9.-]{0,251}[a-z0-9])?$
|
|
18664
|
+
type: string
|
|
18665
|
+
required:
|
|
18666
|
+
- journal
|
|
18667
|
+
- failureCode
|
|
18668
|
+
type: object
|
|
18669
|
+
ReceiptSubmissionVerifiedAt:
|
|
18670
|
+
additionalProperties: false
|
|
18671
|
+
description: |
|
|
18672
|
+
SCHEMA-3.17.0. The origin the workflow read the public marker at to
|
|
18673
|
+
verify the deploy. It can differ from `publicBaseUrl`: while a custom
|
|
18674
|
+
domain is being switched the verification origin is the one that
|
|
18675
|
+
answers over HTTPS right now, and the API records which one was read.
|
|
18676
|
+
properties:
|
|
18677
|
+
origin:
|
|
18678
|
+
description: |
|
|
18679
|
+
The https origin: scheme, lower-case host and an optional port,
|
|
18680
|
+
with no userinfo, path, query or fragment (no trailing slash).
|
|
18681
|
+
maxLength: 270
|
|
18682
|
+
minLength: 9
|
|
18683
|
+
pattern: ^https://[a-z0-9](?:[a-z0-9.-]{0,251}[a-z0-9])?(?::[0-9]{1,5})?$
|
|
18684
|
+
type: string
|
|
18685
|
+
required:
|
|
18686
|
+
- origin
|
|
18687
|
+
type: object
|
|
18356
18688
|
RecoveryCodeStatus:
|
|
18357
18689
|
additionalProperties: false
|
|
18358
18690
|
description: How many codes of the current recovery code set are still unused.
|
|
@@ -18748,7 +19080,7 @@ components:
|
|
|
18748
19080
|
type: object
|
|
18749
19081
|
SiteAttentionItem:
|
|
18750
19082
|
additionalProperties: false
|
|
18751
|
-
description: "Something that needs a person to act. The list is empty when nothing does. SCHEMA-3.3.0: `SCHEDULED_PUBLISH_FAILED` means a scheduled publish could not start at its time; `relatedPublishId` names the schedule and `reasonCode` the first precondition that failed (a client maps the values it knows to a sentence and shows a generic one otherwise); nothing was merged. `DOMAIN_PUBLISH_REQUIRED` means a custom domain is live and the next publish moves the site's address to it. `DOMAIN_DEGRADED` means a live custom domain stopped working; `reasonCode` names why and the domain read carries the next step. SCHEMA-3.9.0: on `REPOSITORY_NEEDS_UPDATE`, `reason` names the cause and `paths` the managed repository files involved, so a client can say what to do and list the files (both are absent from older servers and for other codes; show a generic sentence for a `reason` you do not know). `AUTHOR_EDITED`: a managed file differs from the version Galascribe manages and only the author may resolve it. `BRANCH_PROTECTION`: GitHub refused Galascribe's own repair commit. `REPOSITORY_ARCHIVED`: the repository is archived. `INSTALLATION_SUSPENDED`: the GitHub App installation is suspended. `WORKFLOWS_PERMISSION_MISSING`: the installation has not accepted the workflows permission. `AUTHORIZATION_LOST`: Galascribe lost its GitHub authorization. `FORBIDDEN`: GitHub refused for another permission reason. The same `reason` and `paths` ride on the `REPOSITORY_NEEDS_UPDATE` entry of a publish refusal's `errors`."
|
|
19083
|
+
description: "Something that needs a person to act. The list is empty when nothing does. SCHEMA-3.3.0: `SCHEDULED_PUBLISH_FAILED` means a scheduled publish could not start at its time; `relatedPublishId` names the schedule and `reasonCode` the first precondition that failed (a client maps the values it knows to a sentence and shows a generic one otherwise); nothing was merged. `DOMAIN_PUBLISH_REQUIRED` means a custom domain is live and the next publish moves the site's address to it. `DOMAIN_DEGRADED` means a live custom domain stopped working; `reasonCode` names why and the domain read carries the next step. SCHEMA-3.17.0 adds the domain `reasonCode` values `MOVE_FAILED` (the system move of the site's canonical base to or from the domain failed and will be retried), `MOVE_STUCK` (it failed three times and waits for the author to retry from the domain page), `MOVE_ABANDONED` (the move back to the github.io address on removal gave up) and `AUTHORITY_LAPSED` (the stored publish authority the move runs under could no longer be restated); the domain read's `baseMove` carries the same state. A client shows a generic sentence for a `reasonCode` it does not know. SCHEMA-3.9.0: on `REPOSITORY_NEEDS_UPDATE`, `reason` names the cause and `paths` the managed repository files involved, so a client can say what to do and list the files (both are absent from older servers and for other codes; show a generic sentence for a `reason` you do not know). `AUTHOR_EDITED`: a managed file differs from the version Galascribe manages and only the author may resolve it. `BRANCH_PROTECTION`: GitHub refused Galascribe's own repair commit. `REPOSITORY_ARCHIVED`: the repository is archived. `INSTALLATION_SUSPENDED`: the GitHub App installation is suspended. `WORKFLOWS_PERMISSION_MISSING`: the installation has not accepted the workflows permission. `AUTHORIZATION_LOST`: Galascribe lost its GitHub authorization. `FORBIDDEN`: GitHub refused for another permission reason. The same `reason` and `paths` ride on the `REPOSITORY_NEEDS_UPDATE` entry of a publish refusal's `errors`."
|
|
18752
19084
|
properties:
|
|
18753
19085
|
code:
|
|
18754
19086
|
enum:
|
|
@@ -18788,6 +19120,7 @@ components:
|
|
|
18788
19120
|
- FORBIDDEN
|
|
18789
19121
|
type: string
|
|
18790
19122
|
reasonCode:
|
|
19123
|
+
description: "A free string within the pattern. Known `DOMAIN_DEGRADED` values (SCHEMA-3.17.0): MOVE_FAILED, MOVE_STUCK, MOVE_ABANDONED, AUTHORITY_LAPSED; a client shows a generic sentence for any other."
|
|
18791
19124
|
maxLength: 80
|
|
18792
19125
|
minLength: 1
|
|
18793
19126
|
pattern: ^[A-Z][A-Z0-9]*(?:_[A-Z0-9]+)*$
|
|
@@ -18935,7 +19268,14 @@ components:
|
|
|
18935
19268
|
type: object
|
|
18936
19269
|
SitePublishing:
|
|
18937
19270
|
additionalProperties: false
|
|
19271
|
+
description: |
|
|
19272
|
+
The publish that is in flight. SCHEMA-3.17.0: `held` is present while
|
|
19273
|
+
that publish is `QUEUED` behind another operation that holds the site's
|
|
19274
|
+
destination (the same `OperationHeld` the operation read carries), so
|
|
19275
|
+
the Home screen can say who it is waiting for.
|
|
18938
19276
|
properties:
|
|
19277
|
+
held:
|
|
19278
|
+
$ref: "#/components/schemas/OperationHeld"
|
|
18939
19279
|
operationId:
|
|
18940
19280
|
format: uuid
|
|
18941
19281
|
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
|
|
@@ -19121,6 +19461,10 @@ components:
|
|
|
19121
19461
|
bearerFormat: Opaque publication-scoped reader token
|
|
19122
19462
|
scheme: bearer
|
|
19123
19463
|
type: http
|
|
19464
|
+
stripeWebhookSignature:
|
|
19465
|
+
in: header
|
|
19466
|
+
name: Stripe-Signature
|
|
19467
|
+
type: apiKey
|
|
19124
19468
|
info:
|
|
19125
19469
|
description: Executable Galascribe MVP HTTP contract.
|
|
19126
19470
|
title: Galascribe API
|
|
@@ -20245,6 +20589,103 @@ paths:
|
|
|
20245
20589
|
- NONE
|
|
20246
20590
|
x-gala-success-category: oauth-callback
|
|
20247
20591
|
x-gala-tenant-scope: NONE
|
|
20592
|
+
/v2/callbacks/stripe:
|
|
20593
|
+
post:
|
|
20594
|
+
description: |
|
|
20595
|
+
Stripe billing webhook. The body is the raw Stripe event JSON, opaque to this contract, authenticated by the `Stripe-Signature` header over the exact received bytes (`t=<unix>,v1=<hex>`, HMAC-SHA256 of `<t>.<raw body>`, five-minute tolerance). `200` means the event was accepted, including a duplicate delivery and an event type that is ignored. `400` is a malformed body or a missing, bad or expired signature. `503` means billing is not configured on this deployment.
|
|
20596
|
+
operationId: postCallbacksStripe
|
|
20597
|
+
parameters:
|
|
20598
|
+
- $ref: "#/components/parameters/XCorrelationId"
|
|
20599
|
+
- example: t=1700000000,v1=0000000000000000000000000000000000000000000000000000000000000000
|
|
20600
|
+
in: header
|
|
20601
|
+
name: Stripe-Signature
|
|
20602
|
+
required: true
|
|
20603
|
+
schema:
|
|
20604
|
+
maxLength: 1024
|
|
20605
|
+
minLength: 1
|
|
20606
|
+
type: string
|
|
20607
|
+
requestBody:
|
|
20608
|
+
content:
|
|
20609
|
+
application/json:
|
|
20610
|
+
examples:
|
|
20611
|
+
nominal:
|
|
20612
|
+
summary: Nominal valid request
|
|
20613
|
+
value: {}
|
|
20614
|
+
schema:
|
|
20615
|
+
$ref: "#/components/schemas/PostCallbacksStripeRequest"
|
|
20616
|
+
required: true
|
|
20617
|
+
responses:
|
|
20618
|
+
"200":
|
|
20619
|
+
content:
|
|
20620
|
+
application/json:
|
|
20621
|
+
examples:
|
|
20622
|
+
nominal:
|
|
20623
|
+
summary: Nominal successful response
|
|
20624
|
+
value:
|
|
20625
|
+
accepted: true
|
|
20626
|
+
schema:
|
|
20627
|
+
$ref: "#/components/schemas/PostCallbacksStripeResponse"
|
|
20628
|
+
description: accept an authenticated Stripe billing event succeeded
|
|
20629
|
+
headers:
|
|
20630
|
+
Cache-Control:
|
|
20631
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
20632
|
+
X-Correlation-Id:
|
|
20633
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
20634
|
+
"400":
|
|
20635
|
+
$ref: "#/components/responses/ValidationFailed"
|
|
20636
|
+
"413":
|
|
20637
|
+
$ref: "#/components/responses/RequestTooLarge"
|
|
20638
|
+
"415":
|
|
20639
|
+
$ref: "#/components/responses/UnsupportedMediaType"
|
|
20640
|
+
"503":
|
|
20641
|
+
content:
|
|
20642
|
+
application/problem+json:
|
|
20643
|
+
examples:
|
|
20644
|
+
DEPENDENCY_UNAVAILABLE:
|
|
20645
|
+
summary: DEPENDENCY_UNAVAILABLE
|
|
20646
|
+
value:
|
|
20647
|
+
code: DEPENDENCY_UNAVAILABLE
|
|
20648
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
20649
|
+
detail: See the operation contract.
|
|
20650
|
+
errors: []
|
|
20651
|
+
retryable: true
|
|
20652
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
20653
|
+
schemaVersion: 2.0.0
|
|
20654
|
+
status: 503
|
|
20655
|
+
title: DEPENDENCY_UNAVAILABLE
|
|
20656
|
+
type: urn:gala:problem:dependency-unavailable
|
|
20657
|
+
schema:
|
|
20658
|
+
$ref: "#/components/schemas/Problem"
|
|
20659
|
+
description: DEPENDENCY_UNAVAILABLE
|
|
20660
|
+
headers:
|
|
20661
|
+
Cache-Control:
|
|
20662
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
20663
|
+
X-Correlation-Id:
|
|
20664
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
20665
|
+
x-gala-problem-codes:
|
|
20666
|
+
- DEPENDENCY_UNAVAILABLE
|
|
20667
|
+
security:
|
|
20668
|
+
- stripeWebhookSignature: []
|
|
20669
|
+
summary: accept an authenticated Stripe billing event
|
|
20670
|
+
tags:
|
|
20671
|
+
- callbacks
|
|
20672
|
+
x-gala-activation-gate: MVP
|
|
20673
|
+
x-gala-activation-guards:
|
|
20674
|
+
- NONE
|
|
20675
|
+
x-gala-capability-key: null
|
|
20676
|
+
x-gala-concurrency: provider-event-id-idempotency-and-event-time-ordering
|
|
20677
|
+
x-gala-conditional-capabilities: []
|
|
20678
|
+
x-gala-example-profile: NOMINAL_SUCCESS_AND_EACH_REACHABLE_PROBLEM
|
|
20679
|
+
x-gala-nullability: required-and-nullable-are-explicit
|
|
20680
|
+
x-gala-purpose: accept an authenticated Stripe billing event
|
|
20681
|
+
x-gala-reachable-problems:
|
|
20682
|
+
- DEPENDENCY_UNAVAILABLE
|
|
20683
|
+
- VALIDATION_FAILED
|
|
20684
|
+
x-gala-replay-identity: stripe-event-id
|
|
20685
|
+
x-gala-state-guards:
|
|
20686
|
+
- NONE
|
|
20687
|
+
x-gala-success-category: billing-callback
|
|
20688
|
+
x-gala-tenant-scope: NONE
|
|
20248
20689
|
/v2/claims/{token}:
|
|
20249
20690
|
get:
|
|
20250
20691
|
description: |
|
|
@@ -25780,6 +26221,15 @@ paths:
|
|
|
25780
26221
|
x-gala-tenant-scope: ORGANIZATION_PATH
|
|
25781
26222
|
/v2/organizations/{organizationId}/operations/{operationId}:cancel:
|
|
25782
26223
|
post:
|
|
26224
|
+
description: |
|
|
26225
|
+
Cancels an operation that has produced no effect. From SCHEMA-3.17.0 an
|
|
26226
|
+
operation that is `executing` or `reconciling` may also be cancelled
|
|
26227
|
+
once its run has settled (a live run cannot be cancelled here), which
|
|
26228
|
+
closes the destination fence the operation holds in the same
|
|
26229
|
+
transaction, so a failed or lost deploy no longer leaves the site's
|
|
26230
|
+
destination held. The response is the operation after the cancel, with
|
|
26231
|
+
its `phase` and `reason` as they now stand. An admin API key with the
|
|
26232
|
+
`publish` scope may call it.
|
|
25783
26233
|
operationId: postOrganizationsByOrganizationIdOperationsByOperationIdCancel
|
|
25784
26234
|
parameters:
|
|
25785
26235
|
- $ref: "#/components/parameters/XCorrelationId"
|
|
@@ -26071,12 +26521,14 @@ paths:
|
|
|
26071
26521
|
- VALIDATION_FAILED
|
|
26072
26522
|
security:
|
|
26073
26523
|
- browserSession: []
|
|
26524
|
+
- adminApiKey: []
|
|
26074
26525
|
summary: cancel only before the effect fence
|
|
26075
26526
|
tags:
|
|
26076
26527
|
- organizations
|
|
26077
26528
|
x-gala-activation-gate: MVP
|
|
26078
26529
|
x-gala-activation-guards:
|
|
26079
26530
|
- NONE
|
|
26531
|
+
x-gala-api-key-scope: publish
|
|
26080
26532
|
x-gala-capability-key: organization.publications.admin
|
|
26081
26533
|
x-gala-capability-resolution: target-operation-current-capability-and-scope
|
|
26082
26534
|
x-gala-concurrency: operation-version-and-no-effect-proof
|
|
@@ -26096,7 +26548,7 @@ paths:
|
|
|
26096
26548
|
- VALIDATION_FAILED
|
|
26097
26549
|
x-gala-replay-identity: idempotency-key
|
|
26098
26550
|
x-gala-state-guards:
|
|
26099
|
-
- PublicationOperation:ACCEPTED|EXECUTING -> CANCELLED_NO_EFFECT with proof no effect crossed
|
|
26551
|
+
- PublicationOperation:ACCEPTED|EXECUTING|RECONCILING -> CANCELLED_NO_EFFECT with proof no effect crossed
|
|
26100
26552
|
x-gala-success-category: update
|
|
26101
26553
|
x-gala-tenant-scope: ORGANIZATION_PATH
|
|
26102
26554
|
/v2/organizations/{organizationId}/owner-transfers:
|
|
@@ -32710,6 +33162,21 @@ paths:
|
|
|
32710
33162
|
merged head's `gala/publication.json` `canonicalBase` is not the address
|
|
32711
33163
|
the site is served at (the active custom domain, else the github.io
|
|
32712
33164
|
address); the problem `detail` names the expected value.
|
|
33165
|
+
|
|
33166
|
+
SCHEMA-3.17.0: that problem also carries the optional members
|
|
33167
|
+
`expectedBase` (the address the site is served at, an https URL),
|
|
33168
|
+
`profileBase` (the base the profile carries now, as written),
|
|
33169
|
+
`domainState` (the custom domain's state that decided the expected
|
|
33170
|
+
base, absent without a domain) and `remedy` (one sentence for the
|
|
33171
|
+
author), so a client names both addresses and renders the `remedy`
|
|
33172
|
+
without parsing `detail`. The server first includes the pending "Site
|
|
33173
|
+
address" change in the publish, or proposes one inside the request, and
|
|
33174
|
+
returns the problem only when it cannot. `409 INVALID_SOURCE_STATE`
|
|
33175
|
+
with `errors[].code DOMAIN_NOT_READY` is returned while
|
|
33176
|
+
a custom domain is part-way through its switch and no address can be
|
|
33177
|
+
verified (after the Pages CNAME is set and before the certificate
|
|
33178
|
+
serves); it resolves on its own, and the domain read's `nextStep` says
|
|
33179
|
+
what is being waited on.
|
|
32713
33180
|
operationId: postOrganizationsByOrganizationIdPublicationsByPublicationIdChangesPublish
|
|
32714
33181
|
parameters:
|
|
32715
33182
|
- $ref: "#/components/parameters/XCorrelationId"
|
|
@@ -32897,7 +33364,11 @@ paths:
|
|
|
32897
33364
|
code: CANONICAL_BASE_MISMATCH
|
|
32898
33365
|
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
32899
33366
|
detail: See the operation contract.
|
|
33367
|
+
domainState: CERTIFICATE_PENDING
|
|
32900
33368
|
errors: []
|
|
33369
|
+
expectedBase: https://blog.example.com/
|
|
33370
|
+
profileBase: https://example.github.io/blog/
|
|
33371
|
+
remedy: Change the site address to https://blog.example.com/ and publish again.
|
|
32901
33372
|
retryable: false
|
|
32902
33373
|
schemaId: urn:gala:schema:problem:2.0.0
|
|
32903
33374
|
schemaVersion: 2.0.0
|
|
@@ -42166,7 +42637,7 @@ paths:
|
|
|
42166
42637
|
x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
|
|
42167
42638
|
/v2/organizations/{organizationId}/publications/{publicationId}/policy-settings:
|
|
42168
42639
|
get:
|
|
42169
|
-
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.
|
|
42640
|
+
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.
|
|
42170
42641
|
operationId: getOrganizationsByOrganizationIdPublicationsByPublicationIdPolicySettings
|
|
42171
42642
|
parameters:
|
|
42172
42643
|
- $ref: "#/components/parameters/XCorrelationId"
|
|
@@ -42288,6 +42759,33 @@ paths:
|
|
|
42288
42759
|
$ref: "#/components/headers/XCorrelationId"
|
|
42289
42760
|
x-gala-problem-codes:
|
|
42290
42761
|
- RESOURCE_NOT_FOUND
|
|
42762
|
+
"422":
|
|
42763
|
+
content:
|
|
42764
|
+
application/problem+json:
|
|
42765
|
+
examples:
|
|
42766
|
+
VALIDATION_FAILED:
|
|
42767
|
+
summary: VALIDATION_FAILED
|
|
42768
|
+
value:
|
|
42769
|
+
code: VALIDATION_FAILED
|
|
42770
|
+
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
42771
|
+
detail: See the operation contract.
|
|
42772
|
+
errors: []
|
|
42773
|
+
retryable: false
|
|
42774
|
+
schemaId: urn:gala:schema:problem:2.0.0
|
|
42775
|
+
schemaVersion: 2.0.0
|
|
42776
|
+
status: 422
|
|
42777
|
+
title: VALIDATION_FAILED
|
|
42778
|
+
type: urn:gala:problem:validation-failed
|
|
42779
|
+
schema:
|
|
42780
|
+
$ref: "#/components/schemas/Problem"
|
|
42781
|
+
description: VALIDATION_FAILED
|
|
42782
|
+
headers:
|
|
42783
|
+
Cache-Control:
|
|
42784
|
+
$ref: "#/components/headers/CacheControlNoStore"
|
|
42785
|
+
X-Correlation-Id:
|
|
42786
|
+
$ref: "#/components/headers/XCorrelationId"
|
|
42787
|
+
x-gala-problem-codes:
|
|
42788
|
+
- VALIDATION_FAILED
|
|
42291
42789
|
"429":
|
|
42292
42790
|
content:
|
|
42293
42791
|
application/problem+json:
|
|
@@ -44255,6 +44753,20 @@ paths:
|
|
|
44255
44753
|
after it was written. The App's remedy for the second cause is
|
|
44256
44754
|
`POST .../repository-changes/{changeId}:bring-up-to-date` followed
|
|
44257
44755
|
by review and publish again (journey state U2).
|
|
44756
|
+
|
|
44757
|
+
SCHEMA-3.17.0 adds a third cause: `errors[].code DOMAIN_NOT_READY`,
|
|
44758
|
+
returned while the site's custom domain is part-way
|
|
44759
|
+
through its switch and no address can be verified (after the Pages
|
|
44760
|
+
CNAME is set and before the certificate serves). It is short and
|
|
44761
|
+
resolves on its own, so the author waits; the domain read's `nextStep`
|
|
44762
|
+
says `WAIT_FOR_MOVE` or `WAIT_FOR_CERTIFICATE`.
|
|
44763
|
+
|
|
44764
|
+
`409 CANONICAL_BASE_MISMATCH` carries the optional problem members
|
|
44765
|
+
`expectedBase`, `profileBase`, `domainState` and `remedy`
|
|
44766
|
+
(SCHEMA-3.17.0), so a client can name the two addresses and render the
|
|
44767
|
+
`remedy` without parsing `detail`. The server first tries to fix the
|
|
44768
|
+
mismatch itself by including the pending "Site address" change in the
|
|
44769
|
+
publish; the problem is returned only when it cannot.
|
|
44258
44770
|
operationId: postOrganizationsByOrganizationIdPublicationsByPublicationIdPublishes
|
|
44259
44771
|
parameters:
|
|
44260
44772
|
- $ref: "#/components/parameters/XCorrelationId"
|
|
@@ -44442,7 +44954,11 @@ paths:
|
|
|
44442
44954
|
code: CANONICAL_BASE_MISMATCH
|
|
44443
44955
|
correlationId: 018f0000-0000-7000-8000-000000000001
|
|
44444
44956
|
detail: See the operation contract.
|
|
44957
|
+
domainState: CERTIFICATE_PENDING
|
|
44445
44958
|
errors: []
|
|
44959
|
+
expectedBase: https://blog.example.com/
|
|
44960
|
+
profileBase: https://example.github.io/blog/
|
|
44961
|
+
remedy: Change the site address to https://blog.example.com/ and publish again.
|
|
44446
44962
|
retryable: false
|
|
44447
44963
|
schemaId: urn:gala:schema:problem:2.0.0
|
|
44448
44964
|
schemaVersion: 2.0.0
|