{
  "base_url": "https://api.engineeringruntime.com",
  "by_surface": {
    "portal": 12,
    "public": 14,
    "v1": 22
  },
  "contract": "https://api.engineeringruntime.com/openapi.yaml",
  "operations": [
    {
      "method": "GET",
      "path": "/",
      "summary": "API home — website for browsers, metadata for tools",
      "surface": "portal",
      "auth": "none",
      "tags": [
        "Service"
      ]
    },
    {
      "method": "GET",
      "path": "/api/public/audit",
      "summary": "Query audit events",
      "surface": "public",
      "auth": "none",
      "tags": [
        "Audit"
      ]
    },
    {
      "method": "POST",
      "path": "/api/public/audit",
      "summary": "Ingest audit events",
      "surface": "public",
      "auth": "none",
      "tags": [
        "Audit"
      ]
    },
    {
      "method": "GET",
      "path": "/api/public/capabilities",
      "summary": "List capabilities",
      "surface": "public",
      "auth": "none",
      "tags": [
        "Catalog"
      ]
    },
    {
      "method": "GET",
      "path": "/api/public/dashboard",
      "summary": "Summary cards",
      "surface": "public",
      "auth": "none",
      "tags": [
        "Dashboard"
      ]
    },
    {
      "method": "GET",
      "path": "/api/public/fleet",
      "summary": "List known runtimes",
      "surface": "public",
      "auth": "none",
      "tags": [
        "Fleet"
      ]
    },
    {
      "method": "POST",
      "path": "/api/public/fleet/heartbeat",
      "summary": "Report runtime presence",
      "surface": "public",
      "auth": "none",
      "tags": [
        "Fleet"
      ]
    },
    {
      "method": "GET",
      "path": "/api/public/health",
      "summary": "Health (public surface)",
      "surface": "public",
      "auth": "none",
      "tags": [
        "Service"
      ]
    },
    {
      "method": "GET",
      "path": "/api/public/policies",
      "summary": "List policies, or fetch the active one",
      "surface": "public",
      "auth": "none",
      "tags": [
        "Policy"
      ]
    },
    {
      "method": "POST",
      "path": "/api/public/policies",
      "summary": "Publish a new policy version",
      "surface": "public",
      "auth": "none",
      "tags": [
        "Policy"
      ]
    },
    {
      "method": "GET",
      "path": "/api/public/policies/{version}",
      "summary": "Fetch one policy version",
      "surface": "public",
      "auth": "none",
      "tags": [
        "Policy"
      ]
    },
    {
      "method": "GET",
      "path": "/api/public/provider-names",
      "summary": "Provider names for filter dropdowns",
      "surface": "public",
      "auth": "none",
      "tags": [
        "Catalog"
      ]
    },
    {
      "method": "GET",
      "path": "/api/public/providers",
      "summary": "List providers with live status",
      "surface": "public",
      "auth": "none",
      "tags": [
        "Catalog"
      ]
    },
    {
      "method": "POST",
      "path": "/api/public/runtime/heartbeat",
      "summary": "Report runtime presence (alias)",
      "surface": "public",
      "auth": "none",
      "tags": [
        "Fleet"
      ]
    },
    {
      "method": "POST",
      "path": "/api/public/runtime/register",
      "summary": "Register a runtime",
      "surface": "public",
      "auth": "none",
      "tags": [
        "Fleet"
      ]
    },
    {
      "method": "GET",
      "path": "/api/v1/api-keys",
      "summary": "List runtime API keys",
      "surface": "v1",
      "auth": "JWT when REQUIRE_AUTH=true",
      "tags": [
        "Management"
      ]
    },
    {
      "method": "POST",
      "path": "/api/v1/api-keys",
      "summary": "Create a runtime API key",
      "surface": "v1",
      "auth": "JWT when REQUIRE_AUTH=true",
      "tags": [
        "Management"
      ]
    },
    {
      "method": "DELETE",
      "path": "/api/v1/api-keys/{id}",
      "summary": "Revoke an API key",
      "surface": "v1",
      "auth": "JWT when REQUIRE_AUTH=true",
      "tags": [
        "Management"
      ]
    },
    {
      "method": "GET",
      "path": "/api/v1/audit",
      "summary": "Query audit events",
      "surface": "v1",
      "auth": "JWT or X-API-Key when REQUIRE_AUTH=true",
      "tags": [
        "Audit"
      ]
    },
    {
      "method": "POST",
      "path": "/api/v1/audit",
      "summary": "Ingest audit events",
      "surface": "v1",
      "auth": "JWT or X-API-Key when REQUIRE_AUTH=true",
      "tags": [
        "Audit"
      ]
    },
    {
      "method": "POST",
      "path": "/api/v1/auth/login",
      "summary": "Exchange credentials for a JWT",
      "surface": "v1",
      "auth": "none",
      "tags": [
        "Authentication"
      ]
    },
    {
      "method": "GET",
      "path": "/api/v1/auth/me",
      "summary": "The user behind the current token",
      "surface": "v1",
      "auth": "Bearer token",
      "tags": [
        "Authentication"
      ]
    },
    {
      "method": "GET",
      "path": "/api/v1/capabilities",
      "summary": "List capabilities",
      "surface": "v1",
      "auth": "JWT or X-API-Key when REQUIRE_AUTH=true",
      "tags": [
        "Catalog"
      ]
    },
    {
      "method": "GET",
      "path": "/api/v1/dashboard",
      "summary": "Summary cards",
      "surface": "v1",
      "auth": "JWT or X-API-Key when REQUIRE_AUTH=true",
      "tags": [
        "Dashboard"
      ]
    },
    {
      "method": "GET",
      "path": "/api/v1/fleet",
      "summary": "List known runtimes",
      "surface": "v1",
      "auth": "JWT or X-API-Key when REQUIRE_AUTH=true",
      "tags": [
        "Fleet"
      ]
    },
    {
      "method": "POST",
      "path": "/api/v1/fleet/heartbeat",
      "summary": "Report runtime presence",
      "surface": "v1",
      "auth": "JWT or X-API-Key when REQUIRE_AUTH=true",
      "tags": [
        "Fleet"
      ]
    },
    {
      "method": "GET",
      "path": "/api/v1/health",
      "summary": "Health (enterprise surface)",
      "surface": "v1",
      "auth": "none",
      "tags": [
        "Service"
      ]
    },
    {
      "method": "GET",
      "path": "/api/v1/organizations",
      "summary": "List organisations",
      "surface": "v1",
      "auth": "JWT when REQUIRE_AUTH=true",
      "tags": [
        "Management"
      ]
    },
    {
      "method": "GET",
      "path": "/api/v1/policies",
      "summary": "List policies, or fetch the active one",
      "surface": "v1",
      "auth": "JWT or X-API-Key when REQUIRE_AUTH=true",
      "tags": [
        "Policy"
      ]
    },
    {
      "method": "POST",
      "path": "/api/v1/policies",
      "summary": "Publish a new policy version",
      "surface": "v1",
      "auth": "JWT or X-API-Key when REQUIRE_AUTH=true",
      "tags": [
        "Policy"
      ]
    },
    {
      "method": "GET",
      "path": "/api/v1/policies/{version}",
      "summary": "Fetch one policy version",
      "surface": "v1",
      "auth": "JWT or X-API-Key when REQUIRE_AUTH=true",
      "tags": [
        "Policy"
      ]
    },
    {
      "method": "GET",
      "path": "/api/v1/provider-names",
      "summary": "Provider names for filter dropdowns",
      "surface": "v1",
      "auth": "JWT or X-API-Key when REQUIRE_AUTH=true",
      "tags": [
        "Catalog"
      ]
    },
    {
      "method": "GET",
      "path": "/api/v1/providers",
      "summary": "List providers with live status",
      "surface": "v1",
      "auth": "JWT or X-API-Key when REQUIRE_AUTH=true",
      "tags": [
        "Catalog"
      ]
    },
    {
      "method": "POST",
      "path": "/api/v1/runtime/heartbeat",
      "summary": "Report runtime presence (alias)",
      "surface": "v1",
      "auth": "JWT or X-API-Key when REQUIRE_AUTH=true",
      "tags": [
        "Fleet"
      ]
    },
    {
      "method": "POST",
      "path": "/api/v1/runtime/register",
      "summary": "Register a runtime",
      "surface": "v1",
      "auth": "JWT or X-API-Key when REQUIRE_AUTH=true",
      "tags": [
        "Fleet"
      ]
    },
    {
      "method": "GET",
      "path": "/api/v1/settings",
      "summary": "Organisation settings and edition flags",
      "surface": "v1",
      "auth": "JWT when REQUIRE_AUTH=true",
      "tags": [
        "Management"
      ]
    },
    {
      "method": "GET",
      "path": "/api/v1/users",
      "summary": "List users in the caller's organisation",
      "surface": "v1",
      "auth": "JWT when REQUIRE_AUTH=true",
      "tags": [
        "Management"
      ]
    },
    {
      "method": "GET",
      "path": "/health",
      "summary": "Liveness check",
      "surface": "portal",
      "auth": "none",
      "tags": [
        "Service"
      ]
    },
    {
      "method": "GET",
      "path": "/metadata",
      "summary": "Service metadata index",
      "surface": "portal",
      "auth": "none",
      "tags": [
        "Service"
      ]
    },
    {
      "method": "GET",
      "path": "/metadata/apis",
      "summary": "Every documented operation, flattened",
      "surface": "portal",
      "auth": "none",
      "tags": [
        "Service"
      ]
    },
    {
      "method": "GET",
      "path": "/metadata/authentication",
      "summary": "What this deployment enforces right now",
      "surface": "portal",
      "auth": "none",
      "tags": [
        "Service"
      ]
    },
    {
      "method": "GET",
      "path": "/metadata/capabilities",
      "summary": "Capability inventory (contract view — no auth, no tenant)",
      "surface": "portal",
      "auth": "none",
      "tags": [
        "Catalog"
      ]
    },
    {
      "method": "GET",
      "path": "/metadata/catalog",
      "summary": "Provider/capability contract envelope",
      "surface": "portal",
      "auth": "none",
      "tags": [
        "Catalog"
      ]
    },
    {
      "method": "GET",
      "path": "/metadata/providers",
      "summary": "Provider inventory (contract view — no auth, no tenant)",
      "surface": "portal",
      "auth": "none",
      "tags": [
        "Catalog"
      ]
    },
    {
      "method": "GET",
      "path": "/metadata/versions",
      "summary": "Build, contract, and surface versions",
      "surface": "portal",
      "auth": "none",
      "tags": [
        "Service"
      ]
    },
    {
      "method": "GET",
      "path": "/openapi.json",
      "summary": "This contract as JSON, with the requesting host in `servers`",
      "surface": "portal",
      "auth": "none",
      "tags": [
        "Service"
      ]
    },
    {
      "method": "GET",
      "path": "/openapi.yaml",
      "summary": "This contract, canonical YAML",
      "surface": "portal",
      "auth": "none",
      "tags": [
        "Service"
      ]
    },
    {
      "method": "GET",
      "path": "/version",
      "summary": "Build and uptime of the running instance",
      "surface": "portal",
      "auth": "none",
      "tags": [
        "Service"
      ]
    }
  ],
  "total": 48
}
