{
  "description": "Flask API with OAuth 2.0 authentication",
  "endpoints": {
    "api": {
      "/docs": "GET - HTML developer documentation (requires browser sign-in)",
      "/health": "GET - Health check",
      "/hello": "GET - Return hello message (requires auth)"
    },
    "authentication": {
      "/auth/login": "GET - Web login form; POST - JSON login (username/password \u2192 tokens)",
      "/auth/logout": "POST - Revoke refresh token",
      "/auth/status": "POST - Token endpoint metadata",
      "/auth/token": "POST - OAuth2 token (grant_type=password or refresh_token)"
    },
    "v1": {
      "/v1/account/register": "POST - Create a new portal account (requires auth)",
      "/v1/check-email": "GET|POST - Check whether an email can be used to register (requires auth)",
      "/v1/check-kit-code": "GET|POST - Check whether a kit code is unclaimed (requires auth)",
      "/v1/get-register-payload": "GET - Form schema for /v1/account/register (requires auth)",
      "/v1/info": "GET - API metadata and endpoint listing (requires auth)",
      "/v1/kit/info": "GET|POST - Get kit metadata (requires auth)",
      "/v1/kit/register": "POST - Register a kit code to the authenticated user (requires auth)",
      "/v1/kit/report-summary": "GET|POST - Member report summary by kit code (requires auth)",
      "/v1/kit/status": "GET|POST - Get the processing status of a kit (requires auth)",
      "/v1/list-consents": "GET - Reference list of consent items (requires auth)",
      "/v1/list-ethnicities": "GET - Reference list of ethnicities (requires auth)",
      "/v1/list-kit-codes": "GET - List partner kits owned by the signed-in user (requires auth)"
    }
  },
  "name": "Geneus API",
  "version": "1.0.0"
}
