read_record
Read one Odoo record by its database ID, returning specified fields or a short set of state fields. Not suitable for account.move or account.move.line records.
Instructions
Read one record by id, always with named fields (writing.md pattern 12).
Omitting fields asks for a short list of state fields — never for all of
them: that read is slow at best and fails at worst.
account.move and account.move.line are refused here, because the
structural guard wants a move_type filter and this tool has nowhere to
put one. Use search_read with
[["id", "=", <id>], ["move_type", "=", "out_invoice"]] instead.
And never add up amount_total across records — it is in the record's own
currency. amount_total_signed is the company-currency twin to sum.
Args: model: Odoo model, e.g. "sale.order". record_id: The record's database id. fields: Field names to read. Omit for the usual state fields.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"model": "<model>",
"record_id": "<record_id>"
},
"name": "read_record"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | ||
| fields | No | ||
| record_id | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |