Home → API Documentation → Miscellaneous API Calls → api/UpdateCustomField
11.6. api/UpdateCustomField
This API call updates one custom field on an existing contact, company or event record. First, call api/ReturnCustomFields to obtain the appropriate FieldGUID. The field identifier determines the record type being updated.
Parameters To Submit
All parameters are required and cannot be empty.
| Parameter | Parameter Help |
| uid | The GUID of the record being updated: ContactGUID, CompanyGUID or EventGUID. |
| FieldGUID | The custom field identifier returned by api/ReturnCustomFields. |
| UpdateValue | The new value to save, formatted for the field type. |
| API Key |
For a company field, uid must identify the company being updated. For an event field, it must identify the event.
Field Value Formats
|
Field Type |
Example UpdateValue |
Notes |
|
Text |
Example text |
Saves the supplied text. |
|
Boolean |
True or False |
True saves Y; False saves an empty value. 1 and 0 are also accepted. |
|
Date |
21/10/2026 |
An ISO date such as 2026-10-21 is also accepted. |
|
DateTime |
21/10/2026 14:35:00 |
An ISO value such as 2026-10-21T14:35:00 is also accepted. |
|
Number / Decimal |
123 / 1234.56 |
Submit the value as a string. |
|
Email / Hyperlink |
test@example.com / https://example.com |
Saves the supplied value. |
|
HTML Editor |
<p>Example <strong>text</strong></p> |
Submit the HTML as a string. |
|
Dropdown - Single Select |
An existing option’s stored value |
Use the value expected by the CRM field. |
|
Dropdown - Multi Select |
MultiItem1¬MultiItem2¬ |
Separate options with ¬, including after the last option. |
For Multi Select fields, use existing option values. The procedure adds a missing final ¬ and also accepts comma-separated input when no ¬ separator is supplied.
Return Response
This API call will return a Boolean of True if successful.
Example response envelope after decoding the outer JSON string:
{
"ResponseCode": "200",
"ResponseType": "Boolean",
"ResponseMessage": "True"
}
ResponseMessage = "False" indicates that no matching record was updated. The endpoint does not create a missing custom-data record.
If the update fails, the response contains ResponseCode = "500", ResponseType = "Error" and an explanation in ResponseMessage.
Always inspect the response envelope: an HTTP status of 200 OK does not by itself indicate that the update succeeded.
