Skip to content

Legacy JSON-RPC

The runtime exporter reports https://accountify.solutions/jsonrpc. Odoo 19 still documents this endpoint for compatibility, but the external RPC services are deprecated in favor of JSON-2 and are scheduled for removal in Odoo Online 21.1 (winter 2027) and Odoo 22 (fall 2028). Client databases upgrade on Odoo's schedule, so Accountify tooling must be JSON-2-native; this page exists only to migrate remaining callers.

Authenticate

{
  "jsonrpc": "2.0",
  "method": "call",
  "id": 1,
  "params": {
    "service": "common",
    "method": "authenticate",
    "args": [
      "accountify_v19_clone_21.06.2026",
      "integration@example.com",
      "<API_KEY>",
      {}
    ]
  }
}

The result is the numeric user ID required by subsequent object-service calls.

Call a model method

{
  "jsonrpc": "2.0",
  "method": "call",
  "id": 2,
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "accountify_v19_clone_21.06.2026",
      7,
      "<API_KEY>",
      "res.partner",
      "search_read",
      [[["is_company", "=", true]]],
      {"fields": ["name", "email"], "limit": 20}
    ]
  }
}

JSON-RPC sends database, user ID, credential, model, method, positional arguments, and keyword arguments on every call. JSON-2 moves model and method into the URL, uses bearer authentication, and accepts named body parameters.

Migration checklist

  1. Replace /jsonrpc with /json/2/<model>/<method>.
  2. Replace common-service authentication with Authorization: bearer.
  3. Move the database to X-Odoo-Database when required.
  4. Convert positional args and keyword arguments into named JSON properties.
  5. Update response parsing: JSON-2 returns the method result directly.
  6. Update error handling to use HTTP status plus the JSON error object.
  7. Re-test permissions and transaction assumptions.

Track the official Odoo migration guidance because removal timing can change between Odoo release tracks.