{
  "openapi": "3.1.0",
  "info": {
    "title": "Collabute public API",
    "version": "1.0.0",
    "summary": "Public discovery, status, and agent onboarding for Collabute.",
    "description": "Ungated endpoints agents can call without AuthKit. Workspace tools live on the MCP server. Human login is not part of this API.",
    "contact": {
      "name": "Collabute",
      "email": "team@collabute.com",
      "url": "https://collabute.ai/docs/developers"
    },
    "license": {
      "name": "Proprietary",
      "url": "https://collabute.ai/terms-and-conditions"
    }
  },
  "servers": [
    {
      "url": "https://collabute.ai",
      "description": "Collabute website and public agent API"
    },
    {
      "url": "https://api.collabute.ai",
      "description": "Collabute platform API and MCP"
    }
  ],
  "tags": [
    {
      "name": "Discovery",
      "description": "Ungated agent discovery"
    },
    {
      "name": "Docs",
      "description": "Human and agent documentation"
    },
    {
      "name": "MCP",
      "description": "Model Context Protocol"
    }
  ],
  "paths": {
    "/api/status": {
      "get": {
        "operationId": "getPublicStatus",
        "tags": [
          "Discovery"
        ],
        "summary": "Public liveness status",
        "description": "Returns an ungated health payload so agents can confirm Collabute is reachable without authentication.",
        "responses": {
          "200": {
            "description": "Service is reachable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Status"
                }
              }
            }
          }
        }
      }
    },
    "/api/agent/capabilities": {
      "get": {
        "operationId": "getAgentCapabilities",
        "tags": [
          "Discovery"
        ],
        "summary": "Public agent capability card",
        "description": "Describes when to use Collabute, how to authenticate, and where to find OpenAPI and MCP. No login required.",
        "responses": {
          "200": {
            "description": "Capability card",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentCapabilities"
                }
              }
            }
          }
        }
      }
    },
    "/openapi.json": {
      "get": {
        "operationId": "getOpenApiDocument",
        "tags": [
          "Discovery"
        ],
        "summary": "OpenAPI specification",
        "description": "This document. Use it for function-calling style tool definitions.",
        "responses": {
          "200": {
            "description": "OpenAPI 3.1 document",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        }
      }
    },
    "/llms.txt": {
      "get": {
        "operationId": "getLlmsTxt",
        "tags": [
          "Docs"
        ],
        "summary": "Agent index",
        "description": "Curated markdown index including when-to-use guidance.",
        "responses": {
          "200": {
            "description": "llms.txt",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/AGENTS.md": {
      "get": {
        "operationId": "getAgentsMarkdown",
        "tags": [
          "Docs"
        ],
        "summary": "Agent instruction file",
        "description": "When-to-use brief for coding agents.",
        "responses": {
          "200": {
            "description": "AGENTS.md",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/docs/developers": {
      "get": {
        "operationId": "getDeveloperResources",
        "tags": [
          "Docs"
        ],
        "summary": "Collabute developer resources",
        "description": "Human-readable developer page covering OpenAPI, MCP, public API, auth, and the free tier.",
        "responses": {
          "200": {
            "description": "Developer resources page",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              },
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/mcp": {
      "get": {
        "operationId": "getMcpServer",
        "tags": [
          "MCP"
        ],
        "summary": "Collabute MCP server",
        "description": "Streamable HTTP MCP endpoint at https://api.collabute.ai/api/mcp. OAuth-first. Use tools/list after the user authorizes.",
        "servers": [
          {
            "url": "https://api.collabute.ai"
          }
        ],
        "responses": {
          "200": {
            "description": "MCP session or discovery response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "OAuth required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Status": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name",
          "status",
          "time",
          "docs",
          "openapi",
          "mcp"
        ],
        "properties": {
          "name": {
            "type": "string",
            "examples": [
              "Collabute"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "ok"
            ]
          },
          "time": {
            "type": "string",
            "format": "date-time"
          },
          "docs": {
            "type": "string",
            "format": "uri"
          },
          "openapi": {
            "type": "string",
            "format": "uri"
          },
          "mcp": {
            "type": "string",
            "format": "uri"
          }
        }
      },
      "AgentCapabilities": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name",
          "url",
          "description",
          "whenToUse",
          "whenNotToUse",
          "onboarding",
          "api"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "description": {
            "type": "string"
          },
          "whenToUse": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "whenNotToUse": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "onboarding": {
            "$ref": "#/components/schemas/Onboarding"
          },
          "api": {
            "$ref": "#/components/schemas/ApiLinks"
          },
          "rateLimit": {
            "$ref": "#/components/schemas/RateLimit"
          }
        }
      },
      "Onboarding": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "freeTier",
          "selfServe",
          "creditCardRequired",
          "sandbox",
          "auth"
        ],
        "properties": {
          "freeTier": {
            "type": "boolean"
          },
          "selfServe": {
            "type": "boolean"
          },
          "creditCardRequired": {
            "type": "boolean"
          },
          "sandbox": {
            "type": "string",
            "format": "uri"
          },
          "auth": {
            "type": "string",
            "enum": [
              "oauth"
            ]
          }
        }
      },
      "ApiLinks": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "openapi",
          "status",
          "mcp",
          "docs"
        ],
        "properties": {
          "openapi": {
            "type": "string",
            "format": "uri"
          },
          "status": {
            "type": "string",
            "format": "uri"
          },
          "mcp": {
            "type": "string",
            "format": "uri"
          },
          "docs": {
            "type": "string",
            "format": "uri"
          }
        }
      },
      "RateLimit": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "standard",
          "requestsPerMinute"
        ],
        "properties": {
          "standard": {
            "type": "string"
          },
          "requestsPerMinute": {
            "type": "integer"
          }
        }
      },
      "ErrorMessage": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "string"
          },
          "code": {
            "type": "string"
          }
        }
      }
    }
  },
  "externalDocs": {
    "description": "Collabute is a proactive AI teammate for product teams. It captures decisions across meetings and Slack, connects Linear, Jira, GitHub, and Vercel, and turns that context into follow-ups, tickets, and shared memory.",
    "url": "https://collabute.ai/docs/developers"
  }
}
