{
  "openapi": "3.1.0",
  "info": {
    "title": "Plan My re:Invent Reference API",
    "version": "1.0.0",
    "description": "Free, public, read-only JSON reference for this guide’s client setup instructions and planning prompt. Requests require no authentication. AWS event data, authentication, and schedule operations are provided by the external AWS Events service.",
    "contact": {
      "name": "mza",
      "url": "https://www.linkedin.com/in/themza"
    }
  },
  "servers": [
    {
      "url": "https://planmyreinvent.com",
      "description": "Static reference hosted on AWS CloudFront."
    }
  ],
  "externalDocs": {
    "description": "Usage, caching, and error handling",
    "url": "https://planmyreinvent.com/docs/"
  },
  "security": [],
  "paths": {
    "/api/v1/guide.json": {
      "get": {
        "operationId": "getReinventPlanningGuide",
        "summary": "Get client setup instructions and the planning prompt",
        "description": "Returns the same snippets and prompt as the public guide. Select clients by id: claude-code, codex, or kiro. Cache for up to five minutes. There are no credentials, personal schedules, or write operations in this reference.",
        "tags": [
          "Reference"
        ],
        "responses": {
          "200": {
            "description": "Current guide content.",
            "headers": {
              "Cache-Control": {
                "description": "Public cache lifetime; normally max-age=300.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Guide"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Guide": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "version",
          "updated",
          "title",
          "url",
          "description",
          "event",
          "awsMcpUrl",
          "clients",
          "signInPrompt",
          "planningPrompt",
          "safety",
          "sources",
          "author"
        ],
        "properties": {
          "version": {
            "type": "string",
            "description": "Version of this reference document."
          },
          "updated": {
            "type": "string",
            "format": "date",
            "description": "Last content review date."
          },
          "title": {
            "type": "string",
            "description": "Guide name."
          },
          "url": {
            "type": "string",
            "description": "Canonical human-readable guide.",
            "format": "uri"
          },
          "description": {
            "type": "string",
            "description": "Purpose and service ownership."
          },
          "event": {
            "type": "string",
            "description": "Event this guide covers."
          },
          "awsMcpUrl": {
            "type": "string",
            "description": "External MCP endpoint operated by AWS.",
            "format": "uri"
          },
          "clients": {
            "type": "array",
            "description": "Supported local client configurations.",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "id",
                "name",
                "format",
                "destination",
                "configuration",
                "instructions"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "enum": [
                    "claude-code",
                    "codex",
                    "kiro"
                  ],
                  "description": "Stable client identifier."
                },
                "name": {
                  "type": "string",
                  "description": "Client display name."
                },
                "format": {
                  "type": "string",
                  "enum": [
                    "bash",
                    "toml",
                    "json"
                  ],
                  "description": "Language of the configuration snippet."
                },
                "destination": {
                  "type": "string",
                  "description": "Where to run or save the snippet."
                },
                "configuration": {
                  "type": "string",
                  "description": "Exact setup snippet also displayed on the homepage."
                },
                "instructions": {
                  "type": "string",
                  "description": "Setup and sign-in instructions."
                }
              }
            }
          },
          "signInPrompt": {
            "type": "string",
            "description": "Message to verify the AWS connection."
          },
          "planningPrompt": {
            "type": "string",
            "description": "Prompt for an approval-first planning conversation."
          },
          "safety": {
            "type": "array",
            "description": "Authorization and verification boundaries.",
            "items": {
              "type": "string"
            }
          },
          "sources": {
            "type": "array",
            "description": "Primary documentation and bridge source.",
            "items": {
              "type": "string",
              "format": "uri"
            }
          },
          "author": {
            "type": "object",
            "description": "Guide creator.",
            "additionalProperties": false,
            "required": [
              "name",
              "url"
            ],
            "properties": {
              "name": {
                "type": "string",
                "description": "Creator name."
              },
              "url": {
                "type": "string",
                "description": "Public creator profile.",
                "format": "uri"
              }
            }
          }
        }
      },
      "Problem": {
        "type": "object",
        "description": "RFC 9457 problem returned for an unknown /api/ path.",
        "required": [
          "type",
          "title",
          "status",
          "detail",
          "instance",
          "resources"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Problem type.",
            "format": "uri"
          },
          "title": {
            "type": "string",
            "description": "Brief error description."
          },
          "status": {
            "type": "integer",
            "const": 404,
            "description": "HTTP status code."
          },
          "detail": {
            "type": "string",
            "description": "Explanation and recovery context."
          },
          "instance": {
            "type": "string",
            "description": "Requested path."
          },
          "resources": {
            "type": "object",
            "required": [
              "guide",
              "agents"
            ],
            "properties": {
              "guide": {
                "type": "string",
                "description": "Human-readable guide.",
                "format": "uri"
              },
              "agents": {
                "type": "string",
                "description": "Agent resource index.",
                "format": "uri"
              }
            }
          }
        }
      }
    }
  }
}
