{
  "openapi": "3.1.0",
  "info": {
    "title": "Geck Public Discovery API",
    "description": "Machine-readable discovery surface for Geck marketing site and platform entry points. Production product APIs require authenticated access on platform.geck.ai.",
    "version": "1.0.0",
    "contact": {
      "name": "Geck Support",
      "email": "support@geck.ai",
      "url": "https://geck.ai/contact"
    },
    "license": {
      "name": "CC BY 4.0",
      "url": "https://creativecommons.org/licenses/by/4.0/"
    }
  },
  "servers": [
    {
      "url": "https://geck.ai",
      "description": "Marketing site (production)"
    },
    {
      "url": "https://platform.geck.ai",
      "description": "Geck platform (production)"
    },
    {
      "url": "https://sandbox.platform.geck.ai",
      "description": "Sandbox / test mode for agent integrations (request access via support@geck.ai)"
    }
  ],
  "paths": {
    "/llms.txt": {
      "get": {
        "summary": "Agent-oriented site summary",
        "operationId": "getLlmsTxt",
        "responses": {
          "200": {
            "description": "Plain-text site map and citation guidance",
            "content": {
              "text/plain": {
                "schema": { "type": "string" }
              }
            }
          }
        }
      }
    },
    "/sitemap.xml": {
      "get": {
        "summary": "XML sitemap",
        "operationId": "getSitemap",
        "responses": {
          "200": {
            "description": "Indexable URLs"
          }
        }
      }
    },
    "/robots.txt": {
      "get": {
        "summary": "Robots directives",
        "operationId": "getRobots",
        "responses": {
          "200": {
            "description": "Crawl rules including optional crawl-delay"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "Platform API tokens. Prefer idempotency-key header on write operations; retry safe GETs with exponential backoff."
      }
    }
  },
  "tags": [
    {
      "name": "discovery",
      "description": "Public discovery endpoints for agents"
    },
    {
      "name": "sandbox",
      "description": "Use sandbox.platform.geck.ai for non-production agent testing. Requests are not billed; data may be reset."
    },
    {
      "name": "reliability",
      "description": "Retries: safe on GET; use Idempotency-Key on POST/PUT. Documented for agent clients integrating with the Geck platform."
    }
  ]
}
