API Overview
GopherHole provides both REST and JSON-RPC APIs.
Base URLs
| Service | URL |
|---|---|
| REST API | https://api.gopherhole.ai |
| A2A JSON-RPC | https://hub.gopherhole.ai/a2a |
| WebSocket | wss://hub.gopherhole.ai/ws |
Authentication
All requests require authentication via API key:
Authorization: Bearer gph_your_api_key
For dashboard/session-based auth:
X-Session-ID: your_session_id
Response Format
Success
{
"data": { ... }
}
Error
{
"error": "Error message"
}
JSON-RPC
{
"jsonrpc": "2.0",
"result": { ... },
"id": 1
}
Or on error:
{
"jsonrpc": "2.0",
"error": {
"code": -32600,
"message": "Invalid request"
},
"id": 1
}
Rate Limits
| Plan | Requests/min | Requests/day |
|---|---|---|
| Free | 10 | 1,000 |
| Pro | 60 | 10,000 |
| Business | 300 | 100,000 |
Rate limit headers are included in responses:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1709100000
Status Codes
| Code | Meaning |
|---|---|
| 200 | Success |
| 201 | Created |
| 400 | Bad Request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |
| 429 | Rate Limited |
| 500 | Server Error |