@openwop/spec-artifacts 2.42.7 → 2.42.8

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,7 +1,7 @@
1
1
  openapi: 3.1.0
2
2
  info:
3
3
  title: OpenWOP v2 API
4
- version: 2.42.7
4
+ version: 2.42.8
5
5
  summary: REST surface for declaring, executing, suspending, resuming, and observing multi-step workflows.
6
6
  description: 'The OpenWOP v2 REST API. Paths are unversioned and served at the bare origin; a client selects a version with
7
7
  the `OpenWOP-Version` header from the host''s `protocolVersions[]`. Conformance seams and test-mode operations are not
@@ -76,6 +76,7 @@ paths:
76
76
  A value matching the `ETag` the host sent MUST yield `304 Not Modified` with no body. The 304 carries `OpenWOP-Version`
77
77
  like every response (versioning.md §1.4).
78
78
  - $ref: '#/components/parameters/OpenWOPVersion'
79
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
79
80
  responses:
80
81
  '200':
81
82
  description: Capabilities object — see `capabilities.md`.
@@ -137,6 +138,7 @@ paths:
137
138
  $ref: '#/components/headers/OpenWOPVersion'
138
139
  parameters:
139
140
  - $ref: '#/components/parameters/OpenWOPVersion'
141
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
140
142
  /workflows/{workflowId}:
141
143
  get:
142
144
  tags:
@@ -153,6 +155,7 @@ paths:
153
155
  parameters:
154
156
  - $ref: '#/components/parameters/WorkflowId'
155
157
  - $ref: '#/components/parameters/OpenWOPVersion'
158
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
156
159
  responses:
157
160
  '200':
158
161
  description: Workflow definition.
@@ -201,6 +204,7 @@ paths:
201
204
  be within `Capabilities.testing.forceEngineVersionRange`. Servers MUST reject it on production API keys with `403
202
205
  force_engine_version_forbidden`.
203
206
  - $ref: '#/components/parameters/OpenWOPVersion'
207
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
204
208
  requestBody:
205
209
  required: true
206
210
  content:
@@ -365,6 +369,7 @@ paths:
365
369
  - cancelled
366
370
  description: Exact-match filter, when advertised in `runList.filters`.
367
371
  - $ref: '#/components/parameters/OpenWOPVersion'
372
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
368
373
  responses:
369
374
  '200':
370
375
  description: One page of the caller's runs.
@@ -412,6 +417,7 @@ paths:
412
417
  A value matching the `ETag` the host sent MUST yield `304 Not Modified` with no body. The 304 carries `OpenWOP-Version`
413
418
  like every response (versioning.md §1.4).
414
419
  - $ref: '#/components/parameters/OpenWOPVersion'
420
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
415
421
  responses:
416
422
  '200':
417
423
  description: Projected run state.
@@ -486,6 +492,7 @@ paths:
486
492
  type: string
487
493
  description: Resume from sequence after this ID.
488
494
  - $ref: '#/components/parameters/OpenWOPVersion'
495
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
489
496
  responses:
490
497
  '200':
491
498
  description: SSE stream. Auto-closes on terminal event. Keep-alive comments every 30s.
@@ -543,6 +550,7 @@ paths:
543
550
  default: 30
544
551
  description: Seconds to wait for new events. Max 60.
545
552
  - $ref: '#/components/parameters/OpenWOPVersion'
553
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
546
554
  responses:
547
555
  '200':
548
556
  description: Events after `afterSequence`.
@@ -598,6 +606,7 @@ paths:
598
606
  - $ref: '#/components/parameters/RunId'
599
607
  - $ref: '#/components/parameters/IdempotencyKey'
600
608
  - $ref: '#/components/parameters/OpenWOPVersion'
609
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
601
610
  requestBody:
602
611
  content:
603
612
  application/json:
@@ -647,6 +656,7 @@ paths:
647
656
  - $ref: '#/components/parameters/RunId'
648
657
  - $ref: '#/components/parameters/IdempotencyKey'
649
658
  - $ref: '#/components/parameters/OpenWOPVersion'
659
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
650
660
  requestBody:
651
661
  required: true
652
662
  content:
@@ -695,6 +705,7 @@ paths:
695
705
  parameters:
696
706
  - $ref: '#/components/parameters/RunId'
697
707
  - $ref: '#/components/parameters/OpenWOPVersion'
708
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
698
709
  responses:
699
710
  '200':
700
711
  description: Annotations for the run (tenant-scoped).
@@ -748,6 +759,7 @@ paths:
748
759
  parameters:
749
760
  - $ref: '#/components/parameters/IdempotencyKey'
750
761
  - $ref: '#/components/parameters/OpenWOPVersion'
762
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
751
763
  requestBody:
752
764
  required: true
753
765
  content:
@@ -836,6 +848,7 @@ paths:
836
848
  description: BCP-47 preference list; authoritative for locale selection (i18n.md). A malformed value MUST NOT produce
837
849
  a 400.
838
850
  - $ref: '#/components/parameters/OpenWOPVersion'
851
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
839
852
  responses:
840
853
  '200':
841
854
  description: The resolved, published page for the negotiated locale.
@@ -891,6 +904,7 @@ paths:
891
904
  description: For this operation, the page's `pageId`, not its slug; the operation description explains the shared
892
905
  name.
893
906
  - $ref: '#/components/parameters/OpenWOPVersion'
907
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
894
908
  responses:
895
909
  '204':
896
910
  description: The page, its sections and its locale overlays were deleted.
@@ -944,6 +958,7 @@ paths:
944
958
  $ref: '#/components/headers/OpenWOPVersion'
945
959
  parameters:
946
960
  - $ref: '#/components/parameters/OpenWOPVersion'
961
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
947
962
  post:
948
963
  tags:
949
964
  - content
@@ -988,6 +1003,7 @@ paths:
988
1003
  $ref: '#/components/responses/Forbidden'
989
1004
  parameters:
990
1005
  - $ref: '#/components/parameters/OpenWOPVersion'
1006
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
991
1007
  /content/pages/{pageId}/sections/{sectionId}:
992
1008
  put:
993
1009
  tags:
@@ -1017,6 +1033,7 @@ paths:
1017
1033
  type: string
1018
1034
  minLength: 1
1019
1035
  - $ref: '#/components/parameters/OpenWOPVersion'
1036
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
1020
1037
  requestBody:
1021
1038
  required: true
1022
1039
  content:
@@ -1100,6 +1117,7 @@ paths:
1100
1117
  $ref: '#/components/headers/OpenWOPVersion'
1101
1118
  parameters:
1102
1119
  - $ref: '#/components/parameters/OpenWOPVersion'
1120
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
1103
1121
  put:
1104
1122
  tags:
1105
1123
  - content
@@ -1145,6 +1163,7 @@ paths:
1145
1163
  $ref: '#/components/responses/Forbidden'
1146
1164
  parameters:
1147
1165
  - $ref: '#/components/parameters/OpenWOPVersion'
1166
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
1148
1167
  /runs:bulk-cancel:
1149
1168
  post:
1150
1169
  tags:
@@ -1165,6 +1184,7 @@ paths:
1165
1184
  parameters:
1166
1185
  - $ref: '#/components/parameters/IdempotencyKey'
1167
1186
  - $ref: '#/components/parameters/OpenWOPVersion'
1187
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
1168
1188
  requestBody:
1169
1189
  required: true
1170
1190
  content:
@@ -1245,6 +1265,7 @@ paths:
1245
1265
  - $ref: '#/components/parameters/RunId'
1246
1266
  - $ref: '#/components/parameters/IdempotencyKey'
1247
1267
  - $ref: '#/components/parameters/OpenWOPVersion'
1268
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
1248
1269
  requestBody:
1249
1270
  required: true
1250
1271
  content:
@@ -1345,6 +1366,7 @@ paths:
1345
1366
  parameters:
1346
1367
  - $ref: '#/components/parameters/RunId'
1347
1368
  - $ref: '#/components/parameters/OpenWOPVersion'
1369
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
1348
1370
  responses:
1349
1371
  '200':
1350
1372
  description: 'The run''s immediate parent (`parent: null` for a top-level run).'
@@ -1420,6 +1442,7 @@ paths:
1420
1442
  $ref: '#/components/headers/OpenWOPVersion'
1421
1443
  parameters:
1422
1444
  - $ref: '#/components/parameters/OpenWOPVersion'
1445
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
1423
1446
  /agents/{agentId}:
1424
1447
  get:
1425
1448
  tags:
@@ -1447,6 +1470,7 @@ paths:
1447
1470
  description: The manifest agentId. MUST NOT be the reserved literals `roster` or `org-chart`, which name the sibling
1448
1471
  collection routes (`/agents/roster`, `/agents/org-chart`), so `/agents/{agentId}` stays unambiguous.
1449
1472
  - $ref: '#/components/parameters/OpenWOPVersion'
1473
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
1450
1474
  responses:
1451
1475
  '200':
1452
1476
  description: The agent's inventory entry. When the host advertises `a2a.agentCards`, an entry the host routes a
@@ -1499,6 +1523,7 @@ paths:
1499
1523
  collection routes (`/agents/roster/{rosterId}`, `/agents/org-chart/{departmentId}`), so `/agents/{agentId}/deployments`
1500
1524
  stays unambiguous.
1501
1525
  - $ref: '#/components/parameters/OpenWOPVersion'
1526
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
1502
1527
  responses:
1503
1528
  '200':
1504
1529
  description: The agent's deployment records (version-sorted).
@@ -1550,6 +1575,7 @@ paths:
1550
1575
  description: The manifest agentId.
1551
1576
  - $ref: '#/components/parameters/IdempotencyKey'
1552
1577
  - $ref: '#/components/parameters/OpenWOPVersion'
1578
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
1553
1579
  requestBody:
1554
1580
  required: true
1555
1581
  content:
@@ -1639,6 +1665,7 @@ paths:
1639
1665
  $ref: '#/components/headers/OpenWOPVersion'
1640
1666
  parameters:
1641
1667
  - $ref: '#/components/parameters/OpenWOPVersion'
1668
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
1642
1669
  /agents/roster/{rosterId}:
1643
1670
  get:
1644
1671
  tags:
@@ -1663,6 +1690,7 @@ paths:
1663
1690
  type: string
1664
1691
  description: The standing instance id (a `host:<id>` AgentRef agentId).
1665
1692
  - $ref: '#/components/parameters/OpenWOPVersion'
1693
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
1666
1694
  responses:
1667
1695
  '200':
1668
1696
  description: The roster entry.
@@ -1727,6 +1755,7 @@ paths:
1727
1755
  $ref: '#/components/headers/OpenWOPVersion'
1728
1756
  parameters:
1729
1757
  - $ref: '#/components/parameters/OpenWOPVersion'
1758
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
1730
1759
  /agents/org-chart/{departmentId}:
1731
1760
  get:
1732
1761
  tags:
@@ -1758,6 +1787,7 @@ paths:
1758
1787
  default: true
1759
1788
  description: When `false`, the roll-up scopes to direct members only.
1760
1789
  - $ref: '#/components/parameters/OpenWOPVersion'
1790
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
1761
1791
  responses:
1762
1792
  '200':
1763
1793
  description: The department subtree + responsibility roll-up.
@@ -1813,6 +1843,7 @@ paths:
1813
1843
  true`. Defaults to `standard`. A host that does not advertise `compactView` treats `view=compact` like any unknown
1814
1844
  query parameter and returns the standard view.'
1815
1845
  - $ref: '#/components/parameters/OpenWOPVersion'
1846
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
1816
1847
  responses:
1817
1848
  '200':
1818
1849
  description: 'The caller''s authorized tool catalog (standard array, or the compact `{ tools: [] }` projection when
@@ -1884,6 +1915,7 @@ paths:
1884
1915
  structural subset) when the host advertises `capabilities.toolCatalog.compactView: true`. Defaults to `standard`.
1885
1916
  A host that does not advertise `compactView` treats `view=compact` like any unknown query parameter.'
1886
1917
  - $ref: '#/components/parameters/OpenWOPVersion'
1918
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
1887
1919
  responses:
1888
1920
  '200':
1889
1921
  description: The tool descriptor (standard, or one `CompactToolDescriptor` when `view=compact`).
@@ -1930,6 +1962,7 @@ paths:
1930
1962
  parameters:
1931
1963
  - $ref: '#/components/parameters/RunId'
1932
1964
  - $ref: '#/components/parameters/OpenWOPVersion'
1965
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
1933
1966
  responses:
1934
1967
  '200':
1935
1968
  description: The eval run's scorecard.
@@ -1987,6 +2020,7 @@ paths:
1987
2020
  schema:
1988
2021
  type: string
1989
2022
  - $ref: '#/components/parameters/OpenWOPVersion'
2023
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
1990
2024
  responses:
1991
2025
  '200':
1992
2026
  description: 'Structured diff of the two runs. `divergedAtSeq: null` and an empty `eventDiffs` when the logs are
@@ -2048,6 +2082,7 @@ paths:
2048
2082
  - $ref: '#/components/parameters/RunId'
2049
2083
  - $ref: '#/components/parameters/IdempotencyKey'
2050
2084
  - $ref: '#/components/parameters/OpenWOPVersion'
2085
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
2051
2086
  requestBody:
2052
2087
  content:
2053
2088
  application/json:
@@ -2122,6 +2157,7 @@ paths:
2122
2157
  - $ref: '#/components/parameters/RunId'
2123
2158
  - $ref: '#/components/parameters/IdempotencyKey'
2124
2159
  - $ref: '#/components/parameters/OpenWOPVersion'
2160
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
2125
2161
  requestBody:
2126
2162
  content:
2127
2163
  application/json:
@@ -2192,6 +2228,7 @@ paths:
2192
2228
  minLength: 1
2193
2229
  - $ref: '#/components/parameters/IdempotencyKey'
2194
2230
  - $ref: '#/components/parameters/OpenWOPVersion'
2231
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
2195
2232
  requestBody:
2196
2233
  required: true
2197
2234
  content:
@@ -2290,6 +2327,7 @@ paths:
2290
2327
  $ref: '#/components/headers/OpenWOPVersion'
2291
2328
  parameters:
2292
2329
  - $ref: '#/components/parameters/OpenWOPVersion'
2330
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
2293
2331
  post:
2294
2332
  tags:
2295
2333
  - hitl
@@ -2299,6 +2337,7 @@ paths:
2299
2337
  parameters:
2300
2338
  - $ref: '#/components/parameters/IdempotencyKey'
2301
2339
  - $ref: '#/components/parameters/OpenWOPVersion'
2340
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
2302
2341
  requestBody:
2303
2342
  required: true
2304
2343
  content:
@@ -2351,6 +2390,7 @@ paths:
2351
2390
  type: string
2352
2391
  minLength: 1
2353
2392
  - $ref: '#/components/parameters/OpenWOPVersion'
2393
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
2354
2394
  responses:
2355
2395
  '200':
2356
2396
  description: Artifact payload. Under `application/json` the shape is implementation-defined. Under `application/a2a+json`
@@ -2389,6 +2429,7 @@ paths:
2389
2429
  parameters:
2390
2430
  - $ref: '#/components/parameters/IdempotencyKey'
2391
2431
  - $ref: '#/components/parameters/OpenWOPVersion'
2432
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
2392
2433
  requestBody:
2393
2434
  required: true
2394
2435
  content:
@@ -2411,7 +2452,7 @@ paths:
2411
2452
  type: string
2412
2453
  description: The host signs payloads with this secret using HMAC-SHA256. REQUIRED in the Standard Webhooks
2413
2454
  form `whsec_<base64>` (24–64 decoded bytes) when `signatureAlgorithms` lists `standard-webhooks-1`. Never
2414
- echoed in any response.
2455
+ echoed in any response. When omitted, the host generates one and returns it once in the `201` (RFC 0221).
2415
2456
  tags:
2416
2457
  type: array
2417
2458
  items:
@@ -2454,6 +2495,11 @@ paths:
2454
2495
  items:
2455
2496
  type: string
2456
2497
  description: The list the dispatcher will apply; present whenever the request carried `signatureAlgorithms`.
2498
+ secret:
2499
+ type: string
2500
+ minLength: 1
2501
+ description: 'Present only when the request omitted `secret`: the secret the host generated, returned
2502
+ this once. A supplied secret is never echoed.'
2457
2503
  headers:
2458
2504
  OpenWOP-Version:
2459
2505
  $ref: '#/components/headers/OpenWOPVersion'
@@ -2494,6 +2540,7 @@ paths:
2494
2540
  description: 'Tenant-bound `<tenantId>/<opaque>` (`identity.md` §5), carried as one path segment: `~`-projected or
2495
2541
  percent-encoded.'
2496
2542
  - $ref: '#/components/parameters/OpenWOPVersion'
2543
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
2497
2544
  responses:
2498
2545
  '204':
2499
2546
  description: Unregistered.
@@ -2532,6 +2579,7 @@ paths:
2532
2579
  percent-encoded.'
2533
2580
  - $ref: '#/components/parameters/IdempotencyKey'
2534
2581
  - $ref: '#/components/parameters/OpenWOPVersion'
2582
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
2535
2583
  requestBody:
2536
2584
  required: true
2537
2585
  content:
@@ -2617,6 +2665,7 @@ paths:
2617
2665
  minimum: 0
2618
2666
  description: Last audit-log sequence to include (inclusive). MUST be >= fromSeq.
2619
2667
  - $ref: '#/components/parameters/OpenWOPVersion'
2668
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
2620
2669
  responses:
2621
2670
  '200':
2622
2671
  description: Verification result.
@@ -2700,6 +2749,7 @@ paths:
2700
2749
  default: 50
2701
2750
  description: Maximum entries per page.
2702
2751
  - $ref: '#/components/parameters/OpenWOPVersion'
2752
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
2703
2753
  responses:
2704
2754
  '200':
2705
2755
  description: Paginated list of templates.
@@ -2749,6 +2799,7 @@ paths:
2749
2799
  parameters:
2750
2800
  - $ref: '#/components/parameters/IdempotencyKey'
2751
2801
  - $ref: '#/components/parameters/OpenWOPVersion'
2802
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
2752
2803
  requestBody:
2753
2804
  required: true
2754
2805
  content:
@@ -2880,6 +2931,7 @@ paths:
2880
2931
  $ref: '#/components/headers/OpenWOPVersion'
2881
2932
  parameters:
2882
2933
  - $ref: '#/components/parameters/OpenWOPVersion'
2934
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
2883
2935
  put:
2884
2936
  tags:
2885
2937
  - prompts
@@ -2895,6 +2947,7 @@ paths:
2895
2947
  parameters:
2896
2948
  - $ref: '#/components/parameters/IdempotencyKey'
2897
2949
  - $ref: '#/components/parameters/OpenWOPVersion'
2950
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
2898
2951
  requestBody:
2899
2952
  required: true
2900
2953
  content:
@@ -3000,6 +3053,7 @@ paths:
3000
3053
  $ref: '#/components/headers/OpenWOPVersion'
3001
3054
  parameters:
3002
3055
  - $ref: '#/components/parameters/OpenWOPVersion'
3056
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
3003
3057
  /prompts:render:
3004
3058
  post:
3005
3059
  tags:
@@ -3111,6 +3165,7 @@ paths:
3111
3165
  $ref: '#/components/headers/OpenWOPVersion'
3112
3166
  parameters:
3113
3167
  - $ref: '#/components/parameters/OpenWOPVersion'
3168
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
3114
3169
  /host/effect-seams:
3115
3170
  get:
3116
3171
  tags:
@@ -3133,6 +3188,7 @@ paths:
3133
3188
  $ref: '#/components/responses/Unauthenticated'
3134
3189
  parameters:
3135
3190
  - $ref: '#/components/parameters/OpenWOPVersion'
3191
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
3136
3192
  security:
3137
3193
  - ApiKeyAuth:
3138
3194
  - runs:read
@@ -3163,6 +3219,7 @@ paths:
3163
3219
  $ref: '#/components/responses/NotFound'
3164
3220
  parameters:
3165
3221
  - $ref: '#/components/parameters/OpenWOPVersion'
3222
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
3166
3223
  security:
3167
3224
  - ApiKeyAuth:
3168
3225
  - runs:read
@@ -3193,6 +3250,7 @@ paths:
3193
3250
  $ref: '#/components/responses/NotFound'
3194
3251
  parameters:
3195
3252
  - $ref: '#/components/parameters/OpenWOPVersion'
3253
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
3196
3254
  security:
3197
3255
  - ApiKeyAuth:
3198
3256
  - runs:read
@@ -3238,6 +3296,7 @@ paths:
3238
3296
  description: Opaque cursor from a previous page's `nextCursor`. A cursor minted for another subscription MUST be refused
3239
3297
  `400 validation_error`.
3240
3298
  - $ref: '#/components/parameters/OpenWOPVersion'
3299
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
3241
3300
  responses:
3242
3301
  '200':
3243
3302
  description: One page of dead-lettered deliveries, newest first.
@@ -3285,6 +3344,7 @@ paths:
3285
3344
  $ref: '#/components/responses/Unauthenticated'
3286
3345
  parameters:
3287
3346
  - $ref: '#/components/parameters/OpenWOPVersion'
3347
+ - $ref: '#/components/parameters/OpenWOPClientVersion'
3288
3348
  security:
3289
3349
  - ApiKeyAuth:
3290
3350
  - runs:read
@@ -3300,7 +3360,8 @@ components:
3300
3360
  bearerFormat: API key
3301
3361
  description: OpenWOP API key. The format is implementation-defined; the reference implementation uses `hk_`/`hk_test_`
3302
3362
  prefixes. Each key carries one or more scopes from the canonical vocabulary (`manifest:read`, `runs:create`, `runs:read`,
3303
- `runs:cancel`, `artifacts:read`, `webhooks:manage`, `approvals:respond`, `audit:read`). See `auth.md`.
3363
+ `runs:cancel`, `artifacts:read`, `webhooks:manage`, `approvals:respond`, `audit:read`). Scope matching is in `spec/v2/core/identity.md`
3364
+ §2.1.
3304
3365
  OAuth2:
3305
3366
  type: oauth2
3306
3367
  description: 'The OAuth 2.0 lane (`auth.lanes[].lane: "oauth2"`). Discovery is RFC 9728 Protected Resource Metadata
@@ -3395,8 +3456,16 @@ components:
3395
3456
  schema:
3396
3457
  type: string
3397
3458
  pattern: ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$
3398
- description: Selects one of the host's listed major.minor versions. Absent, the host uses its `preferredVersion`; an
3399
- unlisted value is 406 protocol_version_unsupported.
3459
+ description: Selects one of the host's listed major.minor versions. Absent, `/.well-known/openwop` uses `preferredVersion`
3460
+ and every other unversioned path is v2; an unlisted value is 406 protocol_version_unsupported.
3461
+ OpenWOPClientVersion:
3462
+ name: OpenWOP-Client-Version
3463
+ in: header
3464
+ required: false
3465
+ schema:
3466
+ type: string
3467
+ description: The protocol version the client implements (versioning.md §1.5). Compared with `minClientVersion` on major.minor.
3468
+ A malformed value is treated as absent and MUST NOT produce a 400. Never selects a contract.
3400
3469
  responses:
3401
3470
  Unauthenticated:
3402
3471
  description: Missing or invalid credential.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openwop/spec-artifacts",
3
- "version": "2.42.7",
3
+ "version": "2.42.8",
4
4
  "description": "The OpenWOP machine-readable contract: api/ (OpenAPI, AsyncAPI, the seams profile), schemas/ (v1 and v2 JSON Schemas), the spec/v1 and spec/v2 registries (errors, event codemap, declaration, deprecations, migrations, gaps) and CORPUS-STAMP.json — published from the openwop/openwop corpus tag; the peer dependency @openwop/openwop-conformance digest-checks at start (RFC 0168 §D.2).",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -7910,7 +7910,7 @@
7910
7910
  "export": {
7911
7911
  "type": "boolean",
7912
7912
  "default": false,
7913
- "description": "Host can emit an export bundle for the caller's tenant/workspace via `GET /export`."
7913
+ "description": "Host can emit an export bundle for the caller's tenant or workspace (portability.md)."
7914
7914
  },
7915
7915
  "import": {
7916
7916
  "type": "boolean",
@@ -7937,7 +7937,7 @@
7937
7937
  "dryRun": {
7938
7938
  "type": "boolean",
7939
7939
  "default": true,
7940
- "description": "Import supports a no-write plan preview (`POST /import?dryRun=true`). MUST be true if `import` is true."
7940
+ "description": "Import supports a no-write plan preview. MUST be true if `import` is true."
7941
7941
  }
7942
7942
  },
7943
7943
  "allOf": [