Update

Partial update of a client

POST https://do.workzeal.com/company/update

Only the fields you pass are changed. Everything else in the card stays as it was. This way you can, for example, change the status and the responsible person by passing only id, status_id, and user_id.

Phones, email addresses, and contact persons are updated with separate methods. See the Contacts section and the Phones and emails page.

Request Body

Name Type Description
company* JSON
{
  "status": "success",
  "error": "",
  "code": null,
  "rows": 0,
  "pages": 0,
  "page": 0,
  "value": "1"
}

JSON

All available parameters
  • id - * Client code
  • name - Company name
  • note - Note (replaces the old one)
  • address - Primary address
  • city - City
  • country - Country
  • region - Region
  • url - Website
  • activity_type - Line of business
  • info_source - Information source
  • type_id - Type code
  • status_id - Status code
  • category_id - Category code
  • group_id - Group code
  • user_id - Responsible person code
  • person - 1 - legal entity, 2 - individual
  • first_name - First name of an individual
  • last_name - Last name of an individual
  • middle_name - Middle name of an individual
  • tags - Comma-separated tags (replace the old ones)
  • external_code - External code (from your accounting system)

{
   "id": 368132,
   "status_id": 3,
   "user_id": 37,
   "note": "Key client, working with them since 2026"
}

Note

The only required parameter is id (client code) plus at least one field to update.

Text fields (note, tags, address, ...) completely replace the old value when passed; fields that are not passed are neither changed nor cleared.

Example

curl --location --request POST 'https://do.workzeal.com/company/update' \
--header 'Authorization: Bearer XXXX-XXXXXXX-XXXXXXX' \
--header 'Content-Type: application/json' \
--data-raw '{
    "id": 368132,
    "status_id": 3,
    "note": "Key client, working with them since 2026"
  }
  '
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://do.workzeal.com/company/update',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "id": 368132,
    "status_id": 3,
    "note": "Key client, working with them since 2026"
  }
  ',
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer XXXXX-XXXXXXX-XXXXXXXXX',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://do.workzeal.com/company/update',
  'headers': {
    'Authorization': 'Bearer XXXX-XXXXXXX-XXXXXXX',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    "id": 368132,
    "status_id": 3,
    "note": "Key client, working with them since 2026"
  })

};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Directories

For clients

Users

Response

{
  "status": "success",
  "error": "",
  "code": null,
  "rows": 0,
  "pages": 0,
  "page": 0,
  "value": "1"
}
// value: 1 - client updated, 0 - error (text in the error field)