Requests, Responses & Errors
Request format
{"jsonrpc":"2.0","method":"user.get","params":{"id":1},"id":1}
Batch requests
[
{"jsonrpc":"2.0","method":"user.get","params":{"id":1},"id":1},
{"jsonrpc":"2.0","method":"system.health","id":2}
]
Batch limits: configurable batch.max_items (default: 100). Empty batch returns -32600.
Notifications
Requests without an id field are notifications. The server processes them but returns no response.
Batch of only notifications returns HTTP 204.
Error codes
| Code | Meaning | When |
|---|---|---|
| -32700 | Parse error | Invalid JSON |
| -32600 | Invalid Request | Malformed request, empty body, empty batch |
| -32601 | Method not found | Unknown or reserved method |
| -32602 | Invalid params | Missing, wrong type, unknown, or surplus |
| -32603 | Internal error | Handler/middleware exception |
| -32000 | Rate limit exceeded | Too many requests |
| -32001 | Auth required | Protected method without credentials |
| -32099 | Custom server error | Application-defined |
Transport behavior
POST /handles JSON-RPC requests- Empty POST body returns
-32600 Invalid Request GET /returns health JSON when enabled- Non-POST, non-GET methods return HTTP 405