{
  "ok": true,
  "endpoints": [
    {
      "method": "GET",
      "path": "/health",
      "auth": "public",
      "purpose": "Basic health check for the Worker."
    },
    {
      "method": "GET",
      "path": "/api/endpoints",
      "auth": "public",
      "purpose": "Machine-readable summary of the public HTTP endpoints."
    },
    {
      "method": "GET",
      "path": "/api/brief",
      "auth": "public",
      "purpose": "Public engagement summary and submission guidance."
    },
    {
      "method": "GET",
      "path": "/api/engagement",
      "auth": "public",
      "purpose": "Public engagement summary and submission guidance."
    },
    {
      "method": "POST",
      "path": "/api/apply",
      "auth": "public",
      "purpose": "Submit candidate details and receive an MCP API key."
    },
    {
      "method": "GET",
      "path": "/api/submit",
      "auth": "api-key",
      "purpose": "Return the currently stored private submission for the authenticated candidate."
    },
    {
      "method": "POST",
      "path": "/api/submit",
      "auth": "api-key",
      "purpose": "Private submission endpoint for repo, process note, and optional deployed URL, video, and notes."
    },
    {
      "method": "POST",
      "path": "/mcp",
      "auth": "api-key",
      "purpose": "Remote MCP endpoint. Requires Authorization: Bearer <api_key>."
    }
  ],
  "submissionApi": {
    "path": "/api/submit",
    "auth": "Authorization: Bearer <api_key>",
    "methods": {
      "get": "Return the currently stored submission for the authenticated candidate.",
      "post": "Create or update the authenticated candidate submission."
    },
    "requiredFields": {
      "repoUrl": "GitHub repo URL.",
      "processWriteup": "Short process summary. If the full writeup is longer, include PROCESS.md in the repo and point to it here."
    },
    "optionalFields": {
      "deployedUrl": "Live deployed URL.",
      "videoWalkthroughUrl": "2 to 4 minute video walkthrough covering what you built, why, and why it matters for the customer.",
      "notes": "Any extra context that does not belong in the main process summary."
    },
    "acceptedAliases": {
      "videoWalkthroughUrl": [
        "video_walkthrough_url",
        "walkthroughUrl",
        "walkthrough_url",
        "loomUrl",
        "loom_url"
      ],
      "processWriteup": [
        "process_writeup",
        "processNote",
        "process_note",
        "processMd",
        "process_md"
      ],
      "repoUrl": [
        "repo_url"
      ],
      "deployedUrl": [
        "deployed_url"
      ]
    },
    "examplePayload": {
      "repoUrl": "https://github.com/you/goldfish-express",
      "processWriteup": "Built the dispatch wedge first because route exceptions and replacement costs were the clearest leverage point. Used AI heavily for schema exploration and UI scaffolding, then tightened the logic by hand once I understood the support and route patterns.",
      "deployedUrl": "https://goldfish-express.example.com",
      "videoWalkthroughUrl": "https://video.example.com/watch/123",
      "notes": "Private repo invites sent to @itsmikejoyce and @alexfinnemore."
    }
  }
}