Official API developer surface
The canonical 9bot API reference is available at https://9bot.com.br/api/. Machine-readable OpenAPI files remain at the domain root so developer tools and crawlers can discover the specifications without executing client-side JavaScript.
What the OpenAPI files document
The 9bot OpenAPI description documents the remote /mcp transport, generic JSON-RPC messages, gateway health, MCP metadata, OAuth protected-resource metadata, OAuth authorization-server metadata, and the public MCP Registry manifest.
The 9bot OpenAPI description intentionally excludes the complete MCP tool catalog. Authorized clients must call MCP tool discovery because tool names, descriptions, input schemas, and availability vary by panel, scopes, authorized groups, tool rules, access mode, and product configuration.
Canonical URLs
| Resource | URL |
|---|---|
| OpenAPI JSON | https://9bot.com.br/openapi.json |
| OpenAPI YAML | https://9bot.com.br/openapi.yaml |
| MCP endpoint | https://mcp.9bot.com.br/mcp |
| MCP health | https://mcp.9bot.com.br/mcp/health |
| MCP metadata | https://mcp.9bot.com.br/.well-known/mcp |
| Protected resource metadata | https://mcp.9bot.com.br/.well-known/oauth-protected-resource |
| Authorization server metadata | https://mcp.9bot.com.br/.well-known/oauth-authorization-server |
| Server manifest | https://mcp.9bot.com.br/server.json |
Generic MCP request
A current MCP client or SDK must manage initialization, protocol negotiation, required headers, streaming behavior, and response parsing. The following request discovers the tools available to the authorized application:
POST /mcp
Authorization: Bearer <access-token>
Content-Type: application/json
Accept: application/json, text/event-stream
{
"jsonrpc": "2.0",
"id": "tools-1",
"method": "tools/list",
"params": {}
}
Call a discovered tool
An MCP tool call must use the exact tool name and argument schema returned by tools/list. The following JSON-RPC envelope shows where the discovered name and validated arguments belong:
{
"jsonrpc": "2.0",
"id": "call-1",
"method": "tools/call",
"params": {
"name": "<tool-name-from-tools-list>",
"arguments": {}
}
}
Authentication
The public 9bot MCP endpoint requires OAuth authorization. MCP clients should fetch the protected-resource and authorization-server metadata instead of hard-coding authorization endpoints, and a successful authorization does not grant access to every group or tool.
Common HTTP outcomes
400- HTTP 400 indicates an invalid media type, protocol envelope, request parameter, or other client request error.
401- HTTP 401 indicates missing, expired, invalid, or otherwise unacceptable authorization credentials.
403- HTTP 403 indicates that a scope, group rule, tool policy, or panel policy prevents the requested operation.
429- HTTP 429 indicates that the client reached a rate limit and should follow retry guidance while preserving idempotency.
5xx- An HTTP 5xx response indicates a temporary gateway or upstream dependency failure.