{
  "site": "https://surfpay.ai",
  "openapi": "https://surfpay.ai/openapi.json",
  "count": 22,
  "groups": [
    {
      "name": "Agents",
      "description": "Start here: the brief, when to use it, and the MCP endpoint.",
      "endpoints": [
        {
          "operationId": "getHomepage",
          "method": "GET",
          "path": "/",
          "summary": "The integration brief, or the human page"
        },
        {
          "operationId": "getLlmsTxt",
          "method": "GET",
          "path": "/llms.txt",
          "summary": "The integration brief, llms.txt convention"
        },
        {
          "operationId": "getAgentInstructions",
          "method": "GET",
          "path": "/agent-instructions.md",
          "summary": "When to use Surfboard Payments, and how to call it"
        },
        {
          "operationId": "getPayloadMarkdown",
          "method": "GET",
          "path": "/payload.md",
          "summary": "The integration brief as markdown"
        },
        {
          "operationId": "getBrief",
          "method": "GET",
          "path": "/api/payload.json",
          "summary": "The integration brief, as JSON"
        },
        {
          "operationId": "getMcpServerCard",
          "method": "GET",
          "path": "/.well-known/mcp",
          "summary": "MCP server card"
        },
        {
          "operationId": "callMcpEndpoint",
          "method": "POST",
          "path": "/.well-known/mcp",
          "summary": "MCP endpoint, Streamable HTTP"
        },
        {
          "operationId": "getMcpServerCardFile",
          "method": "GET",
          "path": "/.well-known/mcp/server-card.json",
          "summary": "MCP server card, at the file path"
        }
      ]
    },
    {
      "name": "Discovery",
      "description": "What exists on this domain and where.",
      "endpoints": [
        {
          "operationId": "getOpenApiSpec",
          "method": "GET",
          "path": "/openapi.json",
          "summary": "This specification"
        },
        {
          "operationId": "getOpenApiSpecYaml",
          "method": "GET",
          "path": "/openapi.yaml",
          "summary": "This specification, as YAML"
        },
        {
          "operationId": "getApiCatalog",
          "method": "GET",
          "path": "/.well-known/api-catalog",
          "summary": "API catalog, RFC 9727"
        },
        {
          "operationId": "getApiIndex",
          "method": "GET",
          "path": "/api/index.json",
          "summary": "Every endpoint on this domain, grouped"
        }
      ]
    },
    {
      "name": "Skills",
      "description": "The agent skills pack, and the guides each skill bundles.",
      "endpoints": [
        {
          "operationId": "getAgentSkillsIndex",
          "method": "GET",
          "path": "/.well-known/agent-skills/index.json",
          "summary": "Agent skills index, agentskills.io v0.2.0"
        },
        {
          "operationId": "getSkillsPack",
          "method": "GET",
          "path": "/skills.json",
          "summary": "The skills pack, with the guides each skill bundles"
        },
        {
          "operationId": "listSkills",
          "method": "GET",
          "path": "/api/skills.json",
          "summary": "List the skills"
        },
        {
          "operationId": "getSkill",
          "method": "GET",
          "path": "/api/skills/{skill}.json",
          "summary": "Read one skill"
        },
        {
          "operationId": "getSkillMarkdown",
          "method": "GET",
          "path": "/skills/{skill}/SKILL.md",
          "summary": "Read one skill, as markdown"
        },
        {
          "operationId": "listGuides",
          "method": "GET",
          "path": "/api/guides.json",
          "summary": "List the bundled developer guides"
        },
        {
          "operationId": "getGuide",
          "method": "GET",
          "path": "/api/guides/{guide}.json",
          "summary": "Read one guide"
        },
        {
          "operationId": "getGuideMarkdown",
          "method": "GET",
          "path": "/guides/{guide}.md",
          "summary": "Read one guide, as markdown"
        }
      ]
    },
    {
      "name": "Search",
      "description": "Keyword search over the skills and the bundled guides.",
      "endpoints": [
        {
          "operationId": "searchDocs",
          "method": "GET",
          "path": "/api/search",
          "summary": "Search the skills and the bundled guides"
        }
      ]
    },
    {
      "name": "Operations",
      "description": "Liveness, and what version of the brief is deployed.",
      "endpoints": [
        {
          "operationId": "getHealth",
          "method": "GET",
          "path": "/api/health.json",
          "summary": "Liveness, and what is deployed"
        }
      ]
    }
  ]
}