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

CodeMeaningWhen
-32700Parse errorInvalid JSON
-32600Invalid RequestMalformed request, empty body, empty batch
-32601Method not foundUnknown or reserved method
-32602Invalid paramsMissing, wrong type, unknown, or surplus
-32603Internal errorHandler/middleware exception
-32000Rate limit exceededToo many requests
-32001Auth requiredProtected method without credentials
-32099Custom server errorApplication-defined

Transport behavior