Public-safe Phase 1 API docs. Future protected actions can require PLATPHORM_API_KEY when enforcement is enabled.
{
"openapi": "3.1.0",
"info": {
"title": "Mermaids Public API",
"version": "1.0.0",
"description": "Public-safe API for The Vegas Mermaids Phase 1."
},
"servers": [
{
"url": "https://mermaids.platphormnews.com"
}
],
"components": {
"securitySchemes": {
"PlatPhormApiKey": {
"type": "apiKey",
"in": "header",
"name": "X-PlatPhorm-API-Key",
"description": "Future protected action auth (optional in Phase 1)."
},
"PlatPhormBearer": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "PLATPHORM_API_KEY"
}
},
"schemas": {
"ApiSuccess": {
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"const": true
},
"data": {
"type": "object"
}
}
},
"ApiError": {
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"const": false
},
"error": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"code",
"message"
]
}
}
}
}
},
"paths": {
"/api/health": {
"get": {
"summary": "Health summary"
}
},
"/api/v1/health": {
"get": {
"summary": "v1 health summary"
}
},
"/api/v1/performances": {
"get": {
"summary": "List performances"
}
},
"/api/v1/performances/{slug}": {
"get": {
"summary": "Get performance",
"parameters": [
{
"name": "slug",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
]
}
},
"/api/v1/showcase": {
"get": {
"summary": "List showcase items"
}
},
"/api/v1/testimonials": {
"get": {
"summary": "List testimonials"
}
},
"/api/v1/events": {
"get": {
"summary": "Get events status"
}
},
"/api/v1/social-links": {
"get": {
"summary": "Get social links"
}
},
"/api/v1/shop": {
"get": {
"summary": "Get shop status"
}
},
"/api/v1/booking/request": {
"post": {
"summary": "Create booking request"
}
},
"/api/v1/contact": {
"post": {
"summary": "Create contact submission"
}
},
"/api/v1/newsletter/subscribe": {
"post": {
"summary": "Subscribe newsletter"
}
},
"/api/v1/integrations/status": {
"get": {
"summary": "Integration status"
}
},
"/api/v1/integrations/events": {
"get": {
"summary": "Events integration status"
}
},
"/api/v1/integrations/shop": {
"get": {
"summary": "Shop integration status"
}
},
"/api/mcp": {
"get": {
"summary": "MCP endpoint description"
},
"post": {
"summary": "MCP JSON-RPC handler"
}
}
},
"xMermaids": {
"publicRoutes": [
"/",
"/about",
"/performances",
"/showcase",
"/events",
"/shop",
"/contact",
"/booking",
"/faq",
"/privacy",
"/terms",
"/disclaimer",
"/api/health",
"/api/v1/health",
"/api/docs",
"/openapi.yaml",
"/openapi.json",
"/llms.txt",
"/llms-full.txt",
"/llms-index.json",
"/rss.xml",
"/feed.xml",
"/sitemap.xml",
"/sitemap-main.xml",
"/robots.txt",
"/.well-known/mcp.json",
"/.well-known/agents.json",
"/.well-known/security.txt",
"/.well-known/trust.json",
"/manifest.webmanifest",
"/api/mcp",
"/api/v1/performances",
"/api/v1/showcase",
"/api/v1/testimonials",
"/api/v1/events",
"/api/v1/social-links",
"/api/v1/shop",
"/api/v1/integrations/status",
"/api/v1/integrations/events",
"/api/v1/integrations/shop"
],
"authPolicy": {
"phase1Default": "PLATPHORM_REQUIRE_API_KEY=false",
"protectedWhenEnabled": [
"/api/cron/refresh",
"future admin mutation endpoints"
]
}
}
}