{
  "components": {
    "schemas": {
      "AcquisitionTarget": {
        "description": "AcquisitionTarget is the payload of a dawn/acquisition-target/1 record: what an intake tool is to fetch.",
        "properties": {
          "expected": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ExpectedHash"
              },
              {
                "type": "null"
              }
            ]
          },
          "expected_source": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "locator": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "locator",
          "type"
        ],
        "title": "AcquisitionTarget",
        "type": "object"
      },
      "ApplicationRequest": {
        "description": "ApplicationRequest is the retained normalized request: the tool as resolved, the release occurrence, the bound inputs and the canonicalized recipe.",
        "properties": {
          "inputs": {
            "additionalProperties": {
              "$ref": "#/components/schemas/EntryRef"
            },
            "type": "object"
          },
          "normalization": {
            "type": "string"
          },
          "recipe": true,
          "release": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "tool": {
            "type": "string"
          }
        },
        "required": [
          "tool",
          "release",
          "inputs",
          "recipe",
          "normalization"
        ],
        "title": "ApplicationRequest",
        "type": "object"
      },
      "ApplyRequest": {
        "description": "ApplyRequest asks Dawn to run a configured tool on a valuation and record the application at path, a leaf under a project's applications.",
        "properties": {
          "inputs": {
            "additionalProperties": {
              "$ref": "#/components/schemas/EntryRef"
            },
            "type": "object"
          },
          "operation_id": {
            "type": "string"
          },
          "path": {
            "$ref": "#/components/schemas/Path"
          },
          "recipe": true,
          "release": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/EntryRef"
              },
              {
                "type": "null"
              }
            ]
          },
          "tool": {
            "type": "string"
          },
          "wait": {
            "type": "boolean"
          }
        },
        "required": [
          "operation_id",
          "path",
          "tool",
          "inputs",
          "recipe"
        ],
        "title": "ApplyRequest",
        "type": "object"
      },
      "ApplyResult": {
        "description": "ApplyResult is the admitted attempt and where it stands: the attempt's occurrence A; the release occurrence that ran; the outcome; on completion the result's head occurrence and its outputs by role; on failure the reason.",
        "properties": {
          "attempt": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "outcome": {
            "type": "string"
          },
          "outputs": {
            "additionalProperties": {
              "$ref": "#/components/schemas/Artifact"
            },
            "type": "object"
          },
          "reason": {
            "type": "string"
          },
          "release": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "replayed": {
            "type": "boolean"
          },
          "result": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/EntryRef"
              },
              {
                "type": "null"
              }
            ]
          },
          "reused": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/EntryRef"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "attempt",
          "release",
          "outcome",
          "replayed"
        ],
        "title": "ApplyResult",
        "type": "object"
      },
      "Artifact": {
        "description": "Artifact is exact retained content with a selected interpretation: the hash of the bytes and the hash of the interpretation descriptor the bytes are read under (order 0002 D4).",
        "properties": {
          "bytes": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "bytes",
          "type"
        ],
        "type": "object"
      },
      "ArtifactResult": {
        "description": "ArtifactResult is the artifact space, its one content occurrence and its declarations space, created or recovered.",
        "properties": {
          "content": {
            "$ref": "#/components/schemas/Content"
          },
          "declarations": {
            "$ref": "#/components/schemas/Space"
          },
          "replayed": {
            "type": "boolean"
          },
          "space": {
            "$ref": "#/components/schemas/Space"
          }
        },
        "required": [
          "space",
          "content",
          "declarations",
          "replayed"
        ],
        "title": "ArtifactResult",
        "type": "object"
      },
      "AssignRequest": {
        "description": "AssignRequest publishes an assignment: pinned input occurrences, intended outputs under the worker's space or an artifact's declarations, and the brief the worker's session starts from.",
        "properties": {
          "assignment": {
            "type": "string"
          },
          "brief": {
            "type": "string"
          },
          "campaign": {
            "type": "string"
          },
          "expected_cutoff": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "inputs": {
            "items": {
              "$ref": "#/components/schemas/EntryRef"
            },
            "type": "array"
          },
          "operation_id": {
            "type": "string"
          },
          "outputs": {
            "items": {
              "$ref": "#/components/schemas/Path"
            },
            "type": "array"
          },
          "worker": {
            "type": "string"
          }
        },
        "required": [
          "operation_id",
          "campaign",
          "assignment",
          "worker",
          "inputs",
          "outputs"
        ],
        "title": "AssignRequest",
        "type": "object"
      },
      "Attempt": {
        "description": "Attempt is one admitted application's attempt fact: the release occurrence that ran, the retained normalized request by hash, and Dawn's admission provenance for the attempt.",
        "properties": {
          "accepted_at": {
            "type": "string"
          },
          "entry": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "publisher": {
            "type": "string"
          },
          "release": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "request": {
            "type": "string"
          },
          "request_digest": {
            "type": "string"
          },
          "request_id": {
            "type": "string"
          }
        },
        "required": [
          "entry",
          "release",
          "request",
          "publisher",
          "request_id",
          "request_digest",
          "accepted_at"
        ],
        "type": "object"
      },
      "Batch": {
        "description": "Batch is the committed batch an entry belongs to.",
        "properties": {
          "first": {
            "type": "integer"
          },
          "last": {
            "type": "integer"
          }
        },
        "required": [
          "first",
          "last"
        ],
        "type": "object"
      },
      "BindingHTTP": {
        "description": "BindingHTTP describes the HTTP binding in the describe document.",
        "properties": {
          "prefix": {
            "type": "string"
          }
        },
        "required": [
          "prefix"
        ],
        "type": "object"
      },
      "BindingWS": {
        "description": "BindingWS describes the socket binding.",
        "properties": {
          "path": {
            "type": "string"
          },
          "subprotocol": {
            "type": "string"
          }
        },
        "required": [
          "path",
          "subprotocol"
        ],
        "type": "object"
      },
      "Bindings": {
        "description": "Bindings names the primary binding and describes each offered one.",
        "properties": {
          "http": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/BindingHTTP"
              },
              {
                "type": "null"
              }
            ]
          },
          "primary": {
            "type": "string"
          },
          "ws": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/BindingWS"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "primary"
        ],
        "type": "object"
      },
      "Bound": {
        "description": "Bound is one input role of the application named by application, bound to one occurrence.",
        "properties": {
          "application": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "bound": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "entry": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "role": {
            "type": "string"
          }
        },
        "required": [
          "entry",
          "application",
          "role",
          "bound"
        ],
        "type": "object"
      },
      "Build": {
        "description": "Build identifies the binary.",
        "properties": {
          "dirty": {
            "type": "boolean"
          },
          "go": {
            "type": "string"
          },
          "revision": {
            "type": "string"
          }
        },
        "required": [
          "revision",
          "dirty",
          "go"
        ],
        "type": "object"
      },
      "Carriage": {
        "description": "Carriage is the proof and the grants a request carries.",
        "properties": {
          "grants": {
            "items": {
              "$ref": "#/components/schemas/Grant"
            },
            "type": "array"
          },
          "proof": {
            "$ref": "#/components/schemas/Proof"
          }
        },
        "required": [
          "proof",
          "grants"
        ],
        "title": "Carriage",
        "type": "object"
      },
      "Check": {
        "description": "Check is one dependency the service needs in order to serve its contract: for Dawn, the journal and bytes it consumes.",
        "properties": {
          "detail": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "description": "ok | failing",
            "type": "string"
          }
        },
        "required": [
          "name",
          "status",
          "detail"
        ],
        "type": "object"
      },
      "Child": {
        "description": "Child is one child of a space at the parent's selected cutoff, with the creation entry that recorded it: Journal's own child observation.",
        "properties": {
          "created_at": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "key": {
            "type": "string"
          },
          "space": {
            "$ref": "#/components/schemas/Space"
          }
        },
        "required": [
          "key",
          "space",
          "created_at"
        ],
        "type": "object"
      },
      "ChildrenPage": {
        "description": "ChildrenPage is one page of a space's readable children at a fixed cutoff.",
        "properties": {
          "children": {
            "items": {
              "$ref": "#/components/schemas/Child"
            },
            "type": "array"
          },
          "next_cursor": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "space": {
            "$ref": "#/components/schemas/Space"
          },
          "through": {
            "type": "integer"
          }
        },
        "required": [
          "space",
          "through",
          "children"
        ],
        "title": "ChildrenPage",
        "type": "object"
      },
      "ComposeRequest": {
        "description": "ComposeRequest composes a view from exact occurrence selections and publishes it as a record under views/.",
        "properties": {
          "expected_cutoff": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "interpretation_profile": {
            "type": "string"
          },
          "metadata": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "operation_id": {
            "type": "string"
          },
          "path": {
            "$ref": "#/components/schemas/Path"
          },
          "rules": true,
          "selections": {
            "items": {
              "$ref": "#/components/schemas/EntryRef"
            },
            "type": "array"
          }
        },
        "required": [
          "operation_id",
          "path",
          "selections",
          "rules",
          "interpretation_profile"
        ],
        "title": "ComposeRequest",
        "type": "object"
      },
      "Content": {
        "description": "Content is the one content occurrence of an artifact space.",
        "properties": {
          "artifact": {
            "$ref": "#/components/schemas/Artifact"
          },
          "entry": {
            "$ref": "#/components/schemas/EntryRef"
          }
        },
        "required": [
          "entry",
          "artifact"
        ],
        "type": "object"
      },
      "CreateArtifactRequest": {
        "description": "CreateArtifactRequest creates an artifact space at projects/\u003cproject\u003e/artifacts/\u003clabel\u003e with exactly one content fact naming already retained content, and its declarations space.",
        "properties": {
          "artifact": {
            "$ref": "#/components/schemas/Artifact"
          },
          "operation_id": {
            "type": "string"
          },
          "path": {
            "$ref": "#/components/schemas/Path"
          }
        },
        "required": [
          "operation_id",
          "path",
          "artifact"
        ],
        "title": "CreateArtifactRequest",
        "type": "object"
      },
      "CreateCampaignRequest": {
        "description": "CreateCampaignRequest creates a campaign space over a project.",
        "properties": {
          "label": {
            "type": "string"
          },
          "operation_id": {
            "type": "string"
          },
          "project": {
            "type": "string"
          }
        },
        "required": [
          "operation_id",
          "label",
          "project"
        ],
        "title": "CreateCampaignRequest",
        "type": "object"
      },
      "CreateProjectRequest": {
        "description": "CreateProjectRequest creates a project space with its organizing spaces.",
        "properties": {
          "label": {
            "type": "string"
          },
          "operation_id": {
            "type": "string"
          }
        },
        "required": [
          "operation_id",
          "label"
        ],
        "title": "CreateProjectRequest",
        "type": "object"
      },
      "Declaration": {
        "description": "Declaration is one admitted declaration occurrence: the fact in an artifact's declarations journal.",
        "properties": {
          "application": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/EntryRef"
              },
              {
                "type": "null"
              }
            ]
          },
          "artifact": {
            "$ref": "#/components/schemas/Artifact"
          },
          "assertion_id": {
            "type": "string"
          },
          "entry": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "envelope": {
            "type": "string"
          },
          "publisher": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          }
        },
        "required": [
          "entry",
          "assertion_id",
          "envelope",
          "artifact",
          "publisher"
        ],
        "title": "Declaration",
        "type": "object"
      },
      "DeclarationAdmission": {
        "description": "DeclarationAdmission records the world, root, exact destination space and its path at admission, the retained frame manifest, Dawn's admission policy, the accepted instant, the worker's request proof and grants, and the root's signature.",
        "properties": {
          "accepted_at": {
            "type": "string"
          },
          "auth": {
            "$ref": "#/components/schemas/Carriage"
          },
          "frame": {
            "type": "string"
          },
          "path": {
            "$ref": "#/components/schemas/Path"
          },
          "policy": {
            "type": "string"
          },
          "request_body": {
            "contentEncoding": "base64",
            "type": "string"
          },
          "root": {
            "type": "string"
          },
          "signature": {
            "type": "string"
          },
          "space": {
            "$ref": "#/components/schemas/SpaceRef"
          },
          "world": {
            "type": "string"
          }
        },
        "required": [
          "world",
          "root",
          "space",
          "path",
          "frame",
          "policy",
          "accepted_at",
          "auth",
          "request_body",
          "signature"
        ],
        "type": "object"
      },
      "DeclarationFrame": {
        "description": "DeclarationFrame is what the act was made against, retained in Bytes as canonical JSON and named by digest in the admission: the artifact's content reference, the cited evidence occurrences, the grants and proof relied on, and Dawn's admission-policy version.",
        "properties": {
          "content": {
            "$ref": "#/components/schemas/Artifact"
          },
          "evidence": {
            "items": {
              "$ref": "#/components/schemas/EntryRef"
            },
            "type": "array"
          },
          "grants": {
            "items": {
              "$ref": "#/components/schemas/Grant"
            },
            "type": "array"
          },
          "policy": {
            "type": "string"
          },
          "proof": {
            "$ref": "#/components/schemas/Proof"
          }
        },
        "required": [
          "policy",
          "content",
          "evidence",
          "grants",
          "proof"
        ],
        "title": "DeclarationFrame",
        "type": "object"
      },
      "DeclarationRecord": {
        "description": "DeclarationRecord is the retained envelope of one declaration: the worker's assertion and Dawn's authenticated admission, retained in Bytes and named by its digest in the declaration fact.",
        "properties": {
          "admission": {
            "$ref": "#/components/schemas/DeclarationAdmission"
          },
          "content": {
            "$ref": "#/components/schemas/Artifact"
          },
          "id": {
            "type": "string"
          },
          "publisher": {
            "type": "string"
          },
          "request": {
            "$ref": "#/components/schemas/DeclareRequest"
          }
        },
        "required": [
          "id",
          "request",
          "content",
          "publisher",
          "admission"
        ],
        "title": "DeclarationRecord",
        "type": "object"
      },
      "DeclareRequest": {
        "description": "DeclareRequest adds one immutable assertion about an artifact's exact content.",
        "properties": {
          "artifact": {
            "$ref": "#/components/schemas/Path"
          },
          "evidence": {
            "items": {
              "$ref": "#/components/schemas/EntryRef"
            },
            "type": "array"
          },
          "justifications": {
            "items": {
              "$ref": "#/components/schemas/Justification"
            },
            "type": "array"
          },
          "operation_id": {
            "type": "string"
          },
          "relations": {
            "items": {
              "$ref": "#/components/schemas/Relation"
            },
            "type": "array"
          },
          "statement": true,
          "subject": {
            "type": "string"
          }
        },
        "required": [
          "operation_id",
          "artifact",
          "statement"
        ],
        "title": "DeclareRequest",
        "type": "object"
      },
      "DeclareResult": {
        "description": "DeclareResult is the admitted declaration occurrence, or the first admission recovered for a retry of the same semantic request.",
        "properties": {
          "declaration": {
            "$ref": "#/components/schemas/Declaration"
          },
          "replayed": {
            "type": "boolean"
          }
        },
        "required": [
          "declaration",
          "replayed"
        ],
        "title": "DeclareResult",
        "type": "object"
      },
      "Describe": {
        "description": "Describe is the document of GET /describe.",
        "properties": {
          "bindings": {
            "$ref": "#/components/schemas/Bindings"
          },
          "build": {
            "$ref": "#/components/schemas/Build"
          },
          "contract": {
            "type": "string"
          },
          "files": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "identity": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Identity"
              },
              {
                "type": "null"
              }
            ]
          },
          "operations": {
            "items": {
              "$ref": "#/components/schemas/Operation"
            },
            "type": "array"
          },
          "refusals": {
            "items": {
              "$ref": "#/components/schemas/Refusal"
            },
            "type": "array"
          },
          "service": {
            "type": "string"
          }
        },
        "required": [
          "service",
          "contract",
          "build",
          "bindings",
          "operations",
          "refusals",
          "files"
        ],
        "title": "Describe",
        "type": "object"
      },
      "EntriesPage": {
        "description": "EntriesPage is one page of a journal's fixed prefix (after, through].",
        "properties": {
          "entries": {
            "items": {
              "$ref": "#/components/schemas/Entry"
            },
            "type": "array"
          },
          "next_after": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "scanned_through": {
            "type": "integer"
          },
          "space": {
            "$ref": "#/components/schemas/Space"
          },
          "through": {
            "type": "integer"
          }
        },
        "required": [
          "space",
          "through",
          "entries",
          "scanned_through"
        ],
        "title": "EntriesPage",
        "type": "object"
      },
      "Entry": {
        "description": "Entry is one occurrence in a journal as a read returns it: its reference, origin and batch, the canonical fact bytes (base64 on the wire), and the decoded Dawn fact when the predicate is one of dawn-facts-v2.",
        "properties": {
          "attempt": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Attempt"
              },
              {
                "type": "null"
              }
            ]
          },
          "batch": {
            "$ref": "#/components/schemas/Batch"
          },
          "bound": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Bound"
              },
              {
                "type": "null"
              }
            ]
          },
          "child": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Child"
              },
              {
                "type": "null"
              }
            ]
          },
          "content": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Artifact"
              },
              {
                "type": "null"
              }
            ]
          },
          "declaration": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Declaration"
              },
              {
                "type": "null"
              }
            ]
          },
          "fact": {
            "contentEncoding": "base64",
            "type": "string"
          },
          "justifies": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Justifies"
              },
              {
                "type": "null"
              }
            ]
          },
          "origin": {
            "type": "string"
          },
          "produced": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Produced"
              },
              {
                "type": "null"
              }
            ]
          },
          "record": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Record"
              },
              {
                "type": "null"
              }
            ]
          },
          "ref": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "relation": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/RelationFact"
              },
              {
                "type": "null"
              }
            ]
          },
          "result": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Result"
              },
              {
                "type": "null"
              }
            ]
          },
          "staged": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Staged"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "ref",
          "origin",
          "batch",
          "fact"
        ],
        "type": "object"
      },
      "EntryRef": {
        "description": "EntryRef is the occurrence identity of one entry: a position in one journal.",
        "properties": {
          "position": {
            "type": "integer"
          },
          "root_id": {
            "type": "string"
          },
          "space_id": {
            "type": "string"
          }
        },
        "required": [
          "root_id",
          "space_id",
          "position"
        ],
        "type": "object"
      },
      "Error": {
        "description": "Error is a refusal, with the machine-readable facts the surface promises.",
        "properties": {
          "details": {
            "type": "object"
          },
          "error": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "error",
          "message"
        ],
        "title": "Error",
        "type": "object"
      },
      "Event": {
        "description": "Event is one journal's advance: the space, with its path at delivery, and the committed cutoff it is now at.",
        "properties": {
          "cutoff": {
            "type": "integer"
          },
          "space": {
            "$ref": "#/components/schemas/Space"
          }
        },
        "required": [
          "space",
          "cutoff"
        ],
        "title": "Event",
        "type": "object"
      },
      "Executable": {
        "description": "Executable is what the service runs a release with, filled at bootstrap and part of the release's identity: the running service binary, its revision, and the canonical configuration the tool was prepared under.",
        "properties": {
          "configuration": {
            "type": "string"
          },
          "revision": {
            "type": "string"
          },
          "service_binary": {
            "type": "string"
          }
        },
        "required": [
          "service_binary",
          "revision",
          "configuration"
        ],
        "title": "Executable",
        "type": "object"
      },
      "ExpectedHash": {
        "description": "ExpectedHash is a publisher's hash of material: its algorithm and lower-case hex digest.",
        "properties": {
          "algorithm": {
            "type": "string"
          },
          "hex": {
            "type": "string"
          }
        },
        "required": [
          "algorithm",
          "hex"
        ],
        "type": "object"
      },
      "ExplainRequest": {
        "description": "ExplainRequest asks where an admitted assertion selected by a view comes from.",
        "properties": {
          "assertion": {
            "type": "string"
          },
          "view": {
            "$ref": "#/components/schemas/EntryRef"
          }
        },
        "required": [
          "view",
          "assertion"
        ],
        "title": "ExplainRequest",
        "type": "object"
      },
      "ExplainResult": {
        "description": "ExplainResult is the assertion's projected record, the declaration occurrence that defined it, the selection that adopted it, and the selected occurrences that disagree.",
        "properties": {
          "adopted_by": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/EntryRef"
              },
              {
                "type": "null"
              }
            ]
          },
          "assertion": {
            "type": "string"
          },
          "defined_by": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "disagreeing": {
            "items": {
              "$ref": "#/components/schemas/EntryRef"
            },
            "type": "array"
          },
          "record": true,
          "view": {
            "$ref": "#/components/schemas/EntryRef"
          }
        },
        "required": [
          "view",
          "assertion",
          "record",
          "defined_by",
          "disagreeing"
        ],
        "title": "ExplainResult",
        "type": "object"
      },
      "Export": {
        "description": "Export is a complete traversal of a selected subtree: every selected space's own journal prefix and child observation, retained in Bytes as one or more manifest chunks and cited by digest.",
        "properties": {
          "chunks": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "complete": {
            "type": "boolean"
          },
          "entries": {
            "type": "integer"
          },
          "incomplete": {
            "items": {
              "$ref": "#/components/schemas/Space"
            },
            "type": "array"
          },
          "manifest": {
            "type": "string"
          },
          "next_cursor": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Space"
          },
          "spaces": {
            "type": "integer"
          }
        },
        "required": [
          "scope",
          "manifest",
          "chunks",
          "spaces",
          "entries",
          "complete",
          "incomplete"
        ],
        "title": "Export",
        "type": "object"
      },
      "Gap": {
        "description": "Gap reports a journal that advanced while the subscription's pending table was full, so the cutoff it reached was not kept.",
        "properties": {
          "space": {
            "$ref": "#/components/schemas/Space"
          }
        },
        "required": [
          "space"
        ],
        "title": "Gap",
        "type": "object"
      },
      "Grant": {
        "description": "Grant is what a principal carries to prove it may act: a kind on a subtree until an instant, issued by another principal (the root or a delegate).",
        "properties": {
          "issuer": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "path": {
            "$ref": "#/components/schemas/Path"
          },
          "principal": {
            "type": "string"
          },
          "signature": {
            "description": "base64 of the 64 Ed25519 signature bytes over the fact",
            "type": "string"
          },
          "valid_until": {
            "type": "string"
          }
        },
        "required": [
          "principal",
          "kind",
          "path",
          "valid_until",
          "issuer",
          "signature"
        ],
        "type": "object"
      },
      "HTTPBinding": {
        "description": "HTTPBinding carries an operation as one request and one response.",
        "properties": {
          "method": {
            "type": "string"
          },
          "path": {
            "type": "string"
          }
        },
        "required": [
          "method",
          "path"
        ],
        "type": "object"
      },
      "Health": {
        "description": "Health is the envelope of GET /livez and GET /healthz.",
        "properties": {
          "build": {
            "$ref": "#/components/schemas/Build"
          },
          "checks": {
            "items": {
              "$ref": "#/components/schemas/Check"
            },
            "type": "array"
          },
          "contract": {
            "type": "string"
          },
          "identity": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Identity"
              },
              {
                "type": "null"
              }
            ]
          },
          "service": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "time": {
            "type": "string"
          }
        },
        "required": [
          "status",
          "service",
          "contract",
          "build",
          "time",
          "checks"
        ],
        "title": "Health",
        "type": "object"
      },
      "Identity": {
        "description": "Identity is the service-specific identity member: the Journal root the world lives in, the world's own space, the Journal instance and the world's name, the space its grants are placed in.",
        "properties": {
          "journal_instance_id": {
            "type": "string"
          },
          "root_id": {
            "type": "string"
          },
          "world": {
            "type": "string"
          },
          "world_space_id": {
            "type": "string"
          }
        },
        "required": [
          "root_id",
          "world_space_id",
          "journal_instance_id"
        ],
        "type": "object"
      },
      "Justification": {
        "description": "Justification joins a group of premises that jointly justify a declaration: each premise becomes one justifies fact, and the group id joins them.",
        "properties": {
          "group": {
            "type": "string"
          },
          "method": {
            "type": "string"
          },
          "premises": {
            "items": {
              "$ref": "#/components/schemas/EntryRef"
            },
            "type": "array"
          }
        },
        "required": [
          "group",
          "premises",
          "method"
        ],
        "title": "Justification",
        "type": "object"
      },
      "Justifies": {
        "description": "Justifies is one premise that jointly justifies an assertion: the assertion id, the group joining its premises, the premise occurrence and the method.",
        "properties": {
          "assertion_id": {
            "type": "string"
          },
          "entry": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "group": {
            "type": "string"
          },
          "method": {
            "type": "string"
          },
          "premise": {
            "$ref": "#/components/schemas/EntryRef"
          }
        },
        "required": [
          "entry",
          "assertion_id",
          "group",
          "premise",
          "method"
        ],
        "type": "object"
      },
      "Manifest": {
        "description": "Manifest is an explicit selection of journal prefixes: the scope and every selected descendant with its cutoff, in depth-first preorder by child creation.",
        "properties": {
          "max_depth": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Space"
          },
          "spaces": {
            "items": {
              "$ref": "#/components/schemas/ManifestSpace"
            },
            "type": "array"
          }
        },
        "required": [
          "scope",
          "max_depth",
          "spaces"
        ],
        "type": "object"
      },
      "ManifestSpace": {
        "description": "ManifestSpace is one selected space and the cutoff its entries were selected through.",
        "properties": {
          "space": {
            "$ref": "#/components/schemas/Space"
          },
          "through": {
            "type": "integer"
          }
        },
        "required": [
          "space",
          "through"
        ],
        "type": "object"
      },
      "Operation": {
        "description": "Operation is one row of the table.",
        "properties": {
          "doc": {
            "type": "string"
          },
          "errors": {
            "description": "refusals beyond invalid, unverified and denied",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "grant": {
            "description": "read | publish | declare | provision: the grant kind the operation needs; empty for operational rows",
            "type": "string"
          },
          "http": {
            "$ref": "#/components/schemas/HTTPBinding"
          },
          "kind": {
            "description": "mutation | read | stream | session | operational: the standard's operation kind",
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "params": {
            "items": {
              "$ref": "#/components/schemas/Param"
            },
            "type": "array"
          },
          "request": {
            "description": "body type; \"bytes\" for a raw stream",
            "type": "string"
          },
          "response": {
            "description": "result type; \"bytes\" for a raw stream; empty for a served file",
            "type": "string"
          },
          "ws": {
            "description": "carried by the socket as a message of the same name; streams and operational rows are HTTP only",
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "kind",
          "doc",
          "params",
          "errors",
          "ws"
        ],
        "type": "object"
      },
      "OutputEntry": {
        "description": "OutputEntry is one output of a completed application: its role, ordinal within that role, the retained artifact and its occurrence.",
        "properties": {
          "artifact": {
            "$ref": "#/components/schemas/Artifact"
          },
          "entry": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "ordinal": {
            "type": "integer"
          },
          "role": {
            "type": "string"
          }
        },
        "required": [
          "role",
          "ordinal",
          "artifact",
          "entry"
        ],
        "type": "object"
      },
      "OutputManifest": {
        "description": "OutputManifest is the retained manifest of a completed application's outputs: one entry per output occurrence in role order, the counts and the coverage the tool reported.",
        "properties": {
          "application": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "counts": true,
          "coverage": true,
          "outputs": {
            "items": {
              "$ref": "#/components/schemas/OutputEntry"
            },
            "type": "array"
          }
        },
        "required": [
          "application",
          "outputs",
          "counts",
          "coverage"
        ],
        "title": "OutputManifest",
        "type": "object"
      },
      "Param": {
        "description": "Param is one named input of an operation, outside its body.",
        "properties": {
          "doc": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "kind",
          "required",
          "doc"
        ],
        "type": "object"
      },
      "Path": {
        "description": "Path is a location in the world: labels from a root organizer down, relative to the world.",
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "Permission": {
        "description": "Permission is one grant a provisioning asks for: a kind on a subtree.",
        "properties": {
          "kind": {
            "type": "string"
          },
          "path": {
            "$ref": "#/components/schemas/Path"
          }
        },
        "required": [
          "kind",
          "path"
        ],
        "type": "object"
      },
      "Produced": {
        "description": "Produced is one output occurrence of the application named by application.",
        "properties": {
          "application": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "entry": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "produced": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "role": {
            "type": "string"
          }
        },
        "required": [
          "entry",
          "application",
          "role",
          "produced"
        ],
        "type": "object"
      },
      "Proof": {
        "description": "Proof authenticates one request attempt: the principal, a fresh nonce, the instant, the audience the proof is meant for, and the signature over the signing record.",
        "properties": {
          "audience": {
            "type": "string"
          },
          "nonce": {
            "type": "string"
          },
          "principal": {
            "type": "string"
          },
          "signature": {
            "description": "base64 of the 64 Ed25519 signature bytes",
            "type": "string"
          },
          "timestamp": {
            "type": "string"
          }
        },
        "required": [
          "principal",
          "nonce",
          "timestamp",
          "audience",
          "signature"
        ],
        "type": "object"
      },
      "ProvisionWorkerRequest": {
        "description": "ProvisionWorkerRequest creates a worker space under its project and issues its grants to a public key the provisioner generated into the workspace.",
        "properties": {
          "operation_id": {
            "type": "string"
          },
          "permissions": {
            "items": {
              "$ref": "#/components/schemas/Permission"
            },
            "type": "array"
          },
          "principal": {
            "type": "string"
          },
          "project": {
            "type": "string"
          },
          "valid_until": {
            "type": "string"
          },
          "worker": {
            "type": "string"
          }
        },
        "required": [
          "operation_id",
          "project",
          "worker",
          "principal",
          "permissions",
          "valid_until"
        ],
        "title": "ProvisionWorkerRequest",
        "type": "object"
      },
      "ProvisionWorkerResult": {
        "description": "ProvisionWorkerResult is the worker's space, its initial state record, the grants and the workspace material.",
        "properties": {
          "grants": {
            "items": {
              "$ref": "#/components/schemas/Grant"
            },
            "type": "array"
          },
          "replayed": {
            "type": "boolean"
          },
          "space": {
            "$ref": "#/components/schemas/Space"
          },
          "state": {
            "$ref": "#/components/schemas/Record"
          },
          "workspace": {
            "$ref": "#/components/schemas/Workspace"
          }
        },
        "required": [
          "space",
          "state",
          "grants",
          "workspace",
          "replayed"
        ],
        "title": "ProvisionWorkerResult",
        "type": "object"
      },
      "PublishRequest": {
        "description": "PublishRequest appends a record to the individual record's leaf journal at path, creating the leaf under its organizer when absent.",
        "properties": {
          "expected_cutoff": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "metadata": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "operation_id": {
            "type": "string"
          },
          "path": {
            "$ref": "#/components/schemas/Path"
          },
          "profile": {
            "type": "string"
          },
          "record": true
        },
        "required": [
          "operation_id",
          "path",
          "profile",
          "record"
        ],
        "title": "PublishRequest",
        "type": "object"
      },
      "PublishResult": {
        "description": "PublishResult is the accepted or recovered outcome: the record occurrence, whether this operation created the leaf journal, and whether the result was recovered from an earlier admission of the same request.",
        "properties": {
          "record": {
            "$ref": "#/components/schemas/Record"
          },
          "replayed": {
            "type": "boolean"
          },
          "space_created": {
            "type": "boolean"
          }
        },
        "required": [
          "record",
          "space_created",
          "replayed"
        ],
        "title": "PublishResult",
        "type": "object"
      },
      "QueryRequest": {
        "description": "QueryRequest asks a view occurrence for records.",
        "properties": {
          "cursor": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "filters": true,
          "limit": {
            "type": "integer"
          },
          "view": {
            "$ref": "#/components/schemas/EntryRef"
          }
        },
        "required": [
          "view",
          "filters"
        ],
        "title": "QueryRequest",
        "type": "object"
      },
      "QueryResult": {
        "description": "QueryResult carries records with the view, coverage and limits it holds for.",
        "properties": {
          "coverage": true,
          "limits": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "next_cursor": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "outcome": {
            "type": "string"
          },
          "records": {
            "items": true,
            "type": "array"
          },
          "view": {
            "$ref": "#/components/schemas/EntryRef"
          }
        },
        "required": [
          "view",
          "outcome",
          "records",
          "coverage",
          "limits"
        ],
        "title": "QueryResult",
        "type": "object"
      },
      "Record": {
        "description": "Record is one admitted record occurrence: the fact Dawn appended to an individual record's leaf journal under dawn-facts-v2, with the provenance Dawn persists because Journal supplies none.",
        "properties": {
          "accepted_at": {
            "type": "string"
          },
          "entry": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "hash": {
            "type": "string"
          },
          "metadata": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "profile": {
            "type": "string"
          },
          "publisher": {
            "type": "string"
          },
          "request_digest": {
            "type": "string"
          },
          "request_id": {
            "type": "string"
          }
        },
        "required": [
          "entry",
          "profile",
          "hash",
          "metadata",
          "publisher",
          "request_id",
          "request_digest",
          "accepted_at"
        ],
        "title": "Record",
        "type": "object"
      },
      "RecordRead": {
        "description": "RecordRead is one exact occurrence, read by its reference at a valid covering cutoff, with the space it lies in resolved to its Dawn path.",
        "properties": {
          "entry": {
            "$ref": "#/components/schemas/Entry"
          },
          "space": {
            "$ref": "#/components/schemas/Space"
          }
        },
        "required": [
          "space",
          "entry"
        ],
        "title": "RecordRead",
        "type": "object"
      },
      "Refusal": {
        "description": "RefusalRecord is the retained payload of a dawn/refusal/1 record: an authenticated, well-formed request that could not be applied, with the reason, written under the application leaf in place of an attempt.",
        "properties": {
          "publisher": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "refused_at": {
            "type": "string"
          },
          "request": true
        },
        "required": [
          "request",
          "reason",
          "publisher",
          "refused_at"
        ],
        "title": "Refusal",
        "type": "object"
      },
      "Relation": {
        "description": "Relation names a declaration's relation to another occurrence: supersedes, challenges or withdraws.",
        "properties": {
          "kind": {
            "type": "string"
          },
          "target": {
            "$ref": "#/components/schemas/EntryRef"
          }
        },
        "required": [
          "kind",
          "target"
        ],
        "title": "Relation",
        "type": "object"
      },
      "RelationFact": {
        "description": "RelationFact is one relation of an assertion to another occurrence: supersedes, challenges or withdraws.",
        "properties": {
          "assertion_id": {
            "type": "string"
          },
          "entry": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "kind": {
            "type": "string"
          },
          "target": {
            "$ref": "#/components/schemas/EntryRef"
          }
        },
        "required": [
          "entry",
          "assertion_id",
          "kind",
          "target"
        ],
        "type": "object"
      },
      "ResolveResult": {
        "description": "ResolveResult is the space at a path, or null when the path is unoccupied.",
        "properties": {
          "space": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Space"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "space"
        ],
        "title": "ResolveResult",
        "type": "object"
      },
      "Result": {
        "description": "Result is the seal fact of a terminal application: its outcome, the retained manifest, resolution and seal envelope by hash.",
        "properties": {
          "application": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "attestation": {
            "type": "string"
          },
          "entry": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "manifest": {
            "type": "string"
          },
          "outcome": {
            "type": "string"
          },
          "resolution": {
            "type": "string"
          }
        },
        "required": [
          "entry",
          "application",
          "outcome",
          "manifest",
          "resolution",
          "attestation"
        ],
        "type": "object"
      },
      "ResultSeal": {
        "description": "ResultSeal is the retained, signed envelope of a terminal application: the application and release, every bound and produced occurrence, the outcome, the retained environment, manifest and resolution, and the service root's signature over the canonical seal with the signature empty.",
        "properties": {
          "application": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "bound": {
            "items": {
              "$ref": "#/components/schemas/EntryRef"
            },
            "type": "array"
          },
          "environment": {
            "type": "string"
          },
          "manifest": {
            "type": "string"
          },
          "outcome": {
            "type": "string"
          },
          "produced": {
            "items": {
              "$ref": "#/components/schemas/EntryRef"
            },
            "type": "array"
          },
          "release": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "resolution": {
            "type": "string"
          },
          "signature": {
            "type": "string"
          },
          "signed_at": {
            "type": "string"
          }
        },
        "required": [
          "application",
          "release",
          "bound",
          "produced",
          "outcome",
          "environment",
          "manifest",
          "resolution",
          "signed_at",
          "signature"
        ],
        "title": "ResultSeal",
        "type": "object"
      },
      "RetainResult": {
        "description": "RetainResult names bytes that were retained and verified.",
        "properties": {
          "artifact": {
            "$ref": "#/components/schemas/Artifact"
          },
          "size": {
            "type": "integer"
          }
        },
        "required": [
          "artifact",
          "size"
        ],
        "title": "RetainResult",
        "type": "object"
      },
      "RetireWorkerRequest": {
        "description": "RetireWorkerRequest records that a worker's window is closed.",
        "properties": {
          "operation_id": {
            "type": "string"
          },
          "project": {
            "type": "string"
          },
          "worker": {
            "type": "string"
          }
        },
        "required": [
          "operation_id",
          "project",
          "worker"
        ],
        "title": "RetireWorkerRequest",
        "type": "object"
      },
      "Role": {
        "description": "Role is one declared input or output of a tool.",
        "properties": {
          "accepts": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "doc": {
            "type": "string"
          },
          "dynamic": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "yields": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "doc"
        ],
        "title": "Role",
        "type": "object"
      },
      "Snapshot": {
        "description": "Snapshot is a captured manifest, retained in Bytes as canonical JSON and cited by that digest.",
        "properties": {
          "digest": {
            "type": "string"
          },
          "manifest": {
            "$ref": "#/components/schemas/Manifest"
          }
        },
        "required": [
          "manifest",
          "digest"
        ],
        "title": "Snapshot",
        "type": "object"
      },
      "Space": {
        "description": "Space is a space's identity together with its Dawn path: the labels below the world, so a grant by path applies to it.",
        "properties": {
          "path": {
            "$ref": "#/components/schemas/Path"
          },
          "root_id": {
            "type": "string"
          },
          "space_id": {
            "type": "string"
          }
        },
        "required": [
          "root_id",
          "space_id",
          "path"
        ],
        "type": "object"
      },
      "SpaceRef": {
        "description": "SpaceRef is the exact identity of one space and its journal, as Journal allocated it.",
        "properties": {
          "root_id": {
            "type": "string"
          },
          "space_id": {
            "type": "string"
          }
        },
        "required": [
          "root_id",
          "space_id"
        ],
        "type": "object"
      },
      "SpaceResult": {
        "description": "SpaceResult is the outcome of creating structure without a record.",
        "properties": {
          "replayed": {
            "type": "boolean"
          },
          "space": {
            "$ref": "#/components/schemas/Space"
          }
        },
        "required": [
          "space",
          "replayed"
        ],
        "title": "SpaceResult",
        "type": "object"
      },
      "Staged": {
        "description": "Staged is the first fact of an artifact space an application creates, before its content fact, naming the application.",
        "properties": {
          "application": {
            "$ref": "#/components/schemas/EntryRef"
          },
          "entry": {
            "$ref": "#/components/schemas/EntryRef"
          }
        },
        "required": [
          "entry",
          "application"
        ],
        "type": "object"
      },
      "SubscribeRequest": {
        "description": "SubscribeRequest opens a subscription over a scope.",
        "properties": {
          "scope": {
            "$ref": "#/components/schemas/Path"
          }
        },
        "required": [
          "scope"
        ],
        "title": "SubscribeRequest",
        "type": "object"
      },
      "SubscribeResult": {
        "description": "SubscribeResult reports the open subscription.",
        "properties": {
          "expires_at": {
            "description": "ExpiresAt is when the service stops delivering: the earlier of the\ngrant's validity end and the configured maximum. Renewal is a fresh\nsubscribe with a fresh proof, because events carry no proof of their own.",
            "type": "string"
          },
          "scope": {
            "$ref": "#/components/schemas/Space"
          },
          "subscription": {
            "type": "string"
          }
        },
        "required": [
          "subscription",
          "scope",
          "expires_at"
        ],
        "title": "SubscribeResult",
        "type": "object"
      },
      "SubscriptionClosed": {
        "description": "SubscriptionClosed is the last frame of a subscription.",
        "properties": {
          "delivered": {
            "type": "integer"
          },
          "reason": {
            "type": "string"
          }
        },
        "required": [
          "reason",
          "delivered"
        ],
        "title": "SubscriptionClosed",
        "type": "object"
      },
      "ToolDescription": {
        "description": "ToolDescription is the retained content of a release's artifact space under the world's tools: what the tool is, what it takes and yields, whether running it twice on one valuation is expected to agree, which hosts it may reach, and how the service executes it.",
        "properties": {
          "class": {
            "type": "string"
          },
          "deterministic": {
            "type": "boolean"
          },
          "doc": {
            "type": "string"
          },
          "effects": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "egress": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "executable": {
            "$ref": "#/components/schemas/Executable"
          },
          "inputs": {
            "items": {
              "$ref": "#/components/schemas/Role"
            },
            "type": "array"
          },
          "name": {
            "type": "string"
          },
          "outputs": {
            "items": {
              "$ref": "#/components/schemas/Role"
            },
            "type": "array"
          },
          "recipe_doc": {
            "type": "string"
          },
          "version": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "version",
          "doc",
          "class",
          "inputs",
          "outputs",
          "effects",
          "recipe_doc",
          "deterministic",
          "egress",
          "executable"
        ],
        "title": "ToolDescription",
        "type": "object"
      },
      "UnsubscribeResult": {
        "description": "UnsubscribeResult reports a closed subscription.",
        "properties": {
          "delivered": {
            "type": "integer"
          },
          "subscription": {
            "type": "string"
          }
        },
        "required": [
          "subscription",
          "delivered"
        ],
        "title": "UnsubscribeResult",
        "type": "object"
      },
      "Workspace": {
        "description": "Workspace is what a prepared directory needs to know: the endpoint, the audience its proofs name, its principal and its path; never a backend.",
        "properties": {
          "audience": {
            "type": "string"
          },
          "endpoint": {
            "type": "string"
          },
          "path": {
            "$ref": "#/components/schemas/Path"
          },
          "principal": {
            "type": "string"
          },
          "project": {
            "type": "string"
          },
          "worker": {
            "type": "string"
          }
        },
        "required": [
          "endpoint",
          "audience",
          "principal",
          "project",
          "worker",
          "path"
        ],
        "type": "object"
      }
    }
  },
  "info": {
    "description": "Generated from api.Operations and the api package's types (ulab-standard/API.md). The contract is SURFACE.md, HTTP.md and WS.md: the signing record, grants, the record admission protocol, consistency and cancellation live there and not here. Every operation marked x-ulab-ws-message is also carried by the WebSocket binding of WS.md as a message of that name.",
    "title": "dawn",
    "version": "2026-09-19"
  },
  "openapi": "3.1.0",
  "paths": {
    "/describe": {
      "get": {
        "operationId": "describe",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Describe"
                }
              }
            },
            "description": "the result"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid"
          }
        },
        "summary": "who this is, which contract, build, identity, bindings, operations, refusals and served files",
        "tags": [
          "operational"
        ]
      }
    },
    "/describe/{file}": {
      "get": {
        "operationId": "describe_file",
        "parameters": [
          {
            "description": "a file name listed by describe",
            "in": "path",
            "name": "file",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "the file, verbatim, as text/markdown or application/json"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "not_found"
          }
        },
        "summary": "one committed contract file, verbatim, with its media type",
        "tags": [
          "operational"
        ]
      }
    },
    "/healthz": {
      "get": {
        "operationId": "health",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Health"
                }
              }
            },
            "description": "the result"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Health"
                }
              }
            },
            "description": "failing: the same envelope with the failing checks"
          }
        },
        "summary": "the service can serve its contract: journal and bytes answer; 503 otherwise",
        "tags": [
          "operational"
        ]
      }
    },
    "/livez": {
      "get": {
        "operationId": "livez",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Health"
                }
              }
            },
            "description": "the result"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid"
          }
        },
        "summary": "the process is up and can answer; never 503; empty checks",
        "tags": [
          "operational"
        ]
      }
    },
    "/v1/applications": {
      "post": {
        "operationId": "apply",
        "parameters": [
          {
            "description": "base64 of the JSON Carriage: the principal's proof over the signing record of this call and the grants it relies on (SURFACE.md, HTTP.md)",
            "in": "header",
            "name": "Dawn-Auth",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplyResult"
                }
              }
            },
            "description": "replayed: the original result of this operation ID, or a read-like result"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplyResult"
                }
              }
            },
            "description": "accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid, invalid_record, structural"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unverified"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "denied"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "not_found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "conflict, exists, idempotency_mismatch, unresolved"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "limit_exceeded"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unavailable"
          }
        },
        "summary": "run a configured tool on a valuation of its input roles and record the application: admit the attempt, create the output artifacts, append the application batch and attest the run; recover an earlier admission of the same request",
        "tags": [
          "mutation"
        ],
        "x-dawn-grant": "publish",
        "x-ulab-ws-message": "apply"
      }
    },
    "/v1/artifacts": {
      "post": {
        "operationId": "create_artifact",
        "parameters": [
          {
            "description": "base64 of the JSON Carriage: the principal's proof over the signing record of this call and the grants it relies on (SURFACE.md, HTTP.md)",
            "in": "header",
            "name": "Dawn-Auth",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateArtifactRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArtifactResult"
                }
              }
            },
            "description": "replayed: the original result of this operation ID, or a read-like result"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArtifactResult"
                }
              }
            },
            "description": "accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid, invalid_record, structural"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unverified"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "denied"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "not_found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "conflict, exists, idempotency_mismatch, unresolved"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "limit_exceeded"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unavailable"
          }
        },
        "summary": "create an artifact space with its one immutable content fact and its declarations space",
        "tags": [
          "mutation"
        ],
        "x-dawn-grant": "publish",
        "x-ulab-ws-message": "create_artifact"
      }
    },
    "/v1/assignments": {
      "post": {
        "operationId": "assign",
        "parameters": [
          {
            "description": "base64 of the JSON Carriage: the principal's proof over the signing record of this call and the grants it relies on (SURFACE.md, HTTP.md)",
            "in": "header",
            "name": "Dawn-Auth",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublishResult"
                }
              }
            },
            "description": "replayed: the original result of this operation ID, or a read-like result"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublishResult"
                }
              }
            },
            "description": "accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid, structural"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unverified"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "denied"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "not_found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "conflict, exists, idempotency_mismatch, unresolved"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "limit_exceeded"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unavailable"
          }
        },
        "summary": "publish an assignment: pinned inputs and intended outputs for a worker",
        "tags": [
          "mutation"
        ],
        "x-dawn-grant": "provision",
        "x-ulab-ws-message": "assign"
      }
    },
    "/v1/campaigns": {
      "post": {
        "operationId": "create_campaign",
        "parameters": [
          {
            "description": "base64 of the JSON Carriage: the principal's proof over the signing record of this call and the grants it relies on (SURFACE.md, HTTP.md)",
            "in": "header",
            "name": "Dawn-Auth",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCampaignRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublishResult"
                }
              }
            },
            "description": "replayed: the original result of this operation ID, or a read-like result"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublishResult"
                }
              }
            },
            "description": "accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid, structural"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unverified"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "denied"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "not_found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "conflict, exists, idempotency_mismatch"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "limit_exceeded"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unavailable"
          }
        },
        "summary": "create a campaign space over a project with its state record",
        "tags": [
          "mutation"
        ],
        "x-dawn-grant": "provision",
        "x-ulab-ws-message": "create_campaign"
      }
    },
    "/v1/children": {
      "get": {
        "operationId": "children",
        "parameters": [
          {
            "description": "the path, one label per entry, below the world; omitted selects the world itself",
            "explode": true,
            "in": "query",
            "name": "path",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "a cutoff of the selected journal; omitted captures its committed cutoff once; a continuation resends it",
            "in": "query",
            "name": "through",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "a continuation cursor from the previous page",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "page size, 1..128, default 64",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "base64 of the JSON Carriage: the principal's proof over the signing record of this call and the grants it relies on (SURFACE.md, HTTP.md)",
            "in": "header",
            "name": "Dawn-Auth",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChildrenPage"
                }
              }
            },
            "description": "the result"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid, invalid_cursor"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unverified"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "denied"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "not_found"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "limit_exceeded"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unavailable"
          }
        },
        "summary": "the readable children of a space at a fixed cutoff, in creation order; without a path, the world's",
        "tags": [
          "read"
        ],
        "x-dawn-grant": "read",
        "x-ulab-ws-message": "children"
      }
    },
    "/v1/compose": {
      "post": {
        "operationId": "compose",
        "parameters": [
          {
            "description": "base64 of the JSON Carriage: the principal's proof over the signing record of this call and the grants it relies on (SURFACE.md, HTTP.md)",
            "in": "header",
            "name": "Dawn-Auth",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ComposeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublishResult"
                }
              }
            },
            "description": "replayed: the original result of this operation ID, or a read-like result"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublishResult"
                }
              }
            },
            "description": "accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid, invalid_record, structural"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unverified"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "denied"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "not_found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "conflict, exists, idempotency_mismatch, unresolved"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "limit_exceeded"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unavailable"
          }
        },
        "summary": "compose a view from exact occurrence selections and publish it under views/",
        "tags": [
          "mutation"
        ],
        "x-dawn-grant": "publish",
        "x-ulab-ws-message": "compose"
      }
    },
    "/v1/declarations": {
      "post": {
        "operationId": "declare",
        "parameters": [
          {
            "description": "base64 of the JSON Carriage: the principal's proof over the signing record of this call and the grants it relies on (SURFACE.md, HTTP.md)",
            "in": "header",
            "name": "Dawn-Auth",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeclareRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeclareResult"
                }
              }
            },
            "description": "replayed: the original result of this operation ID, or a read-like result"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeclareResult"
                }
              }
            },
            "description": "accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid, invalid_record, structural"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unverified"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "denied"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "not_found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "conflict, exists, idempotency_mismatch, unresolved"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "limit_exceeded"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unavailable"
          }
        },
        "summary": "append an immutable attributed declaration about an artifact's exact content, retaining the signed envelope and its frame and recovering the first admission on retry",
        "tags": [
          "mutation"
        ],
        "x-dawn-grant": "declare",
        "x-ulab-ws-message": "declare"
      }
    },
    "/v1/entries": {
      "get": {
        "operationId": "entries",
        "parameters": [
          {
            "description": "the path, one label per entry, below the world",
            "explode": true,
            "in": "query",
            "name": "path",
            "required": true,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "the position a page continues after; omitted starts at the beginning",
            "in": "query",
            "name": "after",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "a cutoff of the selected journal; omitted captures its committed cutoff once; a continuation resends it",
            "in": "query",
            "name": "through",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "page size, 1..128, default 64",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "base64 of the JSON Carriage: the principal's proof over the signing record of this call and the grants it relies on (SURFACE.md, HTTP.md)",
            "in": "header",
            "name": "Dawn-Auth",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntriesPage"
                }
              }
            },
            "description": "the result"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid, invalid_cursor"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unverified"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "denied"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "not_found"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "limit_exceeded"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unavailable"
          }
        },
        "summary": "a journal's entries over a fixed prefix, ascending, one page at a time",
        "tags": [
          "read"
        ],
        "x-dawn-grant": "read",
        "x-ulab-ws-message": "entries"
      }
    },
    "/v1/explain": {
      "post": {
        "operationId": "explain",
        "parameters": [
          {
            "description": "base64 of the JSON Carriage: the principal's proof over the signing record of this call and the grants it relies on (SURFACE.md, HTTP.md)",
            "in": "header",
            "name": "Dawn-Auth",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExplainRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExplainResult"
                }
              }
            },
            "description": "the result"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unverified"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "denied"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "not_found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unresolved"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unavailable"
          }
        },
        "summary": "an admitted assertion at a view: which declaration defined it, which selection adopted it, what disagreed",
        "tags": [
          "read"
        ],
        "x-dawn-grant": "read",
        "x-ulab-ws-message": "explain"
      }
    },
    "/v1/export": {
      "get": {
        "operationId": "export",
        "parameters": [
          {
            "description": "the path, one label per entry, below the world; omitted selects the world itself",
            "explode": true,
            "in": "query",
            "name": "path",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "a continuation cursor from the previous page",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "base64 of the JSON Carriage: the principal's proof over the signing record of this call and the grants it relies on (SURFACE.md, HTTP.md)",
            "in": "header",
            "name": "Dawn-Auth",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Export"
                }
              }
            },
            "description": "the result"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid, invalid_cursor"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unverified"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "denied"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "not_found"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "limit_exceeded"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unavailable"
          }
        },
        "summary": "a complete traversal of the world or a subtree: every selected journal prefix and child observation, retained in bytes and cited by digest, with explicit incomplete coverage",
        "tags": [
          "read"
        ],
        "x-dawn-grant": "provision",
        "x-ulab-ws-message": "export"
      }
    },
    "/v1/fetch": {
      "get": {
        "operationId": "fetch",
        "parameters": [
          {
            "description": "the path, one label per entry, below the world",
            "explode": true,
            "in": "query",
            "name": "path",
            "required": true,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "the hash of the retained bytes",
            "in": "query",
            "name": "bytes",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "base64 of the JSON Carriage: the principal's proof over the signing record of this call and the grants it relies on (SURFACE.md, HTTP.md)",
            "in": "header",
            "name": "Dawn-Auth",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "the result"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unverified"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "denied"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "not_found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unresolved"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unavailable"
          }
        },
        "summary": "the bytes of retained content the path's journal names, streamed and verified before completion",
        "tags": [
          "stream"
        ],
        "x-dawn-grant": "read"
      }
    },
    "/v1/get": {
      "get": {
        "operationId": "get",
        "parameters": [
          {
            "description": "the Journal root the occurrence lies in",
            "in": "query",
            "name": "root_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "the exact space the occurrence lies in",
            "in": "query",
            "name": "space_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "the occurrence's position in its journal",
            "in": "query",
            "name": "position",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "base64 of the JSON Carriage: the principal's proof over the signing record of this call and the grants it relies on (SURFACE.md, HTTP.md)",
            "in": "header",
            "name": "Dawn-Auth",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecordRead"
                }
              }
            },
            "description": "the result"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unverified"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "denied"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "not_found"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unavailable"
          }
        },
        "summary": "one exact occurrence by its reference, read at a valid covering cutoff; the reference is resolved to its actual path before authorization",
        "tags": [
          "read"
        ],
        "x-dawn-grant": "read",
        "x-ulab-ws-message": "get"
      }
    },
    "/v1/projects": {
      "post": {
        "operationId": "create_project",
        "parameters": [
          {
            "description": "base64 of the JSON Carriage: the principal's proof over the signing record of this call and the grants it relies on (SURFACE.md, HTTP.md)",
            "in": "header",
            "name": "Dawn-Auth",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProjectRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SpaceResult"
                }
              }
            },
            "description": "replayed: the original result of this operation ID, or a read-like result"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SpaceResult"
                }
              }
            },
            "description": "accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid, structural"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unverified"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "denied"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "not_found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "conflict, exists, idempotency_mismatch"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "limit_exceeded"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unavailable"
          }
        },
        "summary": "create a project space with its organizing spaces",
        "tags": [
          "mutation"
        ],
        "x-dawn-grant": "provision",
        "x-ulab-ws-message": "create_project"
      }
    },
    "/v1/publish": {
      "post": {
        "operationId": "publish",
        "parameters": [
          {
            "description": "base64 of the JSON Carriage: the principal's proof over the signing record of this call and the grants it relies on (SURFACE.md, HTTP.md)",
            "in": "header",
            "name": "Dawn-Auth",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublishResult"
                }
              }
            },
            "description": "replayed: the original result of this operation ID, or a read-like result"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublishResult"
                }
              }
            },
            "description": "accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid, invalid_record, structural"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unverified"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "denied"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "not_found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "conflict, exists, idempotency_mismatch, unresolved"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "limit_exceeded"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unavailable"
          }
        },
        "summary": "publish a record at a path: validate, retain, append the record fact to the leaf journal with its admission provenance, recovering an earlier admission of the same request",
        "tags": [
          "mutation"
        ],
        "x-dawn-grant": "publish",
        "x-ulab-ws-message": "publish"
      }
    },
    "/v1/query": {
      "post": {
        "operationId": "query",
        "parameters": [
          {
            "description": "base64 of the JSON Carriage: the principal's proof over the signing record of this call and the grants it relies on (SURFACE.md, HTTP.md)",
            "in": "header",
            "name": "Dawn-Auth",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QueryResult"
                }
              }
            },
            "description": "the result"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid, invalid_cursor"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unverified"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "denied"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "not_found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unresolved"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unavailable"
          }
        },
        "summary": "records of a view matching filters, with the view, coverage and limits; four outcomes kept apart",
        "tags": [
          "read"
        ],
        "x-dawn-grant": "read",
        "x-ulab-ws-message": "query"
      }
    },
    "/v1/resolve": {
      "get": {
        "operationId": "resolve",
        "parameters": [
          {
            "description": "the path, one label per entry, below the world",
            "explode": true,
            "in": "query",
            "name": "path",
            "required": true,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "base64 of the JSON Carriage: the principal's proof over the signing record of this call and the grants it relies on (SURFACE.md, HTTP.md)",
            "in": "header",
            "name": "Dawn-Auth",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResolveResult"
                }
              }
            },
            "description": "the result"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unverified"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "denied"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "not_found"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unavailable"
          }
        },
        "summary": "the space at a path, or null when the path is unoccupied",
        "tags": [
          "read"
        ],
        "x-dawn-grant": "read",
        "x-ulab-ws-message": "resolve"
      }
    },
    "/v1/retain": {
      "put": {
        "operationId": "retain",
        "parameters": [
          {
            "description": "the path, one label per entry, below the world",
            "explode": true,
            "in": "query",
            "name": "path",
            "required": true,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "the interpretation hash the bytes are retained under",
            "in": "query",
            "name": "type",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "base64 of the JSON Carriage: the principal's proof over the signing record of this call and the grants it relies on (SURFACE.md, HTTP.md)",
            "in": "header",
            "name": "Dawn-Auth",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "format": "binary",
                "type": "string"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetainResult"
                }
              }
            },
            "description": "replayed: the original result of this operation ID, or a read-like result"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetainResult"
                }
              }
            },
            "description": "accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid, invalid_record"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unverified"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "denied"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unavailable"
          }
        },
        "summary": "retain bytes under a declared interpretation; nothing is named yet; verified against the hash before the artifact is reported",
        "tags": [
          "mutation"
        ],
        "x-dawn-grant": "publish"
      }
    },
    "/v1/snapshot": {
      "get": {
        "operationId": "snapshot",
        "parameters": [
          {
            "description": "the path, one label per entry, below the world; omitted selects the world itself",
            "explode": true,
            "in": "query",
            "name": "path",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "how many levels below the scope to select; omitted selects every descendant",
            "in": "query",
            "name": "depth",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "base64 of the JSON Carriage: the principal's proof over the signing record of this call and the grants it relies on (SURFACE.md, HTTP.md)",
            "in": "header",
            "name": "Dawn-Auth",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Snapshot"
                }
              }
            },
            "description": "the result"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unverified"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "denied"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "not_found"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "limit_exceeded"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unavailable"
          }
        },
        "summary": "capture an explicit manifest of the scope and its selected descendants, retained in bytes and cited by digest",
        "tags": [
          "read"
        ],
        "x-dawn-grant": "read",
        "x-ulab-ws-message": "snapshot"
      }
    },
    "/v1/workers": {
      "post": {
        "operationId": "provision_worker",
        "parameters": [
          {
            "description": "base64 of the JSON Carriage: the principal's proof over the signing record of this call and the grants it relies on (SURFACE.md, HTTP.md)",
            "in": "header",
            "name": "Dawn-Auth",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProvisionWorkerRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProvisionWorkerResult"
                }
              }
            },
            "description": "replayed: the original result of this operation ID, or a read-like result"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProvisionWorkerResult"
                }
              }
            },
            "description": "accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid, structural"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unverified"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "denied"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "not_found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "conflict, exists, idempotency_mismatch"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "limit_exceeded"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unavailable"
          }
        },
        "summary": "create a worker space under its project, write its state record and issue its grants to the workspace's public key",
        "tags": [
          "mutation"
        ],
        "x-dawn-grant": "provision",
        "x-ulab-ws-message": "provision_worker"
      }
    },
    "/v1/workers/retire": {
      "post": {
        "operationId": "retire_worker",
        "parameters": [
          {
            "description": "base64 of the JSON Carriage: the principal's proof over the signing record of this call and the grants it relies on (SURFACE.md, HTTP.md)",
            "in": "header",
            "name": "Dawn-Auth",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetireWorkerRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublishResult"
                }
              }
            },
            "description": "replayed: the original result of this operation ID, or a read-like result"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublishResult"
                }
              }
            },
            "description": "accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid, structural"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unverified"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "denied"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "not_found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "conflict, exists, idempotency_mismatch"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "limit_exceeded"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "unavailable"
          }
        },
        "summary": "record that a worker's window is closed",
        "tags": [
          "mutation"
        ],
        "x-dawn-grant": "provision",
        "x-ulab-ws-message": "retire_worker"
      }
    }
  },
  "servers": [
    {
      "description": "the standalone default listener",
      "url": "http://127.0.0.1:8091"
    }
  ]
}
