51 lines
1.5 KiB
YAML
51 lines
1.5 KiB
YAML
openapi: 3.0.3
|
|
info:
|
|
title: SWOOSH Transition API
|
|
version: 0.1.0
|
|
paths:
|
|
/transition:
|
|
post:
|
|
summary: Propose a guarded state transition
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [current_state_hash, transition, inputs_hash, signer, idem_key, hlc, window_id]
|
|
properties:
|
|
current_state_hash: { type: string }
|
|
transition: { type: string }
|
|
inputs_hash: { type: string }
|
|
signer: { type: string, description: "HMMM identity" }
|
|
idem_key: { type: string }
|
|
hlc: { type: string }
|
|
window_id: { type: string }
|
|
evidence:
|
|
type: array
|
|
items: { type: string, description: "UCXL DR links or content hashes" }
|
|
responses:
|
|
"202":
|
|
description: Accepted
|
|
"400":
|
|
description: Rejected (guard failed / stale / duplicate)
|
|
/state:
|
|
get:
|
|
summary: Read current orchestrator state (projected)
|
|
parameters:
|
|
- in: query
|
|
name: projection
|
|
schema:
|
|
type: string
|
|
example: "Council,Ingestion"
|
|
responses:
|
|
"200":
|
|
description: Current state snapshot
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
hash: { type: string }
|
|
projection: { type: object }
|