{
  "openapi": "3.1.0",
  "info": {
    "title": "Pocket Science public API",
    "version": "1.0.0",
    "description": "Read-only public information and selected public platform data. No registration or authentication is required for the documented endpoints.",
    "contact": {
      "name": "Pocket Science",
      "email": "web@pocket.science",
      "url": "https://pocket.science/"
    }
  },
  "servers": [
    {
      "url": "https://pocket.science"
    }
  ],
  "paths": {
    "/api/pocket-science.json": {
      "get": {
        "operationId": "getPocketScienceInformation",
        "summary": "Get Pocket Science services, projects, evidence and public contact data",
        "responses": {
          "200": {
            "description": "Canonical public Pocket Science information",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": ["name", "description", "services", "projects", "guardrails", "contact"]
                }
              }
            }
          }
        }
      }
    },
    "/api/platform-stats.php": {
      "get": {
        "operationId": "getPlatformStats",
        "summary": "Get selected live platform statistics",
        "responses": {
          "200": {
            "description": "Current public platform statistics",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/minisecchi-data.php": {
      "get": {
        "operationId": "getMiniSecchiObservations",
        "summary": "Get public Mini Secchi observation data",
        "responses": {
          "200": {
            "description": "Public observation data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/globe-data.php": {
      "get": {
        "operationId": "getPublicGlobeData",
        "summary": "Get public geographic observation points used by the site visualisation",
        "responses": {
          "200": {
            "description": "Public geographic observation data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    }
  }
}

