{
  "components": {
    "schemas": {
      "BindingHTTP": {
        "properties": {
          "prefix": {
            "type": "string"
          }
        },
        "required": [
          "prefix"
        ],
        "type": "object"
      },
      "BindingWS": {
        "properties": {
          "path": {
            "type": "string"
          },
          "subprotocol": {
            "type": "string"
          }
        },
        "required": [
          "path",
          "subprotocol"
        ],
        "type": "object"
      },
      "Bindings": {
        "properties": {
          "http": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/BindingHTTP"
              },
              {
                "type": "null"
              }
            ]
          },
          "primary": {
            "type": "string"
          },
          "ws": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/BindingWS"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "primary"
        ],
        "type": "object"
      },
      "Build": {
        "properties": {
          "dirty": {
            "type": "boolean"
          },
          "go": {
            "type": "string"
          },
          "revision": {
            "type": "string"
          }
        },
        "required": [
          "revision",
          "dirty",
          "go"
        ],
        "type": "object"
      },
      "Check": {
        "properties": {
          "detail": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "status",
          "detail"
        ],
        "type": "object"
      },
      "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"
          },
          "surface": {
            "type": "string"
          }
        },
        "required": [
          "service",
          "surface",
          "contract",
          "build",
          "bindings",
          "operations",
          "refusals",
          "files"
        ],
        "title": "Describe",
        "type": "object"
      },
      "Error": {
        "properties": {
          "details": {
            "type": "object"
          },
          "error": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "error",
          "message"
        ],
        "title": "Error",
        "type": "object"
      },
      "HTTPBinding": {
        "properties": {
          "method": {
            "type": "string"
          },
          "path": {
            "type": "string"
          }
        },
        "required": [
          "method",
          "path"
        ],
        "type": "object"
      },
      "Health": {
        "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": {
        "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"
      },
      "Operation": {
        "properties": {
          "doc": {
            "type": "string"
          },
          "errors": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "grant": {
            "type": "string"
          },
          "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"
          },
          "ws": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "kind",
          "doc",
          "params",
          "errors",
          "ws"
        ],
        "type": "object"
      },
      "Param": {
        "properties": {
          "doc": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "kind",
          "required",
          "doc"
        ],
        "type": "object"
      },
      "Refusal": {
        "properties": {
          "http": {
            "type": "integer"
          },
          "meaning": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "http",
          "meaning"
        ],
        "type": "object"
      }
    }
  },
  "info": {
    "title": "Dawn management",
    "version": "2026-09-12"
  },
  "openapi": "3.1.0",
  "paths": {
    "/describe": {
      "get": {
        "operationId": "describe",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Describe"
                }
              }
            },
            "description": "Successful observation.",
            "headers": {
              "Ulab-Contract": {
                "schema": {
                  "const": "2026-09-12",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "schema": {
                  "const": "dawn",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Queries and request bodies are not accepted.",
            "headers": {
              "Ulab-Contract": {
                "schema": {
                  "const": "2026-09-12",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "schema": {
                  "const": "dawn",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "No such management route or contract file.",
            "headers": {
              "Ulab-Contract": {
                "schema": {
                  "const": "2026-09-12",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "schema": {
                  "const": "dawn",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "405": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "The route accepts GET only.",
            "headers": {
              "Ulab-Contract": {
                "schema": {
                  "const": "2026-09-12",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "schema": {
                  "const": "dawn",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Describe this management surface and its build."
      }
    },
    "/describe/{file}": {
      "get": {
        "operationId": "describe_file",
        "parameters": [
          {
            "in": "path",
            "name": "file",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              },
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Exact embedded contract file bytes.",
            "headers": {
              "Ulab-Contract": {
                "schema": {
                  "const": "2026-09-12",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "schema": {
                  "const": "dawn",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Queries and request bodies are not accepted.",
            "headers": {
              "Ulab-Contract": {
                "schema": {
                  "const": "2026-09-12",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "schema": {
                  "const": "dawn",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "No such management route or contract file.",
            "headers": {
              "Ulab-Contract": {
                "schema": {
                  "const": "2026-09-12",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "schema": {
                  "const": "dawn",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "405": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "The route accepts GET only.",
            "headers": {
              "Ulab-Contract": {
                "schema": {
                  "const": "2026-09-12",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "schema": {
                  "const": "dawn",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Read an embedded management contract file verbatim."
      }
    },
    "/healthz": {
      "get": {
        "operationId": "health",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Health"
                }
              }
            },
            "description": "Successful observation.",
            "headers": {
              "Ulab-Contract": {
                "schema": {
                  "const": "2026-09-12",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "schema": {
                  "const": "dawn",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Queries and request bodies are not accepted.",
            "headers": {
              "Ulab-Contract": {
                "schema": {
                  "const": "2026-09-12",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "schema": {
                  "const": "dawn",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "No such management route or contract file.",
            "headers": {
              "Ulab-Contract": {
                "schema": {
                  "const": "2026-09-12",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "schema": {
                  "const": "dawn",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "405": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "The route accepts GET only.",
            "headers": {
              "Ulab-Contract": {
                "schema": {
                  "const": "2026-09-12",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "schema": {
                  "const": "dawn",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Health"
                }
              }
            },
            "description": "One or more dependencies are failing.",
            "headers": {
              "Ulab-Contract": {
                "schema": {
                  "const": "2026-09-12",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "schema": {
                  "const": "dawn",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Check the Journal and Bytes dependencies and report world identity."
      }
    },
    "/livez": {
      "get": {
        "operationId": "livez",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Health"
                }
              }
            },
            "description": "Successful observation.",
            "headers": {
              "Ulab-Contract": {
                "schema": {
                  "const": "2026-09-12",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "schema": {
                  "const": "dawn",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Queries and request bodies are not accepted.",
            "headers": {
              "Ulab-Contract": {
                "schema": {
                  "const": "2026-09-12",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "schema": {
                  "const": "dawn",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "No such management route or contract file.",
            "headers": {
              "Ulab-Contract": {
                "schema": {
                  "const": "2026-09-12",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "schema": {
                  "const": "dawn",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          },
          "405": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "The route accepts GET only.",
            "headers": {
              "Ulab-Contract": {
                "schema": {
                  "const": "2026-09-12",
                  "type": "string"
                }
              },
              "Ulab-Service": {
                "schema": {
                  "const": "dawn",
                  "type": "string"
                }
              },
              "Ulab-Surface": {
                "schema": {
                  "const": "management",
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Check whether the process answers without checking dependencies."
      }
    }
  }
}
