{
  "openapi": "3.1.0",
  "info": {
    "title": "BusyProxy public API",
    "version": "1.2.0",
    "summary": "The unauthenticated surface of BusyProxy, for agents and integrators.",
    "description": "Only endpoints that need no credential are described here. Earner account data is reached through the MCP server at /mcp with the caller's own session token, or through the authenticated REST routes documented at /AGENTS.md — never through this file.",
    "contact": {
      "name": "BusyProxy support",
      "email": "support@busyproxy.net",
      "url": "https://busyproxy.net/support"
    },
    "license": {
      "name": "Proprietary",
      "url": "https://busyproxy.net/terms"
    }
  },
  "servers": [
    {
      "url": "https://busyproxy.net"
    }
  ],
  "paths": {
    "/api/status": {
      "get": {
        "tags": [
          "status"
        ],
        "summary": "Service status",
        "description": "Aggregate operational status. No infrastructure detail.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/whoami": {
      "get": {
        "tags": [
          "status"
        ],
        "summary": "Caller identity",
        "description": "The public IP and geo the request arrived from. Used to verify a proxy exit.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/payouts/config": {
      "get": {
        "tags": [
          "payouts"
        ],
        "summary": "Payout rails",
        "description": "Supported chains, their currency, and the minimum withdrawal. Crypto only.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/mcp.json": {
      "get": {
        "tags": [
          "discovery"
        ],
        "summary": "MCP tool catalog",
        "description": "Every public and account tool with its input schema.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/agents.json": {
      "get": {
        "tags": [
          "discovery"
        ],
        "summary": "Agent descriptor",
        "description": "Capabilities, interfaces, and the policies an agent must respect.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/llms.txt": {
      "get": {
        "tags": [
          "discovery"
        ],
        "summary": "llms.txt",
        "description": "Short orientation document for language models.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/llms-full.txt": {
      "get": {
        "tags": [
          "discovery"
        ],
        "summary": "llms-full.txt",
        "description": "The whole public knowledge base as one document.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "status",
      "description": "Operational state"
    },
    {
      "name": "payouts",
      "description": "Withdrawal rails — cryptocurrency only"
    },
    {
      "name": "discovery",
      "description": "Machine-readable descriptions of this site"
    }
  ],
  "externalDocs": {
    "description": "Agent instructions",
    "url": "https://busyproxy.net/AGENTS.md"
  }
}