{
  "openapi": "3.1.0",
  "info": {
    "title": "AZInterface runtime",
    "version": "0.1.0",
    "summary": "Dual surface. Human UI is this Worker /v1. AI / MCP path is FragGate only (slug=azinterface).",
    "description": "THIS IS: AZInterface (AIH-WP-1.0) — a custodial operating environment (hold / withdraw / witness) with five pre-locked page cycles (OFF → integrity → ON → FULL SHUTDOWN → MEMORIAL). Cycles cannot be invented, reordered, or skipped. Genesis one-time keying, integrity loop, AZHome bunker surface, and Scorched Earth as a local stub/advisory only. Interface is CUSTODY. Agent path is the one FragGate door (slug=azinterface). THIS IS NOT: AZHub (separate software — Blank Key / spatial container — https://github.com/AzielEliab/azhub). Never collapse Interface into Hub. Never a combined hub+interface product. Hosted Worker never remotely wipes user devices, never stores a username, never serves vault contents, and never claims cloud-asleep availability. Living presence only at ON after integrity. Author: Aziel Eliab only. Agent door is FragGate only: POST https://aziel-runtime.vibelock.workers.dev/v1/fraggate/call {slug:azinterface,op,payload}. Catalog MCP: POST https://aziel-runtime.vibelock.workers.dev/mcp. This host /mcp is a pointer, not a second agent brand. Human chrome uses same-origin /v1.",
    "license": {
      "name": "Apache-2.0",
      "identifier": "Apache-2.0"
    },
    "contact": {
      "name": "Aziel Eliab",
      "url": "https://github.com/AzielEliab/azinterface"
    }
  },
  "servers": [
    {
      "url": "https://azinterface-download-tracker.vibelock.workers.dev"
    },
    {
      "url": "https://aziel-runtime.vibelock.workers.dev",
      "description": "aziel-runtime FragGate catalog"
    }
  ],
  "paths": {
    "/v1/health": {
      "get": {
        "operationId": "azinterface_health",
        "summary": "Liveness. Does not increment downloads.",
        "responses": {
          "200": {
            "description": "ok"
          }
        }
      }
    },
    "/v1/skill": {
      "get": {
        "operationId": "azinterface_skill",
        "summary": "Skill markdown.",
        "responses": {
          "200": {
            "description": "markdown"
          }
        }
      }
    },
    "/openapi.json": {
      "get": {
        "operationId": "azinterface_openapi",
        "summary": "OpenAPI 3.1 — first-class backend.",
        "responses": {
          "200": {
            "description": "spec"
          }
        }
      }
    },
    "/mcp": {
      "get": {
        "operationId": "azinterface_mcp_docs",
        "summary": "MCP docs + FragGate pointer.",
        "responses": {
          "200": {
            "description": "docs"
          }
        }
      },
      "post": {
        "operationId": "azinterface_mcp",
        "summary": "Pointer to FragGate. Not a second MCP.",
        "responses": {
          "200": {
            "description": "rpc"
          }
        }
      }
    },
    "/v1/genesis_status": {
      "post": {
        "operationId": "azinterface_genesis_status",
        "summary": "UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      },
      "get": {
        "operationId": "azinterface_genesis_status_get",
        "summary": "Read genesis_status.",
        "responses": {
          "200": {
            "description": "ok"
          }
        }
      }
    },
    "/v1/genesis_boot": {
      "post": {
        "operationId": "azinterface_genesis_boot",
        "summary": "UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      }
    },
    "/v1/site_state_get": {
      "post": {
        "operationId": "azinterface_site_state_get",
        "summary": "UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      },
      "get": {
        "operationId": "azinterface_site_state_get_get",
        "summary": "Read site_state_get.",
        "responses": {
          "200": {
            "description": "ok"
          }
        }
      }
    },
    "/v1/site_state_set": {
      "post": {
        "operationId": "azinterface_site_state_set",
        "summary": "UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      }
    },
    "/v1/integrity_check": {
      "post": {
        "operationId": "azinterface_integrity_check",
        "summary": "UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      }
    },
    "/v1/witness_list": {
      "post": {
        "operationId": "azinterface_witness_list",
        "summary": "UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      },
      "get": {
        "operationId": "azinterface_witness_list_get",
        "summary": "Read witness_list.",
        "responses": {
          "200": {
            "description": "ok"
          }
        }
      }
    },
    "/v1/page_cycle_status": {
      "post": {
        "operationId": "azinterface_page_cycle_status",
        "summary": "UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      },
      "get": {
        "operationId": "azinterface_page_cycle_status_get",
        "summary": "Read page_cycle_status.",
        "responses": {
          "200": {
            "description": "ok"
          }
        }
      }
    },
    "/v1/hold": {
      "post": {
        "operationId": "azinterface_hold",
        "summary": "UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      }
    },
    "/v1/withdraw": {
      "post": {
        "operationId": "azinterface_withdraw",
        "summary": "UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      }
    },
    "/v1/scorch_local": {
      "post": {
        "operationId": "azinterface_scorch_local",
        "summary": "UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      }
    },
    "/v1/scorch_remote": {
      "post": {
        "operationId": "azinterface_scorch_remote",
        "summary": "STUB refuse. UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      }
    },
    "/v1/scorch": {
      "post": {
        "operationId": "azinterface_scorch",
        "summary": "Alias of scorch_remote. STUB refuse. UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      }
    },
    "/v1/deanonymize": {
      "post": {
        "operationId": "azinterface_deanonymize",
        "summary": "STUB refuse. UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      }
    },
    "/v1/vault_read": {
      "post": {
        "operationId": "azinterface_vault_read",
        "summary": "STUB refuse. UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      }
    },
    "/v1/auto_unlock": {
      "post": {
        "operationId": "azinterface_auto_unlock",
        "summary": "STUB refuse. UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      }
    },
    "/v1/ranking": {
      "post": {
        "operationId": "azinterface_ranking",
        "summary": "STUB refuse. UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      }
    },
    "/v1/completeness_detect": {
      "post": {
        "operationId": "azinterface_completeness_detect",
        "summary": "STUB refuse. UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      }
    },
    "/v1/unlock": {
      "post": {
        "operationId": "azinterface_unlock",
        "summary": "STUB refuse. UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      }
    },
    "/v1/complete": {
      "post": {
        "operationId": "azinterface_complete",
        "summary": "STUB refuse. UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      }
    },
    "/v1/completeness": {
      "post": {
        "operationId": "azinterface_completeness",
        "summary": "STUB refuse. UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      }
    },
    "/v1/rank": {
      "post": {
        "operationId": "azinterface_rank",
        "summary": "STUB refuse. UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      }
    },
    "/v1/skip_cycle": {
      "post": {
        "operationId": "azinterface_skip_cycle",
        "summary": "STUB refuse. UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      }
    },
    "/v1/invent_cycle": {
      "post": {
        "operationId": "azinterface_invent_cycle",
        "summary": "STUB refuse. UI action + FragGate op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "display + result"
          }
        }
      }
    },
    "/v1/fraggate/call": {
      "post": {
        "operationId": "azinterface_fraggate_call_proxy",
        "summary": "PROXY to aziel-runtime POST /v1/fraggate/call. Not a local op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "FragGate ResultEnvelope"
          }
        }
      }
    },
    "/v1/fraggate/list": {
      "get": {
        "operationId": "azinterface_fraggate_list_proxy",
        "summary": "PROXY to aziel-runtime GET /v1/fraggate/list. Not a local op.",
        "responses": {
          "200": {
            "description": "hashed registry"
          }
        }
      }
    },
    "/v1/runtime/call": {
      "post": {
        "operationId": "azinterface_runtime_call_proxy",
        "summary": "Alias PROXY → origin /v1/fraggate/call. Not a local op.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "FragGate ResultEnvelope"
          }
        }
      }
    },
    "/v1/runtime/list": {
      "get": {
        "operationId": "azinterface_runtime_list_proxy",
        "summary": "Alias PROXY → origin /v1/fraggate/list. Not a local op.",
        "responses": {
          "200": {
            "description": "hashed registry"
          }
        }
      }
    }
  }
}