@rathnasgala2/schemas 3.40.0 → 3.41.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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "package": "@rathnasgala2/schemas@3.40.0",
3
+ "package": "@rathnasgala2/schemas@3.41.0",
4
4
  "source": "package-lock.json",
5
5
  "dependencies": [
6
6
  {
@@ -3222,6 +3222,7 @@
3222
3222
  "capabilityKeys": ["publication.settings.manage", "publication.view"],
3223
3223
  "apiOperationIds": [
3224
3224
  "deleteOrganizationsByOrganizationIdPublicationsByPublicationIdSyndicationConnectionsByConnectionId",
3225
+ "getCallbacksXOauth",
3225
3226
  "getOrganizationsByOrganizationIdPublicationsByPublicationIdSyndicationConnections",
3226
3227
  "getOrganizationsByOrganizationIdPublicationsByPublicationIdSyndicationConnectionsByConnectionId",
3227
3228
  "getOrganizationsByOrganizationIdPublicationsByPublicationIdSyndicationDeliveries",
@@ -3230,6 +3231,7 @@
3230
3231
  "postOrganizationsByOrganizationIdPublicationsByPublicationIdSyndicationConnectionsByConnectionIdReplaceCredential",
3231
3232
  "postOrganizationsByOrganizationIdPublicationsByPublicationIdSyndicationConnectionsByConnectionIdResume",
3232
3233
  "postOrganizationsByOrganizationIdPublicationsByPublicationIdSyndicationConnectionsByConnectionIdVerify",
3234
+ "postOrganizationsByOrganizationIdPublicationsByPublicationIdSyndicationConnectionsXAuthorize",
3233
3235
  "postOrganizationsByOrganizationIdPublicationsByPublicationIdSyndicationDeliveries",
3234
3236
  "postOrganizationsByOrganizationIdPublicationsByPublicationIdSyndicationDeliveriesByDeliveryIdRetry"
3235
3237
  ],
@@ -3759,5 +3761,5 @@
3759
3761
  ]
3760
3762
  }
3761
3763
  ],
3762
- "digest": "sha256:da951053ced5e845b1994317d0ac5dedd13676f12e0013d25e9b026a0c0da285"
3764
+ "digest": "sha256:7cbb42b552bf9e04d74c01c2abbcf50de684bcd74fc1f5f8f4f36be7b59f564f"
3763
3765
  }
@@ -229,9 +229,9 @@
229
229
  "version": "2.0.0",
230
230
  "path": "openapi/openapi.yaml",
231
231
  "materialized": true,
232
- "sourceDigest": "sha256:d39cfe63299c7e04e2e4c4127130e6880cafca135cd0889124a849c469bb7a77",
232
+ "sourceDigest": "sha256:4a900ecbc6118116001779afb71afe88fce5c97b08f8a955c54c4359f57e5d4d",
233
233
  "typescriptRootType": null
234
234
  }
235
235
  ],
236
- "digest": "sha256:89ec466312679842755188c4cc0963fc38981c1e0c1a1edbe26b8125ee459a4a"
236
+ "digest": "sha256:06ab0cbc82777d1d3d0fc5bbbb170f2bd7681588dbfcfb7c59318923b4690c28"
237
237
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "2.0.0",
3
3
  "sourceDesignRevision": "a53052955ceb6c1aa10c886289dc832eedfe6de0a00004df07d353ac19c4403a",
4
- "openApiDigest": "sha256:d39cfe63299c7e04e2e4c4127130e6880cafca135cd0889124a849c469bb7a77",
4
+ "openApiDigest": "sha256:4a900ecbc6118116001779afb71afe88fce5c97b08f8a955c54c4359f57e5d4d",
5
5
  "operations": [
6
6
  {
7
7
  "operationId": "getInternalHealth",
@@ -146,6 +146,19 @@
146
146
  "apiKeyScope": null,
147
147
  "sourceFragment": "callbacks"
148
148
  },
149
+ {
150
+ "operationId": "getCallbacksXOauth",
151
+ "method": "GET",
152
+ "path": "/v2/callbacks/x/oauth",
153
+ "purpose": "consume the exact X OAuth callback transaction",
154
+ "capabilityKey": null,
155
+ "conditionalCapabilityKeys": [],
156
+ "activationGate": "MVP",
157
+ "assuranceClass": "SESSION",
158
+ "actionGrant": "none",
159
+ "apiKeyScope": null,
160
+ "sourceFragment": "callbacks"
161
+ },
149
162
  {
150
163
  "operationId": "getClaimsByToken",
151
164
  "method": "GET",
@@ -2347,6 +2360,19 @@
2347
2360
  "apiKeyScope": null,
2348
2361
  "sourceFragment": "syndication"
2349
2362
  },
2363
+ {
2364
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdSyndicationConnectionsXAuthorize",
2365
+ "method": "POST",
2366
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/syndication-connections/x:authorize",
2367
+ "purpose": "start connecting X",
2368
+ "capabilityKey": "publication.settings.manage",
2369
+ "conditionalCapabilityKeys": [],
2370
+ "activationGate": "MVP",
2371
+ "assuranceClass": "SESSION",
2372
+ "actionGrant": "none",
2373
+ "apiKeyScope": null,
2374
+ "sourceFragment": "syndication"
2375
+ },
2350
2376
  {
2351
2377
  "operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdSyndicationDeliveries",
2352
2378
  "method": "GET",
@@ -3843,5 +3869,5 @@
3843
3869
  "sourceFragment": "workloads"
3844
3870
  }
3845
3871
  ],
3846
- "digest": "sha256:d11e92e7c9ce052e2ad9a46724c2c06954925864442076dea4612e8e85ea6ef8"
3872
+ "digest": "sha256:1e95229acb1fc8413bba7472f5bfd5be3cb571c81488df439b389f061cde022d"
3847
3873
  }
@@ -19367,6 +19367,9 @@ components:
19367
19367
  PostOrganizationsByOrganizationIdPublicationsByPublicationIdSyndicationConnectionsResponse:
19368
19368
  allOf:
19369
19369
  - $ref: "#/components/schemas/SyndicationConnection"
19370
+ PostOrganizationsByOrganizationIdPublicationsByPublicationIdSyndicationConnectionsXAuthorizeResponse:
19371
+ allOf:
19372
+ - $ref: "#/components/schemas/SyndicationXAuthorization"
19370
19373
  PostOrganizationsByOrganizationIdPublicationsByPublicationIdSyndicationDeliveriesByDeliveryIdRetryResponse:
19371
19374
  allOf:
19372
19375
  - $ref: "#/components/schemas/SyndicationDelivery"
@@ -23827,6 +23830,9 @@ components:
23827
23830
  maxLength: 200
23828
23831
  minLength: 1
23829
23832
  type: string
23833
+ allowance:
23834
+ $ref: "#/components/schemas/SyndicationWeeklyAllowance"
23835
+ description: SCHEMA-3.41.0. Present when `kind` is `x`, the organization's X posts left this UTC week.
23830
23836
  attention:
23831
23837
  $ref: "#/components/schemas/SyndicationConnectionAttention"
23832
23838
  createdAt:
@@ -23856,7 +23862,7 @@ components:
23856
23862
  description: SCHEMA-3.37.0. Why a connection stopped posting, present while its `status` is `NEEDS_ATTENTION`. `message` is written for the author.
23857
23863
  properties:
23858
23864
  code:
23859
- description: A stable upper-case reason, for example `CREDENTIAL_REJECTED`. A client shows a value it does not know as `message`.
23865
+ description: "A stable upper-case reason, for example `CREDENTIAL_REJECTED`, or `REAUTHORIZE` (SCHEMA-3.41.0: X refused the saved refresh token, so the person must press Connect X again). A client shows a value it does not know as `message`."
23860
23866
  maxLength: 64
23861
23867
  minLength: 1
23862
23868
  pattern: ^[A-Z][A-Z0-9_]*$
@@ -23974,7 +23980,6 @@ components:
23974
23980
  mastodon: "#/components/schemas/SyndicationCredentialMastodon"
23975
23981
  telegram: "#/components/schemas/SyndicationCredentialTelegram"
23976
23982
  wordpress: "#/components/schemas/SyndicationCredentialWordpress"
23977
- x: "#/components/schemas/SyndicationCredentialX"
23978
23983
  propertyName: kind
23979
23984
  oneOf:
23980
23985
  - $ref: "#/components/schemas/SyndicationCredentialDevto"
@@ -23985,7 +23990,6 @@ components:
23985
23990
  - $ref: "#/components/schemas/SyndicationCredentialDiscord"
23986
23991
  - $ref: "#/components/schemas/SyndicationCredentialWordpress"
23987
23992
  - $ref: "#/components/schemas/SyndicationCredentialGhost"
23988
- - $ref: "#/components/schemas/SyndicationCredentialX"
23989
23993
  SyndicationCredentialBluesky:
23990
23994
  additionalProperties: false
23991
23995
  description: SCHEMA-3.37.0. A Bluesky handle and app password.
@@ -24184,41 +24188,6 @@ components:
24184
24188
  - username
24185
24189
  - applicationPassword
24186
24190
  type: object
24187
- SyndicationCredentialX:
24188
- additionalProperties: false
24189
- description: SCHEMA-3.40.0. The author's own X developer app, OAuth 1.0a user context with Read and Write. X bills the author's developer account for every post.
24190
- properties:
24191
- accessToken:
24192
- maxLength: 200
24193
- minLength: 8
24194
- type: string
24195
- writeOnly: true
24196
- accessTokenSecret:
24197
- maxLength: 200
24198
- minLength: 8
24199
- type: string
24200
- writeOnly: true
24201
- apiKey:
24202
- maxLength: 200
24203
- minLength: 8
24204
- type: string
24205
- writeOnly: true
24206
- apiKeySecret:
24207
- maxLength: 200
24208
- minLength: 8
24209
- type: string
24210
- writeOnly: true
24211
- kind:
24212
- pattern: ^x$
24213
- type: string
24214
- x-gala-const: x
24215
- required:
24216
- - kind
24217
- - apiKey
24218
- - apiKeySecret
24219
- - accessToken
24220
- - accessTokenSecret
24221
- type: object
24222
24191
  SyndicationDelivery:
24223
24192
  additionalProperties: false
24224
24193
  description: SCHEMA-3.37.0. One post of one live article to one platform. `connectionId` is absent once the connection was removed; `kind` and `accountLabel` stay. `externalUrl` is the post on the platform, absent for `discord` and until the delivery is `SENT`.
@@ -24282,7 +24251,7 @@ components:
24282
24251
  description: SCHEMA-3.37.0. Why a delivery failed. `message` is the platform's own words when it gave any, else Galascribe's.
24283
24252
  properties:
24284
24253
  code:
24285
- description: A stable upper-case reason, for example `CREDENTIAL_REJECTED`, `PLATFORM_REJECTED` or `RETRIES_EXHAUSTED`. A client shows a value it does not know as `message`.
24254
+ description: A stable upper-case reason, for example `CREDENTIAL_REJECTED`, `PLATFORM_REJECTED`, `RETRIES_EXHAUSTED` or, since SCHEMA-3.41.0, `WEEKLY_ALLOWANCE_SPENT` (an X delivery, status `FAILED`, message "X posts for this week are used. They come back on <Mon d>."; a manual retry after the allowance renews works). A client shows a value it does not know as `message`.
24286
24255
  maxLength: 64
24287
24256
  minLength: 1
24288
24257
  pattern: ^[A-Z][A-Z0-9_]*$
@@ -24369,6 +24338,46 @@ components:
24369
24338
  required:
24370
24339
  - credential
24371
24340
  type: object
24341
+ SyndicationWeeklyAllowance:
24342
+ additionalProperties: false
24343
+ description: SCHEMA-3.41.0. How many X posts the organization has left this UTC week. The allowance follows the organization's plan (2 on Basic and 5 on Pro by default, as the platform settings say) and is shared by every X connection of the organization. Wording follows `InterviewPolicy.quota`.
24344
+ properties:
24345
+ limit:
24346
+ format: int64
24347
+ minimum: 0
24348
+ type: integer
24349
+ period:
24350
+ description: The UTC week the allowance counts in, as its Monday, `YYYY-MM-DD`
24351
+ format: date
24352
+ pattern: ^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])$
24353
+ type: string
24354
+ remaining:
24355
+ format: int64
24356
+ minimum: 0
24357
+ type: integer
24358
+ renewsAt:
24359
+ $ref: "#/components/schemas/PortableProblemRfc3339"
24360
+ description: The first instant of the next UTC week (Monday 00:00Z), when the allowance comes back
24361
+ required:
24362
+ - period
24363
+ - renewsAt
24364
+ - limit
24365
+ - remaining
24366
+ type: object
24367
+ SyndicationXAuthorization:
24368
+ additionalProperties: false
24369
+ description: SCHEMA-3.41.0. Where to send the person to let Galascribe's own X app post for them. Open `authorizationUrl` (x.com); X brings the browser back to `GET /v2/callbacks/x/oauth` within 10 minutes (`expiresAt`).
24370
+ properties:
24371
+ authorizationUrl:
24372
+ format: uri
24373
+ maxLength: 2048
24374
+ type: string
24375
+ expiresAt:
24376
+ $ref: "#/components/schemas/PortableProblemRfc3339"
24377
+ required:
24378
+ - authorizationUrl
24379
+ - expiresAt
24380
+ type: object
24372
24381
  VerificationPlanEntry:
24373
24382
  additionalProperties: false
24374
24383
  properties:
@@ -25809,6 +25818,77 @@ paths:
25809
25818
  - NONE
25810
25819
  x-gala-success-category: billing-callback
25811
25820
  x-gala-tenant-scope: NONE
25821
+ /v2/callbacks/x/oauth:
25822
+ get:
25823
+ description: |
25824
+ SCHEMA-3.41.0. The address X sends the person back to after the consent screen. It never answers with a problem document for what the provider sends: every outcome is a `303` to the App at `/settings/syndication?x=<connectionId>` on success or `/settings/syndication?xError=<code>` with `<code>` one of `DENIED` (the person refused on x.com), `EXPIRED` (the state is unknown or older than 10 minutes), `LIMIT` (the publication is at its connection limit), `REJECTED` (X refused the code or the account read) or `UNAVAILABLE` (X could not be reached or is not configured). Reconnecting an X account already connected to the same publication replaces its tokens in place (same connection) and clears attention. `code`, `state`, `error` and `error_description` are never logged or echoed. Only a value longer than its limit is refused as `400 VALIDATION_FAILED`, before any connection is touched.
25825
+ operationId: getCallbacksXOauth
25826
+ parameters:
25827
+ - $ref: "#/components/parameters/XCorrelationId"
25828
+ - example: example
25829
+ in: query
25830
+ name: code
25831
+ required: false
25832
+ schema:
25833
+ maxLength: 8192
25834
+ minLength: 1
25835
+ type: string
25836
+ - example: example
25837
+ in: query
25838
+ name: state
25839
+ required: false
25840
+ schema:
25841
+ maxLength: 8192
25842
+ minLength: 1
25843
+ type: string
25844
+ - example: example
25845
+ in: query
25846
+ name: error
25847
+ required: false
25848
+ schema:
25849
+ maxLength: 8192
25850
+ minLength: 1
25851
+ type: string
25852
+ - example: example
25853
+ in: query
25854
+ name: error_description
25855
+ required: false
25856
+ schema:
25857
+ maxLength: 8192
25858
+ minLength: 1
25859
+ type: string
25860
+ responses:
25861
+ "303":
25862
+ description: consume the exact X OAuth callback transaction succeeded
25863
+ headers:
25864
+ Cache-Control:
25865
+ $ref: "#/components/headers/CacheControlNoStore"
25866
+ Location:
25867
+ $ref: "#/components/headers/Location"
25868
+ X-Correlation-Id:
25869
+ $ref: "#/components/headers/XCorrelationId"
25870
+ "400":
25871
+ $ref: "#/components/responses/ValidationFailed"
25872
+ security: []
25873
+ summary: consume the exact X OAuth callback transaction
25874
+ tags:
25875
+ - callbacks
25876
+ x-gala-activation-gate: MVP
25877
+ x-gala-activation-guards:
25878
+ - NONE
25879
+ x-gala-capability-key: null
25880
+ x-gala-concurrency: single-use-transaction
25881
+ x-gala-conditional-capabilities: []
25882
+ x-gala-example-profile: NOMINAL_SUCCESS_AND_EACH_REACHABLE_PROBLEM
25883
+ x-gala-nullability: required-and-nullable-are-explicit
25884
+ x-gala-purpose: consume the exact X OAuth callback transaction
25885
+ x-gala-reachable-problems:
25886
+ - VALIDATION_FAILED
25887
+ x-gala-replay-identity: oauth-state
25888
+ x-gala-state-guards:
25889
+ - NONE
25890
+ x-gala-success-category: oauth-callback
25891
+ x-gala-tenant-scope: NONE
25812
25892
  /v2/claims/{token}:
25813
25893
  get:
25814
25894
  description: |
@@ -65404,6 +65484,298 @@ paths:
65404
65484
  - NONE
65405
65485
  x-gala-success-category: create
65406
65486
  x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
65487
+ /v2/organizations/{organizationId}/publications/{publicationId}/syndication-connections/x:authorize:
65488
+ post:
65489
+ description: "SCHEMA-3.41.0. Starts connecting X. Galascribe's own X app posts on the author's behalf: the author never handles keys, X bills Galascribe, and the organization's plan sets a weekly allowance of X posts (2 on Basic, 5 on Pro by default; none on Free). The answer carries the address on x.com to send the person to; X brings the browser back to `GET /v2/callbacks/x/oauth` within 10 minutes, which saves the connection and lands on the Syndication settings page. Needs `publication.settings.manage`. `409 PLAN_REQUIRED` when the plan allows no X posts, `409 SYNDICATION_CONNECTION_LIMIT` at 12 connections, `503 SYNDICATION_X_NOT_CONFIGURED` when the platform operator has not configured the X app, `429 RATE_LIMITED` after too many attempts."
65490
+ operationId: postOrganizationsByOrganizationIdPublicationsByPublicationIdSyndicationConnectionsXAuthorize
65491
+ parameters:
65492
+ - $ref: "#/components/parameters/XCorrelationId"
65493
+ - example: 018f0000-0000-7000-8000-000000000001
65494
+ in: path
65495
+ name: organizationId
65496
+ required: true
65497
+ schema:
65498
+ format: uuid
65499
+ pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
65500
+ type: string
65501
+ - example: 018f0000-0000-7000-8000-000000000001
65502
+ in: path
65503
+ name: publicationId
65504
+ required: true
65505
+ schema:
65506
+ format: uuid
65507
+ pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
65508
+ type: string
65509
+ - $ref: "#/components/parameters/IdempotencyKey"
65510
+ - $ref: "#/components/parameters/XCsrfToken"
65511
+ responses:
65512
+ "201":
65513
+ content:
65514
+ application/json:
65515
+ examples:
65516
+ nominal:
65517
+ summary: Nominal successful response
65518
+ value:
65519
+ authorizationUrl: https://x.com/i/oauth2/authorize?response_type=code&client_id=example-client-id&state=example-state
65520
+ expiresAt: "2026-11-06T12:10:00.000Z"
65521
+ schema:
65522
+ $ref: "#/components/schemas/PostOrganizationsByOrganizationIdPublicationsByPublicationIdSyndicationConnectionsXAuthorizeResponse"
65523
+ description: start connecting X succeeded
65524
+ headers:
65525
+ Cache-Control:
65526
+ $ref: "#/components/headers/CacheControlNoStore"
65527
+ Location:
65528
+ $ref: "#/components/headers/Location"
65529
+ X-Correlation-Id:
65530
+ $ref: "#/components/headers/XCorrelationId"
65531
+ "400":
65532
+ content:
65533
+ application/problem+json:
65534
+ examples:
65535
+ VALIDATION_FAILED:
65536
+ summary: VALIDATION_FAILED
65537
+ value:
65538
+ code: VALIDATION_FAILED
65539
+ correlationId: 018f0000-0000-7000-8000-000000000001
65540
+ detail: See the operation contract.
65541
+ errors: []
65542
+ retryable: false
65543
+ schemaId: urn:gala:schema:problem:2.0.0
65544
+ schemaVersion: 2.0.0
65545
+ status: 400
65546
+ title: VALIDATION_FAILED
65547
+ type: urn:gala:problem:validation-failed
65548
+ schema:
65549
+ $ref: "#/components/schemas/Problem"
65550
+ description: VALIDATION_FAILED
65551
+ headers:
65552
+ Cache-Control:
65553
+ $ref: "#/components/headers/CacheControlNoStore"
65554
+ X-Correlation-Id:
65555
+ $ref: "#/components/headers/XCorrelationId"
65556
+ x-gala-problem-codes:
65557
+ - VALIDATION_FAILED
65558
+ "401":
65559
+ content:
65560
+ application/problem+json:
65561
+ examples:
65562
+ AUTHENTICATION_REQUIRED:
65563
+ summary: AUTHENTICATION_REQUIRED
65564
+ value:
65565
+ code: AUTHENTICATION_REQUIRED
65566
+ correlationId: 018f0000-0000-7000-8000-000000000001
65567
+ detail: See the operation contract.
65568
+ errors: []
65569
+ retryable: false
65570
+ schemaId: urn:gala:schema:problem:2.0.0
65571
+ schemaVersion: 2.0.0
65572
+ status: 401
65573
+ title: AUTHENTICATION_REQUIRED
65574
+ type: urn:gala:problem:authentication-required
65575
+ schema:
65576
+ $ref: "#/components/schemas/Problem"
65577
+ description: AUTHENTICATION_REQUIRED
65578
+ headers:
65579
+ Cache-Control:
65580
+ $ref: "#/components/headers/CacheControlNoStore"
65581
+ X-Correlation-Id:
65582
+ $ref: "#/components/headers/XCorrelationId"
65583
+ x-gala-problem-codes:
65584
+ - AUTHENTICATION_REQUIRED
65585
+ "403":
65586
+ content:
65587
+ application/problem+json:
65588
+ examples:
65589
+ AUTHORIZATION_DENIED:
65590
+ summary: AUTHORIZATION_DENIED
65591
+ value:
65592
+ code: AUTHORIZATION_DENIED
65593
+ correlationId: 018f0000-0000-7000-8000-000000000001
65594
+ detail: See the operation contract.
65595
+ errors: []
65596
+ retryable: false
65597
+ schemaId: urn:gala:schema:problem:2.0.0
65598
+ schemaVersion: 2.0.0
65599
+ status: 403
65600
+ title: AUTHORIZATION_DENIED
65601
+ type: urn:gala:problem:authorization-denied
65602
+ schema:
65603
+ $ref: "#/components/schemas/Problem"
65604
+ description: AUTHORIZATION_DENIED
65605
+ headers:
65606
+ Cache-Control:
65607
+ $ref: "#/components/headers/CacheControlNoStore"
65608
+ X-Correlation-Id:
65609
+ $ref: "#/components/headers/XCorrelationId"
65610
+ x-gala-problem-codes:
65611
+ - AUTHORIZATION_DENIED
65612
+ "404":
65613
+ content:
65614
+ application/problem+json:
65615
+ examples:
65616
+ RESOURCE_NOT_FOUND:
65617
+ summary: RESOURCE_NOT_FOUND
65618
+ value:
65619
+ code: RESOURCE_NOT_FOUND
65620
+ correlationId: 018f0000-0000-7000-8000-000000000001
65621
+ detail: See the operation contract.
65622
+ errors: []
65623
+ retryable: false
65624
+ schemaId: urn:gala:schema:problem:2.0.0
65625
+ schemaVersion: 2.0.0
65626
+ status: 404
65627
+ title: RESOURCE_NOT_FOUND
65628
+ type: urn:gala:problem:resource-not-found
65629
+ schema:
65630
+ $ref: "#/components/schemas/Problem"
65631
+ description: RESOURCE_NOT_FOUND
65632
+ headers:
65633
+ Cache-Control:
65634
+ $ref: "#/components/headers/CacheControlNoStore"
65635
+ X-Correlation-Id:
65636
+ $ref: "#/components/headers/XCorrelationId"
65637
+ x-gala-problem-codes:
65638
+ - RESOURCE_NOT_FOUND
65639
+ "409":
65640
+ content:
65641
+ application/problem+json:
65642
+ examples:
65643
+ COMMAND_REPLAY_CONFLICT:
65644
+ summary: COMMAND_REPLAY_CONFLICT
65645
+ value:
65646
+ code: COMMAND_REPLAY_CONFLICT
65647
+ correlationId: 018f0000-0000-7000-8000-000000000001
65648
+ detail: See the operation contract.
65649
+ errors: []
65650
+ retryable: false
65651
+ schemaId: urn:gala:schema:problem:2.0.0
65652
+ schemaVersion: 2.0.0
65653
+ status: 409
65654
+ title: COMMAND_REPLAY_CONFLICT
65655
+ type: urn:gala:problem:command-replay-conflict
65656
+ PLAN_REQUIRED:
65657
+ summary: PLAN_REQUIRED
65658
+ value:
65659
+ code: PLAN_REQUIRED
65660
+ correlationId: 018f0000-0000-7000-8000-000000000001
65661
+ detail: See the operation contract.
65662
+ errors: []
65663
+ retryable: false
65664
+ schemaId: urn:gala:schema:problem:2.0.0
65665
+ schemaVersion: 2.0.0
65666
+ status: 409
65667
+ title: PLAN_REQUIRED
65668
+ type: urn:gala:problem:plan-required
65669
+ SYNDICATION_CONNECTION_LIMIT:
65670
+ summary: SYNDICATION_CONNECTION_LIMIT
65671
+ value:
65672
+ code: SYNDICATION_CONNECTION_LIMIT
65673
+ correlationId: 018f0000-0000-7000-8000-000000000001
65674
+ detail: See the operation contract.
65675
+ errors: []
65676
+ retryable: false
65677
+ schemaId: urn:gala:schema:problem:2.0.0
65678
+ schemaVersion: 2.0.0
65679
+ status: 409
65680
+ title: SYNDICATION_CONNECTION_LIMIT
65681
+ type: urn:gala:problem:syndication-connection-limit
65682
+ schema:
65683
+ $ref: "#/components/schemas/Problem"
65684
+ description: COMMAND_REPLAY_CONFLICT, PLAN_REQUIRED, SYNDICATION_CONNECTION_LIMIT
65685
+ headers:
65686
+ Cache-Control:
65687
+ $ref: "#/components/headers/CacheControlNoStore"
65688
+ X-Correlation-Id:
65689
+ $ref: "#/components/headers/XCorrelationId"
65690
+ x-gala-problem-codes:
65691
+ - COMMAND_REPLAY_CONFLICT
65692
+ - PLAN_REQUIRED
65693
+ - SYNDICATION_CONNECTION_LIMIT
65694
+ "429":
65695
+ content:
65696
+ application/problem+json:
65697
+ examples:
65698
+ RATE_LIMITED:
65699
+ summary: RATE_LIMITED
65700
+ value:
65701
+ code: RATE_LIMITED
65702
+ correlationId: 018f0000-0000-7000-8000-000000000001
65703
+ detail: See the operation contract.
65704
+ errors: []
65705
+ retryable: true
65706
+ schemaId: urn:gala:schema:problem:2.0.0
65707
+ schemaVersion: 2.0.0
65708
+ status: 429
65709
+ title: RATE_LIMITED
65710
+ type: urn:gala:problem:rate-limited
65711
+ schema:
65712
+ $ref: "#/components/schemas/Problem"
65713
+ description: RATE_LIMITED
65714
+ headers:
65715
+ Cache-Control:
65716
+ $ref: "#/components/headers/CacheControlNoStore"
65717
+ Retry-After:
65718
+ $ref: "#/components/headers/RetryAfter"
65719
+ X-Correlation-Id:
65720
+ $ref: "#/components/headers/XCorrelationId"
65721
+ x-gala-problem-codes:
65722
+ - RATE_LIMITED
65723
+ "503":
65724
+ content:
65725
+ application/problem+json:
65726
+ examples:
65727
+ SYNDICATION_X_NOT_CONFIGURED:
65728
+ summary: SYNDICATION_X_NOT_CONFIGURED
65729
+ value:
65730
+ code: SYNDICATION_X_NOT_CONFIGURED
65731
+ correlationId: 018f0000-0000-7000-8000-000000000001
65732
+ detail: See the operation contract.
65733
+ errors: []
65734
+ retryable: false
65735
+ schemaId: urn:gala:schema:problem:2.0.0
65736
+ schemaVersion: 2.0.0
65737
+ status: 503
65738
+ title: SYNDICATION_X_NOT_CONFIGURED
65739
+ type: urn:gala:problem:syndication-x-not-configured
65740
+ schema:
65741
+ $ref: "#/components/schemas/Problem"
65742
+ description: SYNDICATION_X_NOT_CONFIGURED
65743
+ headers:
65744
+ Cache-Control:
65745
+ $ref: "#/components/headers/CacheControlNoStore"
65746
+ X-Correlation-Id:
65747
+ $ref: "#/components/headers/XCorrelationId"
65748
+ x-gala-problem-codes:
65749
+ - SYNDICATION_X_NOT_CONFIGURED
65750
+ security:
65751
+ - browserSession: []
65752
+ summary: start connecting X
65753
+ tags:
65754
+ - syndication
65755
+ x-gala-activation-gate: MVP
65756
+ x-gala-activation-guards:
65757
+ - NONE
65758
+ x-gala-capability-key: publication.settings.manage
65759
+ x-gala-concurrency: authorization-and-publication-epochs
65760
+ x-gala-conditional-capabilities: []
65761
+ x-gala-example-profile: NOMINAL_SUCCESS_AND_EACH_REACHABLE_PROBLEM
65762
+ x-gala-nullability: required-and-nullable-are-explicit
65763
+ x-gala-purpose: start connecting X
65764
+ x-gala-reachable-problems:
65765
+ - AUTHENTICATION_REQUIRED
65766
+ - AUTHORIZATION_DENIED
65767
+ - COMMAND_REPLAY_CONFLICT
65768
+ - PLAN_REQUIRED
65769
+ - RATE_LIMITED
65770
+ - RESOURCE_NOT_FOUND
65771
+ - SYNDICATION_CONNECTION_LIMIT
65772
+ - SYNDICATION_X_NOT_CONFIGURED
65773
+ - VALIDATION_FAILED
65774
+ x-gala-replay-identity: idempotency-key
65775
+ x-gala-state-guards:
65776
+ - NONE
65777
+ x-gala-success-category: create
65778
+ x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
65407
65779
  /v2/organizations/{organizationId}/publications/{publicationId}/syndication-connections/{connectionId}:
65408
65780
  delete:
65409
65781
  description: Removes the connection and destroys its saved credential. Posts already made stay on the platform; its deliveries stay in the history with their kind and account name. Needs `publication.settings.manage`. Removing a connection that is already gone answers `404 SYNDICATION_CONNECTION_NOT_FOUND`.
@@ -66056,7 +66428,7 @@ paths:
66056
66428
  x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
66057
66429
  /v2/organizations/{organizationId}/publications/{publicationId}/syndication-connections/{connectionId}:replace-credential:
66058
66430
  post:
66059
- description: "Checks the new credential with the platform and, when it is accepted, replaces the saved one and sets the connection `ACTIVE`; the old credential is destroyed. The new `credential.kind` must equal the connection's kind. Same problems as connecting: `422 SYNDICATION_CREDENTIAL_REJECTED` with the platform's message, `503 SYNDICATION_PLATFORM_UNAVAILABLE`. Needs `publication.settings.manage`."
66431
+ description: "Checks the new credential with the platform and, when it is accepted, replaces the saved one and sets the connection `ACTIVE`; the old credential is destroyed. The new `credential.kind` must equal the connection's kind. Same problems as connecting: `422 SYNDICATION_CREDENTIAL_REJECTED` with the platform's message, `503 SYNDICATION_PLATFORM_UNAVAILABLE`. Needs `publication.settings.manage`. SCHEMA-3.41.0: an `x` connection takes no credential; it is reconnected through `syndication-connections/x:authorize`, and this operation refuses it."
66060
66432
  operationId: postOrganizationsByOrganizationIdPublicationsByPublicationIdSyndicationConnectionsByConnectionIdReplaceCredential
66061
66433
  parameters:
66062
66434
  - $ref: "#/components/parameters/XCorrelationId"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rathnasgala2/schemas",
3
- "version": "3.40.0",
3
+ "version": "3.41.0",
4
4
  "description": "Executable JSON Schema and OpenAPI contracts for Galascribe",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
package/sbom.cdx.json CHANGED
@@ -97,8 +97,8 @@
97
97
  "type": "library",
98
98
  "name": "schemas",
99
99
  "group": "@rathnasgala2",
100
- "version": "3.40.0",
101
- "bom-ref": "@rathnasgala2/schemas@3.40.0",
100
+ "version": "3.41.0",
101
+ "bom-ref": "@rathnasgala2/schemas@3.41.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.40.0?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2Frathnasgala2%2Fschema.git",
111
+ "purl": "pkg:npm/%40rathnasgala2/schemas@3.41.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.40.0|ajv-formats@3.0.1",
156
+ "bom-ref": "@rathnasgala2/schemas@3.41.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.40.0|ajv@8.20.0",
190
+ "bom-ref": "@rathnasgala2/schemas@3.41.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.40.0|fast-deep-equal@3.1.3",
224
+ "bom-ref": "@rathnasgala2/schemas@3.41.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.40.0|fast-uri@3.1.8",
258
+ "bom-ref": "@rathnasgala2/schemas@3.41.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.40.0|json-schema-traverse@1.0.0",
292
+ "bom-ref": "@rathnasgala2/schemas@3.41.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.40.0|require-from-string@2.0.2",
326
+ "bom-ref": "@rathnasgala2/schemas@3.41.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.40.0",
1067
+ "ref": "@rathnasgala2/schemas@3.41.0",
1068
1068
  "dependsOn": [
1069
- "@rathnasgala2/schemas@3.40.0|ajv-formats@3.0.1",
1070
- "@rathnasgala2/schemas@3.40.0|ajv@8.20.0",
1069
+ "@rathnasgala2/schemas@3.41.0|ajv-formats@3.0.1",
1070
+ "@rathnasgala2/schemas@3.41.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.40.0|ajv-formats@3.0.1",
1092
+ "ref": "@rathnasgala2/schemas@3.41.0|ajv-formats@3.0.1",
1093
1093
  "dependsOn": [
1094
- "@rathnasgala2/schemas@3.40.0|ajv@8.20.0"
1094
+ "@rathnasgala2/schemas@3.41.0|ajv@8.20.0"
1095
1095
  ]
1096
1096
  },
1097
1097
  {
1098
- "ref": "@rathnasgala2/schemas@3.40.0|ajv@8.20.0",
1098
+ "ref": "@rathnasgala2/schemas@3.41.0|ajv@8.20.0",
1099
1099
  "dependsOn": [
1100
- "@rathnasgala2/schemas@3.40.0|fast-deep-equal@3.1.3",
1101
- "@rathnasgala2/schemas@3.40.0|fast-uri@3.1.8",
1102
- "@rathnasgala2/schemas@3.40.0|json-schema-traverse@1.0.0",
1103
- "@rathnasgala2/schemas@3.40.0|require-from-string@2.0.2"
1100
+ "@rathnasgala2/schemas@3.41.0|fast-deep-equal@3.1.3",
1101
+ "@rathnasgala2/schemas@3.41.0|fast-uri@3.1.8",
1102
+ "@rathnasgala2/schemas@3.41.0|json-schema-traverse@1.0.0",
1103
+ "@rathnasgala2/schemas@3.41.0|require-from-string@2.0.2"
1104
1104
  ]
1105
1105
  },
1106
1106
  {
1107
- "ref": "@rathnasgala2/schemas@3.40.0|fast-deep-equal@3.1.3"
1107
+ "ref": "@rathnasgala2/schemas@3.41.0|fast-deep-equal@3.1.3"
1108
1108
  },
1109
1109
  {
1110
- "ref": "@rathnasgala2/schemas@3.40.0|fast-uri@3.1.8"
1110
+ "ref": "@rathnasgala2/schemas@3.41.0|fast-uri@3.1.8"
1111
1111
  },
1112
1112
  {
1113
- "ref": "@rathnasgala2/schemas@3.40.0|json-schema-traverse@1.0.0"
1113
+ "ref": "@rathnasgala2/schemas@3.41.0|json-schema-traverse@1.0.0"
1114
1114
  },
1115
1115
  {
1116
- "ref": "@rathnasgala2/schemas@3.40.0|require-from-string@2.0.2"
1116
+ "ref": "@rathnasgala2/schemas@3.41.0|require-from-string@2.0.2"
1117
1117
  },
1118
1118
  {
1119
1119
  "ref": "pkg:npm/semver@7.8.5"