Update Records

Update Single Record

Record can be updated using write(), it takes a record id to update and a mapping of updated fields to values similar to create().

PUT /restapi/1.0/object/{object_name}/{id}?vals={fields_and_values_to_update}

Request:

PUT /restapi/1.0/object/res.partner/20?vals={'street2':'Chung Hsiao East Road'} HTTP/1.1
Host: {your_Odoo_server_url}

Response:

HTTP/1.1 200 OK

{
  'res.partner': {
      'id': 20,
      'name': 'Peter Mitchell',
      'street': '31 Hong Kong street',
      'street2': 'Chung Hsiao East Road',
      'city': 'Taipei',
      'state_id': false,
      'zip': '106',
      'country_id': [482, 'Taiwan'],
      'create_date': '2017-07-12 13:34:22',
      'create_uid': [1, 'Administrator'],
      'write_date': '2017-07-13 11:18:28',
      'write_uid': [1, 'Administrator'],
      ...
      ...
      ...
  }
}
Query Parameters:
 
  • vals

    fields to update and the value to set on them:: {'field_name': field_value, ...} see write() for details.

Request Headers:
 
  • Accept – the response content type depends on Accept header
  • Authorization – The OAuth protocol parameters to authenticate.
Response Headers:
 
Status Codes:

Update List Records

Records can be updated using write(), it takes a list of records to update and a mapping of updated fields to values similar to create().

Multiple records can be updated simultanously, but they will all get the same values for the fields being set. It is not currently possible to perform computed updates (where the value being set depends on an existing value of a record).

PUT /restapi/1.0/object/{object_name}?ids={comma_separated_ids}&vals={fields_and_values_to_update}

Request:

PUT /restapi/1.0/object/res.partner?ids=17,20&vals={'street2':'Chung Hsiao East Road'} HTTP/1.1
Host: {your_Odoo_server_url}

Response:

HTTP/1.1 200 OK

{
  'res.partner': [
      {
          'id': 17,
          'name': 'Edward Foster',
          'street': '69 rue de Namur',
          'street2': 'Chung Hsiao East Road',
          'city': 'Wavre',
          'state_id': false,
          'zip': '1300',
          'country_id': [274, 'Belgium'],
          'create_date': '2017-07-04 18:10:31',
          'create_uid': [1, 'Administrator'],
          'write_date': '2017-07-13 11:18:28',
          'write_uid': [1, 'Administrator'],
          ...
          ...
          ...
      },
      {
          'id': 20,
          'name': 'Peter Mitchell',
          'street': '31 Hong Kong street',
          'street2': 'Chung Hsiao East Road',
          'city': 'Taipei',
          'state_id': false,
          'zip': '106',
          'country_id': [482, 'Taiwan'],
          'create_date': '2017-07-12 13:34:22',
          'create_uid': [1, 'Administrator'],
          'write_date': '2017-07-13 11:18:28',
          'write_uid': [1, 'Administrator'],
          ...
          ...
          ...
      }
  ]
}
Query Parameters:
 
  • vals

    fields to update and the value to set on them:: {'field_name': field_value, ...} see write() for details.

Request Headers:
 
  • Accept – the response content type depends on Accept header
  • Authorization – The OAuth protocol parameters to authenticate.
Response Headers:
 
Status Codes: