ODXProxy Documentation
One secure JSON-RPC 2.0 API in front of any number of Odoo instances.
ODXProxy is a Rust reverse proxy that sits in front of one or more Odoo ERP
instances. Instead of every app speaking Odoo's raw XML-RPC / JSON-RPC execute_kw
protocol, clients send one unified JSON-RPC 2.0 request to the proxy, which:
- Validates its integrity (on every request, via a trusted clock).
- Authenticates the caller via the
x-api-keyheader. - Checks the requested action against a fixed allowlist of 9 methods.
- Forwards the call to the Odoo instance named inside the request body.
- Returns a JSON-RPC 2.0 envelope.
Where to start
- Getting started — run the proxy and make your first request.
- Allowed actions — the 9 actions you can call.
- Error codes — the full error catalog.
- API reference — endpoints and request/response shapes.
- SDKs — client libraries for Python, Swift, Java, JavaScript, and PHP.
HTTP 200 can still carry an error. Odoo logic errors come back with HTTP 200
and a populated error object. Only proxy-layer failures use non-200 status codes.
Always check the error field, not just the HTTP status.