{
  "openapi": "3.1.0",
  "info": {
    "title": "Beste KI Tools HTTP surfaces",
    "version": "1.20.0",
    "summary": "Machine-readable map of the real HTTP endpoints on bestekitools.com.",
    "description": "Beste KI Tools is served from this origin. Query the catalog through the MCP endpoint documented here — there is no parallel REST catalog. Unknown /api paths return JSON { error, status }. Public HTML pages also speak markdown at the same URL (Accept: text/markdown). Rate limit: 120 requests / 60s (IETF RateLimit + RateLimit-Policy; Retry-After on 429). URL path /api/v1 is the current catalog JSON. Responses also send API-Version: 1. Breaking changes ship under /api/v2. Deprecated versions get Deprecation and Sunset headers for at least 90 days. There is no v2 yet."
  },
  "servers": [
    {
      "url": "https://bestekitools.com"
    }
  ],
  "paths": {
    "/llms.txt": {
      "get": {
        "summary": "Agent instructions and catalog snapshot",
        "operationId": "getLlmsTxt",
        "responses": {
          "200": {
            "description": "Agent instructions and catalog snapshot",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/llms-full.txt": {
      "get": {
        "summary": "Full live catalog in markdown",
        "operationId": "getLlmsFull",
        "responses": {
          "200": {
            "description": "Full live catalog in markdown",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/AGENTS.md": {
      "get": {
        "summary": "Public agent instructions",
        "operationId": "getAgentsMd",
        "responses": {
          "200": {
            "description": "Public agent instructions",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/pricing.md": {
      "get": {
        "summary": "Machine-readable pricing",
        "operationId": "getPricingMd",
        "responses": {
          "200": {
            "description": "Machine-readable pricing",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/auth.md": {
      "get": {
        "summary": "Honest authentication map (starts with # )",
        "operationId": "getAuthMd",
        "responses": {
          "200": {
            "description": "Honest authentication map (starts with # )",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/sitemap.md": {
      "get": {
        "summary": "Markdown sitemap of public URLs",
        "operationId": "getSitemapMd",
        "responses": {
          "200": {
            "description": "Markdown sitemap of public URLs",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/agents.json": {
      "get": {
        "summary": "Agent discovery document",
        "operationId": "getAgentsJson",
        "responses": {
          "200": {
            "description": "Agent discovery document",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/api-catalog": {
      "get": {
        "summary": "RFC 9727 API catalog linkset",
        "operationId": "getApiCatalog",
        "responses": {
          "200": {
            "description": "Linkset",
            "content": {
              "application/linkset+json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/ai-catalog.json": {
      "get": {
        "summary": "AI catalog pointing at the MCP server card",
        "operationId": "getAiCatalog",
        "responses": {
          "200": {
            "description": "AI catalog pointing at the MCP server card",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/mcp": {
      "get": {
        "summary": "MCP Streamable HTTP pointer",
        "operationId": "getMcpWellKnown",
        "responses": {
          "200": {
            "description": "MCP Streamable HTTP pointer",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/mcp/server-card.json": {
      "get": {
        "summary": "MCP server card",
        "operationId": "getMcpServerCard",
        "responses": {
          "200": {
            "description": "MCP server card",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/agent-permissions.json": {
      "get": {
        "summary": "What agents may and may not do",
        "operationId": "getAgentPermissions",
        "responses": {
          "200": {
            "description": "What agents may and may not do",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/server.json": {
      "get": {
        "summary": "MCP registry manifest",
        "operationId": "getServerJson",
        "responses": {
          "200": {
            "description": "MCP registry manifest",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/openapi.json": {
      "get": {
        "summary": "This document",
        "operationId": "getOpenApi",
        "responses": {
          "200": {
            "description": "This document",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/robots.txt": {
      "get": {
        "summary": "Robots policy",
        "operationId": "getRobots",
        "responses": {
          "200": {
            "description": "Plain-text robots.txt",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/sitemap.xml": {
      "get": {
        "summary": "Sitemap",
        "operationId": "getSitemap",
        "responses": {
          "200": {
            "description": "XML sitemap of public URLs",
            "content": {
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/mcp/mcp": {
      "post": {
        "summary": "MCP Streamable HTTP endpoint for this site's catalog",
        "operationId": "mcp",
        "description": "JSON-RPC MCP at https://bestekitools.com/api/mcp/mcp. Tools: search_tools, get_tool, list_alternatives, submit_tool, list_offers, create_checkout. Tenant is the Host.",
        "responses": {
          "200": {
            "description": "MCP JSON-RPC response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/McpRpc"
                }
              }
            }
          }
        }
      }
    },
    "/api/me": {
      "get": {
        "summary": "Session identity for site chrome",
        "operationId": "getMe",
        "responses": {
          "200": {
            "description": "{ authenticated, email?, displayName?, avatarUrl? }",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Me"
                }
              }
            }
          }
        }
      }
    },
    "/api/badge": {
      "get": {
        "summary": "Maker badge image (query slug)",
        "operationId": "getBadge",
        "responses": {
          "200": {
            "description": "SVG or PNG badge"
          },
          "404": {
            "description": "Unknown listing",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/badge/{slug}": {
      "get": {
        "summary": "Maker badge image by slug",
        "operationId": "getBadgeBySlug",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "SVG or PNG badge"
          },
          "404": {
            "description": "Unknown listing",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/og": {
      "get": {
        "summary": "Open Graph image",
        "operationId": "getOg",
        "responses": {
          "200": {
            "description": "PNG"
          }
        }
      }
    },
    "/api/site-icon/{site}": {
      "get": {
        "summary": "Per-site favicon SVG",
        "operationId": "getSiteIcon",
        "parameters": [
          {
            "name": "site",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "SVG"
          },
          "404": {
            "description": "Unknown site id",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/listing-cover/{slug}": {
      "get": {
        "summary": "Listing cover image",
        "operationId": "getListingCover",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Image"
          },
          "404": {
            "description": "Unknown listing",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/listings": {
      "get": {
        "summary": "Paginated live listings (API-Version 1)",
        "operationId": "listListingsV1",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 20
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Opaque base64url cursor from next_cursor"
          },
          {
            "name": "API-Version",
            "in": "header",
            "schema": {
              "type": "string",
              "enum": [
                "1"
              ]
            },
            "description": "Optional. Echoed as API-Version: 1."
          }
        ],
        "responses": {
          "200": {
            "description": "Page of live listings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListingPage"
                }
              }
            },
            "headers": {
              "API-Version": {
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit": {
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Policy": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "invalid_cursor",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/listings/batch": {
      "get": {
        "summary": "Batch listings by slug",
        "operationId": "batchListingsV1",
        "responses": {
          "200": {
            "description": "Batch listings by slug",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/session": {
      "get": {
        "summary": "Maker session probe (401 + WWW-Authenticate when signed out)",
        "operationId": "getSessionV1",
        "responses": {
          "200": {
            "description": "Authenticated maker"
          },
          "401": {
            "description": "WWW-Authenticate Bearer + resource_metadata"
          }
        }
      }
    },
    "/api/a2a": {
      "get": {
        "summary": "A2A agent card; POST is JSON-RPC message/send",
        "operationId": "a2a",
        "responses": {
          "200": {
            "description": "A2A agent card; POST is JSON-RPC message/send",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/mcp-docs/mcp": {
      "post": {
        "summary": "Docs MCP Streamable HTTP",
        "operationId": "mcpDocs",
        "responses": {
          "200": {
            "description": "MCP JSON-RPC"
          }
        }
      }
    },
    "/ask": {
      "get": {
        "summary": "NLWeb list-mode catalog ask (SSE when streaming=1)",
        "operationId": "nlwebAsk",
        "responses": {
          "200": {
            "description": "NLWeb list-mode catalog ask (SSE when streaming=1)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/agent-card.json": {
      "get": {
        "summary": "A2A agent card",
        "operationId": "getAgentCard",
        "responses": {
          "200": {
            "description": "A2A agent card",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/agent-mode.json": {
      "get": {
        "summary": "Agent mode and sandbox label",
        "operationId": "getAgentMode",
        "responses": {
          "200": {
            "description": "Agent mode and sandbox label",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/ai-plugin.json": {
      "get": {
        "summary": "Plugin manifest (auth none)",
        "operationId": "getAiPlugin",
        "responses": {
          "200": {
            "description": "Plugin manifest (auth none)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/oauth-authorization-server": {
      "get": {
        "summary": "RFC 8414 metadata (human NextAuth only)",
        "operationId": "getAsMetadata",
        "responses": {
          "200": {
            "description": "RFC 8414 metadata (human NextAuth only)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/http-message-signatures-directory": {
      "get": {
        "summary": "HTTP Message Signatures directory",
        "operationId": "getWebBotAuthDirectory",
        "responses": {
          "200": {
            "description": "HTTP Message Signatures directory",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/mcp": {
      "post": {
        "summary": "Standard MCP Streamable HTTP alias of /api/mcp/mcp",
        "operationId": "mcpAlias",
        "description": "Same tools and handshake as /api/mcp/mcp. POST initialize (Accept JSON+SSE), notifications/initialized is 202, GET is SSE.",
        "responses": {
          "200": {
            "description": "MCP JSON-RPC or SSE"
          },
          "202": {
            "description": "initialized notification accepted"
          }
        }
      },
      "get": {
        "summary": "Open the Streamable HTTP GET SSE stream",
        "operationId": "mcpAliasGet",
        "responses": {
          "200": {
            "description": "text/event-stream"
          }
        }
      }
    },
    "/.well-known/mcp.json": {
      "get": {
        "summary": "MCP server card + mcpServers manifest (url is /api/mcp/mcp)",
        "operationId": "getMcpJson",
        "responses": {
          "200": {
            "description": "MCP server card + mcpServers manifest (url is /api/mcp/mcp)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/listings.md": {
      "get": {
        "summary": "Markdown twin of the live catalog",
        "operationId": "getListingsMd",
        "responses": {
          "200": {
            "description": "text/markdown catalog"
          }
        }
      }
    },
    "/feeds/nlweb.json": {
      "get": {
        "summary": "Additive schema.org DataFeed for /ask",
        "operationId": "getNlwebFeed",
        "responses": {
          "200": {
            "description": "Additive schema.org DataFeed for /ask",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/feeds/schema.json": {
      "get": {
        "summary": "Alias of the NLWeb schema.org DataFeed",
        "operationId": "getSchemaFeed",
        "responses": {
          "200": {
            "description": "Alias of the NLWeb schema.org DataFeed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/agent-mode.md": {
      "get": {
        "summary": "Dedicated markdown agent-mode view",
        "operationId": "getAgentModeMd",
        "responses": {
          "200": {
            "description": "Dedicated markdown agent-mode view",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/INSTRUCTION.md": {
      "get": {
        "summary": "Alias of agent-instructions.md",
        "operationId": "getInstructionMd",
        "responses": {
          "200": {
            "description": "Alias of agent-instructions.md",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/llms/mcp.md": {
      "get": {
        "summary": "Dedicated MCP llms module",
        "operationId": "getLlmsMcpMd",
        "responses": {
          "200": {
            "description": "Dedicated MCP llms module",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/llms/catalog.md": {
      "get": {
        "summary": "Dedicated catalog llms module",
        "operationId": "getLlmsCatalogMd",
        "responses": {
          "200": {
            "description": "Dedicated catalog llms module",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/llms/ask.md": {
      "get": {
        "summary": "Dedicated NLWeb llms module",
        "operationId": "getLlmsAskMd",
        "responses": {
          "200": {
            "description": "Dedicated NLWeb llms module",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/sandbox.json": {
      "get": {
        "summary": "Sandbox flag (always false — production only)",
        "operationId": "getSandbox",
        "responses": {
          "200": {
            "description": "Sandbox flag (always false — production only)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/jobs": {
      "post": {
        "summary": "Create an async listings-snapshot job (202 + Location)",
        "operationId": "createJobV1",
        "responses": {
          "202": {
            "description": "Accepted. Poll Location."
          }
        }
      }
    },
    "/agent-mode": {
      "get": {
        "summary": "HTML view of agent-mode.json",
        "operationId": "getAgentModeView",
        "responses": {
          "200": {
            "description": "HTML view of agent-mode.json",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/schemamap.xml": {
      "get": {
        "summary": "Additive NLWeb schema-feed map",
        "operationId": "getSchemaMap",
        "responses": {
          "200": {
            "description": "Additive NLWeb schema-feed map",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/schema-map.xml": {
      "get": {
        "summary": "Well-known schema-feed map",
        "operationId": "getSchemaMapWellKnown",
        "responses": {
          "200": {
            "description": "Well-known schema-feed map",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/function-calling.json": {
      "get": {
        "summary": "OpenAI-compatible function declarations for MCP tools",
        "operationId": "getFunctionCalling",
        "responses": {
          "200": {
            "description": "OpenAI-compatible function declarations for MCP tools",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/agent-instructions.md": {
      "get": {
        "summary": "When-to-use agent instruction",
        "operationId": "getAgentInstructions",
        "responses": {
          "200": {
            "description": "When-to-use agent instruction",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/version": {
      "get": {
        "summary": "API version and deprecation policy",
        "operationId": "getApiVersion",
        "responses": {
          "200": {
            "description": "API version and deprecation policy",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/mcp-llms.txt": {
      "get": {
        "summary": "MCP llms module",
        "operationId": "getMcpLlms",
        "responses": {
          "200": {
            "description": "MCP llms module",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api-llms.txt": {
      "get": {
        "summary": "Catalog JSON llms module",
        "operationId": "getApiLlms",
        "responses": {
          "200": {
            "description": "Catalog JSON llms module",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/docs-llms.txt": {
      "get": {
        "summary": "NLWeb ask llms module",
        "operationId": "getDocsLlms",
        "responses": {
          "200": {
            "description": "NLWeb ask llms module",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ApiError": {
        "type": "object",
        "required": [
          "error",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string"
          },
          "status": {
            "type": "integer"
          }
        }
      },
      "Listing": {
        "type": "object",
        "required": [
          "slug",
          "name",
          "tagline",
          "url",
          "toolUrl",
          "category",
          "launchDate"
        ],
        "properties": {
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "tagline": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "toolUrl": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "launchDate": {
            "type": "string"
          }
        }
      },
      "ListingPage": {
        "type": "object",
        "required": [
          "items",
          "data",
          "has_more",
          "version"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Listing"
            }
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Listing"
            }
          },
          "nextCursor": {
            "type": "string"
          },
          "next_cursor": {
            "type": "string"
          },
          "has_more": {
            "type": "boolean"
          },
          "version": {
            "type": "string"
          }
        }
      },
      "AgentsJson": {
        "type": "object",
        "required": [
          "name",
          "url",
          "mcp",
          "llms_txt",
          "openapi",
          "contact"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "when_to_use": {
            "type": "string"
          },
          "mcp": {
            "type": "object"
          },
          "llms_txt": {
            "type": "string"
          },
          "openapi": {
            "type": "string"
          },
          "contact": {
            "type": "string"
          }
        }
      },
      "OpenApiDoc": {
        "type": "object",
        "required": [
          "openapi",
          "info",
          "paths"
        ],
        "properties": {
          "openapi": {
            "type": "string"
          },
          "info": {
            "type": "object"
          },
          "paths": {
            "type": "object"
          }
        }
      },
      "McpRpc": {
        "type": "object",
        "properties": {
          "jsonrpc": {
            "type": "string"
          },
          "id": {},
          "result": {
            "type": "object"
          },
          "error": {
            "type": "object"
          }
        }
      },
      "Me": {
        "type": "object",
        "required": [
          "authenticated"
        ],
        "properties": {
          "authenticated": {
            "type": "boolean"
          },
          "email": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "avatarUrl": {
            "type": "string"
          }
        }
      }
    }
  }
}