{
  "product": "veillock",
  "title": "Use with Grok, ChatGPT, Venice",
  "motto": "Render to encrypt to decode locally to display.",
  "openapi": "https://veillock-download-tracker.vibelock.workers.dev/openapi.json",
  "health": "https://veillock-download-tracker.vibelock.workers.dev/v1/health",
  "ios_facetime": "iOS FaceTime cannot pick a third-party camera.",
  "chatgpt_actions": [
    "Open GPT Editor → Actions → Import from URL",
    "Paste https://veillock-download-tracker.vibelock.workers.dev/openapi.json",
    "Authentication: None",
    "Allow GET /v1/health and the listed POST /v1 routes",
    "Test GET /v1/health, then a sample POST from the spec"
  ],
  "grok_xai_tools": [
    "Add an HTTP / OpenAPI tool pointing at https://veillock-download-tracker.vibelock.workers.dev/openapi.json",
    "Or register GET /v1/health, GET /openapi.json, and the product POSTs",
    "No API key. CORS is *"
  ],
  "venice_http_tools": [
    "Add an HTTP tool with method, URL, and JSON body from https://veillock-download-tracker.vibelock.workers.dev/openapi.json",
    "Start with GET https://veillock-download-tracker.vibelock.workers.dev/v1/health",
    "Then call the product POST listed in the spec"
  ],
  "mcp_catalog": "https://aziel-runtime.vibelock.workers.dev/mcp",
  "notes": [
    "GET /download still serves the gzip tarball and increments the counter.",
    "/v1, /openapi.json, and /ai do not increment DOWNLOADS."
  ]
}