{
  "components": {
    "schemas": {
      "BindingHTTP": {
        "additionalProperties": false,
        "description": "BindingHTTP describes the HTTP binding in the describe document.",
        "properties": {
          "prefix": {
            "type": "string"
          }
        },
        "required": [
          "prefix"
        ],
        "type": "object"
      },
      "Bindings": {
        "additionalProperties": false,
        "description": "Bindings names the primary binding and describes each offered one.",
        "properties": {
          "http": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/BindingHTTP"
              },
              {
                "type": "null"
              }
            ]
          },
          "primary": {
            "type": "string"
          }
        },
        "required": [
          "primary"
        ],
        "type": "object"
      },
      "Build": {
        "additionalProperties": false,
        "description": "Build identifies the binary: the revision it was built from, whether that tree was dirty, and the Go version.",
        "properties": {
          "dirty": {
            "type": "boolean"
          },
          "go": {
            "type": "string"
          },
          "revision": {
            "type": "string"
          }
        },
        "required": [
          "revision",
          "dirty",
          "go"
        ],
        "type": "object"
      },
      "Check": {
        "additionalProperties": false,
        "description": "Check is one dependency the service needs in order to serve its contract.",
        "properties": {
          "detail": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "description": "ok | failing",
            "type": "string"
          }
        },
        "required": [
          "name",
          "status",
          "detail"
        ],
        "type": "object"
      },
      "Error": {
        "additionalProperties": false,
        "description": "Error is a refusal.",
        "properties": {
          "details": {
            "type": "object"
          },
          "error": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "error",
          "message"
        ],
        "title": "Error",
        "type": "object"
      },
      "HTTPBinding": {
        "additionalProperties": false,
        "description": "HTTPBinding carries one operation over HTTP.",
        "properties": {
          "method": {
            "type": "string"
          },
          "path": {
            "type": "string"
          }
        },
        "required": [
          "method",
          "path"
        ],
        "type": "object"
      },
      "Health": {
        "additionalProperties": false,
        "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": {
        "additionalProperties": false,
        "description": "Identity is the service-specific identity member of the health envelope and the describe document: the logical root, its space, and the store lineage.",
        "properties": {
          "journal_instance_id": {
            "type": "string"
          },
          "root_id": {
            "type": "string"
          },
          "root_space_id": {
            "type": "string"
          }
        },
        "required": [
          "root_id",
          "root_space_id",
          "journal_instance_id"
        ],
        "type": "object"
      },
      "ManagementDescribe": {
        "additionalProperties": false,
        "description": "ManagementDescribe describes only the selected management listener.",
        "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"
          },
          "surface": {
            "type": "string"
          }
        },
        "required": [
          "service",
          "surface",
          "contract",
          "build",
          "bindings",
          "operations",
          "refusals",
          "files"
        ],
        "title": "ManagementDescribe",
        "type": "object"
      },
      "Operation": {
        "additionalProperties": false,
        "description": "Operation is the shared operation table row consumed by bindings and clients.",
        "properties": {
          "doc": {
            "type": "string"
          },
          "errors": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "http": {
            "$ref": "#/components/schemas/HTTPBinding"
          },
          "kind": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "params": {
            "items": {
              "$ref": "#/components/schemas/Param"
            },
            "type": "array"
          },
          "request": {
            "type": "string"
          },
          "response": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "kind",
          "doc",
          "params",
          "errors"
        ],
        "type": "object"
      },
      "Param": {
        "additionalProperties": false,
        "description": "Param is a named input outside a JSON body.",
        "properties": {
          "doc": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "repeated": {
            "type": "boolean"
          },
          "required": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "kind",
          "required",
          "repeated",
          "doc"
        ],
        "type": "object"
      },
      "Refusal": {
        "additionalProperties": false,
        "description": "Refusal is one row of the refusal table: the surface's name for it, the status the HTTP binding maps it to, and its one-line meaning.",
        "properties": {
          "http": {
            "type": "integer"
          },
          "meaning": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "http",
          "meaning"
        ],
        "type": "object"
      }
    }
  },
  "info": {
    "description": "Generated from journal.ManagementOperations and management types. The management SURFACE.md and HTTP.md govern semantics.",
    "title": "ulab-journal management",
    "version": "2026-09-11"
  },
  "openapi": "3.1.0",
  "paths": {
    "/describe": {
      "get": {
        "operationId": "describe",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagementDescribe"
                }
              }
            },
            "description": "the result",
            "headers": {
              "Ulab-Contract": {
                "required": true,
                "schema": {
                  "const": "2026-09-11",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "required": true,
                "schema": {
                  "const": "journal",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "required": true,
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid",
            "headers": {
              "Ulab-Contract": {
                "required": true,
                "schema": {
                  "const": "2026-09-11",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "required": true,
                "schema": {
                  "const": "journal",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "required": true,
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "405": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid: unsupported method; Allow names the supported method",
            "headers": {
              "Ulab-Contract": {
                "required": true,
                "schema": {
                  "const": "2026-09-11",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "required": true,
                "schema": {
                  "const": "journal",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "required": true,
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "the management identity, contract, build, binding, operations, refusals and files",
        "tags": [
          "operational"
        ]
      }
    },
    "/describe/{file}": {
      "get": {
        "operationId": "describe_file",
        "parameters": [
          {
            "description": "an exact management file name listed by describe",
            "in": "path",
            "name": "file",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              },
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "the file, verbatim",
            "headers": {
              "Ulab-Contract": {
                "required": true,
                "schema": {
                  "const": "2026-09-11",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "required": true,
                "schema": {
                  "const": "journal",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "required": true,
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid",
            "headers": {
              "Ulab-Contract": {
                "required": true,
                "schema": {
                  "const": "2026-09-11",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "required": true,
                "schema": {
                  "const": "journal",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "required": true,
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "not_found",
            "headers": {
              "Ulab-Contract": {
                "required": true,
                "schema": {
                  "const": "2026-09-11",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "required": true,
                "schema": {
                  "const": "journal",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "required": true,
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "405": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid: unsupported method; Allow names the supported method",
            "headers": {
              "Ulab-Contract": {
                "required": true,
                "schema": {
                  "const": "2026-09-11",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "required": true,
                "schema": {
                  "const": "journal",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "required": true,
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "one embedded management contract file, verbatim",
        "tags": [
          "operational"
        ]
      }
    },
    "/healthz": {
      "get": {
        "operationId": "health",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Health"
                }
              }
            },
            "description": "the result",
            "headers": {
              "Ulab-Contract": {
                "required": true,
                "schema": {
                  "const": "2026-09-11",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "required": true,
                "schema": {
                  "const": "journal",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "required": true,
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid",
            "headers": {
              "Ulab-Contract": {
                "required": true,
                "schema": {
                  "const": "2026-09-11",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "required": true,
                "schema": {
                  "const": "journal",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "required": true,
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "405": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid: unsupported method; Allow names the supported method",
            "headers": {
              "Ulab-Contract": {
                "required": true,
                "schema": {
                  "const": "2026-09-11",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "required": true,
                "schema": {
                  "const": "journal",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "required": true,
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Health"
                }
              }
            },
            "description": "a check is failing; the same envelope",
            "headers": {
              "Ulab-Contract": {
                "required": true,
                "schema": {
                  "const": "2026-09-11",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "required": true,
                "schema": {
                  "const": "journal",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "required": true,
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "whether the durable store and instance identity are ready",
        "tags": [
          "operational"
        ]
      }
    },
    "/livez": {
      "get": {
        "operationId": "livez",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Health"
                }
              }
            },
            "description": "the result",
            "headers": {
              "Ulab-Contract": {
                "required": true,
                "schema": {
                  "const": "2026-09-11",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "required": true,
                "schema": {
                  "const": "journal",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "required": true,
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid",
            "headers": {
              "Ulab-Contract": {
                "required": true,
                "schema": {
                  "const": "2026-09-11",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "required": true,
                "schema": {
                  "const": "journal",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "required": true,
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "405": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "invalid: unsupported method; Allow names the supported method",
            "headers": {
              "Ulab-Contract": {
                "required": true,
                "schema": {
                  "const": "2026-09-11",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "required": true,
                "schema": {
                  "const": "journal",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "required": true,
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "the process is up and can answer; empty checks and never 503",
        "tags": [
          "operational"
        ]
      }
    }
  },
  "servers": [
    {
      "description": "the standalone default listener",
      "url": "http://127.0.0.1:8093"
    }
  ]
}
