Public machine interface for agents and integrations. The canonical external API is MCP JSON-RPC with OAuth access tokens or bearer API keys.
https://attribution.ai/api
Machine-readable API contract for MCP and OAuth endpoints: https://attribution.ai/openapi/mcp.json
| Endpoint | Method | Purpose |
|---|---|---|
/api/mcp/rpc | POST | Primary connector + agent API (16 tools) |
/api/mcp/info | GET | Authenticated MCP server metadata |
/.well-known/oauth-authorization-server | GET | OAuth discovery metadata |
/.well-known/oauth-protected-resource | GET | OAuth protected-resource metadata |
/api/mcp/authorize | POST | OAuth authorization (PKCE) |
/api/mcp/token | POST | OAuth token and refresh exchange |
/api/mcp/register | POST | OAuth dynamic client registration |
/openapi/mcp.json | GET | OpenAPI 3.1 machine-readable contract |
Preferred: OAuth + PKCE. Fallback: Authorization: Bearer atai_... for API key access.
Authorization: Bearer atai_your_key_here
POST /api/mcp/rpc
Content-Type: application/json
Authorization: Bearer YOUR_TOKEN
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "performance",
"arguments": {
"start_date": "2026-01-01",
"end_date": "2026-01-31"
}
},
"id": 1
}initializetools/listtools/callresources/list / resources/readprompts/list / prompts/getMany /api/dashboard/*, /api/sync/*, and /api/settings/* routes are session-based and power the web app UI. They are not the stable public connector contract for external agents.
{
"jsonrpc": "2.0",
"error": {
"code": -32600,
"message": "Invalid request"
},
"id": 1
}See Error Reference for complete codes and troubleshooting.
Explore the MCP Tool Reference for all 16 tools, parameters, and response schemas.
Test any MCP tool in the browser with demo data before integrating.