ODXProxy

Getting Started

Run ODXProxy with Docker and make your first request.

1. Run the proxy

ODXProxy is distributed as a Docker image:

docker pull terrakernel/odxproxy

Provide configuration via a dotenv file. The minimum is a PROXY_API_KEY (the x-api-key value clients must send) and a signed LICENSE_KEY file. The proxy listens on 0.0.0.0:3000 by default and refuses to run as root.

2. Make your first request

Send a JSON-RPC request to POST /api/odoo/execute. The target Odoo instance is specified per-request in odoo_instance:

curl -X POST https://your-proxy.example.com/api/odoo/execute \
  -H "x-api-key: $PROXY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "01J...",
    "action": "search_read",
    "model_id": "res.partner",
    "params": [[["is_company", "=", true]]],
    "keyword": { "fields": ["name", "email"], "limit": 10 },
    "odoo_instance": {
      "url": "https://erp.example.com",
      "db": "prod",
      "user_id": 2,
      "api_key": "<ODOO_USER_API_KEY>"
    }
  }'

x-api-key is the proxy's key. odoo_instance.api_key is the Odoo user's key. These are two different secrets — don't conflate them.

The response is a JSON-RPC 2.0 envelope. Remember to check the error field even on HTTP 200 — see Error codes.

On this page