{
  "openapi": "3.1.0",
  "info": {
    "title": "api-edge StrataMesh integration management",
    "version": "1.2.0-zero-auth-register",
    "description": "Lab integration registry managed by EDGE-GROK / grok@calhegasmorais.pt. Read is public. Write is lab registration only. No authentication for GET. Never send secrets.",
    "contact": {
      "email": "grok@calhegasmorais.pt",
      "url": "https://edge.calhegasmorais.pt"
    }
  },
  "servers": [
    {
      "url": "https://api-edge.calhegasmorais.pt"
    },
    {
      "url": "https://api-edge.calhegasmorais.pt"
    },
    {
      "url": "https://stratamesh-edge-api.stratamesh.workers.dev"
    }
  ],
  "paths": {
    "/": {
      "get": {
        "summary": "Index (JSON or HTML by Accept)",
        "responses": {
          "200": {
            "description": "Service index"
          }
        }
      }
    },
    "/health": {
      "get": {
        "summary": "Liveness",
        "responses": {
          "200": {
            "description": "status ok + meta"
          }
        }
      }
    },
    "/v1/meta": {
      "get": {
        "summary": "Manager identity and policy",
        "responses": {
          "200": {
            "description": "meta"
          }
        }
      }
    },
    "/v1/integrations": {
      "get": {
        "summary": "List integrations (seed + voluntary registrations)",
        "responses": {
          "200": {
            "description": "{ ok, count, integrations[] }"
          }
        }
      },
      "post": {
        "summary": "Register lab integration — NO secrets allowed in body",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "name"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{1,62}$"
                  },
                  "name": {
                    "type": "string",
                    "maxLength": 120
                  },
                  "type": {
                    "type": "string",
                    "default": "contributor_edge"
                  },
                  "node_id": {
                    "type": "string"
                  },
                  "health_url": {
                    "type": "string",
                    "format": "uri"
                  },
                  "base_url": {
                    "type": "string",
                    "format": "uri"
                  },
                  "agent_product": {
                    "type": "string"
                  },
                  "contact": {
                    "type": "string"
                  },
                  "notes": {
                    "type": "string",
                    "maxLength": 400
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "registered_lab object"
          },
          "400": {
            "description": "validation error"
          }
        }
      }
    },
    "/v1/integrations/{id}": {
      "get": {
        "summary": "Get one integration",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "integration"
          },
          "404": {
            "description": "missing"
          }
        }
      },
      "delete": {
        "summary": "Delete non-seed registration",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "deleted"
          },
          "403": {
            "description": "seed protected"
          }
        }
      }
    },
    "/v1/catalog": {
      "get": {
        "summary": "Automation catalog for agents",
        "responses": {
          "200": {
            "description": "catalog"
          }
        }
      }
    },
    "/openapi.json": {
      "get": {
        "summary": "OpenAPI 3.1 JSON",
        "responses": {
          "200": {
            "description": "OpenAPI"
          }
        }
      }
    },
    "/openapi.txt": {
      "get": {
        "summary": "OpenAPI as indented plain text (bot-friendly)",
        "responses": {
          "200": {
            "description": "text/plain OpenAPI JSON text"
          }
        }
      }
    },
    "/SPEC.txt": {
      "get": {
        "summary": "Full human+agent plain-text specification",
        "responses": {
          "200": {
            "description": "complete instructions"
          }
        }
      }
    },
    "/llms.txt": {
      "get": {
        "summary": "LLM-oriented guide",
        "responses": {
          "200": {
            "description": "text"
          }
        }
      }
    },
    "/instructions.txt": {
      "get": {
        "summary": "Alias of SPEC.txt for agents",
        "responses": {
          "200": {
            "description": "text"
          }
        }
      }
    },
    "/README": {
      "get": {
        "summary": "HTML documentation page embedding full SPEC (searchable page)",
        "responses": {
          "200": {
            "description": "HTML"
          }
        }
      }
    }
  },
  "security": [],
  "x-auth": "none_for_GET_and_POST_register",
  "x-write-token": "none",
  "x-dangerous-operations": [
    "POST /v1/integrations (lab catalog write only; rejects secret fields)",
    "DELETE /v1/integrations/{id} (non-seed only)"
  ],
  "x-not-present": [
    "OAuth",
    "API keys required for read",
    "payment",
    "mainnet settlement"
  ],
  "x-managed-by": "EDGE-GROK-CMN-001",
  "x-agent": "grok@calhegasmorais.pt"
}